Gestione degli argomenti in Amazon SNS con la versione 3 AWS SDK for PHP - AWS SDK for PHP

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Gestione degli argomenti in Amazon SNS con la versione 3 AWS SDK for PHP

Per inviare notifiche ad Amazon Simple Queue Service (Amazon SQS), URL HTTP/HTTPS, e-mail AWS Lambda oAWS SMS, devi prima creare un argomento che gestisca la consegna dei messaggi a tutti gli abbonati di quell'argomento.

In termini di modello di progettazione dell'osservatore, un argomento è come il soggetto. Dopo aver creato un argomento, è possibile aggiungere sottoscrittori che vengono automaticamente avvisati quando viene pubblicato un messaggio relativo all'argomento.

Scopri di più sulla sottoscrizione agli argomenti in Gestione degli abbonamenti in Amazon AWS SDK for PHP SNS con la versione 3.

Gli esempi seguenti mostrano come:

  • Crea un argomento da utilizzare per la pubblicazione delle notifiche. CreateTopic

  • Restituisce un elenco degli argomenti del richiedente utilizzando ListTopics.

  • Elimina un argomento e tutte le relative sottoscrizioni utilizzando. DeleteTopic

  • Restituisce tutte le proprietà di un argomento utilizzando GetTopicAttributes.

  • Consenti al proprietario di un argomento di impostare un attributo dell'argomento su un nuovo valore utilizzando SetTopicAttributes.

Per ulteriori informazioni sull'uso di Amazon SNS, consulta Amazon SNS Topic Attributes for Message Delivery Status.

Tutto il codice di esempio per AWS SDK for PHP è disponibile qui. GitHub

Credenziali

Prima di eseguire il codice di esempio, configurate AWS le vostre credenziali, come descritto inCredenziali. Quindi importate il fileAWS SDK for PHP, come descritto inUtilizzo di base.

Creazione di un argomento

Per creare un argomento, usa l'CreateTopicoperazione.

Il nome di ogni argomento nel tuo Account AWS deve essere unico.

Importazioni

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

Codice di esempio

$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()); }

Elenca i tuoi argomenti

Per elencare fino a 100 argomenti esistenti nella AWS regione corrente, usa l'ListTopicsoperazione.

Importazioni

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

Codice di esempio

$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()); }

Eliminazione di un argomento

Per rimuovere un argomento esistente e tutte le relative sottoscrizioni, utilizzate l'DeleteTopicoperazione.

Tutti i messaggi non recapitati ancora agli abbonati verranno eliminati.

Importazioni

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

Codice di esempio

$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()); }

Ottieni gli attributi dell'argomento

Per recuperare le proprietà di un singolo argomento esistente, usa l'GetTopicAttributesoperazione.

Importazioni

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

Codice di esempio

$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()); }

Impostazione degli attributi degli argomenti

Per aggiornare le proprietà di un singolo argomento esistente, utilizzate l'SetTopicAttributesoperazione.

È possibile impostare solo gli attributi Policy, DisplayName e DeliveryPolicy.

Importazioni

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

Codice di esempio

$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()); }