Megosztás a következőn keresztül:


Rövid útmutató: Az IoT Hub Device Provisioning Service (DPS) beállítása ARM-sablonnal

Azure Resource Manager-sablon (ARM-sablon) használatával programozott módon állíthatja be az eszközök kiépítéséhez szükséges Azure-felhőerőforrásokat. Ezek a lépések bemutatják, hogyan hozhat létre egy IoT Hubot és egy új IoT Hub Device Provisioning Service-t ARM-sablonnal. Az Iot Hub a dps-erőforráshoz is kapcsolódik a sablon használatával. Ez a csatolás lehetővé teszi, hogy a DPS-erőforrás az Ön által konfigurált foglalási szabályzatok alapján rendeljen eszközöket a központhoz.

Az Azure Resource Manager-sablon egy JavaScript Object Notation (JSON) fájl, amely meghatározza a projekt infrastruktúráját és konfigurációját. A sablon deklaratív szintaxist használ. Az üzembe helyezés létrehozásához szükséges programozási parancsok sorozatának megírása nélkül írhatja le a tervezett üzembe helyezést.

Ez a rövid útmutató az Azure Portalt és az Azure CLI-t használja az erőforráscsoport létrehozásához és a sablon üzembe helyezéséhez szükséges programozott lépések végrehajtásához. Azonban a PowerShell, a .NET, a Ruby vagy más programozási nyelvek használatával is végrehajthatja ezeket a lépéseket, és üzembe helyezheti a sablont.

Ha a környezet megfelel az előfeltételeknek, és már ismeri az ARM-sablonok használatát, az Üzembe helyezés az Azure-ban gombra kattintva megnyílik a sablon üzembe helyezéshez az Azure Portalon.

Gomb a Resource Manager-sablon Azure-ban való üzembe helyezéséhez.

Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.

Előfeltételek

A sablon áttekintése

Az ebben a gyorsútmutatóban használt sablon az Azure-gyorssablonok közül származik.

Feljegyzés

Jelenleg nincs ARM-sablontámogatás az új DPS-erőforrásokkal rendelkező regisztrációk létrehozásához. Ez egy gyakori és érthető kérés, amelyet a végrehajtás során figyelembe kell venni.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.12.40.16777",
      "templateHash": "13184692430416822033"
    }
  },
  "parameters": {
    "iotHubName": {
      "type": "string",
      "metadata": {
        "description": "Specify the name of the Iot hub."
      }
    },
    "provisioningServiceName": {
      "type": "string",
      "metadata": {
        "description": "Specify the name of the provisioning service."
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Specify the location of the resources."
      }
    },
    "skuName": {
      "type": "string",
      "defaultValue": "S1",
      "metadata": {
        "description": "The SKU to use for the IoT Hub."
      }
    },
    "skuUnits": {
      "type": "int",
      "defaultValue": 1,
      "metadata": {
        "description": "The number of IoT Hub units."
      }
    }
  },
  "variables": {
    "iotHubKey": "iothubowner"
  },
  "resources": [
    {
      "type": "Microsoft.Devices/IotHubs",
      "apiVersion": "2021-07-02",
      "name": "[parameters('iotHubName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('skuName')]",
        "capacity": "[parameters('skuUnits')]"
      },
      "properties": {}
    },
    {
      "type": "Microsoft.Devices/provisioningServices",
      "apiVersion": "2022-02-05",
      "name": "[parameters('provisioningServiceName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('skuName')]",
        "capacity": "[parameters('skuUnits')]"
      },
      "properties": {
        "iotHubs": [
          {
            "connectionString": "[format('HostName={0};SharedAccessKeyName={1};SharedAccessKey={2}', reference(resourceId('Microsoft.Devices/IotHubs', parameters('iotHubName')), '2021-07-02').hostName, variables('iotHubKey'), listkeys(resourceId('Microsoft.Devices/IotHubs', parameters('iotHubName')), '2021-07-02').value[0].primaryKey)]",
            "location": "[parameters('location')]"
          }
        ]
      },
      "dependsOn": [
        "[resourceId('Microsoft.Devices/IotHubs', parameters('iotHubName'))]"
      ]
    }
  ]
}

Az előző sablonban két Azure-erőforrás van definiálva:

A sablon üzembe helyezése

Üzembe helyezés a Portallal

  1. Az alábbi kép kiválasztásával jelentkezzen be az Azure-ba, és nyissa meg a sablont üzembe helyezéshez. A sablon létrehoz egy új Iot Hub- és DPS-erőforrást. Az új IoT Hub a DPS-erőforráshoz van csatolva.

    Gomb a Resource Manager-sablon Azure-ban való üzembe helyezéséhez.

  2. Jelölje ki vagy írja be a következő értékeket, és válassza a Véleményezés + Létrehozás lehetőséget.

    ARM-sablon üzembehelyezési paraméterei a portálon

    Ha a következő mezők másként nem rendelkeznek, használja az alapértelmezett értéket az Iot Hub és a DPS-erőforrás létrehozásához.

    Mező Leírás
    Előfizetés Válassza ki az Azure-előfizetését.
    Erőforráscsoport Válassza az Új létrehozása lehetőséget, és adjon meg egy egyedi nevet az erőforráscsoportnak, majd kattintson az OK gombra.
    Régió Válasszon egy régiót az erőforrásokhoz. Például az USA keleti régiója. A rugalmasság és a megbízhatóság érdekében javasoljuk, hogy a rendelkezésre állási zónákat támogató régiók egyikében telepítsen.
    Iot Hub neve Adjon meg egy nevet az IoT Hubnak, amely globálisan egyedinek kell lennie a .azure-devices.net névtérben. Az üzembe helyezés ellenőrzésekor szüksége lesz a központ nevére a következő szakaszban.
    Kiépítési szolgáltatás neve Adja meg az új Device Provisioning Service (DPS) erőforrás nevét. A névnek globálisan egyedinek kell lennie a .azure-devices-provisioning.net névtérben. Az üzembe helyezés ellenőrzésekor szüksége lesz a DPS nevére a következő szakaszban.
  3. A következő képernyőn olvassa el a feltételeket. Ha minden feltételt elfogad, válassza a Létrehozás lehetőséget.

    Az üzembe helyezés végrehajtása néhány percet vesz igénybe.

    Az Azure Portalon kívül használhatja az Azure PowerShellt, az Azure CLI-t és a REST API-t is. Az egyéb üzembehelyezési módszerekről a Sablonok üzembe helyezése című témakörben olvashat.

