从带有URL的AWS::Serverless::Function输出FunctionUrl

0

【以下的问题经过翻译处理】 我定义了一个AWS::Serverless::Function,如下所示:

GreetingsFunction: Type: AWS::Serverless::Function Properties: Handler: index.handler Runtime: nodejs16.x Architectures: - x86_64 InlineCode: !Sub | exports.handler = async () => { return { 'statusCode': 200, 'body': JSON.stringify({message: "Greetings from ${AWS::Region}"}) }; }; FunctionUrlConfig: AuthType: NONE Cors: AllowOrigins: - "*"

我希望在我的模板的输出中包含FunctionUrl。我尝试使用!GetAtt GreetingsFunction.FunctionUrl,希望相应的AWS::Lambda::Url属性会传播到AWS::Serverless::Function,但事实并非如此。我该如何获取函数URL?

profile picture
专家
已提问 2 年前48 查看次数
1 回答
0

【以下的回答经过翻译处理】 要得到这个输出,你需要知道SAM会自动为你创建一个AWS::Lambda::Url资源,它是以函数资源ID加上 "...Url" 后缀的形式呈现。

你可以使用以下的Outputs代码段获取你需要的值:

Outputs: GreetingsFunction: Description: "Function URL for GreetingsFunction" Value: Fn::GetAtt: GreetingsFunctionUrl.FunctionUrl

profile picture
专家
已回答 2 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则