

如需與 Amazon Timestream for LiveAnalytics 類似的功能，請考慮使用 Amazon Timestream for InfluxDB。它提供簡化的資料擷取和單一位數毫秒查詢回應時間，以進行即時分析。[在這裡](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html)進一步了解。

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

# 使用自訂複合分割區索引鍵進行 LiveAnalytics 結構描述驗證的時間串流
<a name="customer-defined-partition-keys-schema-validation"></a>

Timestream for LiveAnalytics 中的結構描述驗證有助於確保擷取至資料庫的資料符合指定的結構描述，將擷取錯誤降至最低並改善資料品質。尤其，在採用客戶定義的分割區索引鍵以最佳化查詢效能為目標時，結構描述驗證特別有用。

## 什麼是使用客戶定義的分割區索引鍵進行 LiveAnalytics 結構描述驗證的 Timestream？
<a name="customer-defined-partition-keys-schema-validation-what-is"></a>

LiveAnalytics 結構描述驗證的 Timestream 功能會根據預先定義的結構描述，驗證擷取至 Timestream for LiveAnalytics 資料表的資料。此結構描述會定義資料模型，包括要插入之記錄的分割區索引鍵、資料類型和限制條件。

使用客戶定義的分割區索引鍵時，結構描述驗證變得更加重要。分割區索引鍵可讓您指定分割區索引鍵，以決定如何在 Timestream for LiveAnalytics 中存放資料。透過使用自訂分割區索引鍵針對結構描述驗證傳入資料，您可以強制執行資料一致性、及早偵測錯誤，並改善 Timestream for LiveAnalytics 中所存放資料的整體品質。

## 如何使用 Timestream 搭配自訂複合分割區索引鍵進行 LiveAnalytics 結構描述驗證
<a name="customer-defined-partition-keys-schema-validation-using"></a>

若要搭配自訂複合分割區索引鍵使用 Timestream for LiveAnalytics 結構描述驗證，請遵循下列步驟：

**試想您的查詢模式會是什麼樣子：**若要正確選擇和定義 Timestream for LiveAnalytics 資料表的結構描述，您應該從查詢需求開始。

**指定自訂複合分割區索引鍵：**建立資料表時，請指定自訂分割區索引鍵。此索引鍵決定將用於分割資料表資料的屬性。您可以在維度索引鍵和量值索引鍵之間進行分割。維度索引鍵會根據維度名稱分割資料，而度量索引鍵會根據度量名稱分割資料。

**設定強制執行等級：**Amazon Timestream for LiveAnalytics 可讓您為結構描述中的每個分割區索引鍵設定強制執行等級，以確保適當的資料分割及其帶來的好處。強制執行層級會決定擷取記錄時，分割區索引鍵維度是必要還是選用。您可以選擇兩個選項：`REQUIRED`，這表示分割區索引鍵必須存在於擷取的記錄中，而 `OPTIONAL`，這表示分割區索引鍵不需要存在。建議您在使用客戶定義的分割區時，使用`REQUIRED`強制執行層級，以確保您的資料已正確分割，並享有此功能的完整優點。此外，您可以在建立結構描述之後隨時變更強制執行層級組態，以根據您的資料擷取需求進行調整。

**擷取資料：**將資料擷取至 Timestream for LiveAnalytics 資料表時，結構描述驗證程序會使用自訂複合分割區索引鍵，針對定義的結構描述檢查記錄。如果記錄未遵循結構描述，Timestream for LiveAnalytics 將傳回驗證錯誤。

**處理驗證錯誤：**如果發生驗證錯誤，LiveAnalytics 的 Timestream 會根據錯誤`RejectedRecordsException`類型傳回 `ValidationException`或 。請務必在應用程式中處理這些例外狀況，並採取適當的動作，例如修正不正確的記錄並重試擷取。

**更新強制執行層級：**如有必要，您可以在建立資料表後使用 `UpdateTable`動作更新分割區索引鍵的強制執行層級。不過，請務必注意，無法在建立資料表後變更分割區索引鍵組態的某些層面，例如名稱和類型。如果您將強制執行層級從 `REQUIRED` 變更為 `OPTIONAL`，則會接受所有記錄，無論選取做為客戶定義分割區索引鍵的屬性是否存在。相反地，如果您將強制執行層級從 變更為 `OPTIONAL` `REQUIRED`，您可能會開始看到不符合此條件之記錄的 4xx 寫入錯誤。因此，在建立資料表時，請務必根據資料的分割需求，為您的使用案例選擇適當的強制執行層級。

## 何時使用 Timestream for LiveAnalytics 結構描述驗證搭配自訂複合分割區索引鍵
<a name="customer-defined-partition-keys-schema-validation-when-to-use"></a>

在資料一致性、品質和最佳化分割至關重要的情況下，應使用具有自訂複合分割區索引鍵的 LiveAnalytics 結構描述驗證時間串流。透過在資料擷取期間強制執行結構描述，您可以防止可能導致不正確分析或遺失寶貴洞見的錯誤和不一致。

## 與批次載入任務的互動
<a name="customer-defined-partition-keys-schema-validation-when-to-use-batch-load"></a>

設定批次載入任務以使用客戶定義的分割區索引鍵將資料匯入資料表時，有幾個案例可能會影響程序：

1. 如果強制執行層級設定為 `OPTIONAL`，則如果在任務組態期間未映射分割區索引鍵，則在建立流程中主控台上會顯示提醒。使用 API 或 CLI 時，不會顯示此提醒。

1. 如果強制執行層級設定為 `REQUIRED`，則除非分割區索引鍵映射至來源資料欄，否則任務建立將被拒絕。

1. 如果在建立任務`REQUIRED`之後將強制執行層級變更為 ，任務將繼續執行，但任何沒有分割區索引鍵適當映射的記錄都會遭到拒絕，並顯示 4xx 錯誤。

## 與排程查詢的互動
<a name="customer-defined-partition-keys-schema-validation-when-to-use-scheduled-query"></a>

設定排程查詢任務以計算和儲存彙總、彙總和其他形式的預先處理資料到具有客戶定義分割區索引鍵的資料表時，有一些案例可能會影響程序：

1. 如果強制執行層級設定為 `OPTIONAL`，則在任務組態期間未映射分割區索引鍵時，會顯示提醒。使用 API 或 CLI 時，不會顯示此提醒。

1. 如果強制執行層級設定為 `REQUIRED`，則除非分割區索引鍵映射至來源資料欄，否則任務建立將被拒絕。

1. 如果在建立任務`REQUIRED`之後將強制執行層級變更為 ，且排程的查詢結果不包含分割區索引鍵維度，則任務的所有下一個反覆運算都會失敗。