gpt4 book ai didi

amazon-web-services - 在 SAM 部署期间检测到 AWS SAM 模板验证错误。伪参数 ${AWS::AccountId} 不接受

转载 作者:行者123 更新时间:2023-12-03 07:27:04 29 4
gpt4 key购买 nike

在尝试 SAM 部署时,我收到以下拒绝信息:

1 validation error detected: Value 'arn:aws:iam::${AWS::AccountId}:role/Lambda-Exec-And-CloudWatch' at 'role' failed to satisfy constraint: Member must satisfy regular expression pattern: arn:(aws[a-zA-Z-]*)?:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+ (Service:AWSLambdaInternal; Status Code: 400; Error Code: ValidationException;

当我使用伪参数 ${AWS::AccountId} 替换 Lambda 函数的 arn 角色构造中的账户 ID 时,会发生这种情况。

这是发生这种情况的 YAML 模板中函数的 Role 属性:

Role:
arn:aws:iam::${AWS::AccountId}:role/Lambda-Exec-And-CloudWatch

预期的正则表达式似乎只接受硬编码的帐户 ID。

如果有帮助,我将使用 Cloud9 作为我的 IDE。

我错过了什么?

谢谢!

最佳答案

我们需要使用内部函数 !Sub , Here举几个例子

  HelloWorldFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: hello-world/
Handler: app.lambdaHandler
Runtime: nodejs12.x
Role: !Sub arn:aws:iam::${AWS::AccountId}:role/my-lambda-role

关于amazon-web-services - 在 SAM 部署期间检测到 AWS SAM 模板验证错误。伪参数 ${AWS::AccountId} 不接受,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66079133/

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