Кто-нибудь может объяснить функцию облака новичку? - PullRequest
0 голосов
/ 21 февраля 2019

Извините, если этот вопрос не для этого сайта профессионалов, но я не нашел другого лучшего места, чтобы спросить это.Я просмотрел некоторые документы Google, но, честно говоря, не мог понять, как написать облачную функцию для моих требований.Чтобы дать вам то, что я хочу, вот краткий обзор: я написал скрипт на Python для извлечения необходимых данных из Firebase, но как перейти к функции Cloud?Это скрипт, который я написал для получения необходимых данных:

ref=db.reference('agents')
snapshot = ref.order_by_key().get()
#print(len(snapshot))
for key, val in snapshot.items():
    kw=val
    dictfilt = lambda x, y: dict([ (i,x[i]) for i in x if i in set(y) ])
    wanted_keys = ("address","email","name")
    result = dictfilt(kw, wanted_keys)
    #print(result)
    serialized= json.dumps(result, sort_keys=True)`

Теперь, как написать облачную функцию и запустить ее отсюда?Может кто-нибудь, пожалуйста, уделите свое драгоценное время, чтобы ответить и объяснить этому новичку?Спасибо!

1 Ответ

0 голосов
/ 21 февраля 2019

Вам нужно обернуть все это в одну функцию, а затем определить:

  1. Как это будет срабатывать (либо по HTTP, либо по событию типа Pub / Sub)
  2. Как должен выглядеть ответ

Например, если это будет триггер HTTP, функция примет параметр request и вернет строку или JSON:

def your_function(request):

    # Your code goes here
    ref=db.reference('agents')
    snapshot = ref.order_by_key().get()
    #print(len(snapshot))
    for key, val in snapshot.items():
        kw=val
        dictfilt = lambda x, y: dict([ (i,x[i]) for i in x if i in set(y) ])
        wanted_keys = ("address","email","name")
        result = dictfilt(kw, wanted_keys)
        #print(result)
    serialized= json.dumps(result, sort_keys=True)`

    # Return something as a response
    return ...
...