You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否为AWS Lambda预定义ARN?CloudFormation部署场景咨询

能否通过CloudFormation为Lambda函数保留固定ARN?

可行,但核心是固定Lambda函数名称——Lambda的ARN格式为arn:aws:lambda:<region>:<account-id>:function:<function-name>,在区域、账号ID固定的前提下,函数名不变则ARN完全固定。具体实现和注意事项如下:

  • 显式指定FunctionName属性:在CloudFormation模板的Lambda资源定义中,必须手动设置FunctionName为固定值,不能依赖CloudFormation默认生成的带随机后缀的名称。示例模板片段:
    Resources:
      MyFixedNameLambda:
        Type: AWS::Lambda::Function
        Properties:
          FunctionName: "MyPermanentLambdaName" # 固定名称
          Runtime: python3.12
          Handler: index.lambda_handler
          Code:
            S3Bucket: my-lambda-code-bucket
            S3Key: lambda-code.zip
    
  • 处理删除与重新部署:
    • 如果删除CloudFormation栈后重新部署,只要模板中FunctionName仍为原固定值,重新创建的Lambda会复用原ARN(前提是该名称未被其他资源占用)。
    • 若希望删除栈时保留Lambda函数,可添加DeletionPolicy: Retain属性,这样删除栈后函数不会被删除,后续重新部署时CloudFormation会直接关联已存在的同名Lambda,ARN自然保持不变。
  • 更新部署的兼容性:仅更新Lambda代码、内存配置等属性时,只要FunctionName未修改,ARN始终固定,不受更新操作影响。

额外注意事项

  • 固定ARN仅适用于同一账号、同一区域内的部署,跨账号或跨区域时,ARN中的账号ID/区域字段会变化,无法保持一致。
  • 确保固定的函数名称不会被其他操作(如手动创建Lambda、其他CloudFormation栈)占用,否则重新部署时会因名称冲突失败。

内容的提问来源于stack exchange,提问作者Darth Moul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 08:10:31