Administración de temas en Amazon SNS con la versión 3 de AWS SDK for PHP - AWS SDK for PHP

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.

Administración de temas en Amazon SNS con la versión 3 de AWS SDK for PHP

Para enviar notificaciones a Amazon Simple Queue Service (Amazon SQS), URL HTTP/HTTPS, correo electrónico, AWS SMS, o AWS Lambda, primero debe crear un tema que administre la entrega de los mensajes a los suscriptores de ese tema

En lo relativo al patrón de diseño de observador, un tema es como el asunto. Una vez que se crea un tema, se añaden los suscriptores que reciben notificaciones automáticas cuando se publica un mensaje en el tema.

Obtenga más información sobre la suscripción a temas en Administración de suscripciones en Amazon SNS con la versión 3 de AWS SDK for PHP.

Los siguientes ejemplos muestran cómo:

  • Crea un tema para publicar las notificaciones de uso CreateTopic.

  • Devuelve una lista de los temas que utiliza ListTopicsel solicitante.

  • Elimine un tema y todas sus suscripciones utilizando DeleteTopic.

  • Devuelve todas las propiedades de un tema utilizando GetTopicAttributes.

  • Permita al propietario de un tema establecer un atributo del tema con un nuevo valor utilizando SetTopicAttributes.

Para obtener más información sobre el uso de Amazon SNS, consulte Atributos de temas de Amazon SNS para el estado de entrega de mensajes.

Todo el código de ejemplo para el AWS SDK for PHP está disponible aquí en GitHub.

Credenciales

Antes de ejecutar el código de ejemplo, configure sus credenciales de AWS, como se indica en Credentials. A continuación, importe AWS SDK for PHP, como se indica en Uso básico.

Crear un tema

Para crear un tema, utilice la CreateTopicoperación.

Cada nombre de tema de su Cuenta de AWS debe ser exclusivo.

Importaciones

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sns\SnsClient;

Código de muestra

$SnSclient = new SnsClient([ 'profile' => 'default', 'region' => 'us-east-1', 'version' => '2010-03-31' ]); $topicname = 'myTopic'; try { $result = $SnSclient->createTopic([ 'Name' => $topicname, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }

Lista de temas

Para enumerar hasta 100 temas existentes en la AWS región actual, utilice la ListTopicsoperación.

Importaciones

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sns\SnsClient;

Código de muestra

$SnSclient = new SnsClient([ 'profile' => 'default', 'region' => 'us-east-1', 'version' => '2010-03-31' ]); try { $result = $SnSclient->listTopics(); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }

Eliminación de un tema

Para eliminar un tema existente y todas sus suscripciones, utilice la DeleteTopicoperación.

Todos los mensajes que no se han entregado a los suscriptores también se eliminarán.

Importaciones

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sns\SnsClient;

Código de muestra

$SnSclient = new SnsClient([ 'profile' => 'default', 'region' => 'us-east-1', 'version' => '2010-03-31' ]); $topic = 'arn:aws:sns:us-east-1:111122223333:MyTopic'; try { $result = $SnSclient->deleteTopic([ 'TopicArn' => $topic, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }

Obtener de atributos de los temas

Para recuperar las propiedades de un único tema existente, utilice la GetTopicAttributesoperación.

Importaciones

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sns\SnsClient;

Código de muestra

$SnSclient = new SnsClient([ 'profile' => 'default', 'region' => 'us-east-1', 'version' => '2010-03-31' ]); $topic = 'arn:aws:sns:us-east-1:111122223333:MyTopic'; try { $result = $SnSclient->getTopicAttributes([ 'TopicArn' => $topic, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }

Crear atributos de temas

Para actualizar las propiedades de un único tema existente, utilice la SetTopicAttributesoperación.

Solo puede establecer los atributos Policy, DisplayName y DeliveryPolicy.

Importaciones

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sns\SnsClient;

Código de muestra

$SnSclient = new SnsClient([ 'profile' => 'default', 'region' => 'us-east-1', 'version' => '2010-03-31' ]); $attribute = 'Policy | DisplayName | DeliveryPolicy'; $value = 'First Topic'; $topic = 'arn:aws:sns:us-east-1:111122223333:MyTopic'; try { $result = $SnSclient->setTopicAttributes([ 'AttributeName' => $attribute, 'AttributeValue' => $value, 'TopicArn' => $topic, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }