Schnellstart: Digitalen Zwilling erstellen und Daten senden

Dieses Szenario zeigt, wie Sie eine digitale Zwillingsinstanz erstellen und wie Sie Ihre Konfiguration testen, indem Sie Beispieldaten mit Basisauthentifizierung senden.

Voraussetzungen

Ein Administrator muss Policys erstellen, damit Ihr Benutzer auf die OCI-Ressourcen zugreifen kann, mit denen Sie arbeiten möchten. Die folgenden Policys sind erforderlich, um dieses Szenario einzurichten. Weitere Informationen zu zusätzlichen Policys für andere IoT-Szenarios finden Sie unter Voraussetzungen.
IoT-Policys
Mit dieser IoT-Familien-Policy kann die angegebene Benutzergruppe jede IoT-Ressource in einem bestimmten Compartment verwalten, oder der Administrator kann mit IoT-Policys bestimmte Policys für bestimmte IoT-Ressourcen einrichten:
Allow group <group-name> to manage iot-family in compartment <your-compartment-name>
Vault Secret-Policys

Wenn Sie den Befehl für Schritt 3: Digitale Zwillingsinstanz erstellen verwenden und die Basisauthentifizierung verwenden, müssen Sie ein Secret erstellen, um die folgende Policy zu benötigen.

Lassen Sie jeden IoT-Benutzer Secrets in einem bestimmten Compartment und Vault für eine IoT-Domain lesen:
Allow any-user to {SECRET_BUNDLE_READ, SECRET_READ} in compartment <compartment-name> where ALL {request.principal.type = 'iotdomain', target.vault.id = '<vault-OCID>'}

Schritt 1: Domaingruppe IoT erstellen

Wenn eine IoT-Domaingruppe oder IoT-Domain vorhanden ist, mit der Sie arbeiten möchten, überspringen Sie diesen Schritt, und verwenden Sie diese OCIDs, um die zugehörige digitale Zwillingsinstanz zu erstellen. Oder führen Sie diese Schritte aus, um eine IoT-Domaingruppe und eine IoT-Domain zu erstellen. Eine vollständige Liste der Optionen finden Sie unter IoT-Domaingruppen erstellen.

    1. Wählen Sie auf der Listenseite für Domaingruppen IoT die Option Domaingruppe erstellen aus. Wenn Sie Hilfe beim Suchen der Listenseite benötigen, finden Sie weitere Informationen unter IoT-Domaingruppen auflisten.
    2. Geben Sie auf der Seite Domaingruppe erstellen einen benutzerfreundlichen Namen für die neue Domaingruppe und eine optionale Beschreibung ein. Geben Sie dabei keine vertraulichen Informationen ein.
    3. Wählen Sie ein Compartment aus, in dem die neue Domaingruppe gespeichert werden soll. Die Domaingruppe IoT und die Domain IoT können sich in verschiedenen Compartments befinden. Alle IoT-Ressourcen müssen sich in derselben Region befinden.
    4. Wählen Sie einen Typ einer Domaingruppe aus. Developer ist der Standardtyp. Sie können den Domaingruppentyp nicht ändern, sondern eine neue Domaingruppe erstellen.
      • Entwickler: Für Entwicklung und Tests verwenden, Kosten senken und weniger Ressourcen verbrauchen.
      • Standard: Deaktivieren Sie für Produktionsdomaingruppen die Entwickleroption, um Ressourcen zu skalieren und High Availability mit automatischem Failover zu aktivieren.
      Hinweis

      Sie können den Domaingruppentyp nicht ändern. Erstellen Sie stattdessen eine neue Domaingruppe.
    5. Wählen Sie Erstellen aus.
  • Verwenden Sie den Befehl oci iot domain-group create und den erforderlichen Parameter --compartment-id, um eine Domaingruppe IoT in einem bestimmten Compartment zu erstellen. Ersetzen Sie den Wert <compartment-OCID> durch die Compartment-OCID:
    oci iot domain-group create --compartment-id <compartment-OCID>

    Option "Typ":
    • Wenn Sie keine --type angeben, lautet der Standarddomaingruppentyp lightweight, um eine Lightweight-Domaingruppe zu entwickeln und zu testen, die weniger kostet und weniger Ressourcen verbraucht. Wenn Sie eine Produktionsdomaingruppe erstellen möchten, verwenden Sie die Standardoption.
    • Verwenden Sie für eine Produktionsdomaingruppe den Parameter --type mit dem Wert standard, um eine Standarddomaingruppe zu erstellen, die mit High Availability und automatischem Failover skaliert wird.

    Eine vollständige Liste der Parameter und Werte für CLI-Befehle finden Sie in CLI-Befehlsreferenz.

  • Führen Sie den Vorgang CreateIotDomainGroup aus, um eine Domaingruppe IoT in einem Compartment zu erstellen.

