D'autres exemples de AWS SDK sont disponibles dans le référentiel AWS Doc SDK Examples
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Exemples d'Amazon SQS utilisant des outils pour PowerShell
Les exemples de code suivants vous montrent comment effectuer des actions et implémenter des scénarios courants à l' Outils AWS pour PowerShell aide d'Amazon SQS.
Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.
Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la façon de configurer et d'exécuter le code en contexte.
Rubriques
Actions
L'exemple de code suivant montre comment utiliserAdd-SQSPermission
.
- Outils pour PowerShell
-
Exemple 1 : Cet exemple permet à la personne spécifiée Compte AWS d'envoyer des messages depuis la file d'attente spécifiée.
Add-SQSPermission -Action SendMessage -AWSAccountId 80398EXAMPLE -Label SendMessagesFromMyQueue -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
-
Pour plus de détails sur l'API, reportez-vous AddPermissionà la section Référence des Outils AWS pour PowerShell applets de commande.
-
L'exemple de code suivant montre comment utiliserClear-SQSQueue
.
- Outils pour PowerShell
-
Exemple 1 : Cet exemple supprime tous les messages de la file d'attente spécifiée.
Clear-SQSQueue -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
-
Pour plus de détails sur l'API, reportez-vous PurgeQueueà la section Référence des Outils AWS pour PowerShell applets de commande.
-
L'exemple de code suivant montre comment utiliserEdit-SQSMessageVisibility
.
- Outils pour PowerShell
-
Exemple 1 : Cet exemple modifie le délai de visibilité du message avec l'identifiant de réception spécifié dans la file d'attente spécifiée à 10 heures (10 heures* 60 minutes* 60 secondes = 36 000 secondes).
Edit-SQSMessageVisibility -QueueUrl https://sqs.us-east-1.amazonaws.com/8039EXAMPLE/MyQueue -ReceiptHandle AQEBgGDh...J/Iqww== -VisibilityTimeout 36000
-
Pour plus de détails sur l'API, reportez-vous ChangeMessageVisibilityà la section Référence des Outils AWS pour PowerShell applets de commande.
-
L'exemple de code suivant montre comment utiliserEdit-SQSMessageVisibilityBatch
.
- Outils pour PowerShell
-
Exemple 1 : Cet exemple modifie le délai de visibilité pour 2 messages avec les descripteurs de réception spécifiés dans la file d'attente spécifiée. Le délai de visibilité du premier message passe à 10 heures (10 heures* 60 minutes* 60 secondes = 36 000 secondes). Le délai de visibilité du second message passe à 5 heures (5 heures* 60 minutes* 60 secondes = 18 000 secondes).
$changeVisibilityRequest1 = New-Object Amazon.SQS.Model.ChangeMessageVisibilityBatchRequestEntry $changeVisibilityRequest1.Id = "Request1" $changeVisibilityRequest1.ReceiptHandle = "AQEBd329...v6gl8Q==" $changeVisibilityRequest1.VisibilityTimeout = 36000 $changeVisibilityRequest2 = New-Object Amazon.SQS.Model.ChangeMessageVisibilityBatchRequestEntry $changeVisibilityRequest2.Id = "Request2" $changeVisibilityRequest2.ReceiptHandle = "AQEBgGDh...J/Iqww==" $changeVisibilityRequest2.VisibilityTimeout = 18000 Edit-SQSMessageVisibilityBatch -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue -Entry $changeVisibilityRequest1, $changeVisibilityRequest2
Sortie :
Failed Successful ------ ---------- {} {Request2, Request1}
-
Pour plus de détails sur l'API, reportez-vous ChangeMessageVisibilityBatchà la section Référence des Outils AWS pour PowerShell applets de commande.
-
L'exemple de code suivant montre comment utiliserGet-SQSDeadLetterSourceQueue
.
- Outils pour PowerShell
-
Exemple 1 : Cet exemple répertorie toutes les URLs files d'attente qui utilisent la file d'attente spécifiée comme file d'attente de lettres mortes.
Get-SQSDeadLetterSourceQueue -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyDeadLetterQueue
Sortie :
https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyOtherQueue
-
Pour plus de détails sur l'API, reportez-vous ListDeadLetterSourceQueuesà la section Référence des Outils AWS pour PowerShell applets de commande.
-
L'exemple de code suivant montre comment utiliserGet-SQSQueue
.
- Outils pour PowerShell
-
Exemple 1 : Cet exemple répertorie toutes les files d'attente.
Get-SQSQueue
Sortie :
https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/AnotherQueue https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/DeadLetterQueue https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyOtherQueue https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyDeadLetterQueue
Exemple 2 : Cet exemple répertorie toutes les files d'attente qui commencent par le nom spécifié.
Get-SQSQueue -QueueNamePrefix My
Sortie :
https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyOtherQueue https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyDeadLetterQueue
-
Pour plus de détails sur l'API, reportez-vous ListQueuesà la section Référence des Outils AWS pour PowerShell applets de commande.
-
L'exemple de code suivant montre comment utiliserGet-SQSQueueAttribute
.
- Outils pour PowerShell
-
Exemple 1 : Cet exemple répertorie tous les attributs de la file d'attente spécifiée.
Get-SQSQueueAttribute -AttributeName All -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
Sortie :
VisibilityTimeout : 30 DelaySeconds : 0 MaximumMessageSize : 262144 MessageRetentionPeriod : 345600 ApproximateNumberOfMessages : 0 ApproximateNumberOfMessagesNotVisible : 0 ApproximateNumberOfMessagesDelayed : 0 CreatedTimestamp : 2/11/2015 5:53:35 PM LastModifiedTimestamp : 12/29/2015 2:23:17 PM QueueARN : arn:aws:sqs:us-east-1:80398EXAMPLE:MyQueue Policy : {"Version":"2008-10-17","Id":"arn:aws:sqs:us-east-1:80398EXAMPLE:MyQueue/SQSDefaultPolicy","Statement":[{"Sid":"Sid14 495134224EX","Effect":"Allow","Principal":{"AWS":"*"},"Action":"SQS:SendMessage","Resource":"arn:aws:sqs:us-east-1:80 398EXAMPLE:MyQueue","Condition":{"ArnEquals":{"aws:SourceArn":"arn:aws:sns:us-east-1:80398EXAMPLE:MyTopic"}}},{"Sid": "SendMessagesFromMyQueue","Effect":"Allow","Principal":{"AWS":"80398EXAMPLE"},"Action":"SQS:SendMessage","Resource":" arn:aws:sqs:us-east-1:80398EXAMPLE:MyQueue"}]} Attributes : {[QueueArn, arn:aws:sqs:us-east-1:80398EXAMPLE:MyQueue], [ApproximateNumberOfMessages, 0], [ApproximateNumberOfMessagesNotVisible, 0], [ApproximateNumberOfMessagesDelayed, 0]...}
Exemple 2 : Cet exemple répertorie séparément uniquement les attributs spécifiés pour la file d'attente spécifiée.
Get-SQSQueueAttribute -AttributeName MaximumMessageSize, VisibilityTimeout -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
Sortie :
VisibilityTimeout : 30 DelaySeconds : 0 MaximumMessageSize : 262144 MessageRetentionPeriod : 345600 ApproximateNumberOfMessages : 0 ApproximateNumberOfMessagesNotVisible : 0 ApproximateNumberOfMessagesDelayed : 0 CreatedTimestamp : 2/11/2015 5:53:35 PM LastModifiedTimestamp : 12/29/2015 2:23:17 PM QueueARN : arn:aws:sqs:us-east-1:80398EXAMPLE:MyQueue Policy : {"Version":"2008-10-17","Id":"arn:aws:sqs:us-east-1:80398EXAMPLE:MyQueue/SQSDefaultPolicy","Statement":[{"Sid":"Sid14 495134224EX","Effect":"Allow","Principal":{"AWS":"*"},"Action":"SQS:SendMessage","Resource":"arn:aws:sqs:us-east-1:80 398EXAMPLE:MyQueue","Condition":{"ArnEquals":{"aws:SourceArn":"arn:aws:sns:us-east-1:80398EXAMPLE:MyTopic"}}},{"Sid": "SendMessagesFromMyQueue","Effect":"Allow","Principal":{"AWS":"80398EXAMPLE"},"Action":"SQS:SendMessage","Resource":" arn:aws:sqs:us-east-1:80398EXAMPLE:MyQueue"}]} Attributes : {[MaximumMessageSize, 262144], [VisibilityTimeout, 30]}
-
Pour plus de détails sur l'API, reportez-vous GetQueueAttributesà la section Référence des Outils AWS pour PowerShell applets de commande.
-
L'exemple de code suivant montre comment utiliserGet-SQSQueueUrl
.
- Outils pour PowerShell
-
Exemple 1 : Cet exemple répertorie l'URL de la file d'attente portant le nom spécifié.
Get-SQSQueueUrl -QueueName MyQueue
Sortie :
https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
-
Pour plus de détails sur l'API, reportez-vous GetQueueUrlà la section Référence des Outils AWS pour PowerShell applets de commande.
-
L'exemple de code suivant montre comment utiliserNew-SQSQueue
.
- Outils pour PowerShell
-
Exemple 1 : Cet exemple crée une file d'attente portant le nom spécifié.
New-SQSQueue -QueueName MyQueue
Sortie :
https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
-
Pour plus de détails sur l'API, reportez-vous CreateQueueà la section Référence des Outils AWS pour PowerShell applets de commande.
-
L'exemple de code suivant montre comment utiliserReceive-SQSMessage
.
- Outils pour PowerShell
-
Exemple 1 : Cet exemple répertorie les informations relatives aux 10 prochains messages à recevoir pour la file d'attente spécifiée. Les informations contiendront des valeurs pour les attributs de message spécifiés, s'ils existent.
Receive-SQSMessage -AttributeName SenderId, SentTimestamp -MessageAttributeName StudentName, StudentGrade -MessageCount 10 -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
Sortie :
Attributes : {[SenderId, AIDAIAZKMSNQ7TEXAMPLE], [SentTimestamp, 1451495923744]} Body : Information about John Doe's grade. MD5OfBody : ea572796e3c231f974fe75d89EXAMPLE MD5OfMessageAttributes : 48c1ee811f0fe7c4e88fbe0f5EXAMPLE MessageAttributes : {[StudentGrade, Amazon.SQS.Model.MessageAttributeValue], [StudentName, Amazon.SQS.Model.MessageAttributeValue]} MessageId : 53828c4b-631b-469b-8833-c093cEXAMPLE ReceiptHandle : AQEBpfGp...20Q5cg==
-
Pour plus de détails sur l'API, reportez-vous ReceiveMessageà la section Référence des Outils AWS pour PowerShell applets de commande.
-
L'exemple de code suivant montre comment utiliserRemove-SQSMessage
.
- Outils pour PowerShell
-
Exemple 1 : Cet exemple supprime le message avec le descripteur de réception spécifié de la file d'attente spécifiée.
Remove-SQSMessage -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue -ReceiptHandle AQEBd329...v6gl8Q==
-
Pour plus de détails sur l'API, reportez-vous DeleteMessageà la section Référence des Outils AWS pour PowerShell applets de commande.
-
L'exemple de code suivant montre comment utiliserRemove-SQSMessageBatch
.
- Outils pour PowerShell
-
Exemple 1 : Cet exemple supprime 2 messages avec les descripteurs de réception spécifiés de la file d'attente spécifiée.
$deleteMessageRequest1 = New-Object Amazon.SQS.Model.DeleteMessageBatchRequestEntry $deleteMessageRequest1.Id = "Request1" $deleteMessageRequest1.ReceiptHandle = "AQEBX2g4...wtJSQg==" $deleteMessageRequest2 = New-Object Amazon.SQS.Model.DeleteMessageBatchRequestEntry $deleteMessageRequest2.Id = "Request2" $deleteMessageRequest2.ReceiptHandle = "AQEBqOVY...KTsLYg==" Remove-SQSMessageBatch -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue -Entry $deleteMessageRequest1, $deleteMessageRequest2
Sortie :
Failed Successful ------ ---------- {} {Request1, Request2}
-
Pour plus de détails sur l'API, reportez-vous DeleteMessageBatchà la section Référence des Outils AWS pour PowerShell applets de commande.
-
L'exemple de code suivant montre comment utiliserRemove-SQSPermission
.
- Outils pour PowerShell
-
Exemple 1 : Cet exemple supprime les paramètres d'autorisation portant l'étiquette spécifiée de la file d'attente spécifiée.
Remove-SQSPermission -Label SendMessagesFromMyQueue -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
-
Pour plus de détails sur l'API, reportez-vous RemovePermissionà la section Référence des Outils AWS pour PowerShell applets de commande.
-
L'exemple de code suivant montre comment utiliserRemove-SQSQueue
.
- Outils pour PowerShell
-
Exemple 1 : Cet exemple supprime la file d'attente spécifiée.
Remove-SQSQueue -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
-
Pour plus de détails sur l'API, reportez-vous DeleteQueueà la section Référence des Outils AWS pour PowerShell applets de commande.
-
L'exemple de code suivant montre comment utiliserSend-SQSMessage
.
- Outils pour PowerShell
-
Exemple 1 : Cet exemple envoie un message avec les attributs et le corps du message spécifiés à la file d'attente spécifiée avec un délai de livraison du message de 10 secondes.
$cityAttributeValue = New-Object Amazon.SQS.Model.MessageAttributeValue $cityAttributeValue.DataType = "String" $cityAttributeValue.StringValue = "AnyCity" $populationAttributeValue = New-Object Amazon.SQS.Model.MessageAttributeValue $populationAttributeValue.DataType = "Number" $populationAttributeValue.StringValue = "1250800" $messageAttributes = New-Object System.Collections.Hashtable $messageAttributes.Add("City", $cityAttributeValue) $messageAttributes.Add("Population", $populationAttributeValue) Send-SQSMessage -DelayInSeconds 10 -MessageAttributes $messageAttributes -MessageBody "Information about the largest city in Any Region." -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
Sortie :
MD5OfMessageAttributes MD5OfMessageBody MessageId ---------------------- ---------------- --------- 1d3e51347bc042efbdf6dda31EXAMPLE 51b0a3256d59467f973009b73EXAMPLE c35fed8f-c739-4d0c-818b-1820eEXAMPLE
-
Pour plus de détails sur l'API, reportez-vous SendMessageà la section Référence des Outils AWS pour PowerShell applets de commande.
-
L'exemple de code suivant montre comment utiliserSend-SQSMessageBatch
.
- Outils pour PowerShell
-
Exemple 1 : Cet exemple envoie 2 messages avec les attributs et les corps de message spécifiés à la file d'attente spécifiée. La livraison est retardée de 15 secondes pour le premier message et de 10 secondes pour le second.
$student1NameAttributeValue = New-Object Amazon.SQS.Model.MessageAttributeValue $student1NameAttributeValue.DataType = "String" $student1NameAttributeValue.StringValue = "John Doe" $student1GradeAttributeValue = New-Object Amazon.SQS.Model.MessageAttributeValue $student1GradeAttributeValue.DataType = "Number" $student1GradeAttributeValue.StringValue = "89" $student2NameAttributeValue = New-Object Amazon.SQS.Model.MessageAttributeValue $student2NameAttributeValue.DataType = "String" $student2NameAttributeValue.StringValue = "Jane Doe" $student2GradeAttributeValue = New-Object Amazon.SQS.Model.MessageAttributeValue $student2GradeAttributeValue.DataType = "Number" $student2GradeAttributeValue.StringValue = "93" $message1 = New-Object Amazon.SQS.Model.SendMessageBatchRequestEntry $message1.DelaySeconds = 15 $message1.Id = "FirstMessage" $message1.MessageAttributes.Add("StudentName", $student1NameAttributeValue) $message1.MessageAttributes.Add("StudentGrade", $student1GradeAttributeValue) $message1.MessageBody = "Information about John Doe's grade." $message2 = New-Object Amazon.SQS.Model.SendMessageBatchRequestEntry $message2.DelaySeconds = 10 $message2.Id = "SecondMessage" $message2.MessageAttributes.Add("StudentName", $student2NameAttributeValue) $message2.MessageAttributes.Add("StudentGrade", $student2GradeAttributeValue) $message2.MessageBody = "Information about Jane Doe's grade." Send-SQSMessageBatch -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue -Entry $message1, $message2
Sortie :
Failed Successful ------ ---------- {} {FirstMessage, SecondMessage}
-
Pour plus de détails sur l'API, reportez-vous SendMessageBatchà la section Référence des Outils AWS pour PowerShell applets de commande.
-
L'exemple de code suivant montre comment utiliserSet-SQSQueueAttribute
.
- Outils pour PowerShell
-
Exemple 1 : Cet exemple montre comment définir une politique d'abonnement à une file d'attente à une rubrique SNS. Lorsqu'un message est publié dans le sujet, un message est envoyé à la file d'attente abonnée.
# create the queue and topic to be associated $qurl = New-SQSQueue -QueueName "myQueue" $topicarn = New-SNSTopic -Name "myTopic" # get the queue ARN to inject into the policy; it will be returned # in the output's QueueARN member but we need to put it into a variable # so text expansion in the policy string takes effect $qarn = (Get-SQSQueueAttribute -QueueUrl $qurl -AttributeName "QueueArn").QueueARN # construct the policy and inject arns $policy = @" { "Version": "2008-10-17", "Id": "$qarn/SQSPOLICY", "Statement": [ { "Sid": "1", "Effect": "Allow", "Principal": "*", "Action": "SQS:SendMessage", "Resource": "$qarn", "Condition": { "ArnEquals": { "aws:SourceArn": "$topicarn" } } } ] } "@ # set the policy Set-SQSQueueAttribute -QueueUrl $qurl -Attribute @{ Policy=$policy }
Exemple 2 : Cet exemple définit les attributs spécifiés pour la file d'attente spécifiée.
Set-SQSQueueAttribute -Attribute @{"DelaySeconds" = "10"; "MaximumMessageSize" = "131072"} -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
-
Pour plus de détails sur l'API, reportez-vous SetQueueAttributesà la section Référence des Outils AWS pour PowerShell applets de commande.
-