Как автоматически развернуть банку с s3 на aws лямбду? - PullRequest
0 голосов
/ 24 декабря 2018

Я хочу автоматически развернуть банку на aws-lamda всякий раз, когда есть какие-либо изменения в версии баночки в s3 bucket.

Например: есть один S3 bucket скажем lambdadeploytest иLamda function имя autoDeployTest.Я сохранил объект test.jar в lambdadeploytest.

Всякий раз, когда я загружаю новую версию объекта test.jar, test.jar будет автоматически развернут до autoDeployTest лямбда-функция.

Ответы [ 2 ]

0 голосов
/ 24 декабря 2018

Самый идиоматичный способ сделать это - запустить развертывание после загрузки нового файла JAR на S3.Сама лямбда не справится с этим для вас, если вы не планируете использовать другую лямбду для этой цели (что лично я бы не стал).

Мне не ясно, что вы используете для загрузки файла JAR - еслиэто, например, Terraform, это будет путь.Если вы загрузили новую версию JAR-файла с помощью AWS CLI, вы можете использовать тот же инструмент для запуска Lambda-развертывания.

0 голосов
/ 24 декабря 2018

Вы можете сделать это с помощью лямбда-функции ...
На высоком уровне шаги:

  • создать лямбда-функцию, которая загрузит test.jar и использует банкусоздать / обновить функцию autoDeployTest лямбда.

  • настроить новую лямбда-функцию для запуска при изменении test.jar на S3

  • настроить новую лямбда-функцию с разрешениями на чтениеS3 и развернуть код в Lambda.

Вы можете следовать этому руководству , чтобы создать лямбда-функцию, которая будет запускаться событиями S3. Это лямбда-API ваша лямбда-функция может вызывать для обновления autodeployTest кода.

Псевдокод будет выглядеть так:

read JSON event object to get the bucket name and object name (bucket_name, test.jar)

download a copy of the object (test.jar) to the lambda container 

(do additional check on the jar file if required) 

call Lambda's UpdateFunctionCode to update autoDeployTest function code with the jar.
...