Вопросы

Как вернуть файл YAML в качестве выходного артефакта из Lambda в CodePipeline

Я пытаюсь вернуть файл шаблона YAML CloudFormation в CodePipeline, чтобы его можно было передать в CloudFormation. Файл загружен в S3, и Lambda может легко получить к нему доступ и прочитать. Моя проблема заключается в том, чтобы превратить этот файл в выходной артефакт.

В настоящее время я могу вывести необработанный текст как «Выходную переменную», что я подтвердил из истории выполнения CodePipeline в консоли AWS. На этой же странице есть артефакт:

Однако эта ссылка приводит меня к ошибке в S3, что заставляет меня думать, что артефакт никогда не заполняется каким-либо образом.

Неудачный артефакт S3

Это лямбда-функция, которая у меня есть на данный момент:

var AWS = require('aws-sdk')
var s3 = new AWS.S3();
var codepipeline = new AWS.CodePipeline();

exports.handler = (events, context) => {

  const params = {
    Bucket: 'myBucket',
    Key: 'myFile.yml'
  };
  
  s3.getObject(params, function(err, data) {
    if (err) {
      // Handling
    } else {
        var yamlString = data.Body.toString('utf-8');
        var params = {
          jobId: jobId,
          outputVariables: {
            s3Artifact: file
          }
        };

        codepipeline.putJobSuccessResult(params, function(err, data) {
          if(err) {
            context.fail(err);      
          } else {
            context.succeed(message);      
          }
        });
        return;
    }
  });

}

Что меня смущает, так это то, что CodePipeline явно позволяет мне указать выходной артефакт для этой функции Lambda, но я не могу понять, как это сделать.

Читать:
Пример шаблона AWS: S3_Website_With_CloudFront_Distribution.template завершается ошибкой при запуске, чтобы выполнить маршрутизацию доменного имени 53

введите описание изображения здесь

Любая помощь очень ценится.

Похожие записи

Проблемы с установкой gcc-6. * На CentOS-6.5

admin

Pygame загружается медленно

admin

Доступ запрещен при выполнении файла PUT с использованием предварительно подписанного URL-адреса S3

admin

Не удалось найти SDK SQLite.UWP.2015 при создании приложения UWP с использованием размещенного пула TFS

admin

Параметры флажка Laravel livewire не проверяются

admin

колба отправляет изображение в виде байтов с дополнительной информацией

admin