gpt4 book ai didi

amazon-web-services - 您如何在 serverless.yml 文件中引用函数 (Lambda) 的函数 ARN?

转载 作者:行者123 更新时间:2023-12-04 11:22:32 25 4
gpt4 key购买 nike

考虑 serverless.yml 文件上的这个 lambda 函数:

functions:
s3toEc2Lambda:
handler: s3toec2lambda.S3toEc2Lambda
name: "${self:service}-s3toEc2Lambda"
role: S3toEc2LambdaRole

并考虑在资源部分创建的这个 SNS:有人知道如何从 lambda 函数 s3toEc2Lambda 通知 Sns ARN 端点吗?
resources:
Resources:
WordpressFrontEndSnsS3toEc2:
Type: AWS::SNS::Topic
Properties:
TopicName: "wordpress-front-end-s3-ec2"

WordpressFrontEndSnsS3toEc2Lambda:
Type: AWS::SNS::Subscription
Properties:
Endpoint: { "Fn::GetAtt": ["s3toEc2Lambda", "Arn" ] } <------ HERE <------
#Endpoint: ${self:functions.s3toEc2Lambda} <------ OR HERE <------
#Endpoint: { "Fn::GetAtt": ["${self:functions.s3toEc2Lambda}", "Arn" ] } <------ OR HERE <------
Protocol: lambda
TopicArn: !Ref 'WordpressFrontEndSnsS3toEc2'

对我来说总是出现这样的错误消息:“模板错误:Fn::GetAtt 的实例引用未定义的资源 s3toEc2Lambda”

谢谢你 !

最佳答案

serverless 创建的 CloudFormation 资源有 known format .对于 lambda 函数,这是:

{normalizedFunctionName}LambdaFunction



因此,您应该能够使用以下内容引用您的函数:
"Fn::GetAtt": [ S3toEc2LambdaLambdaFunction, Arn ]

更多关于此的例子是 here

关于amazon-web-services - 您如何在 serverless.yml 文件中引用函数 (Lambda) 的函数 ARN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61992001/

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