Ну, название говорит само за себя. Чего я пытаюсь достичь:
- Наличие правила события Cloudwatch, проверяющего событие PutObject в корзине из учетной записи AWS X
- Когда объекты хранятся в корзине S3, состояниемашина в учетной записи AWS Y должна быть запущена
Но она не работает. Насколько я знаю, корзины располагаются по всему миру, а не по всей учетной записи, и, соответственно, в документации AWS здесь https://docs.aws.amazon.com/step-functions/latest/dg/tutorial-cloudwatch-events-s3.html мы должны давать только имя корзины в параметрах запроса.
Корзина уже содержит политикупредоставить полный доступ к этой учетной записи, где находится конечный автомат Step Function, потому что выполняемые мной задания состоят в получении данных из этого сегмента, и это прекрасно работает. Только триггер не работает.
Мой шаблон событий выглядит следующим образом:
{
"source": [
"aws.s3"
],
"detail-type": [
"AWS API Call via CloudTrail"
],
"detail": {
"eventSource": [
"s3.amazonaws.com"
],
"eventName": [
"PutObject"
],
"requestParameters": {
"bucketName": [
"my-bucket-name"
]
}
}
}
Нужна ли какая-то дополнительная конфигурация?
НОВАЯ ИНФОРМАЦИЯ:
Я что-то забыл, поэтому я следовал этому руководству: https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEvents-CrossAccountEventDelivery.html#WritingRulesThatMatchEventsFromAnotherAccount
- Добавлена шина событий Cloudwatch в учетной записи Y, чтобы дать разрешения для учетной записи X
- Изменен шаблон правила событий Cloudwatch в учетной записи Yчтобы добавить это
"account": ["account X number"]
- В аккаунте X я создал правило событий Cloudwatch стот же шаблон (соответствующий другой учетной записи), но с другой целью: шина событий в другой учетной записи AWS. И там я поставил номер счета Y.
Но по какой-то причине пошаговая функция в счете Y не запускается ...