シナリオ: HTTPSまたはMQTTSを使用した非構造化データの送信
このシナリオでは、Internet of Thingsプラットフォームを使用してデバイスを接続し、HTTPSまたはMQTTSを使用して非構造化テレメトリ・データをクラウドに送信する方法と、APEXまたはデータベース内で直接データを表示する方法について説明します。
デジタル・ツイン・モデルなしでデジタル・ツイン・インスタンスを作成し、HTTPSまたはMQTTSを介して非構造化テレメトリを送信してから、メッセージがRAWデータとして使用可能であることを確認します。
タスク
ステップ1: IoTドメイン・グループの作成
既存のIoTドメイン・グループを使用するか、このシナリオのコンパートメントに作成します。
IoTドメイン・グループの作成のコンソールの手順に従います。
oci iot domain-group createコマンドを使用します:
oci iot domain-group create \ --compartment-id <compartment-OCID> \ --display-name <domain-group-name>CreateIotDomainGroup操作を実行し、コンパートメントと表示名を設定します。
ステップ2: IoTドメインの作成
同じリージョンにIoTドメインを作成し、それをドメイン・グループに関連付けます。IoTドメインOCIDおよびデバイス・ホストをレスポンスから保存します。
IoTドメインの作成のコンソールの手順に従います。
oci iot domain createコマンドを使用します:
oci iot domain create \ --compartment-id <compartment-OCID> \ --iot-domain-group-id <iot-domain-group-OCID> \ --display-name <iot-domain-name>CreateIotDomain操作を実行し、リクエストをIoTドメイン・グループに関連付けます。
ステップ3: デジタル・ツイン・インスタンスの作成
モデルまたはアダプタなしで直接接続されたデジタル・ツイン・インスタンスを作成します。インスタンスがデバイス・データを受信するため、認証IDを設定します。テストの場合は、ボールト・シークレットを作成および使用します。本番環境では、mTLS証明書を使用します。
インスタンスOCIDまたは外部キーを作成後に検索するには、デジタル・ツインのインスタンス詳細の取得を参照してください。
「デジタル・ツイン・インスタンスの作成」のコンソールの手順に従います。「直接接続」を選択し、アダプタを選択せず、認証OCIDを選択または貼り付けます。
oci iot digital-twin-instance createコマンドを使用します:
oci iot digital-twin-instance create \ --iot-domain-id <iot-domain-OCID> \ --display-name <display-name> \ --auth-id <secret-or-certificate-OCID>返されたインスタンスのOCIDおよび外部キーを保存します。
CreateDigitalTwinInstance操作を実行します。IoTドメインおよび認証IDを設定し、デジタル・ツイン・アダプタIDを省略します。
ステップ4: データの送信
インスタンスの外部キーをデバイスのユーザー名として使用します。ボールト・シークレットを使用してテストする場合は、そのプレーン・テキストの内容をデバイス・パスワードとして使用します。
インスタンスOCIDまたは外部キーを作成後に検索するには、デジタル・ツインのインスタンス詳細の取得を参照してください。デバイス・ホスト・エンドポイントを検索するには、IoTドメインの詳細の取得を参照してください。
IoTドメインのデバイス・ホストのトピックにプレーン・テキスト・メッセージを投稿します:
curl -i -X POST \ -u "<digital-twin-instance-external-key>:<secret-contents>" \ -H "Content-Type: text/plain" \ -d "sample data 1" \ "https://<iot-domain-short-id>.device.iot.<region>.oci.oraclecloud.com/sampletopic"MQTTXまたは別のMQTTクライアントを使用します。
- ポート
8883のMQTTSを介して<iot-domain-short-id>.device.iot.<region>.oci.oraclecloud.comに接続します。 - デジタル・ツイン・インスタンスの外部キーをユーザー名として使用し、デバイス資格証明をパスワードとして使用します。
- SSL/TLSを有効にし、CA署名付きサーバー証明書を使用します。
- コンテンツ・タイプ
text/plainおよびQoS 1でsample data 1を/sampletopicに公開します。
- ポート
ステップ5: RAWデータの表示
RAWデータを表示する場所を選択します。各オプションには、独自のデータ・アクセス構成が必要です。
Internet of ThingsデータAPIをコールする前に、ORDSでデータへのアクセスを構成し、データ・ホストのOAuthアクセス・トークンを取得します。
Internet of ThingsデータAPIを使用して、
rawデータを取得します。この例では、IoTドメイン・グループ・データ・ホストからのRAWテレメトリをリストし、デジタル・ツイン・インスタンスOCIDでフィルタします。curl \ -H "Authorization: Bearer <token>" \ -X GET \ "https://<domain-group-short-id>.data.iot.<region>.oci.oraclecloud.com/ords/<domain-short-id>/20250531/rawData?q={\"$and\":[{\"digital_twin_instance_id\":\"<digital-twin-instance-OCID>\"}]}"APEXを使用する前に、シナリオ: APEXへのIoTデータの接続を完了します。
-
IoTのAPEX URLに移動します:
https://<domain-group-data-host>/ords/apex/デバイス・ホストのドメイン短縮IDを使用してサインインします。
device-host:<domain-short-id>.device.iot.<region>.oci.oraclecloud.com- ワークスペース:
<domain-short-id-from-device-host>__WKSP - ユーザー名:
<domain-short-id-from-device-host>__WKSP - パスワード: IoTドメインのAPEXデータ・アクセスの構成時に設定した初期APEXパスワードを入力します。
ノート
__WKSPと__IOTの2つのアンダースコアに注意してください。 - ワークスペース:
-
IoTデータを問い合せるには、
<domain-short-id-from-device-host>__IOTスキーマを選択します。「SQLワークショップ」を選択し、「オブジェクト・ブラウザ」を選択します。SQLワークショップURL:
https://<domain-group-data-host>/ords/apex/sql-workshop - 正しいスキーマを選択したことを確認し、次のSQL文を実行します。
select * from RAW_DATAこれで、接続されたデバイスのデータベース・スキーマ、ビューおよびRAWデータを表示できます。
大きなスクリーンショットを表示するには、画像を右クリックして、新しいブラウザウィンドウで開きます。

-
データベースでIoTデータを直接問い合せる前に、シナリオ: IoTデータベースへの直接接続を完了してください。
<domain-short-id-from-device-host>をデバイス・ホストのドメイン短縮IDに置き換えます。<digital-twin-instance-OCID>を、RAWデータを表示するデジタル・ツイン・インスタンスのOCIDに置き換えます。IoTドメインの
<domain-short-id-from-device-host>を取得するには、操作するIoTドメインの詳細を取得します。ノート
スキーマ名には、__IOTという2つのアンダースコアが含まれています。select * from <domain-short-id-from-device-host>__IOT.RAW_DATA where digital_twin_instance_id = '<digital-twin-instance-OCID>';