gpt4 book ai didi

c# - Google Datastore 身份验证问题 - C#

转载 作者:行者123 更新时间:2023-11-30 15:18:58 27 4
gpt4 key购买 nike

我正在尝试使用服务帐户凭据文件(我根据文档创建)连接到我帐户上的 Google 数据存储区,但我在尝试插入实体时遇到身份验证错误:

Grpc.Core.RpcException: Status(StatusCode=Unauthenticated, Detail="Exception occured in metadata credentials plugin.")

我的代码是:

var db = DatastoreDb.Create("myprojectid");
Entity entity = new Entity{
Key = db.CreateKeyFactory("mykindname").CreateIncompleteKey()
};
var keys = await db.InsertAsync(new[] { entity });

GOOGLE_APPLICATION_CREDENTIALS 变量引用凭据文件,当调用 GoogleCredential.GetApplicationDefaultAsync() 以查看凭据对象是否有效时,它看起来确实不错...

我看到一些早期的示例将 GetApplicationDefaultAsync 函数与一些 DatastoreService 对象一起使用 - 但我在最新的版本中找不到 DatastoreService 对象(可能它在旧版本中存在...) .Net API:Google.Cloud.Datastore.V1

请注意,我不想使用其他身份验证方法:

1) 使用 gcloud 客户端。

2) 从 Google 环境(例如应用引擎)运行。

知道如何解决这个问题吗?

最佳答案

在 Jon Skeet 的大力帮助下,问题得以解决。

如果您没有引用所有必需的数据存储 dll,则可能会出现身份验证问题。确保在运行数据存储调用的项目中引用了所有 dll。

我已通过 NuGet 将 Google 数据存储库添加到我的测试项目中,一切正常!

请注意,在这种情况下,建议启用 gRPC 日志记录。 `(例如:GrpcEnvironment.SetLogger(new ConsoleLogger()),您可能会看到加载多个 dll 时是否存在问题...

关于c# - Google Datastore 身份验证问题 - C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42759933/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com