Amazon SNS でのトピックの管理AWSSDK for PHP バージョン 3 - AWSSDK for PHP

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon SNS でのトピックの管理AWSSDK for PHP バージョン 3

Amazon Simple Queue Service (Amazon SQS)、HTTP/HTTPS URL、E メール、AWS SMS, またはAWS Lambdaトピックを作成するには、まずそのトピックのサブスクライバへのメッセージ配信を管理するトピックを管理する必要があります。

オブザーバー設計パターンの観点で言うと、トピックは件名と同様です。トピックが作成されたら、メッセージがトピックに発行されたときに自動的に通知を受け取るサブスクライバを追加します。

トピックのサブスクライブの詳細については、」Amazon SNS でのサブスクリプションを管理するAWSSDK for PHP バージョン 3

以下の例では、次の方法を示しています。

  • CreateTopic を使用して通知を発行するトピックを作成する。

  • ListTopics を使用してリクエスタのトピックのリストを返す。

  • DeleteTopic を使用してトピックとそのすべてのサブスクリプションを削除する。

  • GetTopicAttributes を使用してトピックのすべてのプロパティを返す。

  • SetTopicAttributes を使用して、トピックの所有者がトピックの属性を新しい値に設定できるようにする。

Amazon SNS の使用方法については、「」を参照してください。メッセージ配信ステータスの Amazon SNS トピック属性

すべてのサンプルコードAWSSDK for PHP バージョン 3GitHub で

Credentials

サンプルコードを実行する前に、AWSの認証情報については、「」を参照してください。の認証情報AWSSDK for PHP バージョン 3。次にをインポートします。AWSSDK for PHP (」の基本的な使用パターンAWSSDK for PHP バージョン 3

トピックの作成

トピックを作成するには、CreateTopic オペレーションを使用します。

各トピック名AWSアカウントは一意である必要があります。

インポート

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

サンプルコード

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

トピックをリストする

現在のAWSリージョンを使用するには、ListTopicsオペレーション.

インポート

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

サンプルコード

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

トピックの削除

既存のトピックとそのすべてのサブスクリプションを削除するには、DeleteTopic オペレーションを使用します。

サブスクライバにまだ配信されていないメッセージもすべて削除されます。

インポート

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

サンプルコード

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

トピック属性を取得する

1 つの既存のトピックのプロパティを取得するには、GetTopicAttributes オペレーションを使用します。

インポート

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

サンプルコード

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

トピック属性を設定する

1 つの既存のトピックのプロパティを更新するには、SetTopicAttributes オペレーションを使用します。

PolicyDisplayName、および DeliveryPolicy 属性のみ設定できます。

インポート

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

サンプルコード

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