Gestione di argomenti in Amazon SNS conAWS SDK for PHPVersione 3 - 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 di argomenti in Amazon SNS conAWS SDK for PHPVersione 3

Per inviare notifiche a Amazon Simple Queue Service (Amazon SQS), URL HTTP/HTTPS, e-mail,AWS SMS, oppureAWS Lambda, è necessario creare un argomento che gestisce la distribuzione di messaggi a tutti gli abbonati di tale 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 inGestione delle sottoscrizioni in Amazon SNS conAWS SDK for PHPVersione 3.

Gli esempi seguenti mostrano come:

  • Creare un argomento su cui pubblicare notifiche utilizzando CreateTopic.

  • Restituire un elenco degli argomenti del richiedente usando ListTopics.

  • Eliminare un argomento e tutte le sottoscrizioni utilizzando DeleteTopic.

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

  • Consentire al proprietario di un argomento di impostare un attributo su un nuovo valore utilizzando SetTopicAttributes.

Per ulteriori informazioni sull'utilizzo di Amazon SNS, consultaAttributi di argomento Amazon SNS per lo stato di consegna dei messaggi.

La versione integrale del codice di esempio di AWS SDK for PHP è disponibile qui su GitHub.

Credenziali

Prima di eseguire il codice di esempio, configura ilAWScredenziali, come descritto inImpostazione delle credenziali . Quindi importaAWS SDK for PHP, come descritto nellaUtilizzo di base.

Creazione di un argomento

Per creare un argomento, utilizzare l'operazione CreateTopic.

Nome di ogni argomento nelAWSdeve essere univoco.

Importazioni

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

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 all'interno dell'attualeAWSRegion (regione), utilizzaListTopicsoperazione.

Importazioni

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

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 sottoscrizioni, utilizzare l'operazione DeleteTopic.

Tutti i messaggi non recapitati ancora agli abbonati verranno eliminati.

Importazioni

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

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 degli argomenti

Per recuperare le proprietà di un singolo argomento esistente, utilizzare l'operazione GetTopicAttributes.

Importazioni

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

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

Imposta gli attributi degli argomenti

Per aggiornare le proprietà di un singolo argomento esistente, utilizzare l'operazione SetTopicAttributes.

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

Importazioni

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

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