Estoy usando google.cloud.firestore versión 1.0.0-beta22 en una aplicación de función C # Azure. La documentación establece para crear un archivo JSON de una cuenta de servicio y crear una variable de entorno de Google_Application_Credentials que apunta a este archivo JSON.

Mi problema es que no quiero agregar el archivo JSON a mi repositorio de origen, e incluso si hice, no conozco la ruta al directorio que se ejecutará la función Azure, por lo que no puedo establecer el entorno variable.

¿Hay alguna manera de pasar las credenciales a la Biblioteca de clientes de Firestore, o cualquier otra solución para dirigirse a esto?

1
Jack Fox 28 jun. 2019 a las 16:59

2 respuestas

La mejor respuesta

Después de muchos googling, he encontrado que puede crear una credencial de JSON y usar esto para crear un FirStoreclient que luego pase al FirStoredb.

 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);
2
Jack Fox 28 jun. 2019 a las 23:23

Se simplifica en la versión 2.0.0 (Google.Cloud.Firestore)

 FirestoreDb firestormDb = new FirestoreDbBuilder
                {
                    ProjectId = "project id",
                    JsonCredentials = "<JSON AS STRING>"
                }.Build();
2
Bipn Paul 17 jun. 2020 a las 15:27