#amazon-web-services #aws-lambda #aws-cli #aws-sam #aws-sam-cli
#amazon-web-services #aws-lambda #aws-cli #aws-sam #aws-sam-cli
Вопрос:
Я использую sam deploy
команду с помощью инструмента командной строки AWS SAM для развертывания. Теперь я внес некоторые изменения в веб-среду IDE в консоли AWS. Как я могу перенести изменения на локальный компьютер, чтобы следующая sam deploy
команда не переопределяла их? (Я ищу что-то похожее на git pull, я думаю)
Ответ №1:
Для этого вам нужно будет использовать AWS CLI, для начала этого процесса потребуется использовать функцию get-function в AWS CLI.
Это вернет предварительно подписанный URL-адрес в Code
> Location
structure, если вы затем загрузите это (используя инструмент CLI, такой как curl
), вы можете затем загрузить zip-файл, содержащий содержимое лямбда-функции.
Ожидаемая функция будет выглядеть примерно так, как показано ниже
curl $(aws lambda get-function --function-name $FUNCTION_NAME --output text --query "Code.[Location]")
Ответ №2:
У вас должен быть единый источник истины для вашего исходного кода. И это действительно должно быть вашим репозиторием управления версиями (Git). Если вы вносите изменения в свой исходный код в веб-среде IDE, вам следует скопировать эти изменения в свой репозиторий Git.
На ваш первоначальный вопрос, чтобы загрузить исходный код лямбда-функции из командной строки, вы должны использовать aws lambda get-function
команду для загрузки информации о функции. Часть информации, включенной в ответ, представляет собой URL-адрес для загрузки пакета развертывания функции, который действителен в течение 10 минут. Затем вы можете загрузить пакет развертывания по этому URL-адресу, используя что-то вроде curl
.