Вопросы

Как вернуть файл 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 sam SES sendEmail возвращает InvalidClientTokenId (nodejs / lambda)

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

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

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

Присвоение во время выполнения Airflow 1.9 приоритетных весов для DagRuns

admin

Как применить политику IAM вызывающего абонента к выполнению лямбда-функции?

admin

GitHub Fork или переименовать или создать новый git?

admin

Ноутбук Jupyter работает очень медленно при повторном запуске ячеек

admin

как получить непрерывный вывод из командной строки?

admin

Как открыть файл Python в редакторе ожидания двойным щелчком по файлу (windows 10)

admin