update-function-code Команда AWS CLI обновляет все файлы кода, кроме файла функции обработчика, lambda_function.py
В частности, я создал скрипт bash, который
- Скачивает zip-код из одной лямбды (источник)
- Загружает zip-код из другой лямбды (dest)
Все работает, кроме файла основной функции lambda_function.py
не получаетсяобновлено.
Как ни странно, когда я загружаю zip-архив с лямбды, вносю изменения, а затем загружаю в ту же лямбду, все работает (все файлы обновляются).
К вашему сведению, вотМой bash-скрипт для загрузки кода из одной лямбды и загрузки в другую:
#!/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"