SNSEjemplos de Amazon que utilizan AWS CLI - AWS Command Line Interface

Esta documentación es AWS CLI únicamente para la versión 1 de la versión. Para ver la documentación relacionada con la versión 2 de AWS CLI, consulte la Guía del usuario de la versión 2.

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.

SNSEjemplos de Amazon que utilizan AWS CLI

En los siguientes ejemplos de código, se muestra cómo realizar acciones e implementar situaciones comunes AWS Command Line Interface con AmazonSNS.

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 funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.

Los escenarios son ejemplos de código que muestran cómo llevar a cabo una tarea específica a través de llamadas a varias funciones dentro del servicio o combinado con otros Servicios de AWS.

Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.

Acciones

El siguiente ejemplo de código muestra cómo usarloadd-permission.

AWS CLI

Para añadir un permiso a un tema

En el siguiente add-permission ejemplo, se agrega el permiso para 987654321098 que la AWS cuenta utilice la Publish acción con el tema especificado en la AWS cuenta123456789012.

aws sns add-permission \ --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --label Publish-Permission \ --aws-account-id 987654321098 \ --action-name Publish

Este comando no genera ninguna salida.

  • Para API obtener más información, consulte AddPermissionla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlocheck-if-phone-number-is-opted-out.

AWS CLI

Para comprobar la exclusión de un número de teléfono de un SMS mensaje

En el siguiente check-if-phone-number-is-opted-out ejemplo, se comprueba si el número de teléfono especificado está excluido de la recepción de SMS mensajes de la AWS cuenta corriente.

aws sns check-if-phone-number-is-opted-out \ --phone-number +1555550100

Salida:

{ "isOptedOut": false }

El siguiente ejemplo de código muestra cómo usarloconfirm-subscription.

AWS CLI

Para confirmar una suscripción

El siguiente confirm-subscription comando completa el proceso de confirmación que se inició al suscribirse a un SNS tema denominadomy-topic. El parámetro --token proviene del mensaje de confirmación enviado al punto de conexión de notificación especificado en la llamada de suscripción.

aws sns confirm-subscription \ --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic \ --token 2336412f37fb687f5d51e6e241d7700ae02f7124d8268910b858cb4db727ceeb2474bb937929d3bdd7ce5d0cce19325d036bc858d3c217426bcafa9c501a2cace93b83f1dd3797627467553dc438a8c974119496fc3eff026eaa5d14472ded6f9a5c43aec62d83ef5f49109da7176391

Salida:

{ "SubscriptionArn": "arn:aws:sns:us-west-2:123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f" }
  • Para API obtener más información, consulte ConfirmSubscriptionla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlocreate-platform-application.

AWS CLI

Para crear una aplicación de plataforma

En el siguiente create-platform-application ejemplo, se crea una aplicación de plataforma Google Firebase con la credencial de plataforma especificada.

aws sns create-platform-application \ --name MyApplication \ --platform GCM \ --attributes PlatformCredential=EXAMPLEabcd12345jklm67890stuv12345bcdef

Salida:

{ "PlatformApplicationArn": "arn:aws:sns:us-west-2:123456789012:app/GCM/MyApplication" }

El siguiente ejemplo de código muestra cómo usarlocreate-topic.

AWS CLI

Para crear un tema de SNS

En el create-topic ejemplo siguiente se crea un SNS tema denominadomy-topic.

aws sns create-topic \ --name my-topic

Salida:

{ "ResponseMetadata": { "RequestId": "1469e8d7-1642-564e-b85d-a19b4b341f83" }, "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic" }

Para obtener más información, consulte Uso de la interfaz de línea de AWS comandos con Amazon SQS y Amazon SNS en la Guía del usuario de la interfaz de línea de AWS comandos.

  • Para API obtener más información, consulte CreateTopicla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlodelete-endpoint.

AWS CLI

Para eliminar el punto final de una aplicación de plataforma

En el siguiente delete-endpoint ejemplo, se elimina el punto final de la aplicación de plataforma especificado.

aws sns delete-endpoint \ --endpoint-arn arn:aws:sns:us-west-2:123456789012:endpoint/GCM/MyApplication/12345678-abcd-9012-efgh-345678901234

Este comando no genera ninguna salida.

  • Para API obtener más información, consulte DeleteEndpointla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlodelete-platform-application.

AWS CLI

Para eliminar una aplicación de plataforma

