首页 > 解决方案 > AWS Lambda CodePipeline 无法处理我的 deps.json 文件?

问题描述

我正在尝试构建和部署一个简单的示例项目来学习 AWS。C#/.NET 核心。

我的构建规范如下所示:

version: 0.2
phases:
  install:
    runtime-versions:
      dotnet: 2.2
  pre_build:
    commands:
      - echo Restore started on `date`
      - dotnet restore AWSServerless1.csproj
  build:
    commands:
      - echo Build started on `date`
      - dotnet publish -c release -o ./build_output AWSServerless1.csproj
artifacts:
  files:
    - ./build_output/**/*
    - scripts/**/*
    - appspec.yml
  discard-paths: yes

我的 appspec 如下所示:

version: 0.0
Resources:
  - myStack-AspNetCoreFunction-1HPKUEU7I6GFW:
      Type: AWS::Lambda::Function
      Properties:
        Name: "myStack-AspNetCoreFunction-1HPKUEU7I6GFW"
        Alias: "AWSServerless1"
        CurrentVersion: "1"
        TargetVersion: "2"

管道成功完成,但是当我尝试运行 lambda 时,我得到一个 502。我检查了日志,它说:

Could not find the required 'AWSServerless1.deps.json'. This file should be present at the root of the deployment package.: LambdaException

当我从 S3 下载包时,对我来说,看起来一切都在那里。这是一个 zip 文件,没有任何路径,所有内容都在 zip 的根目录中,包括 AWSServerless1.deps.json。

有任何想法吗?

标签: amazon-web-servicesaws-lambdaamazon-cloudformationaws-codepipeline

解决方案


使用 dotnet lambda 包而不是发布

请参阅https://github.com/aws/aws-extensions-for-dotnet-cli


推荐阅读