SNSEjemplos de Amazon que utilizan AWS CLI - AWS SDKEjemplos de código

Hay más AWS SDK ejemplos disponibles en el GitHub repositorio de AWS Doc SDK Examples.

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

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes AWS Command Line Interface mediante 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

En el siguiente ejemplo de código se muestra cómo usar add-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.

En el siguiente ejemplo de código se muestra cómo usar check-if-phone-number-is-opted-out.

AWS CLI

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

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 }

En el siguiente ejemplo de código se muestra cómo usar confirm-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.

En el siguiente ejemplo de código se muestra cómo usar create-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" }

En el siguiente ejemplo de código se muestra cómo usar create-topic.

AWS CLI

Para crear un tema de SNS

En el siguiente create-topic ejemplo 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.

En el siguiente ejemplo de código se muestra cómo usar delete-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.

En el siguiente ejemplo de código se muestra cómo usar delete-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.

En el siguiente ejemplo de código se muestra cómo usar delete-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.

En el siguiente ejemplo de código se muestra cómo usar get-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..." } }

En el siguiente ejemplo de código se muestra cómo usar get-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" } }

En el siguiente ejemplo de código se muestra cómo usar get-sms-attributes.

AWS CLI

Para ver una lista de los atributos de los SMS mensajes por defecto

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.

En el siguiente ejemplo de código se muestra cómo usar get-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" } }

En el siguiente ejemplo de código se muestra cómo usar get-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.

En el siguiente ejemplo de código se muestra cómo usar list-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" } ] }

En el siguiente ejemplo de código se muestra cómo usar list-phone-numbers-opted-out.

AWS CLI

Para ver una lista de las exclusiones de SMS 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" ] }

En el siguiente ejemplo de código se muestra cómo usar list-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" } } ] }

En el siguiente ejemplo de código se muestra cómo usar list-subscriptions-by-topic.

AWS CLI

Para ver una lista de 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" } ] }

En el siguiente ejemplo de código se muestra cómo usar list-subscriptions.

AWS CLI

Para enumerar sus 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.

En el siguiente ejemplo de código se muestra cómo usar list-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.

En el siguiente ejemplo de código se muestra cómo usar list-topics.

AWS CLI

Para enumerar sus 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.

En el siguiente ejemplo de código se muestra cómo usar opt-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.

En el siguiente ejemplo de código se muestra cómo usar publish.

AWS CLI

Ejemplo 1: Para publicar un mensaje en un tema

El siguiente publish ejemplo 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 usar put-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.

En el siguiente ejemplo de código se muestra cómo usar remove-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.

En el siguiente ejemplo de código se muestra cómo usar set-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..." } }

En el siguiente ejemplo de código se muestra cómo usar set-platform-application-attributes.

AWS CLI

Para configurar los atributos de la aplicación de 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.

En el siguiente ejemplo de código se muestra cómo usar set-sms-attributes.

AWS CLI

Para configurar 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.

En el siguiente ejemplo de código se muestra cómo usar set-subscription-attributes.

AWS CLI

Para establecer los atributos de suscripción

El siguiente set-subscription-attributes ejemplo 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.

En el siguiente ejemplo de código se muestra cómo usar set-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.

En el siguiente ejemplo de código se muestra cómo usar subscribe.

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 Suscribirse en AWS CLI Command Reference.

En el siguiente ejemplo de código se muestra cómo usar tag-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.

En el siguiente ejemplo de código se muestra cómo usar unsubscribe.

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.

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

AWS CLI

Para eliminar una etiqueta de un tema

El siguiente untag-resource ejemplo elimina cualquier etiqueta 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" }