Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengelola topik di Amazon SNS dengan Versi 3 AWS SDK for PHP
Untuk mengirim pemberitahuan ke Amazon Simple Queue Service (Amazon SQS), URL HTTP/HTTPS, email, AWS Lambda atauAWS SMS, Anda harus terlebih dahulu membuat topik yang mengelola pengiriman pesan ke pelanggan mana pun dari topik tersebut.
Dalam hal pola desain pengamat, topik seperti subjek. Setelah topik dibuat, Anda menambahkan pelanggan yang diberi tahu secara otomatis saat pesan dipublikasikan ke topik tersebut.
Pelajari lebih lanjut tentang berlangganan topik di Mengelola Langganan di Amazon AWS SDK for PHP SNS dengan Versi 3.
Contoh berikut menunjukkan cara:
-
Buat topik untuk mempublikasikan notifikasi untuk digunakan CreateTopic.
-
Kembalikan daftar topik pemohon menggunakan ListTopics.
-
Hapus topik dan semua langganannya menggunakan DeleteTopic.
-
Kembalikan semua properti topik menggunakan GetTopicAttributes.
-
Izinkan pemilik topik untuk menyetel atribut topik ke nilai baru menggunakan SetTopicAttributes.
Untuk informasi selengkapnya tentang menggunakan Amazon SNS, lihat Atribut Topik Amazon SNS untuk Status Pengiriman Pesan.
Semua kode contoh untuk AWS SDK for PHP tersedia di sini GitHub
Kredensial
Sebelum menjalankan kode contoh, konfigurasikan AWS kredensyal Anda, seperti yang dijelaskan dalam. Kredensial Kemudian imporAWS SDK for PHP, seperti yang dijelaskan dalamPenggunaan dasar.
Buat topik
Untuk membuat topik, gunakan CreateTopicoperasi.
Setiap nama topik dalam Anda Akun AWS harus unik.
Impor
require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sns\SnsClient;
Kode Sampel
$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()); }
Buat daftar topik Anda
Untuk membuat daftar hingga 100 topik yang ada di AWS Wilayah saat ini, gunakan ListTopicsoperasi.
Impor
require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sns\SnsClient;
Kode Sampel
$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()); }
Hapus topik
Untuk menghapus topik yang ada dan semua langganannya, gunakan DeleteTopicoperasi.
Setiap pesan yang belum dikirim ke pelanggan juga akan dihapus.
Impor
require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sns\SnsClient;
Kode Sampel
$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()); }
Dapatkan atribut topik
Untuk mengambil properti dari satu topik yang ada, gunakan GetTopicAttributesoperasi.
Impor
require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sns\SnsClient;
Kode Sampel
$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()); }
Tetapkan atribut topik
Untuk memperbarui properti dari satu topik yang ada, gunakan SetTopicAttributesoperasi.
Anda hanya dapat mengaturPolicy
,DisplayName
, dan DeliveryPolicy
atribut.
Impor
require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sns\SnsClient;
Kode Sampel
$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()); }