Как указать пользовательский контейнер для lambda в шаблоне формирования облака AWS

#aws-lambda #amazon-cloudformation

#aws-lambda #amazon-cloudformation

Вопрос:

У меня есть функция java lambda, для которой требуется доступ к специальному исполняемому файлу, отличному от Java.

Из документов AWS я видел, что я могу использовать пользовательский образ (на основе изображения java11) для моей функции lambda. Мой план состоит в том, чтобы создать образ, включающий специальный исполняемый файл. В документах AWS описано, как это сделать и загрузить изображение в ECR. Однако мне неясно, как я на самом деле развертываю свой lambda с помощью этого пользовательского контейнера. В настоящее время lambda развертывается с использованием шаблона формирования облака, который выглядит примерно так:

   MyLambdaFunction:
    Type: AWS::Lambda::Function
    Properties:
      Description: My lambda function
      Handler: com.foo.MyLambdaFunction::handleRequest
      Runtime: java11
      etc...
 

Должен ли я редактировать Runtime свойство? Если да, то для чего? Нужно ли мне развертывать мою lambda совершенно другим способом?

Любые предложения приветствуются.

Ответ №1:

Вы можете использовать пользовательский идентификатор среды выполнения, который указан внизу этой страницы.

Если вы хотите использовать SAM, взгляните на это.

Комментарии:

1. Привет, спасибо за быстрый ответ. Вы хотите сказать, что я должен использовать «предоставлено» в качестве значения для свойства «время выполнения»? Документы AWS, похоже, не позволяют этого: docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide /…

2. Предоставленная вами ссылка привела меня к этому: docs.aws.amazon.com/lambda/latest/dg /… . Это говорит о том, что мне нужно установить свойства ‘packageType’ и ‘Code’ и, возможно, вообще не указывать ‘runtime’?

3. Я отредактировал свой ответ с некоторой дополнительной информацией, возможно, это поможет вам.