設定儲存區設定 - AWS IoT SiteWise

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

設定儲存區設定

您可以設定儲存區設定以選擇加入服務受管理的暖層儲存體,以及將資料複寫到冷層。若要深入瞭解暖和熱層的保留期限,請參閱資料保留影響。設定儲存區設定時,請執行下列動作:

  • 熱層保留 — 設定資料在刪除前儲存在熱層的時間長度的保留期間,並根據您的儲存設定移至服務管理的暖層儲存體或冷層儲存。 AWS IoT SiteWise 將刪除在保留期結束前,常用層中已存在的任何資料。如果您未設定保留期,您的資料會無限期地儲存在熱門方案中。

  • 暖階層保留 — 設定資料在暖層中儲存多久的保留期,然後再從 AWS IoT SiteWise 儲存體中刪除並移至客戶管理的冷層儲存空間。 AWS IoT SiteWise 刪除保留期結束前已存在的暖層中的任何資料。如果未設定保留期,您的資料會無限期地儲存在暖層中。

注意

若要改善查詢效能,請使用暖層儲存設定熱層保留期。

熱與暖分層儲存中資料保留的影響

  • 當您縮短熱層儲存的保留期間時,資料會從熱層永久移動到暖或冷層。當您縮短暖層的保留期間時,資料會移至冷層,並從暖層永久刪除。

  • 當您增加熱層或暖層儲存體的保留期時,變更會影響 AWS IoT SiteWise 從那時起傳送到的資料。 AWS IoT SiteWise 不會從暖或冷儲存區擷取資料以填入熱層。例如,如果熱層儲存的保留期初始設定為 30 天,然後增加到 60 天,則熱層儲存需要 30 天才能包含 60 天的資料。

設定暖層 (主控台) 的儲存區設定

下列程序說明如何設定儲存區設定,將資料複製到 AWS IoT SiteWise 主控台中的暖層。

在主控台中設定儲存設定
  1. 導覽至 AWS IoT SiteWise 主控台

  2. 在功能窗格的 [設定] 下,選擇 [儲存空間]。

  3. 在右上角,選擇 Edit (編輯)

  4. 在 [編輯儲存空間] 頁面上,執行下列動作:

  5. 對於熱層設定,請執行下列動作:

    • 如果您想要設定資料在刪除資料並移至服務管理暖層儲存體之前儲存在常用層中的時間長度的保留期間,請選擇 [啟用保留期]。

    • 若要設定保留期間,請輸入整數並選擇單位。保留期必須大於或等於 30 天。

    AWS IoT SiteWise 刪除常用層中早於保留期限的任何資料。如果您未設定保留期限,系統就會無限期儲存您的資料。

  6. (建議使用) 對於「暖」層設定,請執行下列動作:

    • 若要選擇加入暖階層儲存體,請選取 [我確認選擇加入暖層儲存體] 以選擇加入暖階層儲存體。

    • (選擇性) 若要設定保留期間,請輸入整數並選擇單位。保留期必須大於或等於 365 天。

    AWS IoT SiteWise 刪除溫線層中早於保留期限的資料。如果您未設定保留期限,系統就會無限期儲存您的資料。

    注意
    • 當您選擇加入暖層時,組態只會顯示一次。

    • 若要設定熱層保留,您必須擁有暖或冷層儲存區。為了達到成本效益和歷史資料擷取, AWS IoT SiteWise 建議您將長期資料儲存在溫暖層中。

    • 若要設定保暖層級保留,您必須擁有冷層儲存空間。

  7. 選擇 [儲] 儲存您的儲存空間設定。

AWS IoT SiteWise 儲存區段中,暖層儲存體處於下列其中一種狀態:

  • 已啟用 — 如果您的資料在熱層保留期之前就已存在,請將資料 AWS IoT SiteWise 移至暖層。」

  • 停用 — 暖層儲存已停用。

設定暖層 (AWS CLI) 的儲存區設定

您可以使用 AWS CLI 和下列命令來設定儲存區設定,將資料移至暖層。

