设置对象 IDs - AWS IoT SiteWise

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

设置对象 IDs

AWS IoT SiteWise 定义各种类型的永久对象,例如资产、资产模型、属性和层次结构。所有这些对象都有唯一的标识符,您可以使用这些标识符来检索、更新和删除它们。

AWS IoT SiteWise 为客户提供了不同的身份创建选项。 AWS IoT SiteWise 默认情况下,在创建对象时会为您生成一个。用户也可以为你的对象IDs提供自己的对象。

处理对象 UUIDs

中的每个永久性对象都 AWS IoT SiteWise 有一个UUID来标识它。例如,资产模型具有资产模型 ID,资产具有资产 ID,依此类推。此 ID 是在您创建对象时分配的,并且在对象的生命周期内保持不变。

创建新对象时,默认情况下会为您 AWS IoT SiteWise 生成一个唯一的 ID。您也可以在创建时以UUID格式提供自己的身份证。

注意

UUIDs对于相同的对象类型,在创建它的 AWS 区域内必须是全局唯一的。 AWS IoT SiteWise 自动为您生成 ID 时,它始终是唯一的。如果您选择自己的身份证,请确保它是唯一的。

例如,如果您通过调用创建新的资产模型 CreateAssetModel,则可以在请求的可选assetModelId字段UUID中提供自己的资产模型。

相比之下,如果您在请求assetModelId中省略,则 AWS IoT SiteWise 会UUID为新的资产模型生成。

使用外部 IDs

要以其他格式定义自己的 IDUUID,可以分配外部 ID。例如,如果您重复使用系统中未使用的 ID,或者为了更便于人阅读 AWS,则可以这样做。外部IDs有更灵活的格式。你可以使用它们在 AWS IoT SiteWise API操作中引用你的对象,否则你将使用UUID。

与一样UUIDs,每个外部 ID 在其上下文中都必须是唯一的。例如,不能有两个具有相同外部 ID 的资产模型。此外,与一样UUIDs,一个对象在其生命周期中只能有一个外部 ID,这是无法更改的。

外部和外部IDs之间的区别 UUIDs

外部IDs区别UUIDs在以下方面:

  • 每个对象都有一个UUID,但外部IDs是可选的。

  • AWS IoT SiteWise 从不生成外部IDs。这些都是你自己提供的。

  • 如果对象还没有 ID,则可以随时分配外部 ID。

外部格式 IDs

有效的外部 ID 具有以下属性:

  • 长度介于 2 到 128 个字符之间。

  • 第一个和最后一个字符必须是字母数字(A-Z、a-z、0-9)。

  • 除第一个和最后一个以外的字符必须是字母数字,或者是以下字符之一:_-.:

例如,外部 ID 必须符合以下正则表达式:

[a-zA-Z0-9][a-zA-Z0-9_\-.:]*[a-zA-Z0-9]+

使用外部引用对象 IDs

在许多地方你可以使用对象来引用对象UUID,如果有的话,你可以改用它的外部 ID。为此,请将外部 ID 附加到字符串externalId:中。

例如,假设您有一个资产模型,其UUID(资产模型 ID)为a1b2c3d4-5678-90ab-cdef-11111EXAMPLE,该模型还具有外部 ID myExternalIdDescribeAssetModel致电了解详情。您可以使用以下任一值作为的值assetModelId

  • 使用资产模型 ID (UUID) 本身:a1b2c3d4-5678-90ab-cdef-11111EXAMPLE

  • 使用外部 ID:externalId:myExternalId

aws iotsitewise describe-asset-model --asset-model-id a1b2c3d4-5678-90ab-cdef-11111EXAMPLE aws iotsitewise describe-asset-model --asset-model-id externalId:myExternalId
注意

externalId:缀本身不是外部 ID 的一部分。只有在为接受外部 ID UUIDs 或外部API操作提供外部 ID 时,才需要提供前缀IDs。例如,在查询或更新现有对象时提供前缀。

在为对象定义外部 ID 时(例如创建资产模型时),请不要包含前缀。

在许多API操作IDs中,你可以使用外部代替这种方式 AWS IoT SiteWise,但不是全部。UUIDs例如 GetAssetPropertyValue必须使用UUIDs;它不支持使用外部 ID。

要确定特定API操作是否支持此用法,请查阅《API参考资料》。