C# Azure函数中的Firestore.NET客户端库身份验证

C# Azure函数中的Firestore.NET客户端库身份验证,c#,google-cloud-firestore,azure-functions,C#,Google Cloud Firestore,Azure Functions,我正在C#Azure功能应用程序中使用Google.Cloud.Firestore 1.0.0-Beta2版本。文档说明创建服务帐户json文件,并创建指向此json文件的GOOGLE_APPLICATION_CREDENTIALS环境变量 我的问题是我不想将json文件添加到我的源存储库中,即使添加了,我也不知道Azure函数将在其中运行的目录的路径,因此我无法设置环境变量 有没有办法将凭据传递到Firestore客户端库,或者任何其他解决方法来解决这个问题?经过大量的谷歌搜索,我发现您可以从

我正在C#Azure功能应用程序中使用Google.Cloud.Firestore 1.0.0-Beta2版本。文档说明创建服务帐户json文件,并创建指向此json文件的GOOGLE_APPLICATION_CREDENTIALS环境变量

我的问题是我不想将json文件添加到我的源存储库中,即使添加了,我也不知道Azure函数将在其中运行的目录的路径,因此我无法设置环境变量


有没有办法将凭据传递到Firestore客户端库,或者任何其他解决方法来解决这个问题?

经过大量的谷歌搜索,我发现您可以从Json创建凭据,并使用它来创建FirestoreClient,然后将其传递到FirestoreDb

 var credential = GoogleCredential.FromJson(<JSON AS STRING>);
 var channelCredentials = credential.ToChannelCredentials();
 var channel = new Channel(FirestoreClient.DefaultEndpoint.ToString(), channelCredentials);
 var client = FirestoreClient.Create(channel);
 var firestoreDb = FirestoreDb.Create("project id", client);
var-credential=GoogleCredential.FromJson();
var channelCredentials=credential.ToChannelCredentials();
var channel=新通道(FirestoreClient.DefaultEndpoint.ToString(),channelCredentials);
var client=FirestoreClient.Create(通道);
var firestoreDb=firestoreDb.Create(“项目id”,客户端);

通过谷歌搜索,我发现您可以从Json创建一个凭证,并使用它创建FirestoreClient,然后将其传递给FirestoreDb

 var credential = GoogleCredential.FromJson(<JSON AS STRING>);
 var channelCredentials = credential.ToChannelCredentials();
 var channel = new Channel(FirestoreClient.DefaultEndpoint.ToString(), channelCredentials);
 var client = FirestoreClient.Create(channel);
 var firestoreDb = FirestoreDb.Create("project id", client);
var-credential=GoogleCredential.FromJson();
var channelCredentials=credential.ToChannelCredentials();
var channel=新通道(FirestoreClient.DefaultEndpoint.ToString(),channelCredentials);
var client=FirestoreClient.Create(通道);
var firestoreDb=firestoreDb.Create(“项目id”,客户端);

在版本
2.0.0
Google.Cloud.Firestore
)中进行了简化

FirestoreDb firestormDb=新建FirestoreDbBuilder
{
ProjectId=“项目id”,
JsonCredentials=“”
}.Build();

在版本
2.0.0
Google.Cloud.Firestore
)中进行了简化

FirestoreDb firestormDb=新建FirestoreDbBuilder
{
ProjectId=“项目id”,
JsonCredentials=“”
}.Build();

我了解了如何使用FirestoreDbBuilder和EmulatorDetection连接到本地firestore仿真器。它取决于环境变量FIRESTORE\u EMULATOR\u HOST,在我的例子中,它是localhost:8008。我想知道这个频道和你们的技术是否可行。我今晚可以试试。你也让它和模拟器一起工作了吗?对于emulator,您使用了哪些凭据?@JackFox是来自服务帐户的凭据?是的,凭据来自服务帐户我了解了如何使用FirestoreDbBuilder和EmulatorDetection连接到本地firestore emulator。它取决于环境变量FIRESTORE\u EMULATOR\u HOST,在我的例子中,它是localhost:8008。我想知道这个频道和你们的技术是否可行。我今晚可以试试。你也让它和模拟器一起工作了吗?对于仿真器,您使用了哪些凭据?@JackFox是来自服务帐户的凭据?是的,凭据来自服务帐户Fyi,您还可以使用此技术连接到本地Firestore仿真器。Fyi,您还可以使用此技术连接到本地Firestore仿真器。