

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Topik MQTT
<a name="topics"></a>

Topik MQTT mengidentifikasi AWS IoT pesan. AWS IoT klien mengidentifikasi pesan yang mereka terbitkan dengan memberikan nama topik pesan. Klien mengidentifikasi pesan yang ingin mereka berlangganan (terima) dengan mendaftarkan filter topik AWS IoT Core. Broker pesan menggunakan nama topik dan filter topik untuk merutekan pesan dari klien penerbitan ke klien berlangganan.

Broker pesan menggunakan topik untuk mengidentifikasi pesan yang dikirim menggunakan MQTT dan dikirim menggunakan HTTP ke[URL pesan HTTPS](http.md#httpurl).

Meskipun AWS IoT mendukung beberapa topik [ sistem yang dicad ](reserved-topics.md) angkan, sebagian besar topik MQTT dibuat dan dikelola oleh Anda, perancang sistem. AWS IoT menggunakan topik untuk mengidentifikasi pesan yang diterima dari klien penerbitan dan memilih pesan untuk dikirim ke klien yang berlangganan, seperti yang dijelaskan di bagian berikut. Sebelum Anda membuat namespace topik untuk sistem Anda, tinjau karakteristik topik MQTT untuk membuat hierarki nama topik yang paling sesuai untuk sistem IoT Anda.

## Nama topik
<a name="topicnames"></a>

Nama topik dan filter topik adalah string yang UTF-8 dikodekan. Mereka dapat mewakili hierarki informasi dengan menggunakan karakter garis miring (/) untuk memisahkan tingkat hierarki. Misalnya, nama topik ini dapat merujuk pada sensor suhu di ruangan 1:
+ `sensor/temperature/room1`

Dalam contoh ini, mungkin juga ada jenis sensor lain di ruangan lain dengan nama topik seperti:
+ `sensor/temperature/room2`
+ `sensor/humidity/room1`
+ `sensor/humidity/room2`

**catatan**  
Saat Anda mempertimbangkan nama topik untuk pesan di sistem Anda, perlu diingat:  
Nama topik dan filter topik peka huruf besar/kecil.
Nama topik tidak boleh berisi informasi yang dapat diidentifikasi secara pribadi.
Nama topik yang dimulai dengan $ adalah topik yang [ dicad ](reserved-topics.md) angkan untuk digunakan hanya oleh AWS IoT Core.
AWS IoT Core tidak dapat mengirim atau menerima pesan antara Akun AWS s atau Wilayah.

Untuk informasi lebih lanjut tentang merancang nama topik dan namespace Anda, lihat whitepaper kami, Mer [ ancang Topik MQTT untuk. AWS IoT Core](https://docs.aws.amazon.com/whitepapers/latest/designing-mqtt-topics-aws-iot-core/designing-mqtt-topics-aws-iot-core.html)

Untuk contoh bagaimana aplikasi dapat mempublikasikan dan berlangganan pesan, mulailah dengan [Memulai dengan AWS IoT Core tutorial](iot-gs.md) dan[AWS IoT SDK Perangkat, SDK Seluler, dan AWS IoT Klien Perangkat](iot-sdks.md).

**penting**  
Namespace topik terbatas pada Akun AWS dan Region. Misalnya, `sensor/temp/room1` topik yang digunakan oleh satu Wil Akun AWS ayah berbeda dari `sensor/temp/room1` topik yang digunakan oleh AWS akun yang sama di Wilayah lain atau digunakan oleh yang lain Akun AWS di Wilayah mana pun.

## Topik ARN
<a name="topicnames-arn"></a>

Semua ARN topik (Nama Sumber Daya Amazon) memiliki bentuk berikut:

```
arn:aws:iot:{{aws-region}}:{{AWS-account-ID}}:topic/{{Topic}}
```

Misalnya, `arn:aws:iot:us-west-2:123EXAMPLE456:topic/application/topic/device/sensor` adalah ARN untuk topik tersebut` application/topic/device/sensor`.

## Filter nama topik
<a name="topicfilters"></a>

Klien yang berlangganan mendaftarkan filter nama topik dengan broker pesan untuk menentukan topik pesan yang harus dikirim oleh broker pesan kepada mereka. Filter nama topik dapat berupa nama topik tunggal untuk berlangganan ke satu nama topik atau dapat menyertakan karakter wildcard untuk berlangganan beberapa nama topik secara bersamaan.

Klien penerbitan tidak dapat menggunakan karakter wildcard dalam nama topik yang mereka terbitkan. 

Tabel berikut mencantumkan karakter wildcard yang dapat digunakan dalam filter topik. 


**Karakter pengganti topik**  

| Karakter wildcard | Cocok | Catatan | 
| --- | --- | --- | 
| \# | Semua string di dan di bawah levelnya dalam hierarki topik. | Harus karakter terakhir dalam filter topik. <br />Harus menjadi satu-satunya karakter di tingkat hierarki topik.<br />Dapat digunakan dalam filter topik yang juga berisi karakter wildcard \+. | 
| \+ | Setiap string di level yang berisi karakter. | Harus menjadi satu-satunya karakter di tingkat hierarki topik.<br />Dapat digunakan di beberapa tingkat filter topik. | 

Menggunakan wildcard dengan contoh nama topik sensor sebelumnya:
+ Langganan untuk `sensor/#` menerima pesan yang dipublikasikan ke`sensor/`,`sensor/temperature`,`sensor/temperature/room1`, tetapi bukan pesan yang dipublikasikan ke`sensor`. 
+ Langganan untuk `sensor/+/room1` menerima pesan yang dipublikasikan ke `sensor/temperature/room1` dan`sensor/humidity/room1`, tetapi bukan pesan yang dikirim ke `sensor/temperature/room2` atau`sensor/humidity/room2`.

### Filter topik ARN
<a name="topicfilters-arn"></a>

Semua ARN filter topik (Nama Sumber Daya Amazon) memiliki bentuk berikut:

```
arn:aws:iot:{{aws-region}}:{{AWS-account-ID}}:topicfilter/{{TopicFilter}}
```

Misalnya, `arn:aws:iot:us-west-2:123EXAMPLE456:topicfilter/application/topic/+/sensor` adalah ARN untuk filter topik` application/topic/+/sensor`.