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.
Egy Azure IoT Hub. Ha nincs IoT Hubja, a
az iot hub create
paranccsal létrehozhat egyet, vagy létrehozhat egy IoT Hubot a portál használatával.Egy Azure Storage-fiókot. 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.
Megjegyzé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}
A tárfiók adatainak lekérése
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 szüksége van egy Azure Storage-fiók kapcsolati sztring. 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 tárfiókkulcsok lekéréséhez használja az alábbi parancsot:
az storage account show-connection-string --name {your storage account name} \
--resource-group {your storage account resource group}
A kapcsolati sztring a következő kimenethez hasonló lesz:
{
"connectionString": "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName={your storage account name};AccountKey={your storage account key}"
}
Jegyezze fel a connectionString
értékét. Az alábbi lépésekben szüksége lesz rá.
Használhat egy meglévő blobtárolót a fájlfeltöltésekhez, vagy létrehozhat egy újat:
A tárfiók meglévő blobtárolóinak listázásához használja a következő parancsot:
az storage container list --connection-string "{your storage account connection string}"
Ha blobtárolót szeretne létrehozni a tárfiókban, használja a következő parancsot:
az storage container create --name {container name} \ --connection-string "{your storage account connection string}"
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; azonban a rendszer által hozzárendelt és a felhasználó által hozzárendelt felügyelt identitások is használhatók. A felügyelt identitások biztonságos módon biztosítják az Azure-szolgáltatásokat egy automatikusan felügyelt identitással a Microsoft Entra-azonosítóban. Ha tudni szeretné, hogyan konfigurálhat felügyelt identitásokat az IoT Hubon és az Azure Storage-fiókban, tekintse meg az IoT Hub felügyelt identitások támogatását. Miután konfigurálta, beállíthatja az egyik felügyelt identitást az Azure Storage-beli hitelesítéshez.
Megjegyzé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ő RBAC-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 megfelelő RBAC-szerepkört kell biztosítani 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