Как я могу загрузить / извлечь лямбда-код на локальный компьютер из командной строки?

#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 .