Hay más ejemplos de AWS SDK disponibles en el GitHub repositorio de ejemplos de AWS Doc SDK
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Ejemplos de Amazon SQS con herramientas para PowerShell
Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes Herramientas de AWS para PowerShell con Amazon SQS.
Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.
En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.
Temas
Acciones
En el siguiente ejemplo de código, se muestra cómo utilizar Add-SQSPermission
.
- Herramientas para PowerShell
-
Ejemplo 1: Este ejemplo permite Cuenta de AWS al especificado enviar mensajes desde la cola especificada.
Add-SQSPermission -Action SendMessage -AWSAccountId 80398EXAMPLE -Label SendMessagesFromMyQueue -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
-
Para obtener más información sobre la API, consulte la referencia AddPermissionde Herramientas de AWS para PowerShell cmdlets.
-
En el siguiente ejemplo de código, se muestra cómo utilizar Clear-SQSQueue
.
- Herramientas para PowerShell
-
Ejemplo 1: en este ejemplo, se eliminan todos los mensajes de la cola especificada.
Clear-SQSQueue -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
-
Para obtener información sobre la API, consulte PurgeQueuela referencia de Herramientas de AWS para PowerShell cmdlets.
-
En el siguiente ejemplo de código, se muestra cómo utilizar Edit-SQSMessageVisibility
.
- Herramientas para PowerShell
-
Ejemplo 1: en este ejemplo, se cambia el tiempo de espera de visibilidad del mensaje con el identificador de recibo especificado en la cola especificada a 10 horas (10 horas * 60 minutos * 60 segundos = 36000 segundos).
Edit-SQSMessageVisibility -QueueUrl https://sqs.us-east-1.amazonaws.com/8039EXAMPLE/MyQueue -ReceiptHandle AQEBgGDh...J/Iqww== -VisibilityTimeout 36000
-
Para obtener información sobre la API, consulte ChangeMessageVisibilityla referencia de Herramientas de AWS para PowerShell cmdlets.
-
En el siguiente ejemplo de código, se muestra cómo utilizar Edit-SQSMessageVisibilityBatch
.
- Herramientas para PowerShell
-
Ejemplo 1: en este ejemplo, se cambia el tiempo de espera de visibilidad de 2 mensajes con los identificadores de recibo especificado en la cola especificada. El valor de visibilidad del tiempo de espera del primer mensaje se cambia a 10 horas (10 horas * 60 minutos * 60 segundos = 36000 segundos). El valor de visibilidad del tiempo de espera del segundo mensaje se cambia a 5 horas (5 horas * 60 minutos * 60 segundos = 18000 segundos).
$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
Salida:
Failed Successful ------ ---------- {} {Request2, Request1}
-
Para obtener información sobre la API, consulte ChangeMessageVisibilityBatchla referencia de Herramientas de AWS para PowerShell cmdlets.
-
En el siguiente ejemplo de código, se muestra cómo utilizar Get-SQSDeadLetterSourceQueue
.
- Herramientas para PowerShell
-
Ejemplo 1: En este ejemplo se enumeran todas URLs las colas que se basan en la cola especificada como cola de cartas muertas.
Get-SQSDeadLetterSourceQueue -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyDeadLetterQueue
Salida:
https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyOtherQueue
-
Para obtener más información sobre la API, consulte la referencia de ListDeadLetterSourceQueuescmdlets Herramientas de AWS para PowerShell .
-
En el siguiente ejemplo de código, se muestra cómo utilizar Get-SQSQueue
.
- Herramientas para PowerShell
-
Ejemplo 1: en este ejemplo, se enumeran todas las colas.
Get-SQSQueue
Salida:
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
Ejemplo 2: en este ejemplo se enumeran todas las colas que empiezan con el nombre especificado.
Get-SQSQueue -QueueNamePrefix My
Salida:
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
-
Para obtener información sobre la API, consulte ListQueuesla referencia de Herramientas de AWS para PowerShell cmdlets.
-
En el siguiente ejemplo de código, se muestra cómo utilizar Get-SQSQueueAttribute
.
- Herramientas para PowerShell
-
Ejemplo 1: en este ejemplo se enumeran todos los atributos de la cola especificada.
Get-SQSQueueAttribute -AttributeName All -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
Salida:
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]...}
Ejemplo 2: en este ejemplo se enumeran de forma separada solo los atributos de la cola especificada.
Get-SQSQueueAttribute -AttributeName MaximumMessageSize, VisibilityTimeout -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
Salida:
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]}
-
Para obtener información sobre la API, consulte GetQueueAttributesla referencia de Herramientas de AWS para PowerShell cmdlets.
-
En el siguiente ejemplo de código, se muestra cómo utilizar Get-SQSQueueUrl
.
- Herramientas para PowerShell
-
Ejemplo 1: En este ejemplo se muestra la URL de la cola con el nombre especificado.
Get-SQSQueueUrl -QueueName MyQueue
Salida:
https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
-
Para obtener información sobre la API, consulte GetQueueUrlla referencia de Herramientas de AWS para PowerShell cmdlets.
-
En el siguiente ejemplo de código, se muestra cómo utilizar New-SQSQueue
.
- Herramientas para PowerShell
-
Ejemplo 1: en este ejemplo se crea una cola con el nombre especificado.
New-SQSQueue -QueueName MyQueue
Salida:
https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
-
Para obtener información sobre la API, consulte CreateQueuela referencia de Herramientas de AWS para PowerShell cmdlets.
-
En el siguiente ejemplo de código, se muestra cómo utilizar Receive-SQSMessage
.
- Herramientas para PowerShell
-
Ejemplo 1: en este ejemplo se muestra la información de los 10 mensajes siguientes que se van a recibir en la cola especificada. La información contendrá valores para los atributos del mensaje especificado, si existen.
Receive-SQSMessage -AttributeName SenderId, SentTimestamp -MessageAttributeName StudentName, StudentGrade -MessageCount 10 -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
Salida:
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==
-
Para obtener información sobre la API, consulte ReceiveMessagela referencia de Herramientas de AWS para PowerShell cmdlets.
-
En el siguiente ejemplo de código, se muestra cómo utilizar Remove-SQSMessage
.
- Herramientas para PowerShell
-
Ejemplo 1: en este ejemplo, se elimina el mensaje con el identificador de recibo especificado de la cola especificada.
Remove-SQSMessage -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue -ReceiptHandle AQEBd329...v6gl8Q==
-
Para obtener información sobre la API, consulte DeleteMessagela referencia de Herramientas de AWS para PowerShell cmdlets.
-
En el siguiente ejemplo de código, se muestra cómo utilizar Remove-SQSMessageBatch
.
- Herramientas para PowerShell
-
Ejemplo 1: en este ejemplo, se eliminan 2 mensajes con los identificadores de recibo especificado de la cola especificada.
$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
Salida:
Failed Successful ------ ---------- {} {Request1, Request2}
-
Para obtener información sobre la API, consulte DeleteMessageBatchla referencia de Herramientas de AWS para PowerShell cmdlets.
-
En el siguiente ejemplo de código, se muestra cómo utilizar Remove-SQSPermission
.
- Herramientas para PowerShell
-
Ejemplo 1: en este ejemplo, se quita el permiso con la etiqueta especificada de la cola indicada.
Remove-SQSPermission -Label SendMessagesFromMyQueue -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
-
Para obtener información sobre la API, consulte RemovePermissionla referencia de Herramientas de AWS para PowerShell cmdlets.
-
En el siguiente ejemplo de código, se muestra cómo utilizar Remove-SQSQueue
.
- Herramientas para PowerShell
-
Ejemplo 1: en este ejemplo, se elimina la cola especificada.
Remove-SQSQueue -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
-
Para obtener información sobre la API, consulte DeleteQueuela referencia de Herramientas de AWS para PowerShell cmdlets.
-
En el siguiente ejemplo de código, se muestra cómo utilizar Send-SQSMessage
.
- Herramientas para PowerShell
-
Ejemplo 1: en este ejemplo se envía un mensaje con los atributos y el cuerpo del mensaje especificados a la cola especificada, con un retraso de 10 segundos en la entrega del mensaje.
$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
Salida:
MD5OfMessageAttributes MD5OfMessageBody MessageId ---------------------- ---------------- --------- 1d3e51347bc042efbdf6dda31EXAMPLE 51b0a3256d59467f973009b73EXAMPLE c35fed8f-c739-4d0c-818b-1820eEXAMPLE
-
Para obtener información sobre la API, consulte SendMessagela referencia de Herramientas de AWS para PowerShell cmdlets.
-
En el siguiente ejemplo de código, se muestra cómo utilizar Send-SQSMessageBatch
.
- Herramientas para PowerShell
-
Ejemplo 1: en este ejemplo, se envían 2 mensajes con los atributos y los cuerpos de los mensajes especificados a la cola especificada. La entrega se retrasa 15 segundos para el primer mensaje y 10 segundos para el segundo mensaje.
$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
Salida:
Failed Successful ------ ---------- {} {FirstMessage, SecondMessage}
-
Para obtener información sobre la API, consulte SendMessageBatchla referencia de Herramientas de AWS para PowerShell cmdlets.
-
En el siguiente ejemplo de código, se muestra cómo utilizar Set-SQSQueueAttribute
.
- Herramientas para PowerShell
-
Ejemplo 1: en este ejemplo se muestra cómo establecer una política para suscribirse una cola a un tema de SNS. Cuando se publica un mensaje en un tema, se envía a la cola suscritas.
# 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 }
Ejemplo 2: en este ejemplo se establecen los atributos especificados de la cola especificada.
Set-SQSQueueAttribute -Attribute @{"DelaySeconds" = "10"; "MaximumMessageSize" = "131072"} -QueueUrl https://sqs.us-east-1.amazonaws.com/80398EXAMPLE/MyQueue
-
Para obtener información sobre la API, consulte SetQueueAttributesla referencia de Herramientas de AWS para PowerShell cmdlets.
-