update-function-code AWS CLI命令更新除处理程序功能文件lambda_function.py
之外的所有代码文件
具体来说,我制作了一个bash脚本
一切正常,除了主功能文件lambda_function.py
没有更新。
奇怪的是,当我从lambda下载zip进行更改,然后上传到同一lambda时,它可以工作(所有文件都已更新)。
仅供参考,这是我的bash脚本,用于从一个lambda下载代码并上传到另一个lambda:
#!/bin/sh
SRC_LAMBDA_FUNCTION_NAME="$1"
DEST_LAMBDA_FUNCTION_NAME="$2"
export PYTHONIOENCODING=utf8
# get lambda function config
LAMBDA_JSON=$(aws lambda get-function --function-name $SRC_LAMBDA_FUNCTION_NAME)
export LAMBDA_JSON
# parse the code zip file download URL (link expires 10 minutes after creation)
ZIP_FILE_URL=$(python -c 'import json,sys,os;obj=json.loads(os.environ["LAMBDA_JSON"]);print(obj["Code"]["Location"])')
# make temp dir
mkdir -p download
# download the code from src lambda
curl -o "download/$SRC_LAMBDA_FUNCTION_NAME.zip" $ZIP_FILE_URL
# upload the code to dest lambda
aws lambda update-function-code --function-name $DEST_LAMBDA_FUNCTION_NAME --zip-file "fileb://download/$SRC_LAMBDA_FUNCTION_NAME.zip"
答案 0 :(得分:5)
我正在通过导航到AWS Web门户上的lambda代码编辑器来验证代码更改,这似乎只是Web UI中的客户端问题。
在UI中更新lambda_function.py
(尽管刷新)大约需要5分钟,而其他代码文件确实立即得到了更新。
其他文件被更新,但没有lambda_function.py
被更新,这很奇怪。这使我认为这不仅是浏览器缓存问题,而且可能是错误。
答案 1 :(得分:0)
我相信您可能需要publish
根据https://firebase.google.com/docs/cloud-messaging/android/client?authuser=1#monitor-token-generation更改新代码
--publish | --no-publish (boolean)
Set to true to publish a new version of the function after updating the code. This has the same effect as calling PublishVersion separately.