Sono disponibili altri esempi di AWS SDK nel repository AWS Doc SDK Examples.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esempi di Amazon SQS che utilizzano Tools for PowerShell V5
I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Strumenti per PowerShell V5 con Amazon SQS.
Le azioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.
Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le istruzioni su come configurare ed eseguire il codice nel contesto.
Argomenti
Azioni
L’esempio di codice seguente mostra come utilizzare Add-SQSPermission.
- Strumenti per V5 PowerShell
-
Esempio 1: questo esempio consente Account AWS al specificato di inviare messaggi dalla coda specificata.
Add-SQSPermission -Action SendMessage -AWSAccountId 80398EXAMPLE -Label SendMessagesFromMyQueue -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue-
Per i dettagli sull'API, vedere AddPermission in AWS Strumenti per PowerShell Cmdlet Reference (V5).
-
L’esempio di codice seguente mostra come utilizzare Clear-SQSQueue.
- Strumenti per V5 PowerShell
-
Esempio 1: questo esempio elimina tutti i messaggi dalla coda specificata.
Clear-SQSQueue -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue-
Per i dettagli sull'API, vedere PurgeQueue in AWS Strumenti per PowerShell Cmdlet Reference (V5).
-
L’esempio di codice seguente mostra come utilizzare Edit-SQSMessageVisibility.
- Strumenti per V5 PowerShell
-
Esempio 1: questo esempio modifica il timeout della visibilità del messaggio con l’handle di ricezione specificato nella coda specificata portandolo a 10 ore (10 ore * 60 minuti * 60 secondi = 36000 secondi).
Edit-SQSMessageVisibility -QueueUrl https://sqs.us-east-1.amazonaws.com/8039EXAMPLE/MyQueue -ReceiptHandle AQEBgGDh...J/Iqww== -VisibilityTimeout 36000-
Per i dettagli sull'API, vedere ChangeMessageVisibility in AWS Strumenti per PowerShell Cmdlet Reference (V5).
-
L’esempio di codice seguente mostra come utilizzare Edit-SQSMessageVisibilityBatch.
- Strumenti per V5 PowerShell
-
Esempio 1: questo esempio modifica il timeout della visibilità di 2 messaggi con gli handle di ricezione specificati nella coda specificata. Il timeout della visibilità del primo messaggio viene impostato su 10 ore (10 ore * 60 minuti * 60 secondi = 36000 secondi). Il timeout della visibilità del secondo messaggio viene impostata su 5 ore (5 ore * 60 minuti * 60 secondi = 18000 secondi).
$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, $changeVisibilityRequest2Output:
Failed Successful ------ ---------- {} {Request2, Request1}-
Per i dettagli sull'API, vedere ChangeMessageVisibilityBatch in AWS Strumenti per PowerShell Cmdlet Reference (V5).
-
L’esempio di codice seguente mostra come utilizzare Get-SQSDeadLetterSourceQueue.
- Strumenti per V5 PowerShell
-
Esempio 1: questo esempio elenca gli URL di qualsiasi coda che utilizza la coda specificata come coda DLQ.
Get-SQSDeadLetterSourceQueue -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyDeadLetterQueueOutput:
https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyOtherQueue-
Per i dettagli sull'API, vedere ListDeadLetterSourceQueues in AWS Strumenti per PowerShell Cmdlet Reference (V5).
-
L’esempio di codice seguente mostra come utilizzare Get-SQSQueue.
- Strumenti per V5 PowerShell
-
Esempio 1: questo esempio elenca tutte le code.
Get-SQSQueueOutput:
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/MyDeadLetterQueueEsempio 2: questo esempio elenca qualsiasi coda che inizia con il nome specificato.
Get-SQSQueue -QueueNamePrefix MyOutput:
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-
Per i dettagli sull'API, vedere ListQueues in AWS Strumenti per PowerShell Cmdlet Reference (V5).
-
L’esempio di codice seguente mostra come utilizzare Get-SQSQueueAttribute.
- Strumenti per V5 PowerShell
-
Esempio 1: questo esempio elenca tutti gli attributi della coda specificata.
Get-SQSQueueAttribute -AttributeName All -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueueOutput:
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":"2012-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]...}Esempio 2: questo esempio elenca separatamente solo gli attributi specificati della coda specificata.
Get-SQSQueueAttribute -AttributeName MaximumMessageSize, VisibilityTimeout -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueueOutput:
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":"2012-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]}-
Per i dettagli sull'API, vedere GetQueueAttributes in AWS Strumenti per PowerShell Cmdlet Reference (V5).
-
L’esempio di codice seguente mostra come utilizzare Get-SQSQueueUrl.
- Strumenti per V5 PowerShell
-
Esempio 1: questo esempio elenca l’URL della coda con il nome specificato.
Get-SQSQueueUrl -QueueName MyQueueOutput:
https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue-
Per i dettagli sull'API, vedere GetQueueUrl in AWS Strumenti per PowerShell Cmdlet Reference (V5).
-
L’esempio di codice seguente mostra come utilizzare New-SQSQueue.
- Strumenti per V5 PowerShell
-
Esempio 1: questo esempio crea una coda con il nome specificato.
New-SQSQueue -QueueName MyQueueOutput:
https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue-
Per i dettagli sull'API, vedere CreateQueue in AWS Strumenti per PowerShell Cmdlet Reference (V5).
-
L’esempio di codice seguente mostra come utilizzare Receive-SQSMessage.
- Strumenti per V5 PowerShell
-
Esempio 1: questo esempio elenca le informazioni per un massimo di 10 messaggi da ricevere per la coda specificata. Le informazioni conterranno i valori degli attributi del messaggio specificati, se esistenti.
Receive-SQSMessage -AttributeName SenderId, SentTimestamp -MessageAttributeName StudentName, StudentGrade -MessageCount 10 -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueueOutput:
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==-
Per i dettagli sull'API, vedere ReceiveMessage in AWS Strumenti per PowerShell Cmdlet Reference (V5).
-
L’esempio di codice seguente mostra come utilizzare Remove-SQSMessage.
- Strumenti per V5 PowerShell
-
Esempio 1: questo esempio elimina il messaggio con l’handle di ricezione specificato dalla coda specificata.
Remove-SQSMessage -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue -ReceiptHandle AQEBd329...v6gl8Q==-
Per i dettagli sull'API, vedere DeleteMessage in AWS Strumenti per PowerShell Cmdlet Reference (V5).
-
L’esempio di codice seguente mostra come utilizzare Remove-SQSMessageBatch.
- Strumenti per V5 PowerShell
-
Esempio 1: questo esempio elimina 2 messaggi con gli handle di ricezione specificati dalla coda specificata.
$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, $deleteMessageRequest2Output:
Failed Successful ------ ---------- {} {Request1, Request2}-
Per i dettagli sull'API, vedere DeleteMessageBatch in AWS Strumenti per PowerShell Cmdlet Reference (V5).
-
L’esempio di codice seguente mostra come utilizzare Remove-SQSPermission.
- Strumenti per V5 PowerShell
-
Esempio 1: questo esempio rimuove le impostazioni delle autorizzazioni con l’etichetta specificata dalla coda specificata.
Remove-SQSPermission -Label SendMessagesFromMyQueue -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue-
Per i dettagli sull'API, vedere RemovePermission in AWS Strumenti per PowerShell Cmdlet Reference (V5).
-
L’esempio di codice seguente mostra come utilizzare Remove-SQSQueue.
- Strumenti per V5 PowerShell
-
Esempio 1: questo esempio elimina la coda specificata.
Remove-SQSQueue -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue-
Per i dettagli sull'API, vedere DeleteQueue in AWS Strumenti per PowerShell Cmdlet Reference (V5).
-
L’esempio di codice seguente mostra come utilizzare Send-SQSMessage.
- Strumenti per V5 PowerShell
-
Esempio 1: questo esempio invia un messaggio con gli attributi e il corpo del messaggio specificati alla coda specificata con un ritardo di consegna del messaggio di 10 secondi.
$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/MyQueueOutput:
MD5OfMessageAttributes MD5OfMessageBody MessageId ---------------------- ---------------- --------- 1d3e51347bc042efbdf6dda31EXAMPLE 51b0a3256d59467f973009b73EXAMPLE c35fed8f-c739-4d0c-818b-1820eEXAMPLE-
Per i dettagli sull'API, vedere SendMessage in AWS Strumenti per PowerShell Cmdlet Reference (V5).
-
L’esempio di codice seguente mostra come utilizzare Send-SQSMessageBatch.
- Strumenti per V5 PowerShell
-
Esempio 1: questo esempio invia 2 messaggi con gli attributi e i corpi dei messaggi specificati alla coda specificata. La distribuzione viene ritardata di 15 secondi per il primo messaggio e di 10 secondi per il secondo messaggio.
$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, $message2Output:
Failed Successful ------ ---------- {} {FirstMessage, SecondMessage}-
Per i dettagli sull'API, vedere SendMessageBatch in AWS Strumenti per PowerShell Cmdlet Reference (V5).
-
L’esempio di codice seguente mostra come utilizzare Set-SQSQueueAttribute.
- Strumenti per V5 PowerShell
-
Esempio 1: questo esempio mostra come impostare una policy per sottoscrivere una coda a un argomento SNS. Quando si pubblica un messaggio in un argomento, viene inviato un messaggio a ogni coda sottoscritta.
# 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":"2012-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 }Esempio 2: questo esempio imposta gli attributi specificati della coda specificata.
Set-SQSQueueAttribute -Attribute @{"DelaySeconds" = "10"; "MaximumMessageSize" = "131072"} -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue-
Per i dettagli sull'API, vedere SetQueueAttributes in AWS Strumenti per PowerShell Cmdlet Reference (V5).
-