2016-06-07 3 views
1

Я создал триггер в своих репозиториях AWS CodeCommit, который запускает функцию Lambda всякий раз, когда он запускается. Функция Lambda вызывает скрипт на моем сервере разработки для выполнения git pull. Все идет нормально.Получить имя Amazon Web Services Репозиторий Codecommit в активированной функции лямбда

Проблема в том, что мне нужно передать имя или идентификатор репозитория, который устанавливает триггер для машины dev, чтобы я мог вытащить правильный репозиторий. Тогда мой вопрос: - как вы называете имя или идентификатор репозитория, который вызвал функцию лямбда в функции лямбда?

функция My Lambda написана на Python

Я принял взглянуть на документацию лямбда на http://docs.aws.amazon.com/lambda/latest/dg/welcome.html но нет никакого упоминания о CodeCommit. Вероятно, это потому, что триггеры CodeCommit являются совершенно новыми - всего несколько месяцев. Существует некоторая документация источников событий на http://docs.aws.amazon.com/lambda/latest/dg/eventsources.html. Я выполнил учебник по адресу - http://docs.aws.amazon.com/codecommit/latest/userguide/how-to-notify-lambda.html, чтобы создать функцию лямбда.

Любая помощь была бы высоко оценена!

ответ

1

Код для вытаскивания репозитория находится в Python example. Фрагмент кода:

#Get the repository from the event and show its git clone URL 
repository = event['Records'][0]['eventSourceARN'].split(':')[5] 

имя репозитория встраивается в ARN, который принимает функцию Lambda.

+0

спасибо. Когда я ранее следил за этим учебным пособием, функция примера была совсем другой. Кажется, они обновили его во что-то более полезное –

+0

Кто-нибудь знает, где документация для объекта события может быть найдена? Что именно содержится в event.Records? Я хотел бы извлечь имя ветки из события, но не знаю, что содержит событие – user2560528