簡體   English   中英

如何使用PUBSUB作為觸發器從Google Cloud函數返回JSON?

[英]How to return a JSON from Google Cloud functions using PUBSUB as trigger?

我使用Python pubsub客戶端發布主題,並且有一個由pubsub消息觸發的雲功能設置。 我可以正確觸發函數並生成所需的返回值,但我無法將該值返回給發布者/客戶端。 感謝大家!

客戶代碼:

def call_getTime():

    message_future = publisher.publish(topic_path,
                                       data=data,
                                       )
    message_future.add_done_callback(callback)
    print(message_future.result())


def callback(message_future):
    if message_future.exception(timeout=30):
        print('Publishing message threw an Exception {}.'.format(
            message_future.exception()))
    else:
        print(message_future.result())

雲功能:

def getTime(data, context):
        r = {'time': time.time()}
        return flask.jsonify(r)

Pubsub函數不會“返回”消息。 他們只是消費消息,他們通常不關心消息的來源。 這不是一種雙向溝通方式。

如果您想要雙向通信,請改用HTTP觸發器。 您可以在HTTP響應的正文中發回消息。

如果由於某種原因無法使用HTTP並且必須堅持使用pubsub,請考慮將另一條消息發布到另一個主題,並安排發件人在該另一主題上接收該消息。 或使用某種webhook通知某人該消息已被處理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM