Mengonfigurasi pengunggahan file IoT Hub menggunakan PowerShell
Artikel ini menunjukkan cara mengonfigurasi pengunggahan file di IoT hub menggunakan PowerShell.
Untuk menggunakan fungsionalitas pengunggahan file di IoT Hub, Anda harus terlebih dahulu mengaitkan akun penyimpanan Azure dengan IoT Hub Anda. Azure IoT Hub secara otomatis menghasilkan URI SAS dengan izin tulis ke kontainer blon ini untuk digunakan perangkat saat mereka mengunggah file. Selain akun penyimpanan dan wadah blob, Anda dapat mengatur waktu akif untuk SAS URI dan mengonfigurasi pengaturan untuk pemberitahuan unggah file opsional yang dapat dikirimkan IoT Hub ke layanan backend.
Catatan
Sebaiknya Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Untuk memulai, lihat Menginstal Azure PowerShell. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.
Prasyarat
Akun Azure aktif. Jika Anda tidak memiliki akun, Anda dapat membuat akun gratis hanya dalam beberapa menit.
Hub Azure IoT. Jika Anda tidak memiliki hub IoT, Anda dapat menggunakan cmdlet New-AzIoTHub untuk membuatnya atau mengikuti langkah-langkah di Membuat hub IoT.
Akun penyimpanan Azure. Jika Anda tidak memiliki akun penyimpanan Azure, Anda dapat menggunakan cmdlet Azure Storage PowerShell untuk membuatnya atau menggunakan portal untuk Membuat akun penyimpanan
Gunakan lingkungan PowerShell di Azure Cloud Shell.
Jika Anda mau, pasang PowerShell secara lokal.
- Pasang Modul Azure Az PowerShell. (Modul ini dipasang secara default di lingkungan Azure Cloud Shell PowerShell.)
- Masuk ke PowerShell dengan menggunakan perintah Connect-AzAccount. Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Untuk opsi masuk tambahan, lihat Masuk dengan Azure PowerShell.
Masuk dan atur akun Azure Anda
Masuklah ke akun Azure Anda dan pilih langganan Anda. Jika menggunakan Azure Cloud Shell, Anda seharusnya sudah masuk; namun, Anda mungkin masih perlu memilih langganan Azure jika memiliki beberapa langganan.
Pada prompt PowerShell, jalankan cmdlet Connect-AzAccount:
Connect-AzAccount
Jika Anda memiliki beberapa langganan Azure, maka masuk ke Azure akan memberi Anda akses ke semua langganan Azure yang terkait dengan informasi masuk Anda. Gunakan perintah Get-AzSubscription untuk membuat daftar langganan Azure yang tersedia untuk Anda gunakan berikut:
Get-AzSubscription
Gunakan perintah berikut untuk memilih langganan yang ingin Anda gunakan guna menjalankan perintah untuk mengelola loT hub Anda. Anda dapat menggunakan nama atau ID langganan dari output perintah sebelumnya:
Select-AzSubscription ` -Name "{your subscription name}"
Catatan
Perintah Select-AzSubscription adalah alias dari Select-AzContext yang memungkinkan Anda menggunakan nama langganan (Nama) atau ID langganan (Id) yang dikembalikan oleh perintah Get-AzSubscription daripada nama konteks yang lebih kompleks yang diperlukan untuk perintah Select-AzContext .
Mengambil rincian akun penyimpanan Anda
Langkah-langkah berikut mengasumsikan bahwa Anda membuat akun penyimpanan menggunakan model penyebaran Resource Managerdan bukan model penyebaran Klasik tersebut.
Untuk mengonfigurasi unggahan file dari perangkat Anda, Anda memerlukan string sambungan untuk akun penyimpanan Azure. Akun penyimpanannya harus berada di langganan yang sama dengan hub IoT Anda. Anda juga memerlukan nama kontainer blob di akun penyimpanannya. Dapatkan perintah Get-AzStorageAccountKey untuk mengambil kunci akun penyimpanan:
Get-AzStorageAccountKey `
-Name {your storage account name} `
-ResourceGroupName {your storage account resource group}
Catat nilai kunci akun penyimpanan key1. Anda akan membutuhkannya dalam langkah-langkah berikut.
Anda dapat menggunakan kontainer blob yang sudah ada untuk unggahan file Anda atau buat yang baru:
Untuk membuat daftar wadah blob yang ada di akun penyimpanan Anda, gunakan perintah New-AzStorageContext dan Get-AzStorageContainer:
$ctx = New-AzStorageContext ` -StorageAccountName {your storage account name} ` -StorageAccountKey {your storage account key} Get-AzStorageContainer -Context $ctx
Untuk membuat wadah blob yang ada di akun penyimpanan Anda, gunakan perintah New-AzStorageContext dan Get-AzStorageContainer:
$ctx = New-AzStorageContext ` -StorageAccountName {your storage account name} ` -StorageAccountKey {your storage account key} New-AzStorageContainer ` -Name {your new container name} ` -Permission Off ` -Context $ctx
Mengonfigurasi IoT hub Anda
Anda sekarang dapat mengonfigurasi hub IoT Anda untuk mengunggah file ke hub IoT menggunakan rincian akun penyimpanan Anda.
Konfigurasinya memerlukan nilai berikut:
Kontainer penyimpanan: Kontainer blob di akun penyimpanan Azure di langganan Azure Anda saat ini untuk dikaitkan dengan hub IoT Anda. Anda telah mengambil informasi akun penyimpanan yang diperlukan di bagian sebelumnya. Azure IoT Hub secara otomatis menghasilkan URI SAS dengan izin tulis ke kontainer blon ini untuk digunakan perangkat saat mereka mengunggah file.
Terima pemberitahuan untuk file yang diunggah: Aktifkan atau nonaktifkan pemberitahuan pengunggahan file.
SAS TTL: Pengaturan ini adalah waktu aktif dari URI SAS yang dikembalikan ke perangkat oleh IoT Hub. Diatur ke satu jam secara default.
TTL default pengaturan pemberitahuan file: Waktu hidup pemberitahuan pengunggahan file sebelum kedaluwarsa. Diatur ke satu hari secara default.
Jumlah pengiriman maksimum pemberitahuan file: Berapa kali IoT Hub mencoba mengirimkan pemberitahuan pengunggahan file. Diatur ke 10 secara default.
Gunakan perintah Set-AzIotHub untuk mengonfigurasi pengaturan pengunggahan file di hub IoT Anda:
Set-AzIotHub `
-ResourceGroupName "{your iot hub resource group}" `
-Name "{your iot hub name}" `
-FileUploadNotificationTtl "01:00:00" `
-FileUploadSasUriTtl "01:00:00" `
-EnableFileUploadNotifications $true `
-FileUploadStorageConnectionString "DefaultEndpointsProtocol=https;AccountName={your storage account name};AccountKey={your storage account key};EndpointSuffix=core.windows.net" `
-FileUploadContainerName "{your blob container name}" `
-FileUploadNotificationMaxDeliveryCount 10
Catatan
Secara default, IoT Hub mengautentikasi dengan Azure Storage menggunakan kunci akun dalam string koneksi. Autentikasi menggunakan identitas terkelola yang ditetapkan sistem atau yang ditetapkan pengguna juga tersedia. Identitas terkelola menyediakan layanan Azure dengan identitas terkelola secara otomatis di Microsoft Entra ID dengan cara yang aman. Untuk mempelajari caranya, lihat dukungan IoT Hub untuk identitas terkelola. Saat ini, tidak ada parameter pada perintah Set-AzIotHub untuk mengatur jenis autentikasi. Sebagai gantinya, Anda dapat menggunakan portal Microsoft Azure atau Azure CLI.