

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS IoT SiteWise オブジェクト IDs を設定する
<a name="object-ids"></a>

 AWS IoT SiteWise は、アセット、アセットモデル、プロパティ、階層など、さまざまなタイプの永続オブジェクトを定義します。このようなオブジェクトには、取得、更新、削除に使用できる一意の識別子があります。

 AWS IoT SiteWise には、ID 作成のオプションが顧客ごとに異なります。 は、オブジェクト作成時にデフォルトで 1 つのオプション AWS IoT SiteWise を生成します。ユーザーは、独自の ID をオブジェクトに指定することもできます。

**Topics**
+ [オブジェクト UUID を操作する](#object-uuids)
+ [外部 ID を使用する](#external-ids)

## オブジェクト UUID を操作する
<a name="object-uuids"></a>

 のすべての永続オブジェクト AWS IoT SiteWise には、それを識別するための [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) があります。例えば、アセットモデルにはアセットモデル ID、アセットにはアセット ID などがあります。この ID は、オブジェクトの作成時に割り当てられ、オブジェクトの存続期間中は変更されません。

 新しいオブジェクトを作成すると、 はデフォルトで一意の ID AWS IoT SiteWise を生成します。作成時に独自の ID を UUID 形式で指定することもできます。

**注記**  
UUIDs は、作成された AWS リージョン内でグローバルに一意で、同じオブジェクトタイプに対して一意**である必要があります**。が ID を AWS IoT SiteWise 自動生成する場合、常に一意です。独自の ID を選択した場合は、一意であることを確認してください。

例えば、[CreateAssetModel](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_CreateAssetModel.html) を呼び出すことによって新しいアセットモデルを作成する場合、リクエストのオプションの `assetModelId` フィールドで独自の UUID を指定できます。

逆に、リクエストから `assetModelId` を省略すると、 AWS IoT SiteWise は新しいアセットモデルの UUID を生成します。

## 外部 ID を使用する
<a name="external-ids"></a>

UUID 以外の形式で独自の ID を定義するには、*外部 ID* を割り当てることができます。例えば、使用していないシステムで使用している ID を再利用する場合や AWS、人間が読み取れるようにする場合などです。外部 ID の形式はより柔軟です。これらを使用して、UUID を使用するような AWS IoT SiteWise API オペレーションでオブジェクトを参照できます。

 UUID と同様、各外部 ID はコンテキスト内で一意である必要があります。例えば、同じ外部 ID を持つ 2 つのアセットモデルを持つことはできません。また、UUID と同様、オブジェクトの存続期間中の外部 ID は 1 つだけであり、変更することはできません。

### 外部 ID と UUID の違い
<a name="external-ids-differences-from-uuid"></a>

外部 ID と UUID は以下の点で異なります。
+ すべてのオブジェクトは UUID を持ちますが、外部 ID はオプションです。
+ AWS IoT SiteWise は外部 IDsを生成しません。これらはユーザーが自分で指定します。
+ オブジェクトにまだない場合は、いつでも外部 ID を割り当てることができます。

### 外部 ID の形式
<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]+`

### 外部 ID を持つリファレンスオブジェクト
<a name="external-id-references"></a>

UUID を使用してオブジェクトを参照できる多くの場所では、外部 ID がある場合、外部 ID を代わりに使用できます。このためには、文字列 `externalId:` に外部 ID を追加します。

例えば、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 の一部ではありません。プレフィックスを指定する必要があるのは、UUID または外部 ID を受け入れる API オペレーションに外部 ID を指定するときだけです。例えば、既存のオブジェクトをクエリまたは更新するときにプレフィックスを指定します。  
アセットモデルの作成時など、オブジェクトの外部 ID を定義する場合は、プレフィックスを含めないでください。

この方法で UUIDs の代わりに外部 IDs を の多くの API オペレーションに使用できますが AWS IoT SiteWise、すべてではありません。例えば、[GetAssetPropertyValue](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_GetAssetPropertyValue.html) は UUID を使用する**必要があります**。これは外部 ID の使用をサポートしていません。

特定の API オペレーションがこの使用をサポートしているかどうかを確認するには、[API リファレンス](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_Operations.html)を参照してください。