Schritt 2: IoT-Domain erstellen

    1. Wählen Sie auf der Listenseite IoT-Domain ein Compartment aus, in dem Sie die IoT-Domains speichern möchten. Die Domaingruppe IoT und die Domain IoT können sich in verschiedenen Compartments befinden. Die Ressourcen für digitale Zwillinge von IoT können sich in verschiedenen Compartments befinden und müssen sich in derselben Region befinden. Wenn Sie Hilfe beim Suchen der Listenseite für IoT-Domains benötigen, finden Sie weitere Informationen unter IoT-Domains auflisten.
    2. Wählen Sie Domäne erstellen.
    3. Geben Sie einen benutzerfreundlichen Namen für die Domain IoT ein. Geben Sie dabei keine vertraulichen Informationen ein.
    4. (Optional) Geben Sie eine Beschreibung ein.
    5. Wählen Sie das verknüpfte Domaingruppen-Compartment aus, und wählen Sie die Domaingruppe aus, die Sie mit dieser Domain verknüpfen möchten.
    6. Wählen Sie Erstellen aus.
    7. Zeigen Sie Endpunkte für den Gerätehost der Domain IoT an, und kopieren Sie sie. Auf dem Gerätehost wird die Domain-Kurz-ID angezeigt. Wählen Sie Kopieren aus, um diesen Endpunkt zu kopieren und im nächsten Schritt zu verwenden.

      device-host:<domain-short-id>.device.iot.<region>.oci.oraclecloud.com

      Eine vollständige Liste der Optionen finden Sie unter IoT-Domain erstellen.

    1. Verwenden Sie den Befehl oci iot domain create und die erforderlichen Parameter, um eine IoT-Domain zu erstellen.
    2. Ersetzen Sie die Domain <iot-domain-group-OCID> durch die Domaingruppe IoT, die Sie mit der Domain IoT verknüpfen möchten. Ersetzen Sie <compartment-OCID> durch die Compartment-OCID für die IoT-Domain:
      oci iot domain create --compartment-id <compartment-OCID> --iot-domain-group-id <iot-domain-group-OCID>
      Eine vollständige Liste der Parameter und Werte für CLI-Befehle finden Sie in CLI-Befehlsreferenz.
  • Führen Sie den Vorgang CreateIotDomain aus, um eine IoT-Domain zu erstellen.

Schritt 3: Digitale Zwillingsinstanz erstellen

In diesem Beispiel ist die Instanz des digitalen Zwillings nicht mit einem digitalen Zwillingsmodell oder einem digitalen Zwillingsadapter verknüpft. Sie können diese Methode verwenden, wenn Sie nur Ihr Setup für digitale Zwillinge testen oder wenn Sie eine Instanz für digitale Zwillinge einrichten, um eine Verbindung zu einem Gerät herzustellen, das unstrukturierte Daten sendet. Eine vollständige Liste der Optionen finden Sie unter Digitale Zwillingsinstanzen erstellen.

  • Optionen für externen Schlüssel: Der externe Schlüssel ist der Benutzername des Geräts, wenn Sie eine Verbindung zu einem Gerät herstellen und in Schritt 5 Daten senden. Wenn Sie keinen Parameter --external-key einschließen, wird der externe Schlüssel in der Antwort generiert. Wenn Sie den externen Schlüssel angeben, wird empfohlen, keine Anführungszeichen mit dem externen Schlüsselwert zu verwenden.
  • Authentifizierungsoptionen: Wenn Sie eine Instanz mit digitalem Zwilling erstellen, ist die Authentifizierung optional und nur erforderlich, wenn Sie Daten an oder von einem Gerät senden. Fügen Sie die Authentifizierung mit dem Parameter --auth-id zur digitalen Zwillingsinstanz hinzu.
