ProvisioningDeviceClient 類別

用戶端,可用來使用對稱金鑰或 X509 驗證,透過布建服務來執行裝置註冊。

初始化布建用戶端。

注意:不應該直接呼叫這個初始化運算式。 相反地,開頭 為 create_from_ 的類別方法應該用來建立用戶端物件。

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

建構函式

ProvisioningDeviceClient(pipeline)

參數

名稱 Description
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)

參數

名稱 Description
provisioning_host
必要
str

執行裝置布建服務的主機。 您可以在 [概觀] 索引標籤的 [概觀] 索引標籤中找到作為字串全域裝置端點的 Azure 入口網站。

registration_id
必要
str

註冊識別碼,用來唯一識別裝置布建服務中的裝置。 註冊識別碼為英數位元、小寫字串,且可能包含連字號。

id_scope
必要
str

用來唯一識別裝置要註冊之特定布建服務的識別碼範圍。 識別碼範圍會在使用者建立且由服務產生且不可變且保證唯一性時指派給裝置布建服務。

symmetric_key
必要
str

用來建立共用存取簽章權杖的金鑰,以使用裝置布建服務驗證裝置。 在自動產生金鑰選項啟用的情況下儲存新的註冊項目時,裝置佈建服務預設會建立預設長度為 32 位元組的新對稱金鑰。 使用者可以藉由在 16 個位元組和 64 個位元組和有效的 Base64 格式內停用此選項,為註冊提供自己的對稱金鑰。

server_verification_cert
必要
str

組態選項。 受信任的憑證鏈結。 使用連線到具有非標準根信任目錄的端點時,例如通訊協定閘道時的必要專案。

gateway_hostname
必要
str

組態選項。 閘道裝置的閘道主機名稱。

websockets
必要

組態選項。 預設值是 False。 如果透過 Websocket 使用 MQTT,請將 設定為 true。

cipher
必要
strlist(str)

組態選項。 加密套件 (TLS/SSL 的) ,以 「OpenSSL 加密清單格式」 或加密套件字串清單作為字串。

proxy_options
必要

透過 Proxy 伺服器傳送流量的選項。

keepalive
必要
int

與訊息代理程式通訊之間以秒為單位的最大期間。 如果沒有交換其他訊息,這會控制用戶端將傳送 Ping 訊息給訊息代理程式的速度。 如果未提供預設值 60 秒,則會使用 。

傳回

類型 Description

可透過對稱金鑰註冊的 ProvisioningDeviceClient 實例。

例外狀況

類型 Description
TypeError if given an unrecognized parameter.

create_from_x509_certificate

建立用戶端,此用戶端可用來使用 X509 憑證驗證,透過布建服務執行裝置註冊。

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

參數

名稱 Description
provisioning_host
必要
str

執行裝置布建服務的主機。 您可以在 [概觀] 索引標籤的 [概觀] 索引標籤中找到作為字串全域裝置端點的 Azure 入口網站。

registration_id
必要
str

註冊識別碼,用來唯一識別裝置布建服務中的裝置。 註冊識別碼為英數位元、小寫字串,且可能包含連字號。

id_scope
必要
str

識別碼範圍可用來唯一識別裝置將註冊的特定布建服務。 識別碼範圍會在使用者建立且由服務產生且不可變且保證唯一性時指派給裝置布建服務。

x509
必要

x509 憑證:若要使用憑證,註冊物件必須包含根憑證或其中一個中繼 CA 憑證) 憑證 (憑證。 如果憑證來自 CER 檔案,則必須進行 base64 編碼。

server_verification_cert
必要
str

組態選項。 受信任的憑證鏈結。 使用連線到具有非標準根信任目錄的端點時,例如通訊協定閘道時的必要專案。

gateway_hostname
必要
str

組態選項。 閘道裝置的閘道主機名稱。

websockets
必要

組態選項。 預設值是 False。 如果透過 Websocket 使用 MQTT,請將 設定為 true。

cipher
必要
strlist(str)

組態選項。 加密套件 (TLS/SSL 的) ,以 「OpenSSL 加密清單格式」 或加密套件字串清單作為字串。

proxy_options
必要

透過 Proxy 伺服器傳送流量的選項。

keepalive
必要
int

與訊息代理程式通訊之間以秒為單位的最大期間。 如果沒有交換其他訊息,這會控制用戶端將傳送 Ping 訊息給訊息代理程式的速度。 如果未提供預設值 60 秒,則會使用 。

傳回

類型 Description

ProvisioningDeviceClient,可透過 X509 用戶端憑證註冊。

例外狀況

類型 Description
TypeError if given an unrecognized parameter.

register

向布建服務註冊裝置

這是同步呼叫,這表示在註冊程式成功完成或嘗試導致失敗之前,此函式不會傳回。 在傳回之前,用戶端也會中斷與布建服務的連接。 如果在先前的註冊進行中時嘗試註冊,可能會擲回錯誤。

成功註冊裝置之後,用戶端將無法再運作。

register()

傳回

類型 Description

RegistrationResult,指出註冊的結果。

例外狀況

類型 Description

如果認證無效且無法建立連線,則為 。

如果建立連接會導致失敗。

如果在執行期間遺失連線,則為 。

如果連線逾時,則為 。

如果在執行期間發生非預期的失敗,則為 。

屬性

provisioning_payload