如何通过CloudFormation关联CloudFront Function?解决ARN版本错误
如何通过CloudFormation正确关联CloudFront Function?
我通过CloudFormation创建了AWS::CloudFront::Function,随后尝试将其与CloudFront分发关联,配置如下:
DistributionConfig: DefaultCacheBehavior: LambdaFunctionAssociations: EventType: viewer-request LambdaFunctionARN: !GetAtt Function_Logical_ID.FunctionMetadata.FunctionARN
但收到错误提示:
Invalid request provided: The function ARN must reference a specific function version. (The ARN must end with the version number.)
问题原因
错误使用了针对Lambda@Edge的LambdaFunctionAssociations字段,CloudFront自有函数(AWS::CloudFront::Function)需要使用专门的FunctionAssociations字段进行关联。
正确配置示例
DistributionConfig: DefaultCacheBehavior: FunctionAssociations: - EventType: viewer-request FunctionARN: !GetAtt Function_Logical_ID.FunctionMetadata.FunctionARN
额外说明
!GetAtt返回的CloudFront Function ARN默认包含已发布的版本信息,无需手动添加版本后缀- 若需指定特定版本的函数,可通过
!Sub拼接版本号:FunctionARN: !Sub "${Function_Logical_ID.FunctionMetadata.FunctionARN}:2"
内容的提问来源于stack exchange,提问作者Pedro Arantes
相关产品推荐
相关产品推荐

