Как узнать, какой 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
,
Когда вы настраиваете триггеры на своем 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.