Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Topik Amazon SNS adalah titik akses logis yang bertindak sebagai saluran komunikasi. Topik memungkinkan Anda mengelompokkan beberapa titik akhir (seperti AWS Lambda, Amazon SQS, HTTP/S, atau alamat email).
Untuk menyiarkan pesan dari sistem pembuat pesan (misalnya, sebuah situs web perdagangan elektronik) yang bekerja dengan beberapa layanan lain yang memerlukan pesannya (misalnya, sistem checkout/pembayaran dan pemenuhan), Anda dapat membuat topik untuk sistem pembuat pesan Anda.
Tugas Amazon SNS yang pertama dan paling umum adalah membuat topik. Halaman ini menunjukkan bagaimana Anda dapat menggunakan AWS Management Console, yang AWS SDK untuk Java, dan AWS SDK untuk .NET untuk membuat topik.
Selama pembuatan, Anda memilih jenis topik (standar atau FIFO) dan menamai topik. Setelah membuat topik, Anda tidak dapat mengubah jenis atau nama topik. Semua pilihan konfigurasi lainnya bersifat opsional selama pembuatan topik, dan Anda dapat mengeditnya nanti.
penting
Jangan menambahkan informasi identitas pribadi (PII) atau informasi rahasia atau sensitif lainnya dalam nama topik. Nama topik dapat diakses oleh Amazon Web Services lainnya, termasuk CloudWatch Log. Nama topik tidak dimaksudkan untuk digunakan untuk data pribadi atau sensitif.
Untuk membuat topik menggunakan AWS Management Console
Membuat topik di Amazon SNS menetapkan dasar untuk distribusi pesan, memungkinkan Anda untuk mempublikasikan pesan yang dapat menyebar ke beberapa pelanggan. Langkah ini penting untuk mengonfigurasi jenis topik, pengaturan enkripsi, dan kebijakan akses, memastikan topik tersebut memenuhi persyaratan keamanan, kepatuhan, dan operasional organisasi.
Masuk ke konsol Amazon SNS
. -
Lakukan salah satu hal berikut ini:
-
Jika tidak ada topik yang pernah dibuat di bawah Anda Akun AWS sebelumnya, baca deskripsi Amazon SNS di beranda.
-
Jika topik telah dibuat di bawah Akun AWS sebelumnya, pada panel navigasi, pilih Topik.
-
-
Di halaman Topics (Topik), pilih Create topic (Buat topik).
-
Di halaman Create topic (Buat topik), di bagian Details (Detail), lakukan hal-hal berikut:
-
Untuk Type (Jenis), pilih jenis topik (Standar atau FIFO).
-
Masukkan Nama untuk topik. Untuk topik FIFO, tambahkan .fifo di akhir nama.
-
(Opsional) Masukkan Nama tampilan untuk topik.
penting
Saat berlangganan titik akhir email, jumlah karakter gabungan untuk nama tampilan topik Amazon SNS dan alamat email pengirim (misalnya, no-reply@sns.amazonaws.com) tidak boleh melebihi 320 karakter UTF-8. Anda dapat menggunakan alat pengkodean pihak ketiga untuk memverifikasi panjang alamat pengiriman sebelum mengonfigurasi nama tampilan untuk topik Amazon SNS Anda.
-
(Opsional) Untuk topik FIFO, Anda dapat memilih deduplikasi pesan berbasis konten untuk mengaktifkan deduplikasi pesan default. Untuk informasi selengkapnya, lihat Deduplikasi pesan Amazon SNS untuk topik FIFO.
-
-
(Opsional) Perluas bagian Encryption (Enkripsi) dan lakukan hal-hal berikut ini. Untuk informasi selengkapnya, lihat Mengamankan data Amazon SNS dengan enkripsi sisi server.
-
Pilih Enable encryption (Aktifkan enkripsi).
-
Tentukan AWS KMS kuncinya. Untuk informasi selengkapnya, lihat Istilah kunci.
Untuk setiap jenis KMS, Deskripsi, Akun, dan KMS ARN ditampilkan.
penting
Jika Anda bukan pemilik KMS, atau jika Anda masuk dengan akun yang tidak memiliki
kms:DescribeKey
izinkms:ListAliases
dan, Anda tidak akan dapat melihat informasi tentang KMS di konsol Amazon SNS.Mintalah pemilik KMS untuk memberi Anda izin ini. Untuk informasi selengkapnya, lihat Izin API AWS KMS : Referensi Tindakan dan Sumber Daya dalam Panduan Developer AWS Key Management Service .
-
KMS AWS terkelola untuk Amazon SNS (Defaultalias/aws/sns) dipilih secara default.
catatan
Ingatlah hal-hal berikut ini:
-
Pertama kali Anda menggunakan AWS Management Console untuk menentukan KMS AWS terkelola untuk Amazon SNS untuk suatu topik AWS KMS , membuat AWS KMS terkelola untuk Amazon SNS.
-
Atau, saat pertama kali Anda menggunakan
Publish
tindakan pada topik dengan SSE diaktifkan, AWS KMS membuat KMS AWS terkelola untuk Amazon SNS.
-
-
Untuk menggunakan KMS kustom dari AWS akun Anda, pilih bidang kunci KMS dan kemudian pilih KMS kustom dari daftar.
catatan
Untuk petunjuk cara membuat kustom KMSs, lihat Membuat Kunci di Panduan AWS Key Management Service Pengembang
-
Untuk menggunakan ARN KMS khusus dari akun AWS Anda atau dari akun AWS lain, masukkan ke bidang kunci KMS.
-
-
-
(Opsional) Secara default, hanya pemilik topik yang dapat menerbitkan atau berlangganan topik. Untuk mengkonfigurasi izin akses tambahan, perluas bagian Access policy (Kebijakan akses). Untuk informasi selengkapnya, silakan lihat Identity and access management di Amazon SNS dan Contoh kasus untuk pengendalian akses Amazon SNS.
catatan
Saat Anda membuat topik menggunakan konsol tersebut, kebijakan default menggunakan kunci syarat
aws:SourceOwner
. Kunci ini sama denganaws:SourceAccount
. -
(Opsional) Untuk mengkonfigurasi bagaimana Amazon SNS mencoba ulang upaya pengiriman pesan yang gagal, perluas bagian Kebijakan pengiriman ulang (HTTP/S). Untuk informasi selengkapnya, lihat Pengiriman ulang pesan Amazon SNS.
-
(Opsional) Untuk mengonfigurasi cara Amazon SNS mencatat pengiriman pesan ke CloudWatch, perluas bagian Pencatatan status pengiriman. Untuk informasi selengkapnya, lihat Status pengiriman pesan Amazon SNS.
-
(Opsional) Untuk menambahkan tag metadata ke topik, perluas bagian Tag, masukkan Kunci dan Nilai (opsional) dan pilih Add tag (Tambahkan tag). Untuk informasi selengkapnya, lihat Penandaan topik Amazon SNS.
-
Pilih Create topic (Buat topik).
Topik dibuat dan
MyTopic
halaman ditampilkan.Nama topik, ARN, (opsional) Nama tampilan, dan ID AWS akun pemilik Topik ditampilkan di bagian Detail.
-
Salin topik ARN ke clipboard, misalnya:
arn:aws:sns:us-east-2:123456789012:MyTopic
Untuk membuat topik menggunakan AWS SDK
Untuk menggunakan AWS SDK, Anda harus mengonfigurasinya dengan kredensi Anda. Untuk informasi selengkapnya, lihat File konfigurasi dan kredensial bersama di Panduan Referensi Alat AWS SDKs dan Alat.
Contoh kode berikut menunjukkan cara menggunakanCreateTopic
.
- SDK untuk .NET
-
catatan
Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara pengaturan dan menjalankannya di Repositori Contoh Kode AWS
. Buat topik dengan nama tertentu.
using System; using System.Threading.Tasks; using Amazon.SimpleNotificationService; using Amazon.SimpleNotificationService.Model; /// <summary> /// This example shows how to use Amazon Simple Notification Service /// (Amazon SNS) to add a new Amazon SNS topic. /// </summary> public class CreateSNSTopic { public static async Task Main() { string topicName = "ExampleSNSTopic"; IAmazonSimpleNotificationService client = new AmazonSimpleNotificationServiceClient(); var topicArn = await CreateSNSTopicAsync(client, topicName); Console.WriteLine($"New topic ARN: {topicArn}"); } /// <summary> /// Creates a new SNS topic using the supplied topic name. /// </summary> /// <param name="client">The initialized SNS client object used to /// create the new topic.</param> /// <param name="topicName">A string representing the topic name.</param> /// <returns>The Amazon Resource Name (ARN) of the created topic.</returns> public static async Task<string> CreateSNSTopicAsync(IAmazonSimpleNotificationService client, string topicName) { var request = new CreateTopicRequest { Name = topicName, }; var response = await client.CreateTopicAsync(request); return response.TopicArn; } }
Buat topik baru dengan nama dan atribut FIFO dan de-duplikasi tertentu.
/// <summary> /// Create a new topic with a name and specific FIFO and de-duplication attributes. /// </summary> /// <param name="topicName">The name for the topic.</param> /// <param name="useFifoTopic">True to use a FIFO topic.</param> /// <param name="useContentBasedDeduplication">True to use content-based de-duplication.</param> /// <returns>The ARN of the new topic.</returns> public async Task<string> CreateTopicWithName(string topicName, bool useFifoTopic, bool useContentBasedDeduplication) { var createTopicRequest = new CreateTopicRequest() { Name = topicName, }; if (useFifoTopic) { // Update the name if it is not correct for a FIFO topic. if (!topicName.EndsWith(".fifo")) { createTopicRequest.Name = topicName + ".fifo"; } // Add the attributes from the method parameters. createTopicRequest.Attributes = new Dictionary<string, string> { { "FifoTopic", "true" } }; if (useContentBasedDeduplication) { createTopicRequest.Attributes.Add("ContentBasedDeduplication", "true"); } } var createResponse = await _amazonSNSClient.CreateTopicAsync(createTopicRequest); return createResponse.TopicArn; }
-
Untuk detail API, lihat CreateTopicdi Referensi AWS SDK untuk .NET API.
-