gpt4 book ai didi

python - 将 python 函数上传到 aws lambda

转载 作者:太空狗 更新时间:2023-10-29 14:22:49 24 4
gpt4 key购买 nike

我开发了两个 AWS lambda python 函数。因为我们都需要源代码控制,所以我将我的项目保存在 git 中。问题是使用来自 git 的更新来更新 AWS lambda 的最佳方式是什么。据我所知,目前唯一的方法是将 aws cli 与更新功能代码一起使用。我编写了以下 bash 来手动更新代码:

#!/bin/bash
command -v aws >/dev/null 2>&1 || { echo >&2 "This command requires aws but it's not installed or not in the path. Aborting."; exit 1; }
bold=$(tput bold)
normal=$(tput sgr0)

if [ "$#" -ne 2 -a "$#" -ne 1 ]; then
echo "usage: $0 <code file path> [lambda function name if not same]"
exit 1
fi

if ! [ -e $1 ]; then
echo "File $1 does not exist"
exit 1
fi

ZIPFILE="lamzip.zip"
LAMBDA_FUNC="lambda_function.py"

if [ "$#" -ne 2 ]; then
AWS_LAMBDA_NAME=$(basename $1)
AWS_LAMBDA_NAME="${AWS_LAMBDA_NAME%.*}"
else
AWS_LAMBDA_NAME=$2
fi

echo "Will upload your code file to aws lamda ${bold}$AWS_LAMBDA_NAME${normal}"

cp -f $1 /tmp/$LAMBDA_FUNC
rm -f /tmp/$ZIPFILE
zip -j /tmp/$ZIPFILE /tmp/$LAMBDA_FUNC

CMD="aws lambda update-function-code --function-name $AWS_LAMBDA_NAME --zip-file fileb:///tmp/$ZIPFILE --publish"
echo executing: $CMD
$CMD

exit 0

如果我有 jenkins 或类似的我可以自动化这个脚本。

但是还有更好的出路吗?

编辑 28/1/16 更新到我现在使用的脚本它假定脚本名称是 aws 中的方法名称,除非提供另一个参数

最佳答案

使用构建服务器是部署 AWS lambda 函数的常规方式,它真的很简单,就像您正在做的那样。我们一直在使用非常相似的方法,而且进展顺利。

关于python - 将 python 函数上传到 aws lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34329524/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com