IoT Hub-fájlfeltöltések konfigurálása az Azure CLI használatával
Ez a cikk bemutatja, hogyan konfigurálhatja a fájlfeltöltéseket az IoT Hubon az Azure CLI használatával.
Az IoT Hub fájlfeltöltési funkciójának használatához először egy Azure-tárfiókot és blobtárolót kell társítania az IoT Hubhoz. Az IoT Hub automatikusan létrehozza a blobtároló írási engedélyekkel rendelkező SAS-URI-jait a fájlok feltöltésekor használni kívánt eszközök számára. A tárfiók és a blobtároló mellett beállíthatja az SAS URI élettartamát és az IoT Hub által az Azure Storage-ban használt hitelesítés típusát. Az IoT Hub által a háttérszolgáltatásoknak kézbesíthető opcionális fájlfeltöltési értesítések beállításait is konfigurálhatja.
Előfeltételek
Aktív Azure-fiók. Ha nincs fiókja, néhány perc alatt létrehozhat egy ingyenes fiókot.
IoT Hub az Azure-előfizetésben. Ha még nem rendelkezik központokkal, kövesse az IoT Hub létrehozása című témakörben leírt lépéseket.
Egy Azure Storage-fiók blobtárolóval. Ha nem rendelkezik Azure Storage-fiókkal, az Azure CLI használatával létrehozhat egyet. További információ: Tárfiók létrehozása.
Használja a Bash-környezetet az Azure Cloud Shellben. További információ: A Bash rövid útmutatója az Azure Cloud Shellben.
Ha inkább helyi cli-referenciaparancsokat szeretne futtatni, telepítse az Azure CLI-t. Ha Windows vagy macOS rendszert használ, fontolja meg az Azure CLI Docker-tárolóban való futtatását. További információ: Az Azure CLI futtatása Docker-tárolóban.
Ha helyi telepítést használ, jelentkezzen be az Azure CLI-be az az login parancs futtatásával. A hitelesítési folyamat befejezéséhez kövesse a terminálon megjelenő lépéseket. További bejelentkezési lehetőségekért lásd : Bejelentkezés az Azure CLI-vel.
Amikor a rendszer kéri, először telepítse az Azure CLI-bővítményt. További információ a bővítményekről: Bővítmények használata az Azure CLI-vel.
Futtassa az az version parancsot a telepített verzió és a függő kódtárak megkereséséhez. A legújabb verzióra az az upgrade paranccsal frissíthet.
Feljegyzés
Ez a cikk az Azure IoT-bővítmény legújabb, úgynevezett azure-iot
verzióját használja. Az örökölt verzió neve azure-cli-iot-ext
. Egyszerre csak egy verziót kell telepítenie. A parancs segítségével az extension list
ellenőrizheti a jelenleg telepített bővítményeket.
A bővítmény régi verziójának eltávolítására használható az extension remove --name azure-cli-iot-ext
.
A bővítmény új verziójának hozzáadására használható az extension add --name azure-iot
.
A telepített bővítmények megtekintéséhez használja a parancsot az extension list
.
Jelentkezzen be és állítsa be az Azure-fiókját
Jelentkezzen be Azure-fiókjába, és válassza ki előfizetését. Ha Azure Cloud Shellt használ, akkor már be kell jelentkeznie; Azonban előfordulhat, hogy több előfizetés esetén is ki kell választania az Azure-előfizetést.
A parancssorban futtassa a login parancsot:
az login
Kövesse az utasításokat a kóddal történő hitelesítéshez, és jelentkezzen be az Azure-fiókjába webböngészőből.
Ha több Azure-előfizetéssel rendelkezik, az Azure-ba történő bejelentkezéssel hozzáfér a hitelesítő adatokhoz tartozó összes Azure-fiókhoz. Az alábbi paranccsal jelenítheti meg az elérhető Azure-fiókokat:
az account list
Az alábbi paranccsal válassza ki azt az előfizetést, amellyel futtatni szeretné a parancsokat az IoT Hub létrehozásához. Használhatja az előző parancs kimenetéből származó előfizetésnevet vagy -azonosítót:
az account set --subscription {your subscription name or id}
Tárfiók-hozzáférés konfigurálása
Az alábbi lépések feltételezik, hogy a tárfiókot a Resource Manager üzemi modellel hozta létre, nem pedig a klasszikus üzemi modellel.
Az eszközökről származó fájlfeltöltések konfigurálásához hozzáférési engedélyeket kell adnia az IoT Hubnak az Azure Storage-fiókhoz. A tárfióknak ugyanabban az előfizetésben kell lennie, mint az IoT Hubnak. Szüksége van egy blobtároló nevére is a tárfiókban.
A hozzáférési engedélyek megadásához kulcsalapú vagy identitásalapú hitelesítést is használhat. A Microsoft biztonságosabb megoldásként az identitásalapú hitelesítést javasolja.
Kulcsalapú hitelesítés
Kulcsalapú hitelesítéshez adja meg a tárfiók kapcsolati sztring. A tárfiók kulcsainak lekéréséhez használja az az storage account show-connection-string parancsot.
Jegyezze fel a connectionString
értékét. A kapcsolati sztring a következő kimenethez hasonlóan néz ki:
{
"connectionString": "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName={your_storage_account_name};AccountKey={your_storage_account_key}"
}
Identitásalapú hitelesítés
Az identitásalapú hitelesítéshez használhat rendszer által hozzárendelt felügyelt identitásokat vagy felhasználó által hozzárendelt felügyelt identitásokat. További információ: IoT Hub-támogatás felügyelt identitásokhoz.
Az az role assignment create paranccsal rendeljen hozzá egy szerepkört a felügyelt identitáshoz. További információért lásd: Azure-szerepkör hozzárendelése a blobadatokhoz való hozzáféréshez.
Az IoT Hub konfigurálása
Most már konfigurálhatja az IoT Hubot úgy, hogy lehetővé tegye a fájlok feltöltését az IoT Hubra a tárfiók adataival.
A konfigurációhoz a következő értékek szükségesek:
Tároló: Egy blobtároló egy Azure-tárfiókban az aktuális Azure-előfizetésben, amely az IoT Hubhoz társítható. Az előző szakaszban lekérte a szükséges tárfiókadatokat. Az IoT Hub automatikusan létrehozza a blobtároló írási engedélyekkel rendelkező SAS-URI-jait a fájlok feltöltésekor használni kívánt eszközök számára.
Értesítések fogadása a feltöltött fájlokról: Fájlfeltöltési értesítések engedélyezése vagy letiltása.
SAS TTL: Ez a beállítás az IoT Hub által az eszközre visszaadott SAS URI-k élettartamát jelenti. Alapértelmezés szerint egy órára van állítva.
Fájlértesítési beállítások alapértelmezett TTL: A fájlfeltöltési értesítés élettartamáról szóló értesítés lejárata előtt. Alapértelmezés szerint egy napra van állítva.
Fájlértesítés maximális kézbesítési száma: Az IoT Hub hányszor kísérel meg fájlfeltöltési értesítést kézbesíteni. Alapértelmezés szerint 10 értékre van állítva.
Fájlértesítés zárolásának időtartama: A fájlértesítési üzenetsor zárolási időtartama. Alapértelmezés szerint 60 másodperc.
Hitelesítési típus: Az Azure Storage-hoz használandó IoT Hub hitelesítési típusa. Ez a beállítás határozza meg, hogy az IoT Hub hogyan hitelesíti és engedélyezi az Azure Storage-t. Az alapértelmezett érték a kulcsalapú hitelesítés; a rendszer által hozzárendelt vagy felhasználó által hozzárendelt felügyelt identitás hitelesítési beállításai azonban ajánlottak. A kezelt identitások az Azure-szolgáltatásokat a Microsoft Entra ID-ban automatikusan kezelt identitással látják el biztonságos módon.
Feljegyzés
A hitelesítési típusbeállítás konfigurálja, hogy az IoT Hub hogyan hitelesít az Azure Storage-fiókkal. Az eszközök mindig az IoT Hubról kapott SAS URI használatával hitelesítik az Azure Storage-t.
Az alábbi parancsok bemutatják, hogyan konfigurálhatja a fájlfeltöltési beállításokat az IoT Hubon. Ezek a parancsok külön jelennek meg az egyértelműség kedvéért, de általában egyetlen parancsot adna ki a forgatókönyvhöz szükséges összes paraméterrel. Idézőjelek belefoglalása a parancssorba. Ne vegye bele a kapcsos zárójeleket. Az egyes paraméterekről az az iot hub frissítési parancsának Azure CLI-dokumentációjában olvashat bővebben.
Az alábbi parancs konfigurálja a tárfiókot és a blobtárolót.
az iot hub update --name {your iot hub name} \
--fileupload-storage-connectionstring "{your storage account connection string}" \
--fileupload-storage-container-name "{your container name}"
Az alábbi parancs az SAS URI-időt az alapértelmezett (egy óra) értékre állítja.
az iot hub update --name {your iot hub name} \
--fileupload-sas-ttl 1
Az alábbi parancs engedélyezi a fájlértesítéseket, és beállítja a fájlértesítési tulajdonságokat az alapértelmezett értékekre. (A fájlfeltöltési értesítés élettartamának beállítása egy óra, a zárolás időtartama pedig 60 másodperc.)
az iot hub update --name {your iot hub name} \
--fileupload-notifications true \
--fileupload-notification-max-delivery-count 10 \
--fileupload-notification-ttl 1 \
--fileupload-notification-lock-duration 60
A következő parancs a kulcsalapú hitelesítést konfigurálja:
az iot hub update --name {your iot hub name} \
--fileupload-storage-auth-type keyBased
Az alábbi parancs az IoT Hub rendszer által hozzárendelt felügyelt identitásával konfigurálja a hitelesítést. A parancs futtatása előtt engedélyeznie kell a rendszer által hozzárendelt felügyelt identitást az IoT Hubhoz, és meg kell adnia neki a megfelelő szerepköralapú hozzáférés-vezérlési szerepkört az Azure Storage-fiókjában. További információ a felügyelt identitások IoT Hub-támogatásáról.
az iot hub update --name {your iot hub name} \
--fileupload-storage-auth-type identityBased \
--fileupload-storage-identity [system]
Az alábbi parancsok lekérik az IoT Hubon konfigurált, felhasználó által hozzárendelt felügyelt identitásokat, és az egyikkel konfigurálják a hitelesítést. Ahhoz, hogy a hitelesítéshez felhasználó által hozzárendelt felügyelt identitást használjon, konfigurálnia kell azt az IoT Hubon, és meg kell adnia egy megfelelő szerepköralapú hozzáférés-vezérlési szerepkört az Azure Storage-fiókjában. További részletekért és lépésekért tekintse meg a felügyelt identitások IoT Hub-támogatását.
Ha felhasználó által hozzárendelt felügyelt identitásokat szeretne lekérdezni az IoT Hubon, használja az az iot hub identity show parancsot.
az iot hub identity show --name {your iot hub name} --query userAssignedIdentities
A parancs visszaadja az IoT Hubon konfigurált, felhasználó által hozzárendelt felügyelt identitások gyűjteményét. Az alábbi kimenet egy olyan gyűjteményt jelenít meg, amely egyetlen felhasználó által hozzárendelt felügyelt identitást tartalmaz.
{
"/subscriptions/{your subscription ID}/resourcegroups/{your resource group}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{your user-assigned managed identity name}":
{
"clientId": "<client ID GUID>",
"principalId": "<principal ID GUID>"
}
}
Az alábbi parancs a hitelesítést úgy konfigurálja, hogy a felhasználó által hozzárendelt identitást használja.
az iot hub update --name {your iot hub name} \
--fileupload-storage-auth-type identityBased \
--fileupload-storage-identity "/subscriptions/{your subscription ID}/resourcegroups/{your resource group}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{your user-assigned managed identity name}"
Az IoT Hub beállításait az alábbi paranccsal tekintheti át:
az iot hub show --name {your iot hub name}
Ha csak a fájlfeltöltési beállításokat szeretné áttekinteni, használja a következő parancsot:
az iot hub show --name {your iot hub name}
--query '[properties.storageEndpoints, properties.enableFileUploadNotifications, properties.messagingEndpoints.fileNotifications]'
A legtöbb esetben a nevesített paraméterek használata az Azure CLI-parancsokban a legegyszerűbb; a paraméterrel azonban fájlfeltöltési --set
beállításokat is konfigurálhat. Az alábbi parancsok segítenek megérteni, hogyan.
az iot hub update --name {your iot hub name} \
--set properties.storageEndpoints.'$default'.connectionString="{your storage account connection string}"
az iot hub update --name {your iot hub name} \
--set properties.storageEndpoints.'$default'.containerName="{your storage container name}"
az iot hub update --name {your iot hub name} \
--set properties.storageEndpoints.'$default'.sasTtlAsIso8601=PT1H0M0S
az iot hub update --name {your iot hub name} \
--set properties.enableFileUploadNotifications=true
az iot hub update --name {your iot hub name} \
--set properties.messagingEndpoints.fileNotifications.maxDeliveryCount=10
az iot hub update --name {your iot hub name} \
--set properties.messagingEndpoints.fileNotifications.ttlAsIso8601=PT1H0M0S