Obsługa tożsamości zarządzanych w usłudze IoT Hub

Tożsamości zarządzane zapewniają usługom platformy Azure automatycznie zarządzaną tożsamość w usłudze Microsoft Entra ID w bezpieczny sposób. Dzięki temu programiści nie muszą zarządzać poświadczeniami i udostępniać tożsamości. Istnieją dwa typy tożsamości zarządzanych: przypisana przez system i przypisana przez użytkownika. Usługa IoT Hub obsługuje oba te typy.

W usłudze IoT Hub tożsamości zarządzane mogą służyć do łączności wychodzącej z usługi IoT Hub do innych usług platformy Azure, takich jak routing komunikatów, przekazywanie plików i zbiorcze importowanie/eksportowanie urządzeń. Z tego artykułu dowiesz się, jak używać tożsamości zarządzanych przypisanych przez system i przypisanych przez użytkownika w centrum IoT Dla różnych funkcji.

Wymagania wstępne

Tożsamość zarządzana przypisana przez system

Włączanie lub wyłączanie tożsamości zarządzanej przypisanej przez system w witrynie Azure Portal

  1. Zaloguj się do witryny Azure Portal i przejdź do centrum IoT Hub.

  2. Wybierz pozycję Tożsamość w sekcji Ustawienia zabezpieczeń menu nawigacji.

  3. Wybierz kartę Przypisane przez system.

  4. Ustaw pozycję Stan tożsamości zarządzanej przypisanej przez system na wartość Włączone lub Wyłączone, a następnie wybierz pozycję Zapisz.

    Uwaga

    Nie można wyłączyć przypisanej przez system tożsamości zarządzanej, gdy jest ona używana. Przed wyłączeniem tej funkcji upewnij się, że żadne niestandardowe punkty końcowe nie korzystają z uwierzytelniania tożsamości zarządzanej przypisanej przez system.

    Screenshot showing where to turn on system-assigned managed identity for an IoT hub.

Włączanie tożsamości zarządzanej przypisanej przez system w czasie tworzenia centrum przy użyciu szablonu usługi ARM

Aby włączyć tożsamość zarządzaną przypisaną przez system w centrum IoT w czasie aprowizacji zasobów, użyj poniższego szablonu usługi Azure Resource Manager (ARM).

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": 
    {
      "iotHubName": {
        "type": "string",
        "metadata": {
          "description": "Name of iothub resource"
        }
      },
      "skuName": {
        "type": "string",
        "defaultValue": "S1",
        "metadata": {
          "description": "SKU name of iothub resource, by default is Standard S1"
        }
      },
      "skuTier": {
        "type": "string",
        "defaultValue": "Standard",
        "metadata": {
          "description": "SKU tier of iothub resource, by default is Standard"
        }
      },
      "location": {
        "type": "string",
        "defaultValue": "[resourceGroup().location]",
        "metadata": {
          "description": "Location of iothub resource. Please provide any of supported-regions of iothub"
        }
      }
    },
  "resources": [
    {
      "type": "Microsoft.Resources/deployments",
      "apiVersion": "2020-10-01",
      "name": "createIotHub",
      "properties": {
        "mode": "Incremental",
        "template": {
          "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
          "contentVersion": "1.0.0.0",
          "resources": [
            {
              "type": "Microsoft.Devices/IotHubs",
              "apiVersion": "2021-03-31",
              "name": "[parameters('iotHubName')]",
              "location": "[parameters('location')]",
              "identity": {
                "type": "SystemAssigned"
              },
              "sku": {
              "name": "[parameters('skuName')]",
              "tier": "[parameters('skuTier')]",
              "capacity": 1
              }
            }
          ] 
        }
      }
    }
  ]
}

Po zastąpieniu wartości zasobu name, locationSKU.name i SKU.tier, można użyć interfejsu wiersza polecenia platformy Azure do wdrożenia zasobu w istniejącej grupie zasobów przy użyciu:

az deployment group create --name <deployment-name> --resource-group <resource-group-name> --template-file <template-file.json> --parameters iotHubName=<valid-iothub-name> skuName=<sku-name> skuTier=<sku-tier> location=<any-of-supported-regions>

Po utworzeniu zasobu można pobrać przypisaną przez system do centrum przy użyciu interfejsu wiersza polecenia platformy Azure:

az resource show --resource-type Microsoft.Devices/IotHubs --name <iot-hub-resource-name> --resource-group <resource-group-name>

Tożsamość zarządzana przypisana przez użytkownika

W tej sekcji dowiesz się, jak dodać i usunąć tożsamość zarządzaną przypisaną przez użytkownika z centrum IoT Hub przy użyciu witryny Azure Portal.

  1. Najpierw należy utworzyć tożsamość zarządzaną przypisaną przez użytkownika jako zasób autonomiczny. W tym celu możesz postępować zgodnie z instrukcjami w temacie Tworzenie tożsamości zarządzanej przypisanej przez użytkownika.

  2. Przejdź do centrum IoT Hub, przejdź do pozycji Tożsamość w portalu usługi IoT Hub.

  3. Na karcie Przypisane przez użytkownika kliknij pozycję Skojarz tożsamość zarządzaną przypisaną przez użytkownika. Wybierz tożsamość zarządzaną przypisaną przez użytkownika, którą chcesz dodać do centrum, a następnie kliknij pozycję Wybierz.

  4. Tożsamość przypisaną przez użytkownika można usunąć z centrum IoT Hub. Wybierz tożsamość przypisaną przez użytkownika, którą chcesz usunąć, a następnie kliknij przycisk Usuń . Pamiętaj, że usuwasz go tylko z centrum IoT, a to usunięcie nie powoduje usunięcia tożsamości przypisanej przez użytkownika jako zasobu. Aby usunąć tożsamość przypisaną przez użytkownika jako zasób, postępuj zgodnie z instrukcjami w temacie Usuwanie tożsamości zarządzanej przypisanej przez użytkownika.

    Screenshot showing how to add user-assigned managed identity for an I O T hub.

Włączanie tożsamości zarządzanej przypisanej przez użytkownika w czasie tworzenia centrum przy użyciu szablonu usługi ARM

Poniższy przykładowy szablon może służyć do tworzenia centrum z tożsamością zarządzaną przypisaną przez użytkownika. Ten szablon tworzy jedną tożsamość przypisaną przez użytkownika o nazwie [iothub-name-provided ]-identity i przypisaną do utworzonego centrum IoT. Szablon można zmienić, aby w razie potrzeby dodać wiele tożsamości przypisanych przez użytkownika.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "iotHubName": {
      "type": "string",
      "metadata": {
        "description": "Name of iothub resource"
      }
    },
  "skuName": {
    "type": "string",
    "defaultValue": "S1",
    "metadata": {
      "description": "SKU name of iothub resource, by default is Standard S1"
    }
  },
  "skuTier": {
    "type": "string",
    "defaultValue": "Standard",
    "metadata": {
      "description": "SKU tier of iothub resource, by default is Standard"
    }
  },
  "location": {
    "type": "string",
    "defaultValue": "[resourceGroup().location]",
    "metadata": {
      "description": "Location of iothub resource. Please provide any of supported-regions of iothub"
    }
  }
},
  "variables": {
    "identityName": "[concat(parameters('iotHubName'), '-identity')]"
  },
  "resources": [
    {
      "type": "Microsoft.Resources/deployments",
      "apiVersion": "2020-10-01",
      "name": "createIotHub",
      "properties": {
        "mode": "Incremental",
        "template": {
          "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
          "contentVersion": "1.0.0.0",
          "resources": [
            {
              "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
              "name": "[variables('identityName')]",
              "apiVersion": "2018-11-30",
              "location": "[resourceGroup().location]"
            },
            {
              "type": "Microsoft.Devices/IotHubs",
              "apiVersion": "2021-03-31",
              "name": "[parameters('iotHubName')]",
              "location": "[parameters('location')]",
              "identity": {
                "type": "UserAssigned",
                "userAssignedIdentities": {
                  "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('identityName'))]": {}
                }
              },
              "sku": {
                "name": "[parameters('skuName')]",
                "tier": "[parameters('skuTier')]",
                "capacity": 1
              },
              "dependsOn": [
                "[resourceID('Microsoft.ManagedIdentity/userAssignedIdentities/',variables('identityName'))]"
              ]
            }
          ]
        }
      }
    }
  ]
}
az deployment group create --name <deployment-name> --resource-group <resource-group-name> --template-file <template-file.json> --parameters iotHubName=<valid-iothub-name> skuName=<sku-name> skuTier=<sku-tier> location=<any-of-supported-regions>

Po utworzeniu zasobu można pobrać tożsamość zarządzaną przypisaną przez użytkownika w centrum przy użyciu interfejsu wiersza polecenia platformy Azure:

az resource show --resource-type Microsoft.Devices/IotHubs --name <iot-hub-resource-name> --resource-group <resource-group-name>

Łączność wychodząca z usługi IoT Hub do innych zasobów platformy Azure

Tożsamości zarządzane mogą służyć do łączności wychodzącej z usługi IoT Hub do innych usług platformy Azure na potrzeby routingu komunikatów, przekazywania plików i zbiorczego importowania/eksportowania urządzeń. Możesz wybrać tożsamość zarządzaną używaną dla każdej łączności wychodzącej usługi IoT Hub z punktami końcowymi należącymi do klienta, w tym kontami magazynu, centrami zdarzeń i punktami końcowymi usługi Service Bus.

Uwaga

Tylko tożsamość zarządzana przypisana przez system zapewnia usłudze IoT Hub dostęp do zasobów prywatnych. Jeśli chcesz użyć tożsamości zarządzanej przypisanej przez użytkownika, należy włączyć publiczny dostęp do tych zasobów prywatnych, aby umożliwić łączność.

Konfigurowanie routingu komunikatów przy użyciu tożsamości zarządzanych

W tej sekcji jako przykład użyjemy routingu komunikatów do niestandardowego punktu końcowego usługi Event Hubs. Przykład dotyczy również innych niestandardowych punktów końcowych routingu.

  1. Przejdź do centrum zdarzeń w witrynie Azure Portal, aby przypisać tożsamość zarządzaną do odpowiedniego dostępu.

  2. Wybierz pozycję Kontrola dostępu (IAM) .

  3. Wybierz pozycję Dodaj > przypisanie roli.

    Screenshot showing Access control (IAM) page with Add role assignment menu open.

  4. Na karcie Rola wybierz pozycję Nadawca danych usługi Azure Event Hubs.

    Uwaga

    W przypadku konta magazynu wybierz pozycję Współautor danych obiektu blob usługi Storage (nie współautor lub współautor konta magazynu) jako rolę. W przypadku magistrali usług wybierz pozycję Nadawca danych usługi Azure Service Bus.

    Screenshot showing Add role assignment page with Role tab selected.

  5. Na karcie Członkowie wybierz pozycję Tożsamość zarządzana, a następnie wybierz pozycję Wybierz członków.

  6. W przypadku tożsamości zarządzanych przypisanych przez użytkownika wybierz subskrypcję, wybierz pozycję Tożsamość zarządzana przypisana przez użytkownika, a następnie wybierz tożsamość zarządzaną przypisaną przez użytkownika.

  7. W przypadku tożsamości zarządzanych przypisanych przez system wybierz subskrypcję, wybierz pozycję Wszystkie tożsamości zarządzane przypisane przez system, a następnie wybierz nazwę zasobu usługi IoT Hub.

  8. Na karcie Przeglądanie i przypisywanie wybierz pozycję Przejrzyj i przypisz, aby przypisać rolę.

    Aby uzyskać więcej informacji na temat przypisań ról, zobacz Przypisywanie ról platformy Azure przy użyciu witryny Azure Portal

  9. Jeśli musisz ograniczyć łączność z niestandardowym punktem końcowym za pośrednictwem sieci wirtualnej, musisz włączyć zaufany wyjątek firmy Microsoft od pierwszej firmy, aby zapewnić usłudze IoT Hub dostęp do określonego punktu końcowego. Jeśli na przykład dodajesz niestandardowy punkt końcowy centrum zdarzeń, przejdź do karty Zapory i sieci wirtualne w centrum zdarzeń i włącz opcję Zezwalaj na dostęp z wybranych sieci . Na liście Wyjątki zaznacz pole wyboru Zezwalaj na dostęp do centrów zdarzeń za pomocą zaufanych usługi firmy Microsoft. Kliknij przycisk Zapisz. Dotyczy to również konta magazynu i usługi Service Bus. Dowiedz się więcej o obsłudze usługi IoT Hub dla sieci wirtualnych.

    Uwaga

    Przed dodaniem centrum zdarzeń jako niestandardowego punktu końcowego w usłudze IoT Hub należy wykonać powyższe kroki, aby przypisać tożsamość zarządzaną. Zaczekaj kilka minut na propagację przypisania roli.

  10. Następnie przejdź do centrum IoT Hub. W centrum przejdź do pozycji Routing komunikatów, a następnie wybierz pozycję Dodaj.

  11. Na karcie Punkt końcowy utwórz punkt końcowy dla centrum zdarzeń, podając następujące informacje:

    Parametr Wartość
    Typ punktu końcowego Wybierz pozycję Event Hubs.
    Nazwa punktu końcowego Podaj unikatową nazwę nowego punktu końcowego lub wybierz pozycję Wybierz istniejący , aby wybrać istniejący punkt końcowy usługi Event Hubs.
    Przestrzeń nazw usługi Event Hubs Użyj menu rozwijanego, aby wybrać istniejącą przestrzeń nazw usługi Event Hubs w ramach subskrypcji.
    Wystąpienie centrum zdarzeń Użyj menu rozwijanego, aby wybrać istniejące centrum zdarzeń w przestrzeni nazw.
    Authentication type (Typ uwierzytelniania) Wybierz pozycję Przypisane przez użytkownika, a następnie użyj menu rozwijanego, aby wybrać tożsamość przypisaną przez użytkownika utworzoną w centrum zdarzeń.

    Screenshot that shows event hub endpoint with user assigned authentication.

  12. Wybierz pozycję Utwórz i dalej. Możesz kontynuować pracę kreatora, aby utworzyć trasę wskazującą ten punkt końcowy lub zamknąć kreatora.

Możesz zmienić typ uwierzytelniania istniejącego niestandardowego punktu końcowego. Aby zmodyfikować punkt końcowy, wykonaj następujące czynności:

  1. W centrum IoT wybierz pozycję Routing komunikatów w okienku nawigacji po lewej stronie, a następnie pozycję Niestandardowe punkty końcowe.

  2. Zaznacz pole wyboru niestandardowego punktu końcowego, który chcesz zmodyfikować, a następnie wybierz pozycję Zmień typ uwierzytelniania.

  3. Wybierz nowy typ uwierzytelniania dla tego punktu końcowego, a następnie wybierz pozycję Zapisz.

Konfigurowanie przekazywania plików przy użyciu tożsamości zarządzanych

Funkcja przekazywania plików usługi IoT Hub umożliwia urządzeniom przekazywanie plików na konto magazynu należącego do klienta. Aby umożliwić przekazywanie pliku do funkcji, usługa IoT Hub musi mieć łączność z kontem magazynu. Podobnie jak w przypadku routingu komunikatów, możesz wybrać preferowany typ uwierzytelniania i tożsamość zarządzaną dla łączności wychodzącej usługi IoT Hub z kontem usługi Azure Storage.

  1. W witrynie Azure Portal przejdź do swojego konta magazynu.

  2. Wybierz pozycję Kontrola dostępu (IAM) .

  3. Wybierz pozycję Dodaj > przypisanie roli.

    Screenshot showing Access control (IAM) page with Add role assignment menu open.

  4. Na karcie Rola wybierz pozycję Współautor danych obiektu blob usługi Storage. (Nie wybieraj Współautor lub Współautor konta magazynu).

  5. Na karcie Członkowie wybierz pozycję Tożsamość zarządzana, a następnie wybierz pozycję Wybierz członków.

  6. W przypadku tożsamości zarządzanych przypisanych przez użytkownika wybierz subskrypcję, wybierz pozycję Tożsamość zarządzana przypisana przez użytkownika, a następnie wybierz tożsamość zarządzaną przypisaną przez użytkownika.

  7. W przypadku tożsamości zarządzanych przypisanych przez system wybierz subskrypcję, wybierz pozycję Wszystkie tożsamości zarządzane przypisane przez system, a następnie wybierz nazwę zasobu usługi IoT Hub.

  8. Na karcie Przeglądanie i przypisywanie wybierz pozycję Przejrzyj i przypisz, aby przypisać rolę.

    Aby uzyskać więcej informacji na temat przypisań ról, zobacz Przypisywanie ról platformy Azure przy użyciu witryny Azure Portal

    Jeśli musisz ograniczyć łączność z kontem magazynu za pośrednictwem sieci wirtualnej, musisz włączyć wyjątek zaufanej firmy Microsoft, aby zapewnić usłudze IoT Hub dostęp do konta magazynu. Na stronie zasobu konta magazynu przejdź do karty Zapory i sieci wirtualne i włącz opcję Zezwalaj na dostęp z wybranych sieci . Na liście Wyjątki zaznacz pole wyboru Zezwalaj na dostęp do tego konta magazynu za pomocą zaufanego usługi firmy Microsoft. Kliknij przycisk Zapisz. Dowiedz się więcej o obsłudze usługi IoT Hub dla sieci wirtualnych.

    Uwaga

    Przed zapisaniem konta magazynu w usłudze IoT Hub w celu przekazania plików przy użyciu tożsamości zarządzanej należy wykonać powyższe kroki. Zaczekaj kilka minut na propagację przypisania roli.

  9. Na stronie zasobu centrum IoT hub przejdź do karty Przekazywanie plików.

  10. Na wyświetlonej stronie wybierz kontener, który ma być używany w magazynie obiektów blob, skonfiguruj ustawienia powiadomień dotyczących plików, czas wygaśnięcia sygnatury dostępu współdzielonego, domyślny czas wygaśnięcia i maksymalną liczbę dostarczania zgodnie z potrzebami. Wybierz preferowany typ uwierzytelniania, a następnie kliknij przycisk Zapisz. Jeśli w tym kroku wystąpi błąd, tymczasowo ustaw konto magazynu, aby zezwolić na dostęp ze wszystkich sieci, a następnie spróbuj ponownie. Zaporę można skonfigurować na koncie magazynu po zakończeniu konfiguracji przekazywania plików.

    Screen shot that shows file upload with msi.

    Uwaga

    W scenariuszu przekazywania plików zarówno centrum, jak i urządzenie muszą nawiązać połączenie z kontem magazynu. Powyższe kroki dotyczą łączenia centrum IoT Hub z kontem magazynu z żądanym typem uwierzytelniania. Nadal musisz połączyć urządzenie z magazynem przy użyciu identyfikatora URI sygnatury dostępu współdzielonego. Obecnie identyfikator URI sygnatury dostępu współdzielonego jest generowany przy użyciu parametry połączenia. Wkrótce dodamy obsługę generowania identyfikatora URI sygnatury dostępu współdzielonego z tożsamością zarządzaną. Wykonaj kroki opisane w artykule Przekazywanie pliku.

Konfigurowanie zbiorczego importowania/eksportowania urządzeń przy użyciu tożsamości zarządzanych

Usługa IoT Hub obsługuje funkcje importowania/eksportowania informacji o urządzeniach zbiorczo z/do obiektu blob magazynu dostarczonego przez klienta. Ta funkcja wymaga łączności z usługi IoT Hub do konta magazynu.

  1. W witrynie Azure Portal przejdź do swojego konta magazynu.

  2. Wybierz pozycję Kontrola dostępu (IAM) .

  3. Wybierz pozycję Dodaj > przypisanie roli.

    Screenshot showing Access control (IAM) page with Add role assignment menu open.

  4. Na karcie Rola wybierz pozycję Współautor danych obiektu blob usługi Storage. (Nie wybieraj Współautor lub Współautor konta magazynu).

  5. Na karcie Członkowie wybierz pozycję Tożsamość zarządzana, a następnie wybierz pozycję Wybierz członków.

  6. W przypadku tożsamości zarządzanych przypisanych przez użytkownika wybierz subskrypcję, wybierz pozycję Tożsamość zarządzana przypisana przez użytkownika, a następnie wybierz tożsamość zarządzaną przypisaną przez użytkownika.

  7. W przypadku tożsamości zarządzanych przypisanych przez system wybierz subskrypcję, wybierz pozycję Wszystkie tożsamości zarządzane przypisane przez system, a następnie wybierz nazwę zasobu usługi IoT Hub.

  8. Na karcie Przeglądanie i przypisywanie wybierz pozycję Przejrzyj i przypisz, aby przypisać rolę.

    Aby uzyskać więcej informacji na temat przypisań ról, zobacz Przypisywanie ról platformy Azure przy użyciu witryny Azure Portal

