快速入门:使用 Python 预配服务 SDK 将 TPM 设备注册到 IoT 中心设备预配服务

在本快速入门中,你将借助示例 Python 应用程序,使用 Python 预配服务 SDK 以编程方式在 Azure IoT 中心设备预配服务中为 TPM 设备创建单个注册。

先决条件

重要

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

准备环境

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

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

  3. 需要适用于设备的认可密钥。 如果已按照创建和预配模拟的设备快速入门教程创建模拟的 TPM 设备,请使用为该设备创建的密钥。 否则,可以使用 SDK 随附的以下认可密钥:

    AToAAQALAAMAsgAgg3GXZ0SEs/gakMyNRqXXJP1S124GUgtk8qHaGzMUaaoABgCAAEMAEAgAAAAAAAEAtW6MOyCu/Nih47atIIoZtlYkhLeCTiSrtRN3q6hqgOllA979No4BOcDWF90OyzJvjQknMfXS/Dx/IJIBnORgCg1YX/j4EEtO7Ase29Xd63HjvG8M94+u2XINu79rkTxeueqW7gPeRZQPnl1xYmqawYcyzJS6GKWKdoIdS+UWu6bJr58V3xwvOQI4NibXKD7htvz07jLItWTFhsWnTdZbJ7PnmfCa2vbRH/9pZIow+CcAL9mNTNNN4FdzYwapNVO+6SY/W4XU0Q+dLMCKYarqVNH5GzAWDfKT8nKzg69yQejJM8oeUWag/8odWOfbszA+iFjw3wVNrA5n8grUieRkPQ==
    

修改 Python 示例代码

此部分演示如何向示例代码添加 TPM 设备的预配详细信息。

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

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

    from provisioningserviceclient import ProvisioningServiceClient
    from provisioningserviceclient.models import IndividualEnrollment, AttestationMechanism
    
    CONNECTION_STRING = "{dpsConnectionString}"
    
    ENDORSEMENT_KEY = "{endorsementKey}"
    
    REGISTRATION_ID = "{registrationid}"
    
  3. 添加以下函数和函数调用,以便执行组注册创建操作:

    def main():
        print ( "Starting individual enrollment..." )
    
        psc = ProvisioningServiceClient.create_from_connection_string(CONNECTION_STRING)
    
        att = AttestationMechanism.create_with_tpm(ENDORSEMENT_KEY)
        ie = IndividualEnrollment.create(REGISTRATION_ID, att)
    
        ie = psc.create_or_update(ie)
    
        print ( "Individual enrollment successful." )
    
    if __name__ == '__main__':
        main()
    
  4. 保存并关闭 TpmEnrollment.py 文件。

运行示例 TPM 注册

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

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

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

    验证是否已在门户中成功完成 TPM 注册

清理资源

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

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

后续步骤

本快速入门介绍了如何以编程方式为 TPM 设备创建单个注册项,以及如何选择性地在计算机上创建 TPM 模拟设备,并使用 Azure IoT 中心设备预配服务将其预配到 IoT 中心。 若要深入了解设备预配,请继续学习本教程有关如何在 Azure 门户中进行设备预配服务设置的内容。