微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

部署到 AWS Lambda 的 Python 包包含父文件夹名称

如何解决部署到 AWS Lambda 的 Python 包包含父文件夹名称

我在 PyCharm 中创建了一个 python 包,这是文件夹结构

enter image description here

我正在尝试使用 Cloud Formation Template 并使用以下模板将其部署到 AWS Lambda。 code.zip 放置在 S3 存储桶中,在部署期间将从该存储桶中获取

AWstemplateFormatVersion: '2010-09-09'
Description: Lambda function
Resources:
  Function:
    Type: AWS::Lambda::Function
    Properties:
      FunctionName: code
      Handler: index.lambda_handler
      Role: arn:aws:iam::xxxxxxxxxxxx:role/lambdaExecutionRole11030037
      Code:
        S3Bucket: apicode11
        S3Key: code.zip
      Runtime: python3.8
      Timeout: 15

在 Lambda 中成功部署后,代码文件夹结构会发生变化,并且父文件名称会附加到所有文件

enter image description here

请帮助我了解是否需要在代码结构或 CFT 中进行任何更改,以便在 Lambda 中不附加父文件名称

解决方法

您可以在处理程序中指定路径:

Handler: code/index.lambda_handler
,

ZIP 文件不应包含任何文件夹。将模块保存在根位置所需的一切。

你的文件夹结构应该像
enter image description here

您可以使用 -

创建一个 zip 文件
cd message-retry
zip ../message-retry.zip *

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。