gpt4 book ai didi

amazon-web-services - 如何在 serverless.yml 默认值运算符中使用 `!GetAtt`?

转载 作者:行者123 更新时间:2023-12-03 07:22:54 24 4
gpt4 key购买 nike

我有 serverless.yml,用于部署 dynamodb 和 lambda 函数。 lambda函数需要引用dynamodb表流arn。

functions:
onStreamHandler:
handler: ...
name: ...
events:
- stream:
type: dynamodb
arn: ${opt:dbStreamArn, !GetAtt EntityTable.StreamArn}

arn:字段中,我想指定如果未从命令行参数指定dbStreamArn,则从EntityTable.StreamArn<获取值。但我收到了这个错误:


Serverless Error ---------------------------------------

Missing "arn" property for stream event in function "onStreamHandler" The correct syntax is: stream: <StreamArn> OR an object with an "arn" property. Please check the docs for more info.

引用 arn 值的正确方法是什么?

最佳答案

可能是因为云形成试图在 dynamodb 表之前创建 lambda。

要解决此问题,请将 dependsOn 添加到您的 lambda 函数,例如:

functions:
onStreamHandler:
handler: ...
name: ...
events:
- stream:
type: dynamodb
arn: ${opt:dbStreamArn, !GetAtt EntityTable.StreamArn}
dependsOn:
- EntityTable

一旦部署了EntityTable,就会部署该函数。 !GetAtt EntityTable.StreamArn 然后应该正确解析。

关于amazon-web-services - 如何在 serverless.yml 默认值运算符中使用 `!GetAtt`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70469922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com