

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

# でデータストレージを管理する AWS IoT SiteWise
<a name="manage-data-storage"></a>

データを次のストレージ階層に保存 AWS IoT SiteWise するように を設定できます。

**ホット階層**  
 ホットストレージ階層はマネージド AWS IoT SiteWise 時系列ストレージです。ホット階層は、書き込みから読み取りまでのレイテンシーが低く、頻繁にアクセスされるデータに最も効果的です。ホット階層に保存されているデータは、機器内の測定値の最新値にすばやくアクセスする必要がある産業アプリケーションで使用されます。これには、インタラクティブなダッシュボードを備え、リアルタイムメトリクスを視覚化するアプリケーションや、オペレーションをモニタリングし、アラームを起動してパフォーマンスの問題を特定するアプリケーションが含まれます。  
デフォルトでは、 に取り込まれたデータはホット階層に AWS IoT SiteWise 保存されます。ホット階層の保持期間を定義できます。その後、 は設定に基づいてホット階層内のデータをウォームまたはコールド階層のストレージ AWS IoT SiteWise に移動します。最高のパフォーマンスとコスト効率のためには、ホット階層の保持期間を、データの頻繁な取得にかかる時間よりも長く設定します。これは、リアルタイムメトリクス、アラーム、およびモニタリングシナリオで使用されます。保持期間が設定されていない場合、データはホット階層に無期限に保存されます。

**ウォーム階層**  
 ウォームストレージ階層は、履歴データのコスト効率の高いストレージに効果的な AWS IoT SiteWise マネージド階層です。これは、書き込みから読み取りまでのレイテンシー特性が中程度の大量のデータを取得するのに最適です。ウォーム階層を使用して、大規模なワークロードに必要な履歴データを保存します。例えば、分析、ビジネスインテリジェンスアプリケーション (BI)、レポートツール、機械学習 (ML) モデルのトレーニングのためのデータ取得に使用されます。コールドストレージ階層を有効にすると、ウォーム階層の保持期間を定義できます。保持期間が終了すると、 はウォーム階層からデータ AWS IoT SiteWise を削除します。

**コールド階層**  
コールドストレージ階層は、Amazon S3 バケットを使用して、ほとんど使用されないデータを保存します。コールド階層を有効にすると、 AWS IoT SiteWise は測定値、メトリクス、変換と集計、アセットモデル定義などの時系列を 6 時間ごとにレプリケートします。コールド階層は、履歴レポートとバックアップの読み取りレイテンシーが高くてもよいデータを保存するために使用されます。

**Topics**
+ [でストレージ設定を構成する AWS IoT SiteWise](configure-storage.md)
+ [のストレージ設定のトラブルシューティング AWS IoT SiteWise](troubleshoot-storage-configuration.md)
+ [Cold 階層に保存されたデータのファイルパスとスキーマ](file-path-and-schema.md)

# でストレージ設定を構成する AWS IoT SiteWise
<a name="configure-storage"></a>

