繁体   English   中英

AWS Lambda:从亚马逊 S3 位置上传代码

[英]AWS Lambda: upload code from amazon S3 location

我已配置 AWS 管道以将我最新的 nodeJS 代码作为 zip 文件部署到 S3。 除了转到 AWS Lambda 并选择“从 Amazon S3 位置上传”选项之外,有没有一种方法可以让我的 lambda 服务在将最新代码写入 S3 后获取最新代码,这样它会在您时自动更新其 function 代码更新 zip 文件?

使用 Lambda 触发器,您可以创建一个触发器,只要将新的 object 写入 S3 位置,就会触发该触发器。 教程详细说明了如何进行设置。

然后,使用 AWS SDK,您可以以编程方式更新函数的代码。

查看恰当命名的更新 Function 代码文档。

Python SDK 文档在这里 以下是文档中的代码示例:

response = client.update_function_code(
    FunctionName='string',
    ZipFile=b'bytes',
    S3Bucket='string',
    S3Key='string',
    S3ObjectVersion='string',
    ImageUri='string',
    Publish=True|False,
    DryRun=True|False,
    RevisionId='string',
    Architectures=[
        'x86_64'|'arm64',
    ]
)

我在发布上述内容后发现了这一点,CodePipeline 本身似乎有一个自动化解决方案。

https://docs.aws.amazon.com/lambda/latest/dg/services-codepipeline.html

我想这将是解决您的问题的更清洁方法。

我已使用此链接在部署时配置我的 AWS Code Build yaml,并且在 S3 中上传为 zip 文件的最新源代码由 AWS Lambda 获取。

https://docs.aws.amazon.com/cli/latest/reference/lambda/update-function-code.html

下面给出了我的 yaml 中使用的示例命令

- aws lambda update-function-code --function-name my-function --s3-bucket my-s3-bucket --s3-key sourceFileName.zip

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM