Конвейер кода, передающий корзину S3 в качестве пользовательских параметров в лямбда-функцию в AWS

Я создаю бессерверную лямбду и хочу вызвать ее как конвейер кода на последнем этапе после успешного этапа развертывания.

в пользовательских параметрах я передаю имя корзины S3, введите здесь описание изображения

Как я могу получить доступ к параметрам пользователя в lambada, чтобы получить имя корзины и идентификатор версии.

Ниже приведена моя лямбда, которую она должна помещать в таблицу DynamoDB, каждая из которых развертывает и увеличивает номер версии.

'use strict';
const uuid = require('uuid');
const AWS = require('aws-sdk');
const dynamoDb = new AWS.DynamoDB.DocumentClient();

Вот Fiddle для моей лямбды Поместите лямбду

Мне не хватает того, как получить доступ к пользовательским параметрам в requestBody в моей лямбде и увеличить версию, можете ли вы немного осветить


person Alexi Felix    schedule 11.09.2018    source источник
comment
В чем проблема?   -  person CurseStacker    schedule 12.09.2018
comment
Как опубликовать, чтобы обновить версию развертывания и опубликовать ее в DynamoDB при каждом развертывании?   -  person Alexi Felix    schedule 12.09.2018


Ответы (2)


В консоли указано, что пользовательский параметр будет находиться в объекте event, который передается вашей функции Lambda. Я не знаю точно, где это будет. Самый простой способ узнать это — вызвать console.log(JSON.stringify(event)) и просмотреть событие, чтобы увидеть, где находится ваш пользовательский параметр.

Чтобы увеличить номер версии, вы можете увеличить счетчики в DynamoDB с помощью UpdateExpression. Здесь есть пример https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_UpdateItem.html#API_UpdateItem_Examples

person tleef    schedule 14.09.2018

Вы можете получить доступ к параметрам пользователя следующим образом:

data = event['CodePipeline.job']['data']
param = data['actionConfiguration']['configuration']['UserParameters']
person fsinisi90    schedule 03.04.2019