快速入门:使用 Python 服务 SDK 创建 DPS 注册

在本快速入门中,你将以编程方式在 Azure IoT 中心设备预配服务 (DPS) 中创建单个设备注册。 Python 预配服务 SDK 将用于创建注册。

先决条件

重要

本文仅适用于已弃用的 V1 Python SDK。 V2 中尚不提供用于 IoT 中心设备预配服务的设备和服务客户端。 该团队目前正在努力使 V2 具有功能奇偶一致性。

准备环境

  1. 下载并安装 Python 2.x 或 3.x。 请确保根据安装程序的要求,使用 32 位或 64 位安装。 在安装过程中出现提示时,请确保将 Python 添加到特定于平台的环境变量中。

  2. 对于 Python 预配服务 SDK,请选择以下选项之一:

  3. 本主题演示了以下选项卡中的对称密钥和 TPM 注册。

    对于对称密钥设备注册,需要设备的主密钥和辅助密钥。 如果你没有有效的对称密钥,可以在本例中使用以下示例密钥:

    主对称密钥

    UmorGiEVPNIQuaWGXXbe8v9gWayS7XtOZmNMo6DEaEXP65GvhuK3OeRf8RVZ9BymBCHxNg3oRTey0pUHUwwYKQ==
    

    辅助对称密钥

    Zx8/eE7PUBmnouB1qlNQxI7fcQ2HbJX+y96F1uCVQvDj88jFL+q6L9YWLLi4jqTmkRPOulHlSbSv2uFgj4vKtw==
    

修改 Python 示例代码

本节演示如何向示例代码添加单个注册的预配详细信息。

  1. 使用文本编辑器,新建一个 Enrollment.py 文件。

  2. 在 Enrollment.py 文件的开头添加以下 import 语句和变量。 然后,将 dpsConnectionString 替换为你的连接字符串,该字符串位于 Azure 门户设备预配服务的“共享访问策略” 下。 将设备的密钥替换为此前在准备环境中记录的值。 最后,创建唯一的 registrationid,确保其只包含小写字母数字和连字符。

    from provisioningserviceclient import ProvisioningServiceClient
    from provisioningserviceclient.models import IndividualEnrollment, AttestationMechanism
    from provisioningserviceclient.protocol.models import SymmetricKeyAttestation
    
    CONNECTION_STRING = "Enter your DPS connection string"
    PRIMARY_KEY = "Add a valid key"
    SECONDARY_KEY = "Add a valid key"
    REGISTRATION_ID = "Enter a registration ID"
    
  1. 添加以下函数和函数调用,以实现单个注册的创建:

    def main():
        print ( "Starting individual enrollment..." )
    
        psc = ProvisioningServiceClient.create_from_connection_string(CONNECTION_STRING)
    
        symAtt = SymmetricKeyAttestation(primary_key=PRIMARY_KEY, secondary_key=SECONDARY_KEY)
        att = AttestationMechanism(type="symmetricKey", symmetric_key=symAtt)
        ie = IndividualEnrollment.create(REGISTRATION_ID, att)
    
        ie = psc.create_or_update(ie)
    
        print ( "Individual enrollment successful." )
    
    if __name__ == '__main__':
        main()
    
  1. 保存并关闭 Enrollment.py 文件。

运行示例以创建注册

  1. 打开命令提示符并运行此脚本。

    python Enrollment.py
    
  2. 观察成功注册后的输出。

  3. 在 Azure 门户中导航到预配服务。 选择“管理注册”。 请注意,设备注册显示在“单个注册”选项卡下,使用的名称 registrationid 是以前创建的。

    Verify successful TPM enrollment in portal

清理资源

如果打算学习 Java 服务示例,请勿清理本快速入门中创建的资源。 如果不打算继续学习,请按以下步骤删除本快速入门中创建的所有资源。

  1. 关闭计算机上的 Python 示例输出窗口。
  2. 如果已创建模拟的 TPM 设备,请关闭 TPM 模拟器窗口。
  3. 在 Azure 门户中导航到你的设备预配服务,选择“管理注册”,然后选择“单个注册”选项卡。 选中通过本快速入门创建的注册项的“注册 ID”旁边的复选框,然后按窗格顶部的“删除”按钮 。

后续步骤

在本快速入门中,你以编程方式为设备创建了单个注册条目。 若要深入了解设备预配,请继续学习本教程有关如何在 Azure 门户中进行设备预配服务设置的内容。