Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

261
Vistas
comando aws cli para suscribirse a un tema con filtros

Estoy tratando de escribir un comando aws cli de cuenta cruzada para suscribirme a un tema y crear un filtro para esa suscripción al mismo tiempo. A continuación se muestra cómo se ve mi comando.

 aws sns subscribe --topic-arn arn:aws:sns:region:accountId:my_topic --protocol sqs --notification-endpoint arn:aws:sqs:region:differentAccountId:my_sqs_queue --attributes "{'RawMessageDelivery': 'true', 'FilterPolicy': '{\"filter\": [\"value1\", \"value2\"]}'}"

Recibo el siguiente error cuando ejecuto esto.

 Unknown options: --attributes, [\value1\,, \value2\]}'}, {'RawMessageDelivery': 'true', 'FilterPolicy': '{" filter\:

Tengo acceso al acceso de administrador a las dos cuentas de AWS. ¿Alguna sugerencia sobre lo que estoy haciendo mal?

EDITAR: Estoy ejecutando esto en el terminal PowerShell de VS Code en Windows.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Probablemente haya una manera más fácil de hacerlo (por ejemplo, usando --cli-input-json y proporcionando JSON en un archivo), pero lo hice funcionar:

 aws sns subscribe \ --topic-arn arn:aws:sns:region:accountId:my_topic \ --protocol sqs \ --notification-endpoint arn:aws:sqs:region:differentAccountId:my_sqs_queue \ --attributes '{\"RawMessageDelivery\": \"true\", \"FilterPolicy\": \"{\\\"filter\\\": [\\\"value1\\\", \\\"value2\\\"]}\"}'

El problema era el JSON incluido en una cadena, que necesitaba que \" se escapara como \\\" .

over 4 years ago · Santiago Trujillo Denunciar

0

Este repositorio de Github tiene un ejemplo: https://github.com/Haple/sns-sqs-subscribe

 #!/bin/sh # SETUP queue_arn=$(awslocal sqs create-queue --queue-name test_queue --output text) echo "Queue ARN: $queue_arn" topic_arn=$(awslocal sns create-topic --name test_topic --output text) echo "Topic ARN: $topic_arn" subscription_arn=$(awslocal sns subscribe \ --topic-arn "$topic_arn" \ --protocol sqs \ --notification-endpoint "$queue_arn" \ --output text) echo "Subscription ARN: $subscription_arn" awslocal sns set-subscription-attributes \ --subscription-arn "$subscription_arn" \ --attribute-name FilterPolicy \ --attribute-value "{ \"EVENT_TYPE\": [\"SUCCESS\"] }" # TEST awslocal sns publish \ --topic-arn "$topic_arn" \ --message "SUCCESS PAYLOAD (SHOULD GO TO THE QUEUE)" \ --message-attributes '{"EVENT_TYPE" : { "DataType":"String", "StringValue":"SUCCESS"}}' awslocal sns publish \ --topic-arn "$topic_arn" \ --message "ERROR PAYLOAD (SHOULD NOT GO TO THE QUEUE)" \ --message-attributes '{"EVENT_TYPE" : { "DataType":"String", "StringValue":"ERROR"}}' awslocal sqs get-queue-attributes \ --queue-url http://localhost:4576/queue/test_queue \ --attribute-names All

over 4 years ago · Santiago Trujillo Denunciar

0

El proceso general en las respuestas anteriores está bien, pero hay un gran problema:

No sé por qué nadie menciona esto, pero todo no funciona si no configura correctamente el documento de política de cola de SQS .

El ejemplo de github no lo hace y, por alguna razón, la documentación de AWS ni siquiera lo menciona.

Consulte esta pregunta: Establecer documento de política de SQS con AWS CLI

Perdí un par de días resolviendo este problema. Así que espero que ayude.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda