Как узнать, какой S3 Bucket триггер какой лямбда?

Как узнать, какой S3 Bucket триггер какой лямбда, не переходя на все лямбды?

2 ответа

Вы можете изучить эти триггеры под самими событиями корзины. Когда вы открываете корзину s3, перейдите в раздел "Свойства" и " События". Однако вы можете удалить или отредактировать ресурс, запускаемый с этой панели. Надеюсь, это поможет

Это может быть немного сложно, так как параметры командной строки для Lambda требуют использования aws lambda get-policy чтобы выяснить, какие ресурсы разрешено выполнять lambda:InvokeFunction действие на данную функцию. Эти разрешения не отображаются как часть лямбда-конфигурации для aws lambda get-function-configuration, Вы могли бы использовать некоторые bash а также jq получить список функций и выложить их разрешенных вызывающих. Как это:

aws lambda list-functions | jq .Functions[].FunctionName --raw-output | while read f; do
  policy=$( aws lambda get-policy --function-name ${f} | jq '.Policy | fromjson | .Statement[] | select(.Effect=="Allow") | select(.Action=="lambda:InvokeFunction") | .Condition.ArnLike[]' --raw-output )
  echo "FUNCTION ${f} CAN BE INVOKED FROM:"
  echo ${policy}
done

Это перечислит арн ресурсов, которым разрешено использовать действие lambda:InvokeFunction на все лямбда-функции, возвращаемые из list-functions,

John Rotenstein дал решение благодаря ему.

Когда вы настраиваете триггеры на своем S3 Bucket, вы можете выбрать, какую лямбда-функцию вызывать.

Проверьте этот документ для получения дополнительной информации: https://docs.aws.amazon.com/lambda/latest/dg/with-s3.html.

Вот более полный документ, в котором подробно рассматриваются уведомления о событиях S3: https://docs.aws.amazon.com/AmazonS3/latest/user-guide/enable-event-notifications.html

Если вы выберете тип назначения лямбда-функции, сделайте следующее:

В лямбда-функции введите или выберите имя лямбда-функции, для которой вы хотите получать уведомления от Amazon S3.

Если у вас нет лямбда-функций в регионе, содержащем ваше ведро, вам будет предложено ввести лямбда-функцию ARN. В лямбда-функции ARN введите ARN лямбда-функции, для которой вы хотите получать уведомления от Amazon S3.

(Необязательно) Вы также можете выбрать Добавить лямбда-функцию ARN из меню и ввести ARN лямбда-функции в лямбда-функции ARN.

Другие вопросы по тегам