Я хочу, чтобы определенная служба HTTPS вызывалась каждый раз, когда файл был загружен в корзину S3.
Я создал корзину S3 и SNS topi c с подтвержденной подпиской по HTTPS. Служба в качестве конечной точки. Я могу опубликовать sh сообщение на SNS topi c через пользовательский интерфейс AWS и увидеть, что служба HTTPS вызывается, как и ожидалось. На корзине S3 я создал Событие, которое должно связать корзину и топи c. При первой попытке я получил ошибку, потому что корзине не было разрешено записать в topi c, поэтому c .f. В документации я изменил политику доступа topi c на:
{
"Version": "2008-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "sns:Publish",
"Resource": "arn:aws:sns:eu-central-1:TOPIC_ID:OrderUpdates",
"Condition": {
"StringEquals": {
"AWS:SourceAccount": "ACCOUNT_ID"
},
"ArnLike": {
"AWS:SourceArn": "arn:aws:s3:*:*:*"
}
}
}
]
}
, где TOPIC_ID - идентификатор владельца topi c, который можно увидеть, когда topi c отображается в AWS Пользовательский интерфейс, а ACCOUNT_ID - это идентификатор учетной записи, отображаемый в настройках учетной записи в пользовательском интерфейсе AWS. Это изменение в политике доступа topi c позволило мне создать событие в корзине:
Когда я вызываю метод API getBucketNotificationConfiguration, я получаю:
{
"TopicConfigurations": [
{
"Id": "OrderFulfilled",
"TopicArn": "arn:aws:sns:eu-central-1:TOPIC_ID:OrderUpdates",
"Events": [
"s3:ObjectCreated:*"
]
}
],
"QueueConfigurations": [],
"LambdaFunctionConfigurations": []
}
Но служба HTTPS не вызывается. Чего мне не хватает в этой настройке, при которой служба HTTPS будет вызываться по подписке SNS topi c каждый раз, когда файл загружается в корзину S3?
Спасибо, -Louise