若要避免覆寫現有的組態,請執行下列命令擷取目前的儲存區組態資訊:

aws iotsitewise describe-storage-configuration
範例 沒有現有冷層組態的回應
{ "storageType": "SITEWISE_DEFAULT_STORAGE", "disassociatedDataStorage": "ENABLED", "configurationStatus": { "state": "ACTIVE" }, "lastUpdateDate": "2021-10-14T15:53:35-07:00", "warmTier": "DISABLED" }
範例 回應現有冷層組態
{ "storageType": "MULTI_LAYER_STORAGE", "multiLayerStorage": { "customerManagedS3Storage": { "s3ResourceArn": "arn:aws:s3:::bucket-name/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

執行下列命令以設定儲存設定。file-name以包含 AWS IoT SiteWise 儲存區組態的檔案名稱取代。

aws iotsitewise put-storage-configuration --cli-input-json file://file-name.json
範例 AWS IoT SiteWise 具有熱層和暖層的配置
{ "storageType": "SITEWISE_DEFAULT_STORAGE", "disassociatedDataStorage": "ENABLED", "warmTier": "ENABLED", "retentionPeriod": { "numberOfDays": hot-tier-retention-in-days } }

hot-tier-retention-in-days必須是大於或等於 30 天的整數。

範例 response
{ "storageType": "SITEWISE_DEFAULT_STORAGE", "configurationStatus": { "state": "UPDATE_IN_PROGRESS" } }

如果您已啟用冷層儲存,請參閱使用 AWS CLI 和現有冷層來設定儲存區設定

使用 AWS CLI 和現有冷層來設定儲存區設定

使用 AWS CLI 現有冷層儲存設定來設定儲存區設定
  • 執行下列命令以設定儲存設定。Replace (取代) file-name 使用包含 AWS IoT SiteWise 存儲配置的文件的名稱。

    aws iotsitewise put-storage-configuration --cli-input-json file://file-name.json
    範例 AWS IoT SiteWise 儲存設定
    • Replace (取代) bucket-name 使用您的 Amazon S3 存儲桶名稱。

    • Replace (取代) prefix 使用您的 Amazon S3 前綴。

    • Replace (取代) aws-account-id 使用您的 AWS 帳戶 ID。

    • Replace (取代) role-name 使用允許 AWS IoT SiteWise 將資料傳送到 Amazon S3 的 Amazon S3 存取角色的名稱。

    • Replace (取代) hot-tier-retention-in-days 整數大於或等於 30 天。

    • Replace (取代) warm-tier-retention-in-days 整數大於或等於 365 天。

    注意

    AWS IoT SiteWise 將刪除暖層中比冷層保留期更早的任何資料。如果您未設定保留期限,系統就會無限期儲存您的資料。

    { "storageType": "MULTI_LAYER_STORAGE", "multiLayerStorage": { "customerManagedS3Storage": { "s3ResourceArn": "arn:aws:s3:::bucket-name/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 } }
    範例 response
    { "storageType": "MULTI_LAYER_STORAGE", "configurationStatus": { "state": "UPDATE_IN_PROGRESS" } }

設定冷層 (主控台) 的儲存區設定

下列程序說明如何設定儲存區設定,將資料複製到 AWS IoT SiteWise 主控台中的冷層。

在主控台中設定儲存設定
  1. 導覽至 AWS IoT SiteWise 主控台

  2. 在功能窗格的 [設定] 下,選擇 [儲存空間]。

  3. 在右上角,選擇 Edit (編輯)

  4. 在 [編輯儲存空間] 頁面上,執行下列動作:

    1. 對於儲存區設定,請選擇啟用冷層儲存。冷層儲存預設為停用。

    2. 對於 S3 儲存貯體位置,請輸入現有 Amazon S3 儲存貯體的名稱和前置詞。

      注意
      • Amazon S3 使用前綴作為 Amazon S3 存儲桶中的文件夾名稱。前置字元必須有 1-255 個字元,並以正斜線 (/) 結尾。您的 AWS IoT SiteWise 資料會儲存在此資料夾中。

      • 如果您沒有 Amazon S3 儲存貯體,請選擇「檢視」,然後在 Amazon S3 主控台中建立儲存貯體。如需詳細資訊,請參閱 Amazon S3 使用者指南中的建立您的第一個 S3 儲存貯體

    3. 對於 S3 存取角色,請執行下列其中一個動作:

      • 選擇從 AWS 受管範本建立角色, AWS 自動建立允許將資料傳送 AWS IoT SiteWise 到 Amazon S3 的IAM角色。

      • 選擇 [使用現有角色],然後從清單中選擇您建立的角色。

        注意
        • 對於在上一個步驟和IAM政策中使用的 S3 儲存貯體位置,您必須使用相同的 Amazon S3 儲存貯體名稱。

        • 請確定您的角色具有下列範例中顯示的權限。

          範例 權限策略:
          { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ] } ] }

          Replace (取代) bucket-name 使用您的 Amazon S3 存儲桶的名稱。

        • 如果 S3 儲存貯體使用客戶受管KMS金鑰加密,則該KMS金鑰必須具有IAM角色kms:Decryptkms:GenerateDataKey操作的存取政策。

    4. 若要設定常用層,請參閱中的步驟 5 設定暖層 (主控台) 的儲存區設定

    5. (選擇性) 若要進行AWS IoT Analytics 整合,請執行下列動作。

      1. 如果要用 AWS IoT Analytics 於查詢資料,請選擇 [啟用 AWS IoT Analytics 資料存放區]。

      2. AWS IoT SiteWise 為您的資料倉庫產生一個名稱,或者您可以輸入其他名稱。

      AWS IoT SiteWise 會自動在中建立資料倉庫 AWS IoT Analytics 以儲存資料。要查詢數據,您可以使用創 AWS IoT Analytics 建數據集。若要取得更多資訊,請參閱《使用指南》中的AWS IoT Analytics 〈處理資 AWS IoT SiteWise 料

    6. 選擇 Save (儲存)。

AWS IoT SiteWise 儲存區段中,冷層儲存可以是下列其中一個值:

  • 啟用 — 將您的資料 AWS IoT SiteWise 複寫到指定的 Amazon S3 儲存貯體。

  • 用 — AWS IoT SiteWise 正在處理您的要求以啟用冷層儲存。此程序可能需要幾分鐘的時間才能完成。

  • 啟用失敗 — AWS IoT SiteWise 無法處理您的要求以啟用冷層儲存。如果您啟用將日誌傳送 AWS IoT SiteWise 到 Amazon 日 CloudWatch 誌,則可以使用這些日誌來對問題進行疑難排解。如需詳細資訊,請參閱使用 Amazon CloudWatch 日誌監控

  • 停用 — 冷層儲存已停用。

設定冷層的儲存設定 (AWS CLI)

下列程序說明如何設定儲存區設定,以便使用將資料複製到冷層 AWS CLI。

若要使用來設定儲存設定 AWS CLI
  1. 若要將資料匯出到帳戶中的 Amazon S3 儲存貯體,請執行以下命令來設定儲存設定。Replace (取代) file-name 使用包含 AWS IoT SiteWise 存儲配置的文件的名稱。

    aws iotsitewise put-storage-configuration --cli-input-json file://file-name.json
    範例 AWS IoT SiteWise 儲存設定
    • Replace (取代) bucket-name 使用您的 Amazon S3 存儲桶名稱。

    • Replace (取代) prefix 使用您的 Amazon S3 前綴。

    • Replace (取代) aws-account-id 使用您的 AWS 帳戶 ID。

    • Replace (取代) role-name 使用允許 AWS IoT SiteWise 將資料傳送到 Amazon S3 的 Amazon S3 存取角色的名稱。

    • Replace (取代) retention-in-days 整數大於或等於 30 天。

    { "storageType": "MULTI_LAYER_STORAGE", "multiLayerStorage": { "customerManagedS3Storage": { "s3ResourceArn": "arn:aws:s3:::bucket-name/prefix/", "roleArn": "arn:aws:iam::aws-account-id:role/role-name" } }, "retentionPeriod": { "numberOfDays": retention-in-days, "unlimited": false } }
    注意
    • 您必須在 AWS IoT SiteWise 儲存組態和IAM政策中使用相同的 Amazon S3 儲存貯體名稱。

    • 請確定您的角色具有下列範例中顯示的權限。

      範例 權限策略:
      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ] } ] }

      Replace (取代) bucket-name 使用您的 Amazon S3 存儲桶的名稱。

    • 如果 S3 儲存貯體使用客戶受管KMS金鑰加密,則該KMS金鑰必須具有IAM角色kms:Decryptkms:GenerateDataKey操作的存取政策。

    範例 response
    { "storageType": "MULTI_LAYER_STORAGE", "retentionPeriod": { "numberOfDays": 100, "unlimited": false }, "configurationStatus": { "state": "UPDATE_IN_PROGRESS" } }
    注意

    更新儲存設定可能需 AWS IoT SiteWise 要幾分鐘的時間。

  2. 若要擷取儲存區組態資訊,請執行下列命令。

    aws iotsitewise describe-storage-configuration
    範例 response
    { "storageType": "MULTI_LAYER_STORAGE", "multiLayerStorage": { "customerManagedS3Storage": { "s3ResourceArn": "arn:aws:s3:::DOC-EXAMPLE-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" }
  3. 若要停止將資料匯出到 Amazon S3 儲存貯體,請執行以下命令來設定儲存設定。

    aws iotsitewise put-storage-configuration --storage-type SITEWISE_DEFAULT_STORAGE
    注意

    根據預設,您的資料只會儲存在的常用層 AWS IoT SiteWise。

    範例 response
    { "storageType": "SITEWISE_DEFAULT_STORAGE", "configurationStatus": { "state": "UPDATE_IN_PROGRESS" } }
  4. 若要擷取儲存區組態資訊,請執行下列命令。

    aws iotsitewise describe-storage-configuration
    範例 response
    { "storageType": "SITEWISE_DEFAULT_STORAGE", "configurationStatus": { "state": "ACTIVE" }, "lastUpdateDate": "2021-03-30T15:57:14-07:00" }

(可選) 建立 AWS IoT Analytics 資料倉庫 (AWS CLI)

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 料

下列步驟 AWS CLI 可用於在中建立資料倉庫 AWS IoT Analytics。

若要建立資料倉庫,請執行下列命令。Replace (取代) file-name 以包含資料倉庫規劃的檔案名稱。

aws iotanalytics create-datastore --cli-input-json file://file-name.json
注意
  • 您必須指定現有 Amazon S3 儲存貯體的名稱。如果您沒有 Amazon S3 儲存貯體,請先建立一個儲存貯體。如需詳細資訊,請參閱 Amazon S3 使用者指南中的建立您的第一個 S3 儲存貯體

  • 您必須在 AWS IoT SiteWise 儲存組態、IAM政策和 AWS IoT Analytics 資料存放區組態中使用相同的 Amazon S3 儲存貯體名稱。

範例 AWS IoT Analytics 資料倉庫規劃

Replace (取代) data-store-name 以及 s3-bucket-name 使用您的 AWS IoT Analytics 資料存放區名稱和 Amazon S3 儲存貯體名稱。

{ "datastoreName": "data-store-name", "datastoreStorage": { "iotSiteWiseMultiLayerStorage": { "customerManagedS3Storage": { "bucket": "s3-bucket-name" } } }, "retentionPeriod": { "numberOfDays": 90 } }
範例 response
{ "datastoreName": "datastore_IoTSiteWise_demo", "datastoreArn": "arn:aws:iotanalytics:us-west-2:123456789012:datastore/datastore_IoTSiteWise_demo", "retentionPeriod": { "numberOfDays": 90, "unlimited": false } }