我遇到了一个问题,我需要在Pub / Sub云功能上启用“失败时重试”,但每当我为该功能部署更新时,我必须手动编辑并启用“失败时重试”功能
是否有配置或选项启用“重试失败”,直到我禁用它?
答案 0 :(得分:0)
官方部署工具似乎还不支持设置重试行为。 部署后使用REST API修改重试行为似乎有效:
#!/bin/bash
project=$(gcloud config list project --format="value(core.project)")
function set_retry() {
curl -X PATCH -d '{"eventTrigger":{"failurePolicy":{"retry": {}}}}' \
"https://cloudfunctions.googleapis.com/v1/projects/$project/locations/us-central1/functions/$1?updateMask=eventTrigger.failurePolicy&access_token="$(gcloud auth application-default print-access-token)\
-H "Content-Type: application/json" -s -o /dev/null
}
gcloud beta functions list --format="value(name)" | while read fn; do
echo "setting retry policy for function $fn"
set_retry $fn
done
请注意,该区域是硬编码到上面的us-central1,可能需要更改。
答案 1 :(得分:0)
如果您要部署Google Cloud Functions(不是Firebase Cloud Functions,请参阅this note),现在可以将--retry
标志传递给您的deploy命令,例如:
gcloud functions deploy FUNCTION_NAME --retry
有关更多信息,请参见these docs。