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

AWS Serverless .NET项目使用Docker本地运行报COPY缺失lambda-publish错误

SAM构建错误修复方案

错误修复步骤

  • 校验SAM模板配置
    打开你的serverless.template文件,确认Catalog API对应的AWS::Serverless::Function资源下的Metadata配置正确,示例如下:
    Metadata:
      BuildMethod: dotnet6 # 可替换为你实际使用的dotnet版本,如dotnet7、dotnet8
      BuildProperties:
        PublishDir: lambda-publish
    
  • 检查忽略文件规则
    查看项目根目录下的.dockerignore和.gitignore文件,确认没有全局排除bin/目录,如果存在对应排除规则,补充例外规则:
    !bin/Release/lambda-publish/
    
  • 预生成发布目录
    先手动执行dotnet发布命令生成对应目录,再执行SAM构建:
    dotnet publish -c Release -o bin/Release/lambda-publish
    sam build --template .\serverless.template
    
  • 启动本地API
    构建成功后执行以下命令即可启动本地测试服务:
    sam local start-api
    

架构与本地测试建议

架构优化建议

  • Lambda为无状态服务,不要在代码中存储任何会话、状态类数据,所有持久化数据统一存入托管数据库或缓存服务
  • 优化Nuget依赖引用,删除未使用的依赖包减小部署包体积,可有效降低dotnet Lambda的冷启动耗时
  • 后续业务模块拓展时,建议每个微服务对应独立的SAM模板,分开部署迭代,避免单个模板过于臃肿

本地测试建议

  • 单元测试阶段可使用AWS .NET Lambda Test工具直接测试函数入口,无需启动SAM本地环境,提升调试效率
  • 依赖的AWS服务可使用本地模拟工具测试,无需调用线上资源
  • 可编写简易脚本自动执行发布、构建、启动流程,减少重复手动操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 16:39:03