Im folgenden Beispiel wird zur Authentifizierung ein Secret verwendet. Sie können ein Secret für eine Testumgebung verwenden. Für eine sichere Produktionsumgebung sollte die Instanz des digitalen Zwillings ein mTLS-Zertifikat zur Authentifizierung verwenden.
    1. Wählen Sie auf der Listenseite IoT-Domains die IoT-Domain aus, mit der Sie arbeiten möchten. Wenn Sie Hilfe beim Suchen der Listenseite für IoT-Domains benötigen, finden Sie weitere Informationen unter IoT-Domains auflisten.
    2. Wählen Sie die Registerkarte Digitale Zwillingsinstanzen und dann Erstellen aus.
    3. Geben Sie einen Namen und optional eine Beschreibung ein. Geben Sie keine vertraulichen Informationen ein.
    4. Optional. Geben Sie einen externen Schlüssel ein, der eine eindeutige ID ist. Wenn Sie keinen externen Schlüssel angeben, wird dieser beim Speichern dieser Instanz des digitalen Zwillings generiert. Verwenden Sie den externen Schlüssel als Gerätenutzernamen, wenn Sie eine Verbindung zum Gerät herstellen oder Daten an dieses senden.
    5. Wählen Sie den Typ:
      • Direkt verbunden: Verbinden Sie ein Gerät oder eine Entity direkt mit der IoT-Domain. Wenn das Gerät oder die Entity strukturierte Daten sendet, wählen Sie einen Adapter aus. Durch Auswahl eines Adapters wird diese Instanz des digitalen Zwillings mit einer Transformationsschicht verknüpft, die eingehende Geräte-Payloads in die DTDL-Struktur des zugehörigen digitalen Zwillingsmodells konvertiert, die von der Instanz erwartet wird.
      • Nicht verbunden: Mit dieser Option können Sie eine Nur-Simulations-Digitale Zwillingsinstanz ohne Datenaufnahme erstellen. Ein digitales Zwillingsmodell ist erforderlich und darf keine Telemetrie oder Eigenschaften enthalten. Nachdem Sie diese Instanz des digitalen Zwillings erstellt haben, können Sie digitalen Zwillingsbeziehungen hinzufügen, um Ihre IoT-Umgebung ohne die Komplexität der Datenaufnahme oder -authentifizierung zu simulieren.
      • Authentifizierungs-ID: Wenn das Gerät oder die Entity Daten sendet oder empfängt, müssen Sie eine Authentifizierungs-ID angeben. Zum Testen erstellen Sie eine Vault-Secret-Authentifizierungs-ID und für die Produktion erstellen Sie ein mTLS-Zertifikat für die Authentifizierungs-ID der Digital Twin-Instanz.
        • Authentifizierungs-ID auswählen: Wählen Sie die Secret- oder Zertifikatoption aus. Wählen Sie für ein Secret das Vault Compartment, den Vault und das Secret aus. Wählen Sie für ein Zertifikat das Zertifikat-Compartment aus, und wählen Sie das Zertifikat aus.
        • Authentifizierungs-OCID einfügen: Fügen Sie die OCID des Zertifikats oder Secrets ein.
      • Tags: (Optional) Fügen Sie dem digitalen Zwillingsadapter ein oder mehrere Tags hinzu. Wenn Sie über Berechtigungen zum Erstellen einer Ressource verfügen, sind Sie auch berechtigt, Freiformtags auf diese Ressource anzuwenden. Um ein definiertes Tag zuzuweisen, benötigen Sie die Berechtigungen zum Verwenden des Tag-Namespace. Weitere Informationen zum Tagging finden Sie unter Ressourcentags. Wenn Sie nicht sicher sind, ob Tags angewendet werden sollen, überspringen Sie diese Option, oder fragen Sie einen Administrator. Sie können Tags später anwenden.
    6. Wählen Sie Erstellen.
    1. Verwenden Sie den Befehl oci iot digital-twin-instance create und diese Parameter, um eine digitale Zwillingsinstanz zu erstellen.
    2. Ersetzen Sie <iot-domain-OCID> durch die Domain IoT, die Sie mit dieser Instanz des digitalen Zwillings IoT verknüpfen möchten. Ersetzen Sie <secret-or-certificate-OCID> durch die Vault-Secret-OCID:
      oci iot digital-twin-instance create --auth-id <secret-OCID> --iot-domain-id <iot-domain-OCID>
    Eine vollständige Liste der Parameter und Werte finden Sie in der IoT-CLI-Befehlsreferenz und in der CLI-Befehlsreferenz.
  • Führen Sie den Vorgang CreateDigitalTwinInstance aus, um eine Instanz mit digitalem Zwilling zu erstellen.

