具有 Docker 图像的 AWS 无服务器 .NET 本地项目 运行 失败

AWS Serverless .NET Project local run with Docker image fails

我在第一个基于 AWS Lambda 的无服务器项目中遇到问题 运行。我正在尝试 运行 API 在本地主机上使用 SAM CLI,但仍然得到

Error: AspNetCoreFunction failed to build: COPY failed: file not found in build context or excluded by .dockerignore: stat bin/Release/lambda-publish: file does not exist

正在执行

sam build --template .\serverless.template

来自我的 Catalog.API 项目。 我无法通过阅读文档或搜索 Google 找到解决方案。 请查看我的解决方案:https://github.com/RazorN/Serverless-aws-e-shop/tree/catalog-init

我的目标是 运行 localy API 使用“sam local start-api”

此外,请分享有关我的解决方案架构或本地测试方法的任何想法,正如我所说,这是我在使用微服务后第一次尝试无服务器架构。

感谢任何答复:)

或者添加到您的 Catalog.API.csproj 下一行:

    <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
      <OutputPath>bin/Release/lambda-publish</OutputPath>
    </PropertyGroup>

并在 Release 模式下构建您的解决方案。

或修复您的 docker 文件 (Serverless-aws-e-shop/Services/Catalog/Catalog.API/Dockerfile) 以从现有路径复制文件或使用多阶段构建在容器内构建您的解决方案 (as example dotnet docker app does)