サービスマネージドウォーム階層ストレージにオプトインするように、またコールド階層にデータをレプリケートするように、ストレージ設定を構成できます。ウォーム階層とホット階層の保持期間の詳細については、「[データ保持の影響](#retention-period)」を参照してください。ストレージ設定を構成するときは、次の操作を行います。
+  **ホット階層の保持** — データが削除される前にホット階層に保存され、ストレージ設定に基づいてサービスマネージドウォーム階層ストレージまたはコールド階層ストレージに移動される期間、保持期間を設定します。 AWS IoT SiteWise は、保持期間が終了する前に存在していたホット階層内のデータをすべて削除します。保持期間を設定しなかった場合、データはホット階層に無期限に保存されます。
+  **ウォーム階層の保持** — AWS IoT SiteWise ストレージから削除されてカスタマー管理のコールド階層ストレージに移動する前に、ウォーム階層にデータを保存する期間を設定します。 は、保持期間が終了する前に存在していたウォーム階層からすべてのデータ AWS IoT SiteWise を削除します。保持期間が設定されていない場合、データはウォーム階層に無期限に保存されます。

**注記**  
クエリのパフォーマンスを向上させるには、ウォーム階層ストレージとともにホット階層の保持期間を設定します。

## ホットおよびウォーム階層ストレージにおけるデータ保持の影響
<a name="retention-period"></a>
+  ホット階層ストレージの保持期間を短縮すると、データはホット階層からウォーム階層またはコールド階層に完全に移動されます。ウォーム階層の保持期間を短くすると、データはコールド階層に移動され、ウォーム階層から完全に削除されます。
+  ホット階層またはウォーム階層ストレージの保持期間を長くすると、その変更によって AWS IoT SiteWise から に送信されるデータに影響します。 AWS IoT SiteWise は、ホット階層に入力するためにウォームストレージまたはコールドストレージからデータを取得しません。例えば、ホット階層ストレージの保持期間が最初に 30 日間に設定され、その後 60 日間に延長された場合、ホット階層ストレージに 60 日分のデータが含まれるまでに 30 日かかります。

**Topics**
+ [ホットおよびウォーム階層ストレージにおけるデータ保持の影響](#retention-period)
+ [ウォーム階層のストレージ設定を構成する (コンソール)](#configure-storage-console-warm)
+ [ウォーム階層のストレージ設定を構成する (AWS CLI)](#configure-storage-cli-warm)
+ [コールド階層のストレージ設定を構成する (コンソール)](#configure-storage-console)
+ [コールド階層のストレージ設定を構成する (AWS CLI)](#configure-storage-cli)

## ウォーム階層のストレージ設定を構成する (コンソール)
<a name="configure-storage-console-warm"></a>

次の手順では、 AWS IoT SiteWise コンソールのウォーム階層にデータをレプリケートするようにストレージ設定を構成する方法を示します。

**コンソールでストレージの設定を設定するには**

1. [AWS IoT SiteWise コンソール](https://console.aws.amazon.com/iotsitewise/)に移動します。

1. ナビゲーションペインで **[設定]** の **[ストレージ]** を選択します。

1. 右上隅の**[編集]** を選択します。

1. **[ストレージを編集]** ページで、次の作業を行います:

1. **[ホット階層設定]** では、以下を行います。
   + ホット階層のデータの保持期間 (この期間に達するとデータは削除される) を設定する場合は、**[保持期間を有効化]** を選択します。
   +  保持期間を設定するには、整数を入力して単位を選択します。保持期間は、30 日以上にする必要があります。

   AWS IoT SiteWise は、保持期間より古いホット階層内のデータをすべて削除します。保持期間を設定しなかった場合、データは無期限に保存されます。

1. (推奨) **[ウォーム階層設定]** では、以下を実行します。
   + ウォーム階層ストレージにオプトインするには、**[ウォーム階層ストレージのオプトインを確認します]** を選択して、ウォーム階層ストレージにオプトインします。
   +  (オプション) 保持期間を設定するには、整数を入力し、単位を選択します。保持期間は、365 日以上にする必要があります。

   AWS IoT SiteWise は、保持期間より前に存在していたウォーム階層内のデータを削除します。保持期間を設定しなかった場合、データは無期限に保存されます。
**注記**  
ウォーム階層にオプトインすると、設定は 1 回のみ表示されます。
ホット階層の保持を設定するには、ウォーム階層ストレージまたはコールド階層ストレージが必要です。コスト効率と履歴データの取得のために、 AWS IoT SiteWise では、長期データをウォーム階層に保存することをお勧めします。
ウォーム階層の保持を設定するには、コールド階層ストレージが必要です。

1. 設定を保存するには、**[保存]** を選択します。

**[AWS IoT SiteWise ストレージ]** セクションでは、**[ウォーム階層ストレージ]** は次のいずれかの状態です。
+ **[有効]** – ホット階層の保持期間より前にデータが存在している場合、 AWS IoT SiteWise はデータをウォーム階層に移動します。
+ **[無効]** – ウォーム階層ストレージは無効です。

## ウォーム階層のストレージ設定を構成する (AWS CLI)
<a name="configure-storage-cli-warm"></a>

 AWS CLI および次のコマンドを使用して、ウォーム階層にデータを移動するようにストレージ設定を設定できます。

既存の設定が上書きされないように、次のコマンドを実行して、現在のストレージ設定情報を取得します。

```
aws iotsitewise describe-storage-configuration
```

**Example 既存のコールド階層設定のないレスポンス**  

```
{
          "storageType": "SITEWISE_DEFAULT_STORAGE",
          "disassociatedDataStorage": "ENABLED",
          "configurationStatus": {
              "state": "ACTIVE"
          },
          "lastUpdateDate": "2021-10-14T15:53:35-07:00",
          "warmTier": "DISABLED"
}
```

**Example 既存のコールド階層設定のあるレスポンス**  

```
{             
      "storageType": "MULTI_LAYER_STORAGE",
          "multiLayerStorage": {
            "customerManagedS3Storage": {
            "s3ResourceArn": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/",
            "roleArn": "arn:aws:iam::aws-account-id:role/role-name"
            }
          },
      "disassociatedDataStorage": "ENABLED",
      "retentionPeriod": {
      "numberOfDays": retention-in-days
      },
       "configurationStatus": {
       "state": "ACTIVE"
      },
      "lastUpdateDate": "2023-10-25T15:59:46-07:00",
      "warmTier": "DISABLED"
}
```

### でウォーム階層のストレージ設定を構成する AWS CLI
<a name="configure-storage-cli-warm-tier"></a>

ストレージ設定を構成するには、次のコマンドを実行します。を、 AWS IoT SiteWise ストレージ設定を含むファイルの名前`file-name`に置き換えます。

```
aws iotsitewise put-storage-configuration --cli-input-json file://file-name.json
```

**Example AWS IoT SiteWise ホット階層とウォーム階層を使用した設定**  

```
{
             "storageType": "SITEWISE_DEFAULT_STORAGE",
             "disassociatedDataStorage": "ENABLED",
             "warmTier": "ENABLED",
             "retentionPeriod": {
                "numberOfDays": hot-tier-retention-in-days
              } 
              
}
```
`hot-tier-retention-in-days` は 30 日以上の整数である必要があります。

**Example response**  

```
{
             "storageType": "SITEWISE_DEFAULT_STORAGE",
             "configurationStatus": {
             "state": "UPDATE_IN_PROGRESS"
             }
}
```

コールド階層ストレージが有効になっている場合は、「[AWS CLI および既存のコールド階層を使用してストレージ設定を構成する](#configure-storage-cli-existing-cold)」を参照してください。

### AWS CLI および既存のコールド階層を使用してストレージ設定を構成する
<a name="configure-storage-cli-existing-cold"></a>

**既存のコールド階層ストレージ AWS CLI で を使用してストレージ設定を構成する**
+ ストレージ設定を構成するには、次のコマンドを実行します。*file-name* を、 AWS IoT SiteWise ストレージの設定を含むファイルの名前に置き換えます。

  ```
  aws iotsitewise put-storage-configuration --cli-input-json file://file-name.json
  ```  
**Example AWS IoT SiteWise ストレージ設定**  
  + *amzn-s3-demo-bucket* をユーザーの Amazon S3 バケット名に置き換えます。
  + *[prefix]* (プレフィックス) は Amazon S3 のプレフィックスに置き換えてください。
  + *aws-account-id* を AWS アカウント ID に置き換えます。
  + *role-name* を、 が Amazon S3 にデータを送信 AWS IoT SiteWise することを許可する Amazon S3 アクセスロールの名前に置き換えます。
  + *hot-tier-retention-in-days* を、30 日以上の整数に置き換えます。
  + *warm-tier-retention-in-days* を、365 日以上の整数に置き換えます。
**注記**  
AWS IoT SiteWise は、コールド階層の保持期間より古いウォーム階層のデータをすべて削除します。保持期間を設定しなかった場合、データは無期限に保存されます。

  ```
  {
        "storageType": "MULTI_LAYER_STORAGE",
          "multiLayerStorage": {
            "customerManagedS3Storage": {
                "s3ResourceArn": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/",
                "roleArn": "arn:aws:iam::aws-account-id:role/role-name"
                }
            },
      "disassociatedDataStorage": "ENABLED",
      "retentionPeriod": {
        "numberOfDays": hot-tier-retention-in-days
      },
      "warmTier": "ENABLED",
      "warmTierRetentionPeriod": {
        "numberOfDays": warm-tier-retention-in-days
      }
  }
  ```  
**Example response**  

  ```
  {
        "storageType": "MULTI_LAYER_STORAGE",
        "configurationStatus": {
          "state": "UPDATE_IN_PROGRESS"
         }
  }
  ```

## コールド階層のストレージ設定を構成する (コンソール)
<a name="configure-storage-console"></a>

次の手順では、 AWS IoT SiteWise コンソールでコールド階層にデータをレプリケートするようにストレージ設定を構成する方法を示します。

**コンソールでストレージの設定を設定するには**

1. [AWS IoT SiteWise コンソール](https://console.aws.amazon.com/iotsitewise/)に移動します。

1. ナビゲーションペインで **[設定]** の **[ストレージ]** を選択します。

1. 右上隅の**[編集]** を選択します。

1. **[ストレージを編集]** ページで、次の作業を行います:

   1. **[ストレージ設定]** で **[コールド階層ストレージを有効にする]** を選択します。デフォルトでは、コールド階層ストレージは無効です。

   1. **S3 バケットの場所**には、既存の Amazon S3 バケット名とプレフィックスを入力します。
**注記**  
 Amazon S3 では、プレフィックスを Amazon S3 バケット内のフォルダ名として使用します。プレフィックスは1～255文字で、末尾はスラッシュ (/) とする。お客様の AWS IoT SiteWise データはこのフォルダーに保存されます。
Amazon S3 バケットがない場合は、**[表示]** () を選択し、Amazon S3 コンソールでバケットを作成します。詳細については、*Amazon S3 ユーザーガイド* の [最初の S3 バケットを作成する](https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3.html#creating-bucket) を参照してください。

   1. **S3 アクセスロール**の場合、次のいずれかを実行します。
      + ** AWS マネージドテンプレートからロールを作成する** を選択すると、 が Amazon S3 AWS IoT SiteWise にデータを送信できるようにする IAM ロール AWS が自動的に作成されます。 Amazon S3
      + **[既存のロールの使用]** を選択し、リストから作成したロールを選択します。
**注記**  
**[S3 バケットの場所]** には、前のステップで使用したのと同じ Amazon S3 バケット名をIAM ポリシーで使用する必要があります。
次の例に示すようなアクセス許可をロールが持っていることを確認してください。  

**Example アクセス許可ポリシー:**    
****  

          ```
          {
                "Version":"2012-10-17",		 	 	 
                "Statement": [
                    {
                        "Effect": "Allow",
                        "Action": [
                            "s3:PutObject",
                            "s3:GetObject",
                            "s3:DeleteObject",
                            "s3:GetBucketLocation",
                            "s3:ListBucket"
                        ],
                        "Resource": [
                            "arn:aws:s3:::amzn-s3-demo-bucket",
                            "arn:aws:s3:::amzn-s3-demo-bucket/*"
                        ]
                    }
                ]
            }
          ```
amzn-s3-demo-bucket を、ユーザーの Amazon S3 バケットの名前に置き換えます。
 Amazon S3 バケットがカスタマーマネージド KMS キーを使用して暗号化されている場合、KMS キーには `kms:Decrypt`および `kms:GenerateDataKey`オペレーションの IAM ロールを持つアクセスポリシーが必要です。

   1. ホット階層を設定するには、「[ウォーム階層のストレージ設定を構成する (コンソール)](#configure-storage-console-warm)」の「ステップ 5」を参照してください。

   1. (オプション) **[AWS IoT Analytics 統合]** では、以下を行います。
**注記**  
サポート終了通知: 2025 年 12 月 15 日に、 AWS は のサポートを終了します AWS IoT Analytics。2025 年 12 月 15 日以降、 AWS IoT Analytics コンソールまたは AWS IoT Analytics リソースにアクセスできなくなります。詳細については、[AWS IoT Analytics 「サポート終了](https://docs.aws.amazon.com/iotanalytics/latest/userguide/iotanalytics-end-of-support.html)」を参照してください。

      1.  AWS IoT Analytics を使用してデータをクエリする場合は、**Enabled AWS IoT Analytics data store** を選択します。

      1. AWS IoT SiteWise はデータストアの名前を生成するか、別の名前を入力できます。

      AWS IoT SiteWise は、データを保存 AWS IoT Analytics するために にデータストアを自動的に作成します。データをクエリするには、 AWS IoT Analytics を使用してデータセットを作成できます。詳細については、[「 ユーザーガイド」の AWS IoT SiteWise 「データの使用](https://docs.aws.amazon.com/iotanalytics/latest/userguide/dataset-itsw.html)」を参照してください。 *AWS IoT Analytics *

   1. **[保存]** を選択します。

**[AWS IoT SiteWise ストレージ]** セクションの**[コールド階層ストレージ]**は、次のいずれかの値に設定できます。
+ **有効** – 指定した Amazon S3 バケットにデータを AWS IoT SiteWise レプリケートします。
+ **Enable** – AWS IoT SiteWise コールド階層ストレージを有効にするリクエストを処理しています。このプロセスは完了までに数分かかることがあります。
+ **Enable\$1Failed** – コールド階層ストレージを有効にするリクエストを処理 AWS IoT SiteWise できませんでした。 AWS IoT SiteWise が Amazon CloudWatch Logs にログを送信できるようにした場合、これらのログを使用して問題のトラブルシューティングを行うことができます。詳細については、「[Amazon CloudWatch Logs によるモニタリング](monitor-cloudwatch-logs.md)」を参照してください。
+ **[無効]** – コールド階層ストレージは無効です。

## コールド階層のストレージ設定を構成する (AWS CLI)
<a name="configure-storage-cli"></a>

以下では、 AWS CLIを使用して、ストレージの設定でコールド階層にデータが複製されるようにする手順を示します。

**を使用してストレージ設定を構成するには AWS CLI**

1. アカウント内の Amazon S3 バケットにデータを書き出すには、次のコマンドを実行し、ストレージの設定を行ってください。*file-name* を、 AWS IoT SiteWise ストレージ設定を含むファイルの名前に置き換えます。

   ```
   aws iotsitewise put-storage-configuration --cli-input-json file://file-name.json
   ```  
**Example AWS IoT SiteWise ストレージ設定**  
   + *amzn-s3-demo-bucket* をユーザーの Amazon S3 バケット名に置き換えます。
   + *[prefix]* (プレフィックス) は Amazon S3 のプレフィックスに置き換えてください。
   + *aws-account-id* を AWS アカウント ID に置き換えます。
   + *role-name* を、 が Amazon S3 にデータを送信 AWS IoT SiteWise することを許可する Amazon S3 アクセスロールの名前に置き換えます。
   + *retention-in-days* は、30 日以上の整数に置き換えます。

   ```
   {
         "storageType": "MULTI_LAYER_STORAGE",
         "multiLayerStorage": {
             "customerManagedS3Storage": {
                 "s3ResourceArn": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/",
                 "roleArn": "arn:aws:iam::aws-account-id:role/role-name"
             }
         }, 
         "retentionPeriod": { 
             "numberOfDays": retention-in-days,
             "unlimited": false
         }
     }
   ```
**注記**  
 AWS IoT SiteWise ストレージ設定と IAM ポリシーでは、同じ Amazon S3 バケット名を使用する必要があります。
次の例に示すようなアクセス許可をロールが持っていることを確認してください。  

**Example アクセス許可ポリシー:**    
****  

     ```
     {
           "Version":"2012-10-17",		 	 	 
           "Statement": [
               {
                   "Effect": "Allow",
                   "Action": [
                       "s3:PutObject",
                       "s3:GetObject",
                       "s3:DeleteObject",
                       "s3:GetBucketLocation",
                       "s3:ListBucket"
                   ],
                   "Resource": [
                       "arn:aws:s3:::amzn-s3-demo-bucket",
                       "arn:aws:s3:::amzn-s3-demo-bucket/*"
                   ]
               }
           ]
       }
     ```
amzn-s3-demo-bucket を、ユーザーの Amazon S3 バケットの名前に置き換えます。
 Amazon S3 バケットがカスタマーマネージド KMS キーを使用して暗号化されている場合、KMS キーには `kms:Decrypt`および `kms:GenerateDataKey`オペレーションの IAM ロールを持つアクセスポリシーが必要です。  
**Example response**  

   ```
   {
       "storageType": "MULTI_LAYER_STORAGE",
       "retentionPeriod": {
           "numberOfDays": 100,
           "unlimited": false
       },
       "configurationStatus": {
           "state": "UPDATE_IN_PROGRESS"
       }
   }
   ```
**注記**  
がストレージ設定を更新する AWS IoT SiteWise までに数分かかる場合があります。

1. ストレージの設定情報を取得するには、次のコマンドを実行します。

   ```
   aws iotsitewise describe-storage-configuration
   ```  
**Example response**  

   ```
   {
         "storageType": "MULTI_LAYER_STORAGE",
         "multiLayerStorage": {
             "customerManagedS3Storage": {
                 "s3ResourceArn": "arn:aws:s3:::amzn-s3-demo-bucket/torque/",
                 "roleArn": "arn:aws:iam::123456789012:role/SWAccessS3Role"
             }
         },
         "retentionPeriod": { 
             "numberOfDays": 100,
             "unlimited": false
         },
         "configurationStatus": {
             "state": "ACTIVE"
         },
         "lastUpdateDate": "2021-03-30T15:54:14-07:00"
     }
   ```

1. Amazon S3 バケットへのデータ書き出しを停止するには、次のコマンドを実行してストレージの設定を行ってください。

   ```
   aws iotsitewise put-storage-configuration --storage-type SITEWISE_DEFAULT_STORAGE
   ```
**注記**  
デフォルトでは、データは のホット階層にのみ保存されます AWS IoT SiteWise。  
**Example response**  

   ```
   {
         "storageType": "SITEWISE_DEFAULT_STORAGE",
         "configurationStatus": {
             "state": "UPDATE_IN_PROGRESS"
         }
     }
   ```

1. ストレージの設定情報を取得するには、次のコマンドを実行します。

   ```
   aws iotsitewise describe-storage-configuration
   ```  
**Example response**  

   ```
   {
         "storageType": "SITEWISE_DEFAULT_STORAGE",
         "configurationStatus": {
             "state": "ACTIVE"
         },
         "lastUpdateDate": "2021-03-30T15:57:14-07:00"
     }
   ```

### (オプション) AWS IoT Analytics データストアを作成する (AWS CLI)
<a name="create-iotanalytics-data-store-cli"></a>

**注記**  
サポート終了通知: 2025 年 12 月 15 日に、 AWS は のサポートを終了します AWS IoT Analytics。2025 年 12 月 15 日以降、 AWS IoT Analytics コンソールまたは AWS IoT Analytics リソースにアクセスできなくなります。詳細については、[AWS IoT Analytics 「サポート終了](https://docs.aws.amazon.com/iotanalytics/latest/userguide/iotanalytics-end-of-support.html)」を参照してください。

 AWS IoT Analytics データストアは、データを受信して保存するスケーラブルでクエリ可能なリポジトリです。 AWS IoT SiteWise コンソールまたは AWS IoT Analytics APIs を使用して、 AWS IoT Analytics データを保存するための AWS IoT SiteWise データストアを作成できます。データをクエリするには、 を使用してデータセットを作成します AWS IoT Analytics。詳細については、 *AWS IoT Analytics ユーザーガイド*の「[AWS IoT SiteWise データの使用](https://docs.aws.amazon.com/iotanalytics/latest/userguide/dataset-itsw.html)」を参照してください。

次の手順では AWS CLI 、 を使用して にデータストアを作成します AWS IoT Analytics。

データストアを作成するには、次のコマンドを実行します。*file-name* は、データストアの設定を含むファイルの名前に置き換えてください。

```
aws iotanalytics create-datastore --cli-input-json file://file-name.json
```

**注記**  
既存の Amazon S3 バケット名を指定する必要があります。 Amazon S3 バケットを持っていない場合は、まずバケットを作成します。詳細については、*Amazon S3 ユーザーガイド* の [最初の S3 バケットを作成する](https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3.html#creating-bucket) を参照してください。
 AWS IoT SiteWise ストレージ設定、IAM ポリシー、 AWS IoT Analytics データストア設定では、同じ Amazon S3 バケット名を使用する必要があります。

**Example AWS IoT Analytics データストアの設定**  
*data-store-name* と *amzn-s3-demo-bucket* を AWS IoT Analytics データストア名と Amazon S3 バケット名に置き換えます。  

```
{
      "datastoreName": "data-store-name",
      "datastoreStorage": {
          "iotSiteWiseMultiLayerStorage": {
              "customerManagedS3Storage": {
                  "bucket": "amzn-s3-demo-bucket"
              }
          }
      },
      "retentionPeriod": {
          "numberOfDays": 90
      }
  }
```

**Example response**  

```
{
      "datastoreName": "datastore_IoTSiteWise_demo",
      "datastoreArn": "arn:aws:iotanalytics:us-west-2:123456789012:datastore/datastore_IoTSiteWise_demo",
      "retentionPeriod": {
          "numberOfDays": 90,
          "unlimited": false
      }
  }
```

# のストレージ設定のトラブルシューティング AWS IoT SiteWise
<a name="troubleshoot-storage-configuration"></a>

次の情報を使用して、ストレージ設定に関する問題のトラブルシューティングと解決を行います。

**Topics**
+ [エラー:バケットは存在しません](#no-s3-bucket)
+ [エラー: Amazon S3 パスへのアクセスが拒否されました](#iam-permissions)
+ [エラー:ロール ARN を引き受けることができません](#iam-trust-relationship)
+ [エラー: クロスリージョン Amazon S3 バケットにアクセスできませんでした](#cross-region-s3-bucket)

## エラー:バケットは存在しません
<a name="no-s3-bucket"></a>

**解決策:** AWS IoT SiteWise Amazon S3 バケットが見つかりませんでした。現在のRegion にある既存の Amazon S3 バケット名を入力していることを確認してください。

## エラー: Amazon S3 パスへのアクセスが拒否されました
<a name="iam-permissions"></a>

**解決策:** AWS IoT SiteWise Amazon S3 バケットにアクセスできませんでした。以下の操作を実行します。
+ IAM ポリシーで指定した Amazon S3 バケットと同じものを使用していることを確認してください。
+ 次の例に示すようなアクセス許可をロールが持っていることを確認してください。  
**Example アクセス許可ポリシー**  

------
#### [ JSON ]

****  

  ```
  {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "s3:PutObject",
                    "s3:GetObject",
                    "s3:DeleteObject",
                    "s3:GetBucketLocation",
                    "s3:ListBucket"
                ],
                "Resource": [
                    "arn:aws:s3:::amzn-s3-demo-bucket",
                    "arn:aws:s3:::amzn-s3-demo-bucket/*"
                ]
            }
        ]
    }
  ```

------

  amzn-s3-demo-bucket を、ユーザーの Amazon S3 バケットの名前に置き換えます。

## エラー:ロール ARN を引き受けることができません
<a name="iam-trust-relationship"></a>

**解決策:** AWS IoT SiteWise ユーザーに代わって IAM ロールを引き受けることができませんでした。ロールが次のサービスを信頼することを確認してください: `iotsitewise.amazonaws.com`。詳細については、[IAM ユーザーガイド](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_cant-assume-role)の「*ロールを引き受けることができない*」を参照してください。

## エラー: クロスリージョン Amazon S3 バケットにアクセスできませんでした
<a name="cross-region-s3-bucket"></a>

**解決策:** 指定した Amazon S3 バケットは別の AWS リージョンにあります。Amazon S3 バケットと AWS IoT SiteWise アセットが同じリージョンにあることを確認します。

# Cold 階層に保存されたデータのファイルパスとスキーマ
<a name="file-path-and-schema"></a>

AWS IoT SiteWise は、測定値、メトリクス、変換、集計、アセットおよびアセットモデル定義などの時系列をレプリケートすることで、データをコールド階層に保存します。次に、Cold 階層に送られるデータのファイルパスとスキーマについて説明します。

**Topics**
+ [機器データ (測定)](#measurements-file-path-and-schema)
+ [メトリクス、変換、集計](#metrics-file-path-and-schema)
+ [アセットメタデータ](#asset-metadata)
+ [アセット階層メタデータ](#asset-hierarchy-metadata)
+ [ストレージデータインデックスファイル](#storage-data-index)

## 機器データ (測定)
<a name="measurements-file-path-and-schema"></a>

AWS IoT SiteWise は、機器データ (測定値) を 6 時間に 1 回コールド階層にエクスポートします。raw データはCold 階層に[Apache AVRO](https://avro.apache.org) (`.avro`) 形式で保存されます。

### ファイルパス
<a name="measurements-file-path"></a>

AWS IoT SiteWise は、次のテンプレートを使用して、コールド階層に機器データ (測定値) を保存します。

```
{keyPrefix}/raw/startYear={startYear}/startMonth={startMonth}/startDay={startDay}/seriesBucket={seriesBucket}/raw_{timeseriesId}_{startTimestamp}_{quality}.avro
```

Amazon S3 におけるraw データのファイルパスは、すべて次の構成要素を含んでいます。

#### ファイルパス
<a name="storage-paths-schemas-file-path"></a>


| パスコンポーネント。 | 説明 | 
| --- | --- | 
|  `keyPrefix`  |   AWS IoT SiteWise ストレージ設定で指定した Amazon S3 プレフィックス。Amazon S3 では、プレフィックスをバケット内のフォルダ名として使用します。  | 
|  `raw`  |  機器からの時系列データ (測定値) を格納するフォルダ。`raw` フォルダーは、プレフィックスフォルダーに保存されます。  | 
|  `seriesBucket`  |  00 から ff の間の 16 進数です。`timeSeriesId` から導き出される数値です。このパーティションは、コールド階層への AWS IoT SiteWise 書き込み時にスループットを向上させるために使用されます。Amazon Athena を使用してクエリを実行する場合、パーティションを使用して細かい粒度のパーティショニングを行い、クエリパフォーマンスを向上させることができます。 アセットメタデータの `seriesBucket` と `timeSeriesBucket` は同じ数字です。  | 
|  `startYear`  |  時系列データに関連する排他的開始時刻の年号。  | 
|  `startMonth`  |  時系列データに関連付けられている排他的開始時刻の月。  | 
|  `startDay`  |  時系列データに関連付けられている排他的開始時刻の月日。  | 
|  `fileName`  |  ファイル名は、アンダースコア (\$1) をデリミターとして使用し、次のように区切ります。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/iot-sitewise/latest/userguide/file-path-and-schema.html) [[Snappy]](https://github.com/google/snappy)圧縮を利用して、`.avro`形式で保存されます。  | 

**Example Cold 階層の raw データへのファイルパス**  
`keyPrefix/raw/startYear=2021/startMonth=1/startDay=2/seriesBucket=a2/raw_7020c8e2-e6db-40fa-9845-ed0dddd4c77d_95e63da7-d34e-43e1-bc6f-1b490154b07a_1609577700_GOOD.avro`

### フィールド
<a name="measurements-fields"></a>

Cold 階層に書き出しされる raw データのスキーマは、次のフィールドを含んでいる。

 AWS IoT SiteWise は、今後追加フィールドが導入される可能性があるため、コールド階層から raw データを読み取るシステムにスキーマ進化のサポートを実装するようお客様にアドバイスします。

 Null データは、すべての値フィールドが null として表されます。ただし、 AWS IoT SiteWise APIs でクエリを実行する場合でも、お客様は正しいデータ型を受け取ります。

#### フィールド
<a name="measurements-fields-subsection"></a>


| フィールド名 | サポートされている型 | デフォルトの 型 | 説明 | 
| --- | --- | --- | --- | 
|  `seriesId`  |  `string`  |  該当なし  |  機器からの時系列データ (測定値) を識別するための ID。このフィールドを使用して、クエリで raw データとアセットメタデータを結合することができます。  | 
|  `timeInSeconds`  |  `long`  |  該当なし  |  Unix エポック形式のタイムスタンプの日付 (秒単位)。分数ナノ秒のデータは、`offsetInNanos` で提供されます。  | 
|  `offsetInNanos`  |  `long`  |  該当なし  |  `timeInSeconds` からのナノ秒のオフセット。  | 
|  `quality`  |  `string`  |  該当なし  |  時系列値の品質。  | 
|  `doubleValue`  |  `double`、または `null`  |  `null`  |  ダブル型 (浮動小数点数) の時系列データ。  | 
|  `stringValue`  |  `string`、または `null`  |  `null`  |  文字列型 (文字の並び) の時系列データ。  | 
|  `integerValue`  |  `int`、または `null`  |  `null`  |  整数型 (整数) の時系列データ。  | 
|  `booleanValue`  |  `boolean`、または `null`  |  `null`  |  ブール型 (true または false) の時系列データ。  | 
|  `jsonValue`  |  `string`、または `null`  |  `null`  |  JSON 型の時系列データ (複雑なデータ型を文字列として保存されたもの)。  | 
|  `recordVersion`  |  `long`、または `null`  |  `null`  |  レコードのバージョン番号。バージョン番号を使って、最新のレコードを選択することができます。新しいレコードほどバージョン番号が大きくなっています。  | 

**Example Cold 階層の raw データ**  

```
  {"seriesId":"e9687d2a-0dbe-4f65-9ed6-6f443cba41f7_95e63da7-d34e-43e1-bc6f-1b490154b07a","timeInSeconds":1625675887,"offsetInNanos":0,"quality":"GOOD","doubleValue":{"double":0.75},"stringValue":null,"integerValue":null,"booleanValue":null,"jsonValue":null,"recordVersion":null}
  {"seriesId":"e9687d2a-0dbe-4f65-9ed6-6f443cba41f7_95e63da7-d34e-43e1-bc6f-1b490154b07a","timeInSeconds":1625675889,"offsetInNanos":0,"quality":"GOOD","doubleValue":{"double":0.69},"stringValue":null,"integerValue":null,"booleanValue":null,"jsonValue":null,"recordVersion":null}
  {"seriesId":"e9687d2a-0dbe-4f65-9ed6-6f443cba41f7_95e63da7-d34e-43e1-bc6f-1b490154b07a","timeInSeconds":1625675890,"offsetInNanos":0,"quality":"GOOD","doubleValue":{"double":0.66},"stringValue":null,"integerValue":null,"booleanValue":null,"jsonValue":null,"recordVersion":null}
  {"seriesId":"e9687d2a-0dbe-4f65-9ed6-6f443cba41f7_95e63da7-d34e-43e1-bc6f-1b490154b07a","timeInSeconds":1625675891,"offsetInNanos":0,"quality":"GOOD","doubleValue":{"double":0.92},"stringValue":null,"integerValue":null,"booleanValue":null,"jsonValue":null,"recordVersion":null}
  {"seriesId":"e9687d2a-0dbe-4f65-9ed6-6f443cba41f7_95e63da7-d34e-43e1-bc6f-1b490154b07a","timeInSeconds":1625675892,"offsetInNanos":0,"quality":"GOOD","doubleValue":{"double":0.73},"stringValue":null,"integerValue":null,"booleanValue":null,"jsonValue":null,"recordVersion":null}
```

## メトリクス、変換、集計
<a name="metrics-file-path-and-schema"></a>

AWS IoT SiteWise は、メトリクス、変換、集計を 6 時間に 1 回コールド階層にエクスポートします。メトリクス、変換、集計は、コールド階層に[Apache Avro](https://avro.apache.org) (`.avro`) の形式で保存されます。

### ファイルパス
<a name="metrics-file-path"></a>

AWS IoT SiteWise は、次のテンプレートを使用して、メトリクス、変換、集計をコールド階層に保存します。

```
{keyPrefix}/agg/startYear={startYear}/startMonth={startMonth}/startDay={startDay}/seriesBucket={seriesBucket}/agg_{timeseriesId}_{startTimestamp}_{quality}.avro
```

Amazon S3 上のメトリクスへ、変換、集計のファイルパスには、次の要素が含まれます。

#### ファイルパス
<a name="metrics-file-path-subsection"></a>


| パスコンポーネント。 | 説明 | 
| --- | --- | 
|  `keyPrefix`  |   AWS IoT SiteWise ストレージ設定で指定した Amazon S3 プレフィックス。Amazon S3 では、プレフィックスをバケット内のフォルダ名として使用します。  | 
|  `agg`  |  メトリクスの時系列データを格納するフォルダーです。`agg` フォルダーは、プレフィックスフォルダーに保存されます。  | 
|  `seriesBucket`  |  00 から ff の間の 16 進数です。`timeSeriesId` から導き出される数値です。このパーティションは、コールド階層への AWS IoT SiteWise 書き込み時にスループットを向上させるために使用されます。Amazon Athena を使用してクエリを実行する場合、パーティションを使用して細かい粒度のパーティショニングを行い、クエリパフォーマンスを向上させることができます。 アセットメタデータの `seriesBucket` と `timeSeriesBucket` は同じ数字です。  | 
|  `startYear`  |  時系列データに関連する排他的開始時刻の年号。  | 
|  `startMonth`  |  時系列データに関連付けられている排他的開始時刻の月。  | 
|  `startDay`  |  時系列データに関連付けられている排他的開始時刻の月日。  | 
|  `fileName`  |  ファイル名は、アンダースコア (\$1) をデリミターとして使用し、次のように区切ります。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/iot-sitewise/latest/userguide/file-path-and-schema.html) [Snappy](https://github.com/google/snappy)圧縮を利用して、`.avro`形式で保存されます。  | 

**Example Cold 階層のメトリクスへのファイルパス**  
`keyPrefix/agg/startYear=2021/startMonth=1/startDay=2/seriesBucket=a2/agg_7020c8e2-e6db-40fa-9845-ed0dddd4c77d_95e63da7-d34e-43e1-bc6f-1b490154b07a_1609577700_GOOD.avro`

### フィールド
<a name="metrics-fields"></a>

コールド階層に書き出されるメトリクス、変換、集計のスキーマには、次のフィールドが含まれます。

#### フィールド
<a name="metrics-fields-subsection"></a>


| フィールド名 | サポートされている型 | デフォルトの 型 | 説明 | 
| --- | --- | --- | --- | 
|  `seriesId`  |  `string`  |  該当なし  |  機器、メトリクス、変換から時系列データを識別するための ID です。このフィールドを使用して、クエリで raw データとアセットメタデータを結合することができます。  | 
|  `timeInSeconds`  |  `long`  |  該当なし  |  Unix エポック形式のタイムスタンプの日付 (秒単位)。分数ナノ秒のデータは、`offsetInNanos` で提供されます。  | 
|  `offsetInNanos`  |  `long`  |  該当なし  |  `timeInSeconds` からのナノ秒のオフセット。  | 
|  `quality`  |  `string`  |  該当なし  |  アセットデータをフィルタリングするための品質です。  | 
|  `resolution`  |  `string`  |  該当なし  |  データを集計する時間間隔。  | 
|  `count`  |  `double`、または `null`  |  `null`  |  現在の時間間隔における、指定された変数のデータポイントの総数。  | 
|  `average`  |  `double`、または `null`  |  `null`  |  現在の時間間隔における指定された変数値の平均。  | 
|  `min`  |  `double`、または `null`  |  `null`  |  現在の時間間隔における指定された変数の最小値。  | 
|  `max`  |  `boolean`、または `null`  |  `null`  |  現在の時間間隔における指定された変数の最大値。  | 
|  `sum`  |  `string`、または `null`  |  `null`  |  現在の時間間隔における指定された変数値の合計。  | 
|  `recordVersion`  |  `long`、または `null`  |  `null`  |  レコードのバージョン番号。バージョン番号を使って、最新のレコードを選択することができます。新しいレコードほどバージョン番号が大きくなっています。  | 

**Example コールド階層のメトリックデータ**  

```
{"seriesId":"f74c2828-5317-4df3-ba16-6d41b5bcb531","timeInSeconds":1637334060,"offsetInNanos":0,"quality":"GOOD","resolution":"PT1M","count":31.0,"average":{"double":16.0},"min":{"double":1.0},"max":{"double":31.0},"sum":{"double":496.0},"recordVersion":null}
  {"seriesId":"f74c2828-5317-4df3-ba16-6d41b5bcb531","timeInSeconds":1637334120,"offsetInNanos":0,"quality":"GOOD","resolution":"PT1M","count":29.0,"average":{"double":46.0},"min":{"double":32.0},"max":{"double":60.0},"sum":{"double":1334.0},"recordVersion":null}
  {"seriesId":"f74c2828-5317-4df3-ba16-6d41b5bcb531","timeInSeconds":1637334540,"offsetInNanos":0,"quality":"GOOD","resolution":"PT1M","count":31.0,"average":{"double":16.0},"min":{"double":1.0},"max":{"double":31.0},"sum":{"double":496.0},"recordVersion":null}
  {"seriesId":"f74c2828-5317-4df3-ba16-6d41b5bcb531","timeInSeconds":1637334600,"offsetInNanos":0,"quality":"GOOD","resolution":"PT1M","count":29.0,"average":{"double":46.0},"min":{"double":32.0},"max":{"double":60.0},"sum":{"double":1334.0},"recordVersion":null}
  {"seriesId":"f74c2828-5317-4df3-ba16-6d41b5bcb531","timeInSeconds":1637335020,"offsetInNanos":0,"quality":"GOOD","resolution":"PT1M","count":31.0,"average":{"double":16.0},"min":{"double":1.0},"max":{"double":31.0},"sum":{"double":496.0},"recordVersion":null}
```

## アセットメタデータ
<a name="asset-metadata"></a>

が初めてコールド階層 AWS IoT SiteWise にデータをエクスポートできるようにすると、アセットメタデータはコールド階層にエクスポートされます。初期設定後、アセットモデル定義またはアセット定義を変更する場合にのみ、 はアセットメタデータを階層に AWS IoT SiteWise エクスポートします。アセットメタデータは、コールド階層に改行区切り JSON (`.ndjson`) 形式で保存されます。

### ファイルパス
<a name="asset-metadata-file-path"></a>

AWS IoT SiteWise は、次のテンプレートを使用してアセットメタデータをコールド階層に保存します。

```
{keyPrefix}/asset_metadata/asset_{assetId}.ndjson
```

Cold 階層におけるアセットメタデータのファイルパスを生成するために、Nは次のテンプレートを使用する。

#### ファイルパス
<a name="asset-metadata-file-path-subsection"></a>


| パスコンポーネント。 | 説明 | 
| --- | --- | 
|  `keyPrefix`  |  のストレージ設定で指定した Amazon S3 AWS IoT SiteWiseプレフィックス。 Amazon S3 では、プレフィックスをバケット内のフォルダ名として使用します。  | 
|  `asset_metadata`  |  アセットのメタデータを保存するフォルダです。`asset_metadata` フォルダーは、プレフィックスフォルダーに保存されます。  | 
|  `fileName`  |  ファイル名は、アンダースコア (\$1) をデリミターとして使用し、次のように区切ります。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/iot-sitewise/latest/userguide/file-path-and-schema.html) ファイルは `.ndjson` 形式で保存されます。  | 

**Example Cold 階層のアセットメタデータへのファイルパス**  
`keyPrefix/asset_metadata/asset_35901915-d476-4dca-8637-d9ed4df939ed.ndjson`

### フィールド
<a name="asset-metadata-fields"></a>

Cold 階層に書き出しされるアセットメタデータのスキーマは、次のフィールドを含んでいます。

#### フィールド
<a name="asset-metadata-fields-subsection"></a>


| フィールド名 | 説明 | 
| --- | --- | 
|  `assetId`  |   アセットの ID。  | 
|  `assetName`  |  アセットの名前。  | 
|  `assetExternalId`  |  アセットの外部 ID。  | 
|  `assetModelId`  |  このアセットを作成するために使用されたアセットモデルの ID。  | 
|  `assetModelName`  |  アセットモデルの名前。  | 
|  `assetModelExternalId`  |  アセットモデルの外部 ID。  | 
|  `assetPropertyId`  |  アセットプロパティの ID。  | 
|  `assetPropertyName`  |  アセットプロパティの名前。  | 
|  `assetPropertyExternalId`  |  アセットプロパティの外部 ID。  | 
|  `assetPropertyDataType`  |  アセットプロパティのデータ型。  | 
|  `assetPropertyUnit`  |  アセットプロパティの単位 (例:`Newtons`そして`RPM`)。  | 
|  `assetPropertyAlias`  |  OPC UA サーバーのデータストリームパス (例えば、`/company/windfarm/3/turbine/7/temperature`) など、アセットプロパティを識別するためのエイリアス。  | 
|  `timeSeriesId`  |  機器、メトリクス、変換から時系列データを識別するための ID です。このフィールドを使用して、クエリで raw データとアセットメタデータを結合することができます。  | 
|  `timeSeriesBucket`  |  00 から ff の間の 16 進数です。`timeSeriesId` から導き出される数値です。このパーティションは、コールド階層への AWS IoT SiteWise 書き込み時にスループットを向上させるために使用されます。Amazon Athena を使用してクエリを実行する場合、パーティションを使用して細かい粒度のパーティショニングを行い、クエリパフォーマンスを向上させることができます。 raw データのファイルパスの `timeSeriesBucket` と `seriesBucket` が同じ数字です。  | 
|  `assetCompositeModelId`  |  複合モデルの ID。  | 
|  `assetCompositeModelExternalId`  |  複合モデルの外部 ID。  | 
|  `assetCompositeModelDescription`  |  複合モデルの説明。  | 
|  `assetCompositeModelName`  |  複合モデルの名前。  | 
|  `assetCompositeModelType`  |  複合モデルのタイプ。アラーム複合モデルの場合、この型は `AWS/ALARM` です。  | 
|  `assetCreationDate`  |  アセットが作成された日付 (Unix エポックタイム)。  | 
|  `assetLastUpdateDate`  |  アセットが最後に更新された日付を Unix エポックタイムで表したもの。  | 
|  `assetStatusErrorCode`  |  エラーコードです。  | 
|  `assetStatusErrorMessage`  |  エラーメッセージです。  | 
|  `assetStatusState`  |  アセットの現在の状態。  | 

**Example Cold 階層のアセットメタデータ**  

```
  {"assetId":"7020c8e2-e6db-40fa-9845-ed0dddd4c77d","assetExternalId":null,"assetName":"Wind Turbine Asset 2","assetModelId":"ec1d924f-f07d-444f-b072-e2994c165d35","assetModelExternalId":null,"assetModelName":"Wind Turbine Asset Model","assetPropertyId":"95e63da7-d34e-43e1-bc6f-1b490154b07a","assetPropertyExternalId":null,"assetPropertyName":"Temperature","assetPropertyDataType":"DOUBLE","assetPropertyUnit":"Celsius","assetPropertyAlias":"USA/Washington/Seattle/WT2/temp","timeSeriesId":"7020c8e2-e6db-40fa-9845-ed0dddd4c77d_95e63da7-d34e-43e1-bc6f-1b490154b07a","timeSeriesBucket":"f6","assetArn":null,"assetCompositeModelDescription":null,"assetCompositeModelName":null,"assetCompositeModelType":null,"assetCompositeModelId":null,"assetCompositeModelExternalId":null,"assetCreationDate":1619466323,"assetLastUpdateDate":1623859856,"assetStatusErrorCode":null,"assetStatusErrorMessage":null,"assetStatusState":"ACTIVE"}
  {"assetId":"7020c8e2-e6db-40fa-9845-ed0dddd4c77d","assetExternalId":null,"assetName":"Wind Turbine Asset 2","assetModelId":"ec1d924f-f07d-444f-b072-e2994c165d35","assetModelExternalId":null,"assetModelName":"Wind Turbine Asset Model","assetPropertyId":"c706d54d-4c11-42dc-9a01-63662fc697b4","assetPropertyExternalId":null,"assetPropertyName":"Pressure","assetPropertyDataType":"DOUBLE","assetPropertyUnit":"KiloPascal","assetPropertyAlias":"USA/Washington/Seattle/WT2/pressure","timeSeriesId":"7020c8e2-e6db-40fa-9845-ed0dddd4c77d_c706d54d-4c11-42dc-9a01-63662fc697b4","timeSeriesBucket":"1e","assetArn":null,"assetCompositeModelDescription":null,"assetCompositeModelName":null,"assetCompositeModelType":null,"assetCompositeModelId":null,"assetCompositeModelExternalId":null,"assetCreationDate":1619466323,"assetLastUpdateDate":1623859856,"assetStatusErrorCode":null,"assetStatusErrorMessage":null,"assetStatusState":"ACTIVE"}
  {"assetId":"7020c8e2-e6db-40fa-9845-ed0dddd4c77d","assetExternalId":null,"assetName":"Wind Turbine Asset 2","assetModelId":"ec1d924f-f07d-444f-b072-e2994c165d35","assetModelExternalId":null,"assetModelName":"Wind Turbine Asset Model","assetPropertyId":"8cf1162f-dead-4fbe-b468-c8e24cde9f50","assetPropertyExternalId":null,"assetPropertyName":"Max Temperature","assetPropertyDataType":"DOUBLE","assetPropertyUnit":null,"assetPropertyAlias":null,"timeSeriesId":"7020c8e2-e6db-40fa-9845-ed0dddd4c77d_8cf1162f-dead-4fbe-b468-c8e24cde9f50","timeSeriesBucket":"d7","assetArn":null,"assetCompositeModelDescription":null,"assetCompositeModelName":null,"assetCompositeModelType":null,"assetCompositeModelId":null,"assetCompositeModelExternalId":null,"assetCreationDate":1619466323,"assetLastUpdateDate":1623859856,"assetStatusErrorCode":null,"assetStatusErrorMessage":null,"assetStatusState":"ACTIVE"}
  {"assetId":"3a5f2a22-3b37-4332-9c1c-404ea1d73fab","assetExternalId":null,"assetName":"BatchAssetDouble1","assetModelId":"814bdfd8-24db-4a33-8d9b-ebc75e75e827","assetModelExternalId":null,"assetModelName":"FlashTestAssetModelDouble","assetPropertyId":"6b7e1532-175b-4c02-b410-ab401a9176ed","assetPropertyExternalId":null,"assetPropertyName":"measurementProperty","assetPropertyDataType":"DOUBLE","assetPropertyUnit":"u","assetPropertyAlias":null,"timeSeriesId":"ab19f4fa-7e7b-4247-ae89-ff316f5ff8aa","timeSeriesBucket":"af","assetArn":null,"assetCompositeModelDescription":null,"assetCompositeModelName":null,"assetCompositeModelType":null,"assetCompositeModelId":null,"assetCompositeModelExternalId":null,"assetCreationDate":1646960106,"assetLastUpdateDate":1646960106,"assetStatusErrorCode":null,"assetStatusErrorMessage":null,"assetStatusState":"ACTIVE"}
```

## アセット階層メタデータ
<a name="asset-hierarchy-metadata"></a>

が AWS IoT SiteWise をコールド階層に初めてデータを保存すると、アセット階層メタデータがコールド階層にエクスポートされます。初期設定後、アセットモデルまたはアセット定義を変更した場合にのみ、 はアセット階層メタデータをコールド階層に AWS IoT SiteWise エクスポートします。アセット階層メタデータは、コールド階層に改行区切り JSON (`.ndjson`) 形式で保存されます。

階層、ターゲットアセット、またはソースアセットの外部識別子は、[DescribeAsset](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_DescribeAsset.html) API を呼び出すことで取得されます。

### ファイルパス
<a name="asset-hierarchy-metadata-file-path"></a>

AWS IoT SiteWise は、次のテンプレートを使用してアセット階層メタデータをコールド階層に保存します。

```
{keyPrefix}/asset_hierarchy_metadata/{parentAssetId}_{hierarchyId}.ndjson
```

Cold 階層のアセット階層メタデータの各ファイルパスは、次のコンポーネントを含んでいます。

#### ファイルパス
<a name="asset-hierarchy-metadata-file-path-subsection"></a>


| パスコンポーネント。 | 説明 | 
| --- | --- | 
|  `keyPrefix`  |   AWS IoT SiteWise ストレージ設定で指定した Amazon S3 プレフィックス。Amazon S3 では、プレフィックスをバケット内のフォルダ名として使用します。  | 
|  `asset_hierarchy_metadata`  |  アセット階層のメタデータを保存するフォルダです。`asset_hierarchy_metadata` フォルダーは、プレフィックスフォルダーに保存されます。  | 
|  `fileName`  |  ファイル名は、アンダースコア (\$1) をデリミターとして使用し、次のように区切ります。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/iot-sitewise/latest/userguide/file-path-and-schema.html) ファイルは `.ndjson` 形式で保存されます。  | 

**Example Cold 階層におけるアセット階層メタデータへのファイルパス**  
`keyPrefix/asset_hierarchy_metadata/35901915-d476-4dca-8637-d9ed4df939ed_c5b3ced8-589a-48c7-9998-cdccfc9747a0.ndjson`

### フィールド
<a name="asset-hierarchy-metadata-fields"></a>

Cold 階層にに書き出しされるアセット階層メタデータのスキーマは、次のフィールドを含んでいます。

#### フィールド
<a name="asset-hierarchy-metadata-fields-subsection"></a>


| フィールド名 | 説明 | 
| --- | --- | 
|  `sourceAssetId`  |  このアセットリレーションシップのソースアセットの ID。  | 
|  `targetAssetId`  |  このアセットリレーションシップのターゲットアセットの ID。  | 
|  `hierarchyId`  |  階層の ID。  | 
|  `associationType`  |  このアセットリレーションシップの関連付け型。 値は `CHILD` でなければならない。ターゲットアセットは、ソースアセットのアセットです。  | 

**Example Cold 階層におけるアセット階層メタデータ**  

```
{"sourceAssetId":"80388e72-2284-44fb-9c89-bfbaf0dfedd2","targetAssetId":"2b866c25-0c74-4750-bdf5-b73683c8a2a2","hierarchyId":"bbed9f59-0412-4585-a61d-6044db526aee","associationType":"CHILD"}
  {"sourceAssetId":"80388e72-2284-44fb-9c89-bfbaf0dfedd2","targetAssetId":"6b51246e-984d-460d-bc0b-470ea47d1e31","hierarchyId":"bbed9f59-0412-4585-a61d-6044db526aee","associationType":"CHILD"}
```

**Cold 階層でデータを表示するには**

1. [[Amazon S3 console]](https://console.aws.amazon.com/s3/) (Amazon S3 のコンソール) に移動します。

1. ナビゲーションペインで、**[バケット]** を選択し、Amazon S3 バケットを選択します。

1. raw データ、アセットメタデータ、またはアセット階層メタデータが含まれるフォルダに移動します。

1. ファイルを選択し、**[アクション]** から**[ダウンロード]** を選択します。

## ストレージデータインデックスファイル
<a name="storage-data-index"></a>

AWS IoT SiteWise は、これらのファイルを使用してデータクエリのパフォーマンスを最適化します。これらは Amazon S3 バケットに表示されますが、使用する必要はありません。

### ファイルパス
<a name="storage-data-index-file-path"></a>

AWS IoT SiteWise は、次のテンプレートを使用してデータインデックスファイルをコールド階層に保存します。

```
keyPrefix/index/series=timeseriesId/startYear=startYear/startMonth=startMonth/startDay=startDay/index_timeseriesId_startTimestamp_quality
```

**Example データストレージインデックスファイルへのファイルパス**  
`keyPrefix/index/series=7020c8e2-e6db-40fa-9845-ed0dddd4c77d_95e63da7-d34e-43e1-bc6f-1b490154b07a/startYear=2022/startMonth=02/startDay=03/index_7020c8e2-e6db-40fa-9845-ed0dddd4c77d_95e63da7-d34e-43e1-bc6f-1b490154b07a_1643846400_GOOD`