Schritt 4: IoT-Domaindetails abrufen

Wenn der Gerätehost-Endpunkt für die zu verwendende IoT-Domain vorhanden ist, überspringen Sie diesen Schritt.

Die IoT-Domaindetails enthalten den Gerätehost, einschließlich der Domain-Kurz-ID, für weitere Details einer IoT-Domain abrufen,

    1. Wählen Sie auf der Listenseite IoT Domains die Domain, mit der Sie arbeiten möchten. Wenn Sie Hilfe beim Suchen der Listenseite für IoT-Domains oder IoT-Domains benötigen, finden Sie weitere Informationen unter IoT-Domains auflisten.
    2. Details: Zeigen Sie den Namen der Domain und die Beschreibung an, kopieren Sie die OCID, den Endpunkt Gerätehost, zeigen Sie das Compartment und den Zeitstempel der Domainerstellung an.
      Geräte-Host: <domain-short-id>.device.iot.<region>.oci.oraclecloud.com
    3. Greifen Sie auf die verschiedenen Ressourcen und Aufgaben zu, die mit der Domain verknüpft sind, indem Sie die Links oder Registerkarten auswählen. Beschreibungen der Domaineinstellungen finden Sie unter IoT-Domain erstellen
  • Verwenden Sie den Befehl oci iot domain get und den erforderlichen Parameter, um die Details einer IoT-Domain abzurufen, einschließlich des Gerätehosts mit der Domainkurz-ID:

    oci iot domain get --iot-domain-id <iot-domain-OCID>

    Eine vollständige Liste der Parameter und Werte für CLI-Befehle finden Sie in CLI-Befehlsreferenz.

  • Führen Sie den Vorgang GetIotDomain aus, um die Details einer Domain abzurufen.

Schritt 5: Daten senden

Senden Sie Beispieldaten an die im vorherigen Schritt 3: Digitale Zwillingsinstanz erstellen erstellte digitale Zwillingsinstanz.
  • Gerätebenutzername: Verwenden Sie external key aus der digitalen Zwillingsinstanz als Gerätebenutzername.
  • Gerätekennwort: Ist mit der Authentifizierungs-ID für die Instanz des digitalen Zwillings verknüpft. Wenn die Instanz des digitalen Zwillings eine Vault-Secret-OCID zur Authentifizierung verwendet, verwenden Sie den Secret-Inhalt im Klartext als Gerätekennwort. Informationen hierzu finden Sie unter Secret erstellen und Inhalt eines Secrets abrufen. Die Verwendung eines Vault Secrets als Gerätekennwort wird nur zum Testen und nicht zur Produktion empfohlen.