Używanie interfejsu API REST lub zestawu SDK do importowania i eksportowania zadań

Teraz możesz używać interfejsów API REST usługi Azure IoT do tworzenia zadań importowania i eksportowania. W treści żądania należy podać następujące właściwości:

  • storageAuthenticationType: ustaw wartość na identityBased.
  • inputBlobContainerUri: ustaw tę właściwość tylko w zadaniu importu.
  • outputBlobContainerUri: ustaw tę właściwość zarówno dla zadań importu, jak i eksportu.
  • identity: ustaw wartość na tożsamość zarządzaną, która ma być używana.

Zestawy SDK usługi Azure IoT Hub obsługują również tę funkcję w menedżerze rejestru klienta usługi. Poniższy fragment kodu pokazuje, jak zainicjować zadanie importu lub zadanie eksportu przy użyciu zestawu SDK języka C#.

Fragment kodu w języku C#

    // Create an export job
 
    using RegistryManager srcRegistryManager = RegistryManager.CreateFromConnectionString(hubConnectionString);
 
    JobProperties jobProperties = JobProperties.CreateForExportJob(
        outputBlobContainerUri: blobContainerUri,
        excludeKeysInExport: false,
        storageAuthenticationType: StorageAuthenticationType.IdentityBased,
        identity: new ManagedIdentity
        {
            userAssignedIdentity = userDefinedManagedIdentityResourceId
        });
    // Create an import job
    
    using RegistryManager destRegistryManager = RegistryManager.CreateFromConnectionString(hubConnectionString);
 
    JobProperties jobProperties = JobProperties.CreateForImportJob(
        inputBlobContainerUri: blobContainerUri,
        outputBlobContainerUri: blobContainerUri,
        storageAuthenticationType: StorageAuthenticationType.IdentityBased,
        identity: new ManagedIdentity
        {
            userAssignedIdentity = userDefinedManagedIdentityResourceId
        });

Fragment kodu w języku Python

# see note below
iothub_job_manager = IoTHubJobManager("<IoT Hub connection string>")

# Create an import job
result = iothub_job_manager.create_import_export_job(JobProperties(
    type="import",
    input_blob_container_uri="<input container URI>",
    output_blob_container_uri="<output container URI>",
    storage_authentication_type="identityBased",
    identity=ManagedIdentity(
        user_assigned_identity="<resource ID of user assigned managed identity>"
    )
))

# Create an export job
result = iothub_job_manager.create_import_export_job(JobProperties(
    type="export",
    output_blob_container_uri="<output container URI>",
    storage_authentication_type="identityBased",
    exclude_keys_in_export=True,
    identity=ManagedIdentity(
        user_assigned_identity="<resource ID of user assigned managed identity>"
    ) 
))

Uwaga

  • Jeśli parametr storageAuthenticationType ma ustawioną wartość identityBased , a właściwość userAssignedIdentity nie ma wartości null, zadania będą używać określonej tożsamości zarządzanej przypisanej przez użytkownika.
  • Jeśli centrum IoT nie jest skonfigurowane z tożsamością zarządzaną przypisaną przez użytkownika określoną w parametrze userAssignedIdentity, zadanie zakończy się niepowodzeniem.
  • Jeśli parametr storageAuthenticationType ma ustawioną wartość identityBasedwłaściwość userAssignedIdentity ma wartość null, zadania będą używać tożsamości przypisanej przez system.
  • Jeśli centrum IoT nie jest skonfigurowane z tożsamością zarządzaną przypisaną przez użytkownika, zadanie zakończy się niepowodzeniem.
  • Jeśli parametr storageAuthenticationType ma ustawioną wartość identityBased , a tożsamości zarządzane przypisane przez użytkownika ani przypisane przez system nie są skonfigurowane w centrum, zadanie zakończy się niepowodzeniem.

Przykłady dla zestawu SDK

Następne kroki

Skorzystaj z poniższych linków, aby dowiedzieć się więcej o funkcjach usługi IoT Hub: