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 la versión 4 PowerShell
Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes mediante el uso de la Herramientas de AWS para PowerShell versión 4 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 la versión PowerShell 4
-
Ejemplo 1: Este ejemplo permite Cuenta de AWS a la persona especificada 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 AddPermission Herramientas de AWS para PowerShellCmdlet Reference (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Clear-SQSQueue
.
- Herramientas para la versión 4 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 más información sobre la API, consulte PurgeQueue Herramientas de AWS para PowerShellCmdlet Reference (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Edit-SQSMessageVisibility
.
- Herramientas para la versión 4 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 más información sobre la API, consulte ChangeMessageVisibility Herramientas de AWS para PowerShellCmdlet Reference (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Edit-SQSMessageVisibilityBatch
.
- Herramientas para la versión 4 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 más información sobre la API, consulte ChangeMessageVisibilityBatch Herramientas de AWS para PowerShellCmdlet Reference (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Get-SQSDeadLetterSourceQueue
.
- Herramientas para la versión 4 PowerShell
-
Ejemplo 1: En este ejemplo se URLs enumeran las colas que dependen de 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 Herramientas de AWS para PowerShell Cmdlet ListDeadLetterSourceQueuesReference (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Get-SQSQueue
.
- Herramientas para la versión 4 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 más información sobre la API, consulte ListQueues Herramientas de AWS para PowerShellCmdlet Reference (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Get-SQSQueueAttribute
.
- Herramientas para la versión 4 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 más información sobre la API, consulte GetQueueAttributes Herramientas de AWS para PowerShellCmdlet Reference (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Get-SQSQueueUrl
.
- Herramientas para la versión 4 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 más información sobre la API, consulte GetQueueUrl Herramientas de AWS para PowerShellCmdlet Reference (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar New-SQSQueue
.
- Herramientas para la versión 4 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 más información sobre la API, consulte CreateQueue Herramientas de AWS para PowerShellCmdlet Reference (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Receive-SQSMessage
.
- Herramientas para la versión 4 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 más información sobre la API, consulte ReceiveMessage Herramientas de AWS para PowerShellCmdlet Reference (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Remove-SQSMessage
.
- Herramientas para la versión 4 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 más información sobre la API, consulte DeleteMessage Herramientas de AWS para PowerShellCmdlet Reference (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Remove-SQSMessageBatch
.
- Herramientas para la versión 4 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 más información sobre la API, consulte DeleteMessageBatch Herramientas de AWS para PowerShellCmdlet Reference (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Remove-SQSPermission
.
- Herramientas para la versión 4 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 más información sobre la API, consulte RemovePermission Herramientas de AWS para PowerShellCmdlet Reference (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Remove-SQSQueue
.
- Herramientas para la versión 4 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 más información sobre la API, consulte DeleteQueue Herramientas de AWS para PowerShellCmdlet Reference (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Send-SQSMessage
.
- Herramientas para la versión 4 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 más información sobre la API, consulte SendMessage Herramientas de AWS para PowerShellCmdlet Reference (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Send-SQSMessageBatch
.
- Herramientas para la versión 4 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 más información sobre la API, consulte SendMessageBatch Herramientas de AWS para PowerShellCmdlet Reference (V4).
-
En el siguiente ejemplo de código, se muestra cómo utilizar Set-SQSQueueAttribute
.
- Herramientas para la versión 4 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 más información sobre la API, consulte SetQueueAttributes Herramientas de AWS para PowerShellCmdlet Reference (V4).
-