【问题标题】:AWS CodeBuild + AWS Lambda = Error: Could not find the required 'MyAssembly.deps.json'AWS CodeBuild + AWS Lambda = 错误:找不到所需的“MyAssembly.deps.json”
【发布时间】:2019-03-26 02:41:17
【问题描述】:

使用 AWS CodePipeline (AWS CodeBuild) 部署我的 C# Lambda 函数代码后,我在 CloudWatch Logs 中收到以下错误

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

【问题讨论】:

    标签: aws-lambda aws-codepipeline aws-codebuild


    【解决方案1】:

    我的问题是 Zip 内文件的 linux 文件权限设置为 000;所以当 zip 被 AWS Lambda 提取时; AWS Lambda 没有文件权限来访问文件 MyAssembly.deps.json

    我使用 C# System.IO.Compression.ZipFile.CreateFromDirectory 来创作 zip 文件。我不得不使用本机 zip 程序来生成一个有效的 zip 文件。

    非常感谢https://forums.aws.amazon.com/message.jspa?messageID=856247

    【讨论】:

      【解决方案2】:

      我知道这是一个有点老的问题,但是为任何在 Windows 系统上仍然面临问题的用户写答案。 这是 dotnet core 3.1 包管理器控制台中的第一个命令,以确保 .deps.json 包含在发布文件中 dotnet publish /p:GenerateRuntimeConfigurationFiles=true

      然后将发布文件夹的所有文件压缩到命名空间文件夹的同名中。使用控制台将 zip 文件上传到 AWS lambda。 工作。 如果不是,则以 zip 格式复制所有项目文件(不是已发布的)并上传到 aws lambda。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-20
        • 1970-01-01
        • 1970-01-01
        • 2020-10-14
        • 2019-11-27
        • 2019-05-03
        相关资源
        最近更新 更多