En el siguiente delete-platform-application ejemplo, se elimina la aplicación de plataforma especificada.

aws sns delete-platform-application \ --platform-application-arn arn:aws:sns:us-west-2:123456789012:app/ADM/MyApplication

Este comando no genera ninguna salida.

El siguiente ejemplo de código muestra cómo usarlodelete-topic.

AWS CLI

Para eliminar un SNS tema

En el siguiente delete-topic ejemplo, se elimina el SNS tema especificado.

aws sns delete-topic \ --topic-arn "arn:aws:sns:us-west-2:123456789012:my-topic"

Este comando no genera ninguna salida.

  • Para API obtener más información, consulte DeleteTopicla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-endpoint-attributes.

AWS CLI

Para enumerar los atributos de punto final de la aplicación de plataforma

En el siguiente get-endpoint-attributes ejemplo, se enumeran los atributos del punto final de la aplicación de plataforma especificado.

aws sns get-endpoint-attributes \ --endpoint-arn arn:aws:sns:us-west-2:123456789012:endpoint/GCM/MyApplication/12345678-abcd-9012-efgh-345678901234

Salida:

{ "Attributes": { "Enabled": "true", "Token": "EXAMPLE12345..." } }

El siguiente ejemplo de código muestra cómo usarloget-platform-application-attributes.

AWS CLI

Para enumerar los atributos de la aplicación de la plataforma

En el siguiente get-platform-application-attributes ejemplo, se enumeran los atributos de la aplicación de plataforma especificada.

aws sns get-platform-application-attributes \ --platform-application-arn arn:aws:sns:us-west-2:123456789012:app/MPNS/MyApplication

Salida:

{ "Attributes": { "Enabled": "true", "SuccessFeedbackSampleRate": "100" } }

El siguiente ejemplo de código muestra cómo usarloget-sms-attributes.

AWS CLI

Para enumerar los atributos predeterminados de los SMS mensajes

En el siguiente get-sms-attributes ejemplo, se enumeran los atributos predeterminados para el envío de SMS mensajes.

aws sns get-sms-attributes

Salida:

{ "attributes": { "DefaultSenderID": "MyName" } }
  • Para API obtener más información, consulte G etSMSAttributes en la Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloget-subscription-attributes.

AWS CLI

Para recuperar los atributos de suscripción de un tema

A continuación, get-subscription-attributes se muestran los atributos de la suscripción especificada. Puede obtenerlos subscription-arn del resultado del list-subscriptions comando.

aws sns get-subscription-attributes \ --subscription-arn "arn:aws:sns:us-west-2:123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f"

Salida:

{ "Attributes": { "Endpoint": "my-email@example.com", "Protocol": "email", "RawMessageDelivery": "false", "ConfirmationWasAuthenticated": "false", "Owner": "123456789012", "SubscriptionArn": "arn:aws:sns:us-west-2:123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f", "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic" } }

El siguiente ejemplo de código muestra cómo usarloget-topic-attributes.

AWS CLI

Para recuperar los atributos de un tema

En el siguiente ejemplo de get-topic-attributes, se muestran los atributos del tema especificado.

aws sns get-topic-attributes \ --topic-arn "arn:aws:sns:us-west-2:123456789012:my-topic"

Salida:

{ "Attributes": { "SubscriptionsConfirmed": "1", "DisplayName": "my-topic", "SubscriptionsDeleted": "0", "EffectiveDeliveryPolicy": "{\"http\":{\"defaultHealthyRetryPolicy\":{\"minDelayTarget\":20,\"maxDelayTarget\":20,\"numRetries\":3,\"numMaxDelayRetries\":0,\"numNoDelayRetries\":0,\"numMinDelayRetries\":0,\"backoffFunction\":\"linear\"},\"disableSubscriptionOverrides\":false}}", "Owner": "123456789012", "Policy": "{\"Version\":\"2008-10-17\",\"Id\":\"__default_policy_ID\",\"Statement\":[{\"Sid\":\"__default_statement_ID\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"*\"},\"Action\":[\"SNS:Subscribe\",\"SNS:ListSubscriptionsByTopic\",\"SNS:DeleteTopic\",\"SNS:GetTopicAttributes\",\"SNS:Publish\",\"SNS:RemovePermission\",\"SNS:AddPermission\",\"SNS:SetTopicAttributes\"],\"Resource\":\"arn:aws:sns:us-west-2:123456789012:my-topic\",\"Condition\":{\"StringEquals\":{\"AWS:SourceOwner\":\"0123456789012\"}}}]}", "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic", "SubscriptionsPending": "0" } }
  • Para API obtener más información, consulte GetTopicAttributesla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlolist-endpoints-by-platform-application.

