

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 設定 AWS IoT SiteWise 物件 IDs
<a name="object-ids"></a>

 AWS IoT SiteWise 定義各種類型的持久性物件，例如資產、資產模型、屬性和階層。所有這類物件都有唯一識別符，您可以用來擷取、更新和刪除它們。

 AWS IoT SiteWise 有不同的選項可供客戶建立 ID。預設會在物件建立時為您 AWS IoT SiteWise 產生一個選項。使用者也可以提供自己的 IDs給您的物件。

**Topics**
+ [使用物件 UUIDs](#object-uuids)
+ [使用外部 IDs](#external-ids)

## 使用物件 UUIDs
<a name="object-uuids"></a>

 中的每個持久性物件 AWS IoT SiteWise 都有 [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) 來識別它。例如，資產模型具有資產模型 ID，資產具有資產 ID，以此類推。此 ID 會在您建立物件時指派，並在物件的生命週期內保持不變。

 當您建立新的物件時， 預設會為您 AWS IoT SiteWise 產生唯一的 ID。您也可以在建立時以 UUID 格式提供自己的 ID。

**注意**  
UUIDs建立該 UUID AWS 的區域中，以及針對相同物件類型，**必須是**全域唯一的。當 AWS IoT SiteWise 為您自動產生 ID 時，一律是唯一的。如果您選擇自己的 ID，請確定其是唯一的。

例如，如果您透過呼叫 [CreateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html) 建立新的資產模型，您可以在請求的選用`assetModelId`欄位中提供自己的 UUID。

相反地，如果您`assetModelId`省略請求， 會為新的資產模型 AWS IoT SiteWise 產生 UUID。

## 使用外部 IDs
<a name="external-ids"></a>

若要以 UUID 以外的某些格式定義您自己的 ID，您可以指派*外部 ID*。例如，如果您重複使用在非 系統中使用的 ID AWS，或更易於人類閱讀，則可以執行此操作。外部 IDs的格式更靈活。您可以使用它們在 API 操作中 AWS IoT SiteWise 參考物件，否則會使用 UUID。

 如同 UUIDs，每個外部 ID 在其內容中必須是唯一的。例如，您不能有兩個具有相同外部 ID 的資產模型。此外，與 UUIDs一樣，物件在其生命週期內只能有一個外部 ID，這無法變更。

### 外部 IDs和 UUIDs之間的差異
<a name="external-ids-differences-from-uuid"></a>

外部 IDs與 UUIDs的差別如下：
+ 每個物件都有 UUID，但外部 IDs是選用的。
+ AWS IoT SiteWise 永遠不會產生外部 IDs。您自行提供這些項目。
+ 如果物件還沒有，您可以隨時指派外部 ID。

### 外部 IDs的格式
<a name="external-id-format"></a>

有效的外部 ID 具有下列屬性：
+ 長度介於 2 到 128 個字元之間。
+ 第一個和最後一個字元必須是英數字元 (A-Z、a-z、0-9)。
+ 第一個和最後一個以外的字元必須是英數字元，或下列其中一項： `_-.:`

例如，外部 ID 必須符合下列規則表達式：

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

### 參考具有外部 IDs物件
<a name="external-id-references"></a>

在許多您可以使用其 UUID 參考物件的地方，您可以改用其外部 ID，如果有的話。若要這樣做，請將外部 ID 附加至字串 `externalId:`。

例如，假設您有 UUID （資產模型 ID) 為 的資產模型`a1b2c3d4-5678-90ab-cdef-11111EXAMPLE`，其外部 ID 也是 `myExternalId`。呼叫 [DescribeAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAssetModel.html) 以取得詳細資訊。您可以使用下列其中一項做為 的值`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或外部 IDs 的 API 操作時，才需要提供 字首。例如，當您查詢或更新現有物件時，請提供 字首。  
當您定義物件的外部 ID 時，例如當您建立資產模型時，請勿包含 字首。

對於 中的許多 API 操作，您可以使用外部 IDs 來取代 UUIDs AWS IoT SiteWise，但不是全部。例如，[GetAssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_GetAssetPropertyValue.html) **必須使用** UUIDs它不支援外部 ID 用量。

若要判斷特定 API 操作是否支援此用量，請參閱 [API 參考](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Operations.html)。