Mengelola titik akhir dan rute di Azure Digital Twins

Artikel ini memandu Anda melalui proses pembuatan titik akhir dan rute menggunakan portal Microsoft Azure, REST API, .NET (C#) SDK, dan CLI Azure Digital Twins.

Di Azure Digital Twins, Anda dapat merutekan pemberitahuan peristiwa ke layanan hilir atau sumber daya komputasi yang tersambung. Proses ini dilakukan dengan terlebih dahulu menyiapkan titik akhir yang dapat menerima peristiwa. Anda kemudian dapat membuat rute peristiwa yang menentukan peristiwa mana yang dihasilkan oleh Azure Digital Twins yang dikirimkan ke titik akhir mana.

Prasyarat

  • Anda akan memerlukan akun Azure, yang dapat disiapkan secara gratis
  • Anda akan memerlukan instans Azure Digital Twins di langganan Azure Anda. Jika Anda belum memiliki instans, Anda dapat membuat instans menggunakan langkah-langkah dalam Menyiapkan instans dan autentikasi. Miliki nilai berikut dari penyetelan yang berguna untuk digunakan nanti di artikel ini:
    • Nama Instans
    • Grup sumber daya

Anda dapat menemukan detail ini di portal Microsoft Azure setelah menyiapkan instans Anda. Masuk ke portal dan cari nama instans Anda di bilah pencarian portal.

Cuplikan layar hasil pencarian portal Microsoft Azure.

Pilih instans Anda dari hasil untuk melihat detail ini di Ringkasan untuk instans Anda:

Cuplikan layar halaman Ringkasan untuk instans Azure Digital Twins di portal Microsoft Azure. Nama dan grup sumber daya disorot.

Ikuti petunjuk di bawah ini jika Anda berniat menggunakan Azure CLI saat mengikuti panduan ini.

Persiapkan lingkungan Anda untuk Azure CLI

Membuat titik akhir untuk Azure Digital Twins

Layanan ini adalah jenis titik akhir yang didukung yang dapat Anda buat untuk instans Anda:

Catatan

Untuk titik akhir Event Grid, hanya topik Event Grid yang didukung. domain Event Grid tidak didukung sebagai titik akhir.

Untuk informasi selengkapnya tentang jenis titik akhir yang berbeda, lihat Memilih antara layanan pesan Azure.

Bagian ini menjelaskan cara membuat titik akhir menggunakan portal Microsoft Azure atau CLI Azure. Anda juga dapat mengelola titik akhir dengan API sarana kontrol DigitalTwinsEndpoint.

Prasyarat: Buat sumber daya titik akhir

Untuk menautkan titik akhir ke Azure Digital Twins, topik Event Grid, pusat aktivitas, atau topik Bus Layanan yang Anda gunakan untuk titik akhir harus sudah ada.

Gunakan bagan berikut untuk melihat sumber daya apa yang harus disiapkan sebelum membuat titik akhir Anda.

Jenis Titik Akhir Sumber daya yang diperlukan (ditautkan ke instruksi pembuatan)
Titik akhir Azure Event Grid Topik Event Grid
*skema event harus berupa Event Grid Schema atau Cloud Event Schema v1.0
Titik akhir Azure Event Hubs Ruang nama Azure Event Hubs

pusat aktivitas

(Opsional) aturan otorisasi untuk autentikasi berbasis kunci
Titik akhir Microsoft Azure Service Bus Namespace layanan Microsoft Azure Service Bus

Topik Microsoft Azure Service Bus

(Opsional) aturan otorisasi untuk autentikasi berbasis kunci

Membuat titik akhir

Setelah membuat sumber daya titik akhir, Anda dapat menggunakannya untuk titik akhir Azure Digital Twins.

Untuk membuat titik akhir baru, buka halaman instans Anda di portal Microsoft Azure (Anda dapat menemukan instans dengan memasukkan namanya ke bilah pencarian portal).

  1. Dari menu instans, pilihTitik Akhir. Lalu dari halaman Titik Akhir yang mengikuti, pilih + Buat titik akhir. Melakukannya akan membuka halaman Buat titik akhir , tempat Anda akan mengisi bidang dalam langkah-langkah berikut.

    Cuplikan layar membuat titik akhir jenis Event Grid di portal Microsoft Azure.

  2. Masukkan Nama untuk titik akhir Anda dan pilih jenis Titik Akhir.

  3. Lengkapi detail lain yang diperlukan untuk jenis titik akhir Anda, termasuk langganan Anda dan sumber daya titik akhir yang dijelaskan di atas.

    1. Hanya untuk titik akhir Azure Event Hubs dan Azure Service Bus, Anda harus memilih jenis Autentikasi. Anda dapat menggunakan autentikasi berbasis kunci dengan aturan otorisasi yang telah dibuat sebelumnya, atau autentikasi berbasis identitas jika Anda akan menggunakan titik akhir dengan identitas terkelola untuk instans Azure Digital Twins Anda.

    Cuplikan layar pembuatan titik akhir jenis Azure Event Hubs di portal Azure.

  4. Selesaikan pembuatan titik akhir Anda dengan memilih Simpan.

Penting

Agar berhasil menggunakan autentikasi berbasis identitas untuk titik akhir Anda, Anda harus membuat identitas terkelola untuk instans Anda dengan mengikuti langkah-langkah di Merutekan peristiwa dengan identitas terkelola.

Setelah membuat titik akhir, Anda bisa memverifikasi bahwa titik akhir berhasil dibuat dengan memeriksa ikon pemberitahuan di bilah portal Microsoft Azure teratas:

Cuplikan layar pemberitahuan untuk memverifikasi pembuatan titik akhir di portal Microsoft Azure.

Jika pembuatan titik akhir gagal, amati pesan kesalahan dan coba lagi setelah beberapa menit.

Anda juga bisa melihat titik akhir yang dibuat kembali di halaman Titik akhir untuk instans Azure Digital Twins Anda.

Sekarang kisi peristiwa, pusat aktivitas, atau topik Bus Layanan tersedia sebagai titik akhir di Azure Digital Twins, dengan nama yang Anda pilih untuk titik akhir. Anda biasanya akan menggunakan nama tersebut sebagai target rute peristiwa, yang akan Anda buat nanti di artikel ini.

Membuat titik akhir dengan surat gagal

Ketika titik akhir tidak dapat mengirimkan peristiwa dalam jangka waktu tertentu atau setelah mencoba mengirimkan peristiwa beberapa kali, itu dapat mengirim acara yang tidak terkirim ke akun penyimpanan. Proses ini dikenal sebagai surat gagal.

Anda dapat menyiapkan sumber daya penyimpanan yang diperlukan menggunakan portal Microsoft Azure atau CLI Azure Digital Twins. Namun, untuk membuat titik akhir dengan pengentian pengiriman yang diaktifkan, Anda harus menggunakan CLI Azure Digital Twins atau API sarana kontrol.

Untuk mempelajari selengkapnya tentang dead-lettering, lihat Titik akhir dan rute peristiwa. Untuk petunjuk tentang cara mengatur titik akhir dengan surat gagal, lanjutkan melalui seluruh bagian ini.

Menyiapkan sumber daya penyimpanan

Sebelum mengatur lokasi surat gagal, Anda harus memiliki akun penyimpanan dengan kontainer yang telah disiapkan dalam akun Azure Anda.

Anda memberikan URI untuk kontainer ini saat membuat titik akhir nanti. Lokasi surat gagal akan disediakan ke titik akhir sebagai URI kontainer dengan token SAS. Token itu membutuhkan izin write untuk kontainer tujuan dalam akun penyimpanan. Surat mati SAS URI yang sepenuhnya terbentuk akan ada dalam format: https://<storage-account-name>.blob.core.windows.net/<container-name>?<SAS-token>.

Ikuti langkah-langkah di bawah ini untuk menyiapkan sumber daya penyimpanan ini di akun Azure Anda, untuk bersiap menyiapkan sambungan titik akhir di bagian berikutnya.

  1. Ikuti langkah-langkah dalam Membuat akun penyimpanan untuk membuat akun penyimpanan di langganan Azure Anda. Catat nama akun penyimpanan untuk digunakan nanti.
  2. Ikuti langkah-langkah dalam Membuat kontainer untuk membuat kontainer di dalam akun penyimpanan baru. Catat nama kontainer untuk digunakan nanti.
Membuat token SAS

Selanjutnya, buat token SAS untuk akun penyimpanan Anda yang dapat digunakan titik akhir untuk mengaksesnya.

  1. Mulailah dengan menavigasi ke akun penyimpanan Anda di portal Microsoft Azure (Anda dapat menemukannya berdasarkan nama dengan bilah pencarian portal).

  2. Di halaman akun penyimpanan, pilih tautan Tanda tangan akses bersama di bilah navigasi kiri untuk mulai menyiapkan token SAS.

    Cuplikan layar dari halaman akun penyimpanan pada portal Microsoft Azure.

  3. Pada halaman Tanda tangan akses bersama, di bawah Layanan yang diizinkan dan Jenis sumber daya yang diizinkan, pilih pengaturan apa pun yang Anda inginkan. Anda harus memilih setidaknya satu kotak di setiap kategori. Di bawah Izin yang diizinkan, pilih Tulis (Anda juga bisa memilih izin lain jika menginginkannya).

  4. Atur nilai apa pun yang Anda inginkan untuk pengaturan yang tersisa.

  5. Setelah selesai, pilih tombol Hasilkan SAS dan string koneksi untuk menghasilkan token SAS.

    Cuplikan layar halaman akun penyimpanan di portal Microsoft Azure memperlihatkan semua pilihan pengaturan untuk menghasilkan token SAS.

  6. Melakukannya akan menghasilkan beberapa nilai SAS dan string koneksi di bagian bawah halaman yang sama, di bawah pilihan pengaturan. Gulir ke bawah untuk menampilkan nilai, dan gunakan ikon Salin ke clipboard untuk menyalin nilai token SAS. Simpan untuk digunakan nanti.

    Cuplikan layar halaman akun penyimpanan di portal Microsoft Azure menyoroti cara menyalin token SAS untuk digunakan dalam rahasia surat gagal.

Membuat titik akhir surat gagal

Untuk membuat titik akhir dengan dead-lettering diaktifkan, Anda harus menggunakan perintah CLI atau API sarana kontrol untuk membuat titik akhir Anda, bukan portal Azure.

Untuk instruksi tentang cara membuat jenis titik akhir ini dengan Azure CLI, beralihlah ke tab CLI untuk bagian ini.

Skema penyimpanan pesan

Setelah titik akhir dengan surat gagal disiapkan, pesan bersurat gagal mati akan disimpan dalam format berikut di akun penyimpanan Anda:

<container>/<endpoint-name>/<year>/<month>/<day>/<hour>/<event-ID>.json

Pesan surat gagal akan cocok dengan skema peristiwa asli yang dimaksudkan untuk dikirimkan ke titik akhir asli Anda.

Berikut adalah contoh pesan surat mati untuk pemberitahuan buat kembar:

{
  "specversion": "1.0",
  "id": "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "type": "Microsoft.DigitalTwins.Twin.Create",
  "source": "<your-instance>.api.<your-region>.da.azuredigitaltwins-test.net",
  "data": {
    "$dtId": "<your-instance>xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "$etag": "W/\"xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxxxx\"",
    "TwinData": "some sample",
    "$metadata": {
      "$model": "dtmi:test:deadlettermodel;1",
      "room": {
        "lastUpdateTime": "2020-10-14T01:11:49.3576659Z"
      }
    }
  },
  "subject": "<your-instance>xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "time": "2020-10-14T01:11:49.3667224Z",
  "datacontenttype": "application/json",
  "traceparent": "00-889a9094ba22b9419dd9d8b3bfe1a301-f6564945cb20e94a-01"
}

Buat rute peristiwa

Untuk benar-benar mengirim data dari Azure Digital Twins ke titik akhir, Anda harus menentukan rute peristiwa. Rute-rute ini memungkinkan pengembang menghubungkan aliran peristiwa, ke seluruh sistem dan ke layanan hilir. Satu rute harus memungkinkan beberapa pemberitahuan dan jenis peristiwa dipilih. Baca selengkapnya tentang rute peristiwa di Titik akhir dan rute peristiwa.

Prasyarat: Buat titik akhir seperti yang dijelaskan sebelumnya dalam artikel ini sebelum Anda melanjutkan untuk membuat rute. Anda dapat terus membuat rute peristiwa setelah titik akhir Anda selesai disiapkan.

Catatan

Jika Anda baru saja menyebarkan titik akhir Anda, validasi bahwa mereka sudah selesai disebarkan sebelum mencoba menggunakannya untuk rute peristiwa baru. Jika penyebaran rute gagal karena titik akhir belum siap, tunggu beberapa menit dan coba lagi.

Jika Anda membuat skrip alur ini, Anda mungkin ingin memperhitungkan ini dengan membangun dalam 2-3 menit waktu tunggu agar layanan titik akhir selesai disebarkan sebelum beralih ke pengaturan rute.

Definisi rute dapat berisi elemen-elemen ini:

  • Nama rute yang ingin Anda gunakan
  • Nama titik akhir yang ingin Anda gunakan
  • Filter yang menentukan peristiwa mana yang dikirim ke titik akhir
    • Untuk menonaktifkan rute sehingga tidak ada peristiwa yang dikirim, gunakan nilai filter false
    • Untuk mengaktifkan rute yang tidak memiliki pemfilteran tertentu, gunakan nilai filter true
    • Untuk mengetahui detail tentang jenis filter lainnya, lihat bagian Filter peristiwa di bawah ini

Jika tidak ada nama rute, tidak ada pesan yang dirutekan di luar Azure Digital Twins. Jika ada nama rute dan filternya adalah true, semua pesan dirutekan ke titik akhir. Jika ada nama rute dan filter yang berbeda ditambahkan, pesan akan difilter berdasarkan filter.

Rute peristiwa dapat dibuat dengan portal Microsoft Azure, API data plane EventRoutes, atau perintah CLI rute az dt. Seluruh bagian ini berjalan melalui proses pembuatan.

Untuk membuat rute peristiwa, buka halaman detail untuk instans Azure Digital Twins Anda di portal Microsoft Azure (Anda dapat menemukan instans dengan memasukkan namanya ke bilah pencarian portal).

Dari menu instans, pilihRute peristiwa. Kemudian dari halaman Rute peristiwa yang mengikuti, pilih + Buat rute peristiwa.

Pada halaman Buat rute peristiwa yang terbuka, pilih minimal:

  • Nama untuk rute Anda di bidang Nama
  • Titik akhir yang ingin Anda gunakan untuk membuat rute

Agar rute diaktifkan, Anda juga harus Menambahkan filter rute acara minimum true. (Meninggalkan nilai false default akan membuat rute, tetapi tidak ada peristiwa yang akan dikirim ke rute tersebut.) Untuk melakukannya, alihkan tombol untuk editor Tingkat Lanjut untuk mengaktifkannya, dan tulis true di kotak Filter .

Cuplikan layar pembuatan rute peristiwa untuk instans Anda di portal Microsoft Azure.

Setelah selesai, pilih tombol Simpan untuk membuat rute peristiwa Anda.

Memfilter kejadian

Seperti dijelaskan di atas, rute memiliki bidang filter. Jika nilai filter pada rute Anda adalah false, tidak ada peristiwa yang akan dikirim ke titik akhir Anda.

Setelah mengaktifkan filter trueminimal , titik akhir akan menerima berbagai jenis peristiwa dari Azure Digital Twins:

  • Telemetri yang ditembakkan oleh kembar digital menggunakan API layanan Azure Digital Twins
  • Pemberitahuan perubahan properti kembar, yang ditembakkan pada perubahan properti untuk setiap kembaran di instans Azure Digital Twins
  • Peristiwa siklus hidup, ditembakkan saat kembaran atau hubungan dibuat atau dihapus

Anda dapat membatasi jenis peristiwa yang dikirim dengan menentukan filter yang lebih spesifik.

Catatan

Filter peka huruf besar/kecil dan perlu mencocokkan kasus payload.

Untuk filter telemetri, ini berarti bahwa casing harus sesuai dengan casing dalam telemetri yang dikirim oleh perangkat, tidak harus casing yang ditentukan dalam model kembarannya.

Untuk menambahkan filter peristiwa saat Anda membuat rute peristiwa, gunakan bagian Tambahkan filter rute peristiwa di halaman Buat rute peristiwa .

Anda dapat memilih dari beberapa opsi filter umum dasar, atau menggunakan opsi filter tingkat lanjut untuk menulis filter kustom Anda sendiri.

Menggunakan filter dasar

Untuk menggunakan filter dasar, perluas opsi Jenis peristiwa dan pilih kotak centang yang terkait dengan acara yang ingin Anda kirim ke titik akhir Anda.

Cuplikan layar membuat rute peristiwa dengan filter dasar di portal Microsoft Azure, menyoroti kotak centang peristiwa.

Melakukannya akan mengisi otomatis kotak teks filter dengan teks filter yang Anda pilih:

Cuplikan layar pembuatan rute peristiwa dengan filter dasar di portal Azure, menyoroti teks filter yang diisi otomatis setelah memilih peristiwa.

Menggunakan filter tingkat lanjut

Anda juga dapat menggunakan opsi filter tingkat lanjut untuk menulis filter kustom Anda sendiri.

Untuk membuat rute peristiwa dengan opsi filter tingkat lanjut, alihkan tombol untuk Editor Tingkat Lanjut untuk mengaktifkannya. Anda kemudian dapat menulis filter peristiwa Anda sendiri di kotak Filter:

Cuplikan layar membuat rute peristiwa dengan filter tingkat lanjut di portal Microsoft Azure.

Filter rute yang didukung

Berikut adalah filter rute yang didukung.

Nama filter Deskripsi Filter skema teks Nilai yang Didukung
Benar / Salah Memungkinkan membuat rute tanpa pemfilteran, atau menonaktifkan rute sehingga tidak ada acara yang dikirim <true/false> true = rute diaktifkan tanpa pemfilteran
false =rute dinonaktifkan
Jenis Jenis peristiwa yang mengalir melalui instans kembar digital Anda type = '<event-type>' Berikut adalah nilai jenis peristiwa yang memungkinkan:
Microsoft.DigitalTwins.Twin.Create
Microsoft.DigitalTwins.Twin.Delete
Microsoft.DigitalTwins.Twin.Update
Microsoft.DigitalTwins.Relationship.Create
Microsoft.DigitalTwins.Relationship.Update
Microsoft.DigitalTwins.Relationship.Delete
microsoft.iot.telemetry
Sumber Nama instans Azure Digital Twins source = '<host-name>' Berikut adalah nilai nama host yang memungkinkan:

Untuk pemberitahuan: <your-Digital-Twins-instance>.api.<your-region>.digitaltwins.azure.net

Untuk telemetri: <your-Digital-Twins-instance>.api.<your-region>.digitaltwins.azure.net/<twin-ID>
Subjek Deskripsi peristiwa dalam konteks sumber peristiwa di atas subject = '<subject>' Berikut adalah nilai subjek yang memungkinkan:

Untuk pemberitahuan: Subjeknya adalah <twin-ID>
atau format URI untuk subjek, yang secara unik diidentifikasi oleh beberapa bagian atau ID:
<twin-ID>/relationships/<relationship-ID>

Untuk telemetri: Subjek adalah jalur komponen (jika telemetri dipancarkan dari komponen kembar), seperti comp1.comp2. Jika telemetri tidak dipancarkan dari komponen, bidang subjeknya kosong.
Skema data DTDL model ID dataschema = '<model-dtmi-ID>' Untuk telemetri: Skema data adalah ID model kembar atau komponen yang memancarkan telemetri. Misalnya, dtmi:example:com:floor4;2

Untuk pemberitahuan (buat/hapus): Skema data dapat diakses di isi pemberitahuan di $body.$metadata.$model.

Untuk pemberitahuan (pembaruan): Skema data dapat diakses di isi pemberitahuan di $body.modelId
Jenis konten Jenis konten nilai data datacontenttype = '<content-type>' Jenis konten adalah application/json
Versi spesifikasi Versi skema peristiwa yang Anda gunakan specversion = '<version>' Versinya harus 1.0. Nilai ini menunjukkan skema CloudEvents versi 1.0
Isi pemberitahuan Mereferensikan properti data apa pun di bidang pemberitahuan $body.<property> Lihat Notifikasi kejadian untuk contoh pemberitahuan. Properti apa pun di data bidang dapat direferensikan menggunakan $body

Catatan

Azure Digital Twins saat ini tidak mendukung penyaringan peristiwa berdasarkan bidang dalam array. Ini mencakup pemfilteran properti dalam patch bagian pemberitahuan perubahan kembar digital.

Jenis data berikut ini didukung sebagai nilai yang dikembalikan oleh referensi ke data di atas:

Jenis Data Contoh
Untai (karakter) STARTS_WITH($body.$metadata.$model, 'dtmi:example:com:floor')
CONTAINS(subject, '<twin-ID>')
Bilangan bulat $body.errorCode > 200
Ganda $body.temperature <= 5.5
Bool $body.poweredOn = true
Null $body.prop != null

Operator berikut didukung saat menentukan filter rute:

Keluarga Operator Contoh
Logika DAN, ATAU, ( ) (type != 'microsoft.iot.telemetry' OR datacontenttype = 'application/json') OR (specversion != '1.0')
Perbandingan <, <=, >, >=, =, != $body.temperature <= 5.5

Fungsi berikut didukung saat menentukan filter rute:

Fungsi Deskripsi Contoh
STARTS_WITH(x, y) Mengembalikan true jika nilai x dimulai dengan string y. STARTS_WITH($body.$metadata.$model, 'dtmi:example:com:floor')
DIAKHIRI_DENGAN(x,y) Mengembalikan true jika nilai x berakhir dengan stringy. ENDS_WITH($body.$metadata.$model, 'floor;1')
BERISI(x,y) Mengembalikan true jika nilai x berisi string y. CONTAINS(subject, '<twin-ID>')

Saat Anda menerapkan atau memperbarui filter, perubahan mungkin membutuhkan waktu beberapa menit untuk direfleksikan dalam alur data.

Memantau rute peristiwa

Metrik perutean seperti jumlah, latensi, dan tingkat kegagalan dapat dilihat di portal Microsoft Azure.

Dari beranda portal, cari instans Azure Digital Twins Anda untuk melihat detailnya. Pilih opsi Metrics dari menu navigasi instans Azure Digital Twins di sebelah kiri untuk membuka halaman Metrics.

Cuplikan layar memperlihatkan halaman metrik untuk Azure Digital Twins.

Dari sini, Anda dapat menampilkan metrik untuk instans Anda dan membuat tampilan kustom.

Untuk informasi selengkapnya tentang melihat metrik Azure Digital Twins, lihat Memantau dengan metrik.

Langkah berikutnya

Baca tentang berbagai jenis pesan peristiwa yang bisa Anda terima: