2 回答

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊
我想這是不可能的。無(wú)服務(wù)器產(chǎn)品使用云函數(shù) API 來(lái)部署云函數(shù)。要設(shè)置允許 - 未經(jīng)身份驗(yàn)證,您需要使用 IAM API 將角色添加到 。cloudfunctions.invoker
allUsers
gcloud CLI提供了一種將兩個(gè)API調(diào)用打包在單個(gè)命令行中的便捷方法,但外部工具需要實(shí)現(xiàn)相同的額外努力來(lái)實(shí)現(xiàn)這一點(diǎn)。這就是為什么,我很確定這是不可能的。

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊
我能夠通過(guò)使用鉤子來(lái)實(shí)現(xiàn)這一點(diǎn)。您需要將自定義>腳本添加到 serverless.yml
(注意:這應(yīng)該有效,因?yàn)槟谑褂玫姆?wù)帳戶具有適當(dāng)?shù)脑L問(wèn)權(quán)限)
喜歡這個(gè):
custom:
scripts:
commands:
make-public-function: gcloud functions add-iam-policy-binding ${self:service}-${self:provider.stage}-${opt:opt.function, "functionName"} --member="allUsers" --role="roles/cloudfunctions.invoker" --project=${self:provider.project} --region=${self:provider.region} | xargs echo
hooks:
'after:deploy:deploy': npx sls make-public-function --stage ${self:provider.stage}
- 2 回答
- 0 關(guān)注
- 93 瀏覽
添加回答
舉報(bào)