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

如何为VS2022发布的.NET6 AWS Lambda设置自定义函数名?

如何为.NET6 Lambda函数指定自定义名称(解决VS2022发布后自动生成名称的问题)

你的问题核心是使用CloudFormation模板(serverless.template)部署时,aws-lambda-tools-defaults.json中的function-name会被模板配置覆盖,导致自定义名称不生效。以下是具体解决步骤:

1. 修改serverless.template模板文件

打开项目中的serverless.template,找到Lambda函数的资源定义节点(通常在Resources下),在其Properties中添加FunctionName字段并设置为你的自定义名称xx2aws:

"Resources": {
  // 这里是你的Lambda函数资源节点,名称可能类似XX2AWSLambdaFunction
  "XX2AWSLambdaFunction": {
    "Type": "AWS::Lambda::Function",
    "Properties": {
      "FunctionName": "xx2aws", // 添加这一行指定自定义名称
      "Handler": "YourAssembly::YourNamespace.Function::FunctionHandler",
      "Runtime": "dotnet6",
      "CodeUri": "",
      // 其他原有属性...
    }
  }
}

2. 保留工具配置中的function-name(可选但建议)

aws-lambda-tools-defaults.json中的function-name参数可以保留,它主要用于本地测试或AWS Lambda工具的命令行调用,但实际部署的名称以模板中的FunctionName为准。

3. 重新发布函数

在VS2022中重新执行发布流程,此时CloudFormation会严格按照模板定义创建名称为xx2aws的Lambda函数。

补充说明

  • 为什么function-description生效?因为该参数是由AWS Lambda发布工具直接传递给Lambda服务,不受CloudFormation模板的覆盖影响。
  • AWS Lambda函数创建后确实无法重命名,因此必须在首次部署前通过模板或配置指定正确名称。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 06:50:00