AWS CLI

Para enumerar los puntos finales de una aplicación de plataforma

En el siguiente list-endpoints-by-platform-application ejemplo, se enumeran los puntos finales y los atributos de los puntos finales de la aplicación de plataforma especificada.

aws sns list-endpoints-by-platform-application \ --platform-application-arn arn:aws:sns:us-west-2:123456789012:app/GCM/MyApplication

Salida:

{ "Endpoints": [ { "Attributes": { "Token": "EXAMPLE12345..., "Enabled": "true" }, "EndpointArn": "arn:aws:sns:us-west-2:123456789012:endpoint/GCM/MyApplication/12345678-abcd-9012-efgh-345678901234" } ] }

El siguiente ejemplo de código muestra cómo usarlolist-phone-numbers-opted-out.

AWS CLI

Para enumerar las SMS exclusiones de los mensajes

En el siguiente list-phone-numbers-opted-out ejemplo, se enumeran los números de teléfono que se excluyeron de la recepción SMS de mensajes.

aws sns list-phone-numbers-opted-out

Salida:

{ "phoneNumbers": [ "+15555550100" ] }

El siguiente ejemplo de código muestra cómo usarlolist-platform-applications.

AWS CLI

Para enumerar las aplicaciones de plataforma

En el siguiente list-platform-applications ejemplo se enumeran las aplicaciones de plataforma para ADM yMPNS.

aws sns list-platform-applications

Salida:

{ "PlatformApplications": [ { "PlatformApplicationArn": "arn:aws:sns:us-west-2:123456789012:app/ADM/MyApplication", "Attributes": { "SuccessFeedbackSampleRate": "100", "Enabled": "true" } }, { "PlatformApplicationArn": "arn:aws:sns:us-west-2:123456789012:app/MPNS/MyOtherApplication", "Attributes": { "SuccessFeedbackSampleRate": "100", "Enabled": "true" } } ] }

El siguiente ejemplo de código muestra cómo usarlolist-subscriptions-by-topic.

AWS CLI

Para enumerar las suscripciones asociadas a un tema

A continuación, se list-subscriptions-by-topic recupera una lista de SNS las suscripciones asociadas al tema especificado.

aws sns list-subscriptions-by-topic \ --topic-arn "arn:aws:sns:us-west-2:123456789012:my-topic"

Salida:

{ "Subscriptions": [ { "Owner": "123456789012", "Endpoint": "my-email@example.com", "Protocol": "email", "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic", "SubscriptionArn": "arn:aws:sns:us-west-2:123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f" } ] }

El siguiente ejemplo de código muestra cómo usarlolist-subscriptions.

AWS CLI

Para enumerar tus SNS suscripciones

En el siguiente list-subscriptions ejemplo, se muestra una lista de las SNS suscripciones de su AWS cuenta.

aws sns list-subscriptions

Salida:

{ "Subscriptions": [ { "Owner": "123456789012", "Endpoint": "my-email@example.com", "Protocol": "email", "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic", "SubscriptionArn": "arn:aws:sns:us-west-2:123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f" } ] }
  • Para API obtener más información, consulte ListSubscriptionsla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlolist-tags-for-resource.

AWS CLI

Para enumerar las etiquetas de un tema

En el siguiente list-tags-for-resource ejemplo, se enumeran las etiquetas del SNS tema de Amazon especificado.

aws sns list-tags-for-resource \ --resource-arn arn:aws:sns:us-west-2:123456789012:MyTopic

Salida:

{ "Tags": [ { "Key": "Team", "Value": "Alpha" } ] }
  • Para API obtener más información, consulte ListTagsForResourcela Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlolist-topics.

AWS CLI

Para enumerar tus SNS temas

En el siguiente list-topics ejemplo, se enumeran todos SNS los temas de tu AWS cuenta.

aws sns list-topics

Salida:

{ "Topics": [ { "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-topic" } ] }
  • Para API obtener más información, consulte ListTopicsla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloopt-in-phone-number.

AWS CLI

Para aceptar la recepción de mensajes SMS

En el siguiente opt-in-phone-number ejemplo, se opta por el número de teléfono especificado para recibir SMS mensajes.

aws sns opt-in-phone-number \ --phone-number +15555550100

Este comando no genera ninguna salida.

  • Para API obtener más información, consulte OptInPhoneNumberla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlopublish.

AWS CLI

Ejemplo 1: Para publicar un mensaje en un tema

En el siguiente publish ejemplo, se publica el mensaje especificado en el SNS tema especificado. El mensaje proviene de un archivo de texto que le permite incluir saltos de línea.

aws sns publish \ --topic-arn "arn:aws:sns:us-west-2:123456789012:my-topic" \ --message file://message.txt

Contenidos de message.txt:

Hello World Second Line

Salida:

{ "MessageId": "123a45b6-7890-12c3-45d6-111122223333" }

Ejemplo 2: publicar un SMS mensaje en un número de teléfono

En el siguiente ejemplo de publish, se publica el mensaje Hello world! en el número de teléfono +1-555-555-0100.

aws sns publish \ --message "Hello world!" \ --phone-number +1-555-555-0100

Salida:

{ "MessageId": "123a45b6-7890-12c3-45d6-333322221111" }
  • Para API obtener más información, consulte Publish in AWS CLI Command Reference.

En el siguiente ejemplo de código se muestra cómo usarloput-data-protection-policy.

AWS CLI

Para establecer una política de protección de datos

Ejemplo 1: impedir que los editores publiquen mensajes con CreditCardNumber

El siguiente put-data-protection-policy ejemplo impide a los editores publicar mensajes con CreditCardNumber.

aws sns put-data-protection-policy \ --resource-arn arn:aws:sns:us-east-1:123456789012:mytopic \ --data-protection-policy "{\"Name\":\"data_protection_policy\",\"Description\":\"Example data protection policy\",\"Version\":\"2021-06-01\",\"Statement\":[{\"DataDirection\":\"Inbound\",\"Principal\":[\"*\"],\"DataIdentifier\":[\"arn:aws:dataprotection::aws:data-identifier/CreditCardNumber\"],\"Operation\":{\"Deny\":{}}}]}"

Este comando no genera ninguna salida.

Ejemplo 2: Para cargar parámetros de un archivo

Lo siguiente put-data-protection-policy carga los parámetros de un archivo.

aws sns put-data-protection-policy \ --resource-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --data-protection-policy file://policy.json

Este comando no genera ninguna salida.

El siguiente ejemplo de código muestra cómo usarloremove-permission.

AWS CLI

Para eliminar un permiso de un tema

En el siguiente remove-permission ejemplo, se quita el permiso Publish-Permission del tema especificado.

aws sns remove-permission \ --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --label Publish-Permission

Este comando no genera ninguna salida.

  • Para API obtener más información, consulte RemovePermissionla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloset-endpoint-attributes.

AWS CLI

Para establecer los atributos del punto final

El siguiente set-endpoint-attributes ejemplo deshabilita el punto final de la aplicación de plataforma especificado.

aws sns set-endpoint-attributes \ --endpoint-arn arn:aws:sns:us-west-2:123456789012:endpoint/GCM/MyApplication/12345678-abcd-9012-efgh-345678901234 \ --attributes Enabled=false

Salida:

{ "Attributes": { "Enabled": "false", "Token": "EXAMPLE12345..." } }

El siguiente ejemplo de código muestra cómo usarloset-platform-application-attributes.

AWS CLI

Para configurar los atributos de la aplicación de la plataforma

El siguiente set-platform-application-attributes ejemplo establece el EventDeliveryFailure atributo de la aplicación de plataforma especificada en el SNS tema ARN de Amazon especificado.

aws sns set-platform-application-attributes \ --platform-application-arn arn:aws:sns:us-west-2:123456789012:app/GCM/MyApplication \ --attributes EventDeliveryFailure=arn:aws:sns:us-west-2:123456789012:AnotherTopic

Este comando no genera ninguna salida.

El siguiente ejemplo de código muestra cómo usarloset-sms-attributes.

AWS CLI

Para establecer los atributos de los SMS mensajes

En el siguiente set-sms-attributes ejemplo, se establece el identificador de remitente predeterminado para SMS los mensajes enMyName.

aws sns set-sms-attributes \ --attributes DefaultSenderID=MyName

Este comando no genera ninguna salida.

  • Para API obtener más información, consulte S etSMSAttributes en la referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarloset-subscription-attributes.

AWS CLI

Para establecer los atributos de suscripción

En el siguiente set-subscription-attributes ejemplo, se establece el RawMessageDelivery atributo en una SQS suscripción.

aws sns set-subscription-attributes \ --subscription-arn arn:aws:sns:us-east-1:123456789012:mytopic:f248de18-2cf6-578c-8592-b6f1eaa877dc \ --attribute-name RawMessageDelivery \ --attribute-value true

Este comando no genera ninguna salida.

En el siguiente set-subscription-attributes ejemplo, se establece un FilterPolicy atributo en una SQS suscripción.

aws sns set-subscription-attributes \ --subscription-arn arn:aws:sns:us-east-1:123456789012:mytopic:f248de18-2cf6-578c-8592-b6f1eaa877dc \ --attribute-name FilterPolicy \ --attribute-value "{ \"anyMandatoryKey\": [\"any\", \"of\", \"these\"] }"

Este comando no genera ninguna salida.

En el siguiente set-subscription-attributes ejemplo, se quita el FilterPolicy atributo de una SQS suscripción.

aws sns set-subscription-attributes \ --subscription-arn arn:aws:sns:us-east-1:123456789012:mytopic:f248de18-2cf6-578c-8592-b6f1eaa877dc \ --attribute-name FilterPolicy \ --attribute-value "{}"

Este comando no genera ninguna salida.

El siguiente ejemplo de código muestra cómo usarloset-topic-attributes.

AWS CLI

Para establecer un atributo para un tema

En el ejemplo de set-topic-attributes siguiente, se establece el atributo DisplayName del tema especificado.

aws sns set-topic-attributes \ --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --attribute-name DisplayName \ --attribute-value MyTopicDisplayName

Este comando no genera ninguna salida.

  • Para API obtener más información, consulte SetTopicAttributesla Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlosubscribe.

AWS CLI

Para suscribirse a un tema

El siguiente comando subscribe suscribe una dirección de correo electrónico al tema especificado.

aws sns subscribe \ --topic-arn arn:aws:sns:us-west-2:123456789012:my-topic \ --protocol email \ --notification-endpoint my-email@example.com

Salida:

{ "SubscriptionArn": "pending confirmation" }
  • Para API obtener más información, consulte Suscríbete en AWS CLI Command Reference.

En el siguiente ejemplo de código se muestra cómo usarlotag-resource.

AWS CLI

Para agregar una etiqueta a un tema

En el siguiente tag-resource ejemplo, se añade una etiqueta de metadatos al SNS tema de Amazon especificado.

aws sns tag-resource \ --resource-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --tags Key=Team,Value=Alpha

Este comando no genera ninguna salida.

  • Para API obtener más información, consulte TagResourcela Referencia de AWS CLI comandos.

El siguiente ejemplo de código muestra cómo usarlounsubscribe.

AWS CLI

Para cancelar la suscripción a un tema

En el siguiente ejemplo de unsubscribe, se elimina la suscripción especificada de un tema.

aws sns unsubscribe \ --subscription-arn arn:aws:sns:us-west-2:0123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f

Este comando no genera ninguna salida.

El siguiente ejemplo de código muestra cómo usarlountag-resource.

AWS CLI

Para eliminar una etiqueta de un tema

En el siguiente untag-resource ejemplo, se eliminan todas las etiquetas con las claves especificadas del SNS tema de Amazon especificado.

aws sns untag-resource \ --resource-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --tag-keys Team

Este comando no genera ninguna salida.

  • Para API obtener más información, consulte UntagResourcela Referencia de AWS CLI comandos.

Escenarios

El siguiente ejemplo de código muestra cómo crear un punto final de plataforma para las notificaciones SNS push de Amazon.

AWS CLI

Para crear un punto de conexión de aplicación de plataforma

En el siguiente ejemplo de create-platform-endpoint, se crea un punto de conexión para la aplicación de plataforma especificada mediante el token especificado.

aws sns create-platform-endpoint \ --platform-application-arn arn:aws:sns:us-west-2:123456789012:app/GCM/MyApplication \ --token EXAMPLE12345...

Salida:

{ "EndpointArn": "arn:aws:sns:us-west-2:1234567890:endpoint/GCM/MyApplication/12345678-abcd-9012-efgh-345678901234" }