J'essaie de faire (ce qui devrait être) une tâche simple.Configuration de S3 pour publier des notifications sur SQS lorsqu'un nouvel élément est créé
- Créer un seau S3
- Créer une file d'attente SQS
- Demandez le seau S3 mis un message dans la file d'attente SQS chaque fois qu'un nouvel élément est ajouté.
Je suis coincé sur la fixation des deux. J'ai créé la file d'attente et cela fonctionne bien. J'ai créé le seau, et cela fonctionne bien.
Maintenant j'essaye d'ajouter une politique à la file d'attente qui laissera le compartiment envoyer des notifications.
Suivre ce guide:
http://docs.aws.amazon.com/AmazonS3/latest/dev/ways-to-add-notification-config-to-bucket.html
Je suis en train d'appeler cette méthode:
public SetQueueAttributesResponse SetQueueAttributes(Dictionary<string, string> attributes)
{
var setQueueAttributesRequest = new SetQueueAttributesRequest()
{
QueueUrl = QueueUri.ToString(),
Attributes = attributes
};
return SqsClient.SetQueueAttributes(setQueueAttributesRequest);
}
Et la propriété des attributs a une seule paire clé/valeur:
Policy
{
"Version" : "7/5/2017",
"Id" : "S3-Post",
"Statement" : [
{
"Sid" : "S3-Post",
"Effect" : "Allow",
"Principal" : {
"AWS" : "*"
},
"Action" : [
"sqs:SendMessage",
"sqs:GetQueueUrl"
],
"Resource" : "arn:aws:sqs:us-west-2:[REDACTED]:testqueue2",
"Condition" : {
"ArnLike" : {
"aws:SourceArn" : "arn:aws:s3:*:*:*"
}
}
}
]
}
(Oui, j'élargi l'état du filtre un peu, mais nous avons eu ce même échec avec un nom de seau établi.)
Je reçois cette exception:
Amazon.SQS.AmazonSQSException était non gérée
ErrorCode = InvalidAttributeValue
HResult = -2146233088
message = valeur non valide pour le paramètre politique.
RequestId = 0ac6201a-17f5-5b63-a5ac-71cd42b10481
Source = AWSSDK.Core
Quelqu'un peut-il voir mon erreur, ou quelqu'un peut me montrer un exemple plus fonctionnel?
Gad, j'ai raté ça. Je l'ai tourné avec autre chose. Le changement a fait fonctionner le premier essai. Merci beaucoup! Mon pot de café peut prendre la nuit, maintenant! –