Üzembe helyezés az Azure CLI-vel

Az Azure CLI használatához a 2.6-os vagy újabb verzió szükséges. Ha helyileg futtatja az Azure CLI-t, ellenőrizze a verziót a következő futtatásával: az --version

Jelentkezzen be Azure-fiókjába, és válassza ki előfizetését.

  1. Ha az Azure CLI-t helyileg futtatja ahelyett, hogy a portálon futtatja, be kell jelentkeznie. A parancssorba való bejelentkezéshez futtassa a bejelentkezési 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.

  2. 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 -o table
    

    Az alábbi paranccsal válassza ki az előfizetést, amelyet a parancsok futtatásához szeretne használni az IoT Hub és a DPS-erőforrások 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}
    
  3. Másolja és illessze be a következő parancsokat a parancssori felületre. Ezután hajtsa végre a parancsokat az Enter billentyű kiválasztásával.

    Tipp.

    A parancsok egy erőforráscsoport helyét kérik. Az elérhető helyek listáját a parancs első futtatásával tekintheti meg:

    az account list-locations -o table

    read -p "Enter a project name that is used for generating resource names:" projectName &&
    read -p "Enter the location (i.e. centralus):" location &&
    templateUri="https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.devices/iothub-device-provisioning/azuredeploy.json" &&
    resourceGroupName="${projectName}rg" &&
    az group create --name $resourceGroupName --location "$location" &&
    az deployment group create --resource-group $resourceGroupName --template-uri  $templateUri &&
    echo "Press [ENTER] to continue ..." &&
    read
    
  4. A parancsok a következő információkat kérik. Adja meg az egyes értékeket, és válassza az Enter billentyűt.

    Paraméter Leírás
    Projektnév Ennek a paraméternek az értéke az összes erőforrás tárolására szolgáló erőforráscsoport létrehozásához használható. A sztring rg hozzá lesz adva az erőforráscsoport nevének értékének végéhez.
    hely Ez az érték az a régió, ahol az összes erőforrás létrejön.
    iotHubName Adjon meg egy nevet az IoT Hubnak, amely globálisan egyedinek kell lennie a .azure-devices.net névtérben. Az üzembe helyezés ellenőrzésekor szüksége lesz a központ nevére a következő szakaszban.
    provisioningServiceName Adja meg az új Device Provisioning Service (DPS) erőforrás nevét. A névnek globálisan egyedinek kell lennie a .azure-devices-provisioning.net névtérben. Az üzembe helyezés ellenőrzésekor szüksége lesz a DPS nevére a következő szakaszban.

    A sablon üzembe helyezéséhez az Azure CLI szolgál. Az Azure CLI mellett használhatja az Azure PowerShellt, az Azure Portalt és a REST API-t is. Az egyéb üzembehelyezési módszerekről a Sablonok üzembe helyezése című témakörben olvashat.

Üzembe helyezett erőforrások áttekintése

  1. Az üzembe helyezés ellenőrzéséhez futtassa a következő parancsot az erőforrások listázásához, és keresse meg az új kiépítési szolgáltatást és az IoT Hubot a kimenetben:

     az resource list -g "${projectName}rg"
    
  2. Annak ellenőrzéséhez, hogy a központ már kapcsolódik-e a DPS-erőforráshoz, futtassa a következő DPS-bővítménykijelenítési parancsot.

     az iot dps show --name <Your provisioningServiceName>
    

    Figyelje meg a taghoz iotHubs csatolt központokat.

Az erőforrások eltávolítása

Az ebben a gyűjteményben lévő többi rövid útmutató erre a rövid útmutatóra épül. Ha folytatni szeretné a munkát az ezt követő rövid útmutatókkal vagy az oktatóanyagokkal, ne törölje az ebben a rövid útmutatóban létrehozott erőforrásokat. Ha nem tervezi a folytatást, az Azure Portal vagy az Azure CLI használatával törölheti az erőforráscsoportot és annak összes erőforrását.

Ha törölni szeretne egy erőforráscsoportot és annak összes erőforrását az Azure Portalról, csak nyissa meg az erőforráscsoportot, és válassza az Erőforráscsoport törlése és a felső lehetőséget.

Az Azure CLI használatával üzembe helyezett erőforráscsoport törlése:

az group delete --name "${projectName}rg"

Az erőforráscsoportokat és az egyes erőforrásokat az alábbi lehetőségek bármelyikével törölheti:

  • Azure Portalra
  • PowerShell
  • REST API-k
  • Az Azure Resource Managerhez vagy az IoT Hub Device Provisioning Service-hez közzétett támogatott platform-SDK-k

Következő lépések

Ebben a rövid útmutatóban üzembe helyezett egy IoT Hubot és egy Device Provisioning Service-példányt, és összekapcsolta a két erőforrást. Ha szeretné megtudni, hogyan használhatja ezt a beállítást egy eszköz kiépítéséhez, folytassa az eszköz létrehozásának rövid útmutatójával.