импортировать JSON файл в Google Firestore, используя облачные функции - PullRequest
0 голосов
/ 08 апреля 2020

Я новичок в GCP и Python. У меня есть задача импортировать JSON файл в Google Firestore с помощью облачных функций Google через Python.

Пожалуйста, помогите.

Ответы [ 3 ]

0 голосов
/ 10 апреля 2020

Я мог бы выполнить эту настройку системы, используя приведенный ниже код. Публикация для справки: -

КОД ОБЛАЧНЫХ ФУНКЦИЙ

REQUIREMENTS.TXT (Зависимости)

`google-api-python-client==1.7.11
google-auth==1.6.3
google-auth-httplib2==0.0.3
google-cloud-storage==1.19.1
google-cloud-firestore==1.6.2`

MAIN.PY

from google.cloud import storage
from google.cloud import firestore
import json

client = storage.Client()``

def hello_gcs_generic(data, context):

print('Bucket: {}'.format(data['bucket']))
print('File: {}'.format(data['name']))

bucketValue = data['bucket']
filename = data['name']
print('bucketValue : ',bucketValue)
print('filename : ',filename)

testFile = client.get_bucket(data['bucket']).blob(data['name'])
dataValue = json.loads(testFile.download_as_string(client=None))
print(dataValue)

db = firestore.Client()

doc_ref = db.collection(u'collectionName').document(u'documentName')
doc_ref.set(dataValue)
0 голосов
/ 13 апреля 2020

Ишанк Аггарвал, Вы можете добавить приведенный выше фрагмент кода как часть функции облака, выполнив следующие шаги:

  1. https://console.cloud.google.com/functions/
  2. Создать функцию с помощью имя функции, ваши требования, выберите время выполнения как python и выберите триггер в качестве корзины gcs.

После того, как вы создадите его, если в вашем сегменте произойдет какое-либо изменение, функция запустит и выполнит вашу команду. код

0 голосов
/ 08 апреля 2020

Облачные функции - это функции без сервера, предоставляемые Google. Прелесть облачной функции в том, что она уничтожит ее, вызовет любой триггер и сам по себе, когда выполнение будет завершено. Облачные функции - это целевые функции. Не только python, вы также можете использовать NodeJS и Go для написания облачных функций. Вы можете очень легко создать облачную функцию, посетив краткий обзор облачных функций (https://cloud.google.com/functions/docs/quickstart-console).

Ваша задача - импортировать файл JSON в Google Firestore. Эту часть вы можете использовать с помощью коннектора Firestore python, как любую обычную программу python, и добавить ее в консоль облачных функций или загрузить через gcloud. Все еще триггерная часть здесь отсутствует. Как я уже упоминал, облачная функция без сервера. Он будет выполняться, когда какое-либо событие произойдет в подключенном триггере. Вы не упомянули здесь ни одного триггера (когда хотите активировать функцию). Как только вы дадите информацию о триггере, я смогу получить более подробную информацию о разрешении.

...