ProvisioningDeviceClient クラス

対称キーまたは X509 認証を使用してプロビジョニング サービスを使用してデバイスの登録を実行するために使用できるクライアント。

プロビジョニング クライアントを初期化します。

注: この初期化子は直接呼び出さないでください。 代わりに、 create_from_ で始まるクラス メソッドを使用して、クライアント オブジェクトを作成する必要があります。

継承
azure.iot.device.provisioning.abstract_provisioning_device_client.AbstractProvisioningDeviceClient
ProvisioningDeviceClient

コンストラクター

ProvisioningDeviceClient(pipeline)

パラメーター

名前 説明
pipeline
必須
<xref:azure.iot.device.provisioning.pipeline.MQTTPipeline>

プロビジョニング パイプライン オブジェクトのインスタンス。

メソッド

create_from_symmetric_key

対称キー認証を使用してプロビジョニング サービスを使用してデバイスの登録を実行するために使用できるクライアントを作成します。

create_from_x509_certificate

X509 証明書認証を使用してプロビジョニング サービスを使用してデバイスの登録を実行するために使用できるクライアントを作成します。

register

プロビジョニング サービスにデバイスを登録する

これは同期呼び出しです。つまり、登録プロセスが正常に完了するか、試行によってエラーが発生するまで、この関数は戻りません。 戻る前に、クライアントもプロビジョニング サービスから切断されます。 以前の登録の進行中に登録が試行されると、エラーがスローされる可能性があります。

デバイスが正常に登録されると、クライアントは操作できなくなります。

create_from_symmetric_key

対称キー認証を使用してプロビジョニング サービスを使用してデバイスの登録を実行するために使用できるクライアントを作成します。

create_from_symmetric_key(provisioning_host, registration_id, id_scope, symmetric_key, **kwargs)

パラメーター

名前 説明
provisioning_host
必須
str

Device Provisioning Service を実行しているホスト。 Azure portalの [概要] タブで、グローバル デバイス エンドポイントの文字列として確認できます。

registration_id
必須
str

Device Provisioning Service でデバイスを一意に識別するために使用される登録 ID。 登録 ID は英数字、小文字の文字列で、ハイフンを含む場合があります。

id_scope
必須
str

デバイスが登録する特定のプロビジョニング サービスを一意に識別するために使用される ID スコープ。 ID スコープは、ユーザーによって作成され、サービスによって生成され、不変であり、一意性を保証するときに、Device Provisioning Service に割り当てられます。

symmetric_key
必須
str

Device Provisioning Service でデバイスを認証するために共有アクセス署名トークンを作成するために使用されるキー。 [キーの自動生成] オプションを有効にして新しい登録を保存すると、既定では、Device Provisioning Service により既定の 32 バイトの長さで新しい対称キーが作成されます。 ユーザーは、16 バイトと 64 バイト以内で有効な Base64 形式でこのオプションを無効にすることで、登録用に独自の対称キーを提供できます。

server_verification_cert
必須
str

構成オプション。 信頼された証明書チェーン。 プロトコル ゲートウェイなど、非標準の信頼ルートを持つエンドポイントへの接続を使用する場合に必要です。

gateway_hostname
必須
str

構成オプション。 ゲートウェイ デバイスのゲートウェイ ホスト名。

websockets
必須

構成オプション。 既定値は False です。 websocket で MQTT を使用する場合は true に設定します。

cipher
必須
str または list(str)

構成オプション。 TLS/SSL の暗号スイート。"OpenSSL 暗号リスト形式" の文字列として、または暗号スイート文字列の一覧として使用します。

proxy_options
必須

プロキシ サーバー経由でトラフィックを送信するためのオプション。

keepalive
必須
int

ブローカーとの通信間の最大期間 (秒単位)。 他のメッセージが交換されていない場合は、クライアントがブローカーに ping メッセージを送信する速度を制御します。 指定しない場合は、既定値の 60 秒が使用されます。

戻り値

説明

対称キーを使用して登録できる ProvisioningDeviceClient インスタンス。

例外

説明
TypeError if given an unrecognized parameter.

create_from_x509_certificate

X509 証明書認証を使用してプロビジョニング サービスを使用してデバイスの登録を実行するために使用できるクライアントを作成します。

create_from_x509_certificate(provisioning_host, registration_id, id_scope, x509, **kwargs)

パラメーター

名前 説明
provisioning_host
必須
str

Device Provisioning Service を実行しているホスト。 Azure portalの [概要] タブで、グローバル デバイス エンドポイントの文字列として確認できます。

registration_id
必須
str

Device Provisioning Service でデバイスを一意に識別するために使用される登録 ID。 登録 ID は英数字、小文字の文字列で、ハイフンを含む場合があります。

id_scope
必須
str

ID スコープは、デバイスが登録する特定のプロビジョニング サービスを一意に識別するために使用されます。 ID スコープは、ユーザーによって作成され、サービスによって生成され、不変であり、一意性を保証するときに、Device Provisioning Service に割り当てられます。

x509
必須

x509 証明書。証明書を使用するには、登録オブジェクトに証明書 (ルート証明書または中間 CA 証明書のいずれか) が含まれている必要があります。 証明書が CER ファイルから取得される場合は、base64 エンコードされている必要があります。

server_verification_cert
必須
str

構成オプション。 信頼された証明書チェーン。 プロトコル ゲートウェイなど、非標準の信頼ルートを持つエンドポイントへの接続を使用する場合に必要です。

gateway_hostname
必須
str

構成オプション。 ゲートウェイ デバイスのゲートウェイ ホスト名。

websockets
必須

構成オプション。 既定値は False です。 websocket で MQTT を使用する場合は true に設定します。

cipher
必須
str または list(str)

構成オプション。 TLS/SSL の暗号スイート。"OpenSSL 暗号リスト形式" の文字列として、または暗号スイート文字列の一覧として使用します。

proxy_options
必須

プロキシ サーバー経由でトラフィックを送信するためのオプション。

keepalive
必須
int

ブローカーとの通信間の最大期間 (秒単位)。 他のメッセージが交換されていない場合は、クライアントがブローカーに ping メッセージを送信する速度を制御します。 指定しない場合は、既定値の 60 秒が使用されます。

戻り値

説明

X509 クライアント証明書を介して登録できる ProvisioningDeviceClient。

例外

説明
TypeError if given an unrecognized parameter.

register

プロビジョニング サービスにデバイスを登録する

これは同期呼び出しです。つまり、登録プロセスが正常に完了するか、試行によってエラーが発生するまで、この関数は戻りません。 戻る前に、クライアントもプロビジョニング サービスから切断されます。 以前の登録の進行中に登録が試行されると、エラーがスローされる可能性があります。

デバイスが正常に登録されると、クライアントは操作できなくなります。

register()

戻り値

説明

登録の結果を示す RegistrationResult。

例外

説明

資格情報が無効で、接続を確立できない場合は 。

接続を確立するとエラーが発生する場合は 。

実行中に接続が失われた場合は 。

接続がタイムアウトした場合は 。

実行中に予期しないエラーが発生した場合は 。

属性

provisioning_payload