Im folgenden Beispiel wird zur Authentifizierung ein Secret verwendet. Alternativ sollte die Instanz des digitalen Zwillings für die Produktion ein mTLS-Zertifikat zur Authentifizierung verwenden.
  • Curl verwenden

    Shells im POSIX-Stil: Verwenden Sie diesen Befehl curl, wenn Sie bash, zsh, macOS-Terminal, Linux oder Git Bash unter Windows verwenden.
    curl 
      -u '<digital-twin-instance-external-key>:<device-password>' \
      -H 'Content-Type: text/plain' \
      -d 'sample data 1' \
      'https://<iot-domain-short-id>.device.iot.<region>.oci.oraclecloud.com/sampletopic'

    Windows Powershell: Verwenden Sie diesen curl-Befehl in diesem Beispiel mit -G, um eine GET-Anforderung zu erstellen und alle mit --data-urlencode bereitgestellten Daten als Abfrageparameter an die URL anzuhängen. Sie können auch die Umgebungsvariablen verwenden.

    curl.exe -u "<digital-twin-instance-external-key>:<device-password>" `
      -H "Content-Type: text/plain" `
      -d "sample data 1" `
      "https://<iot-domain-short-id>.device.iot.<region>.oci.oraclecloud.com/sampletopic"

    Wenn Sie Schritt 3: Digitale Zwillingsinstanz erstellen abgeschlossen haben und den Parameterwert des externen Schlüssels mit Anführungszeichen definiert haben, müssen Sie die Anführungszeichen beim Senden der Daten angeben: "external-key". Best Practices für die Angebotserstellung finden Sie unter Fehlerbehebung.

  • Verwenden Sie einen beliebigen MQTT-Client. In diesem Beispiel wird MQTTX mit den folgenden Einstellungen verwendet.
    1. Laden Sie MQTTX herunter, und richten Sie es ein. Befolgen Sie diese Anweisungen unter Erste Schritte mit MQTTX. Öffnen Sie MQTTX.
    2. Wählen Sie + Neue Verbindung aus, um eine neue Verbindung zu erstellen.
    3. Geben Sie den Wert Externer Schlüssel <unique-id> als Benutzername ein. Den externen Schlüssel finden Sie in der Antwort oci iot digital-twin-instance create aus dem vorherigen Schritt 3: Digitale Zwillingsinstanz erstellen:
      "external-key": "<unique-id>"
    4. Geben Sie das Passwort für das Gerät ein. Wenn Sie mit Vault Secret testen, muss dies der Secret-Inhalt im Klartext sein. Oder verwenden Sie für eine sichere Produktionsumgebung ein mTLS-Zertifikat.
    5. Geben Sie den Host ein. Wählen Sie das Protokoll mqtts:// aus der Host-Dropdown-Liste, und geben Sie den Gerätehost <domain-short-id>.device.iot.<region>.oci.oraclecloud.com aus der Domain IoT ein.
    6. Geben Sie den Port ein. Beispiel: 8883
      Hinweis

      Derzeit wird MQTT Secure (MQTTS) nur über Port 8883 unterstützt.
    7. Schalten Sie SSL/TLS ein.
    8. Aktivieren Sie SSL Secure umschalten.
    9. Wählen Sie für das Zertifikat die Option CA-signiertes Serverzertifikat.
    10. Wenn Sie die MQTTX-Verbindung konfigurieren, stellen Sie sicher, dass Sie eine Verbindung mit einem clean session herstellen, und setzen Sie die Option Last-Will-Retain auf false, damit Clientabonnements beibehalten werden können, wenn das Gerät kurz getrennt wird.
    11. Setzen Sie Last Will QoS auf 1.
    12. Wählen Sie Verbinden aus.

    Nachdem Sie diese Schritte abgeschlossen haben, befindet sich eine digitale Zwillingsinstanz in der IoT-Plattform, die Daten von einem Gerät empfangen kann.