当向Twilio发送SMS时,Twilio会向指定的URL发送几个请求,以便通过webhooks提供SMS发送的状态。我想让这个回调是异步的,所以我开发了一个云函数,它将请求的表示发送给一个云任务,该任务本身到达我的应用程序的一个专用端点,该端点在内部重新创建和模拟Twilio请求。
Twilio在他的请求上签名时使用:
我的两个账户的秘密key
因此,在我的后端,我应该知道Twilio最初接触到的端点。我想在云函数中这样做,我想通过编程的方式来做,因为这个“异步web钩子”也是在人们回答SMS时使用的。
我的web钩子的当前URL具有以下格式:
https://<location>-<project>.cloudfunctions.net/<cloud function name>/<some SMS uuid>发送到的当前有效负载如下:
absoluteUri: req.protocol + '://' + req.hostname + req.originalUrl,
relativeUri: req.originalUrl,
queryParams: req.query,
headers: req.headers,
body: req.body,问题是req.originalUrl不包含完整的URI,我的absoluteUri当前是:
https://<location>-<project>.cloudfunctions.net/<some SMS uuid>因此,我的问题是:在云函数中,是否有办法以编程方式获取其名称?
发布于 2021-11-29 17:09:43
我使用python3.9并从名为"K_SERVICE“的环境变量中获取云函数的名称。
import os
print("Current Cloud Function Name {}".format(os.environ.get('K_SERVICE')))尽你所能享受它们吧,谷歌正在用每一种新的语言版本删除越来越多有用的环境变量。https://cloud.google.com/functions/docs/configuring/env-var#python_37_and_go_111
https://stackoverflow.com/questions/64913281
复制相似问题