

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

# 使用資料串流管理 Amazon OpenSearch Service 中的時間序列資料
<a name="data-streams"></a>

管理時間序列資料的典型工作流程包含多個步驟，例如建立變換索引別名、定義寫入索引，以及定義備份索引的通用映射和設定。

Amazon OpenSearch Service 中的資料串流有助於簡化此初始設定程序。資料串流可立即用於以時間為基礎的資料，例如通常只附加的應用程式日誌。

資料串流需要 OpenSearch 1.0 版或更新版本。

**注意**  
本文件提供基本步驟，協助您開始使用 Amazon OpenSearch Service 網域上的資料串流。如需完整文件，請參閱 OpenSearch 文件中的[資料串流](https://docs.opensearch.org/latest/opensearch/data-streams/)。

## 資料串流入門
<a name="data-streams-example"></a>

資料串流內部由多個後備索引組成。搜尋請求會路由至所有後備索引，而索引請求則會路由至最新的寫入索引。

### 步驟 1：建立索引範本
<a name="data-streams-example-1"></a>

若要建立資料串流，首先需要建立一個索引範本，設定一組索引作為資料串流。`data_stream` 物件表示它是一個資料串流，而不是一個常規的索引範本。索引模式與資料串流的名稱匹配：

```
PUT _index_template/logs-template
{
  "index_patterns": [
    "my-data-stream",
    "logs-*"
  ],
  "data_stream": {},
  "priority": 100
}
```

在這種情況下，每個擷取的文件都必須有 `@timestamp` 欄位。您也可以將自己的自訂時間戳記欄位定義為 `data_stream` 物件中的一個屬性：

```
PUT _index_template/logs-template
{
  "index_patterns": "my-data-stream",
  "data_stream": {
    "timestamp_field": {
      "name": "request_time"
    }
  }
}
```

### 步驟 2：建立資料串流
<a name="data-streams-example-2"></a>

建立索引範本之後，您可以直接開始擷取資料，而不需要建立資料串流。

因為我們有一個與 `data_stream` 物件匹配的索引範本，所以 OpenSearch 會自動建立資料串流：

```
POST logs-staging/_doc
{
  "message": "login attempt failed",
  "@timestamp": "2013-03-01T00:00:00"
}
```

### 步驟 3：將資料擷取至資料串流
<a name="data-streams-example-3"></a>

若要將資料擷取至資料串流，您可以使用一般索引 API。確保您索引的每個文件都有一個時間戳記欄位。如果您嘗試擷取沒有時間戳記欄位的文件，會收到錯誤。

```
POST logs-redis/_doc
{
  "message": "login attempt",
  "@timestamp": "2013-03-01T00:00:00"
}
```

### 步驟 4：搜尋資料串流
<a name="data-streams-example-4"></a>

您可以像搜尋一般索引或索引別名一樣搜尋資料串流。搜尋操作適用於所有後備索引 (串流中存在的所有資料)。

```
GET logs-redis/_search
{
  "query": {
    "match": {
      "message": "login"
    }
  }
}
```

### 步驟 5：變換資料串流
<a name="data-streams-example-5"></a>

您可以設定[索引狀態管理 (ISM)](ism.md)政策來自動化資料串流的變換程序。ISM 政策會在建立後備索引時便套用至它們。當您將政策與資料串流產生關聯時，它只會影響該資料串流的未來後備索引。您也不需要提供 `rollover_alias` 設定，因為 ISM 政策會從後備索引中推斷此資訊。

**注意**  
如果您將備份索引遷移至[冷儲存](cold-storage.md)，OpenSearch 會從資料串流中移除此索引。即使您將索引移回 [UltraWarm](ultrawarm.md)，索引會保持獨立，而不是原始資料串流的一部分。從資料串流移除索引後，搜尋串流不會傳回索引中的任何資料。

**警告**  
資料串流的寫入索引無法遷移至冷儲存。如果您想要將資料串流中的資料遷移至冷儲存，則必須在遷移之前輪換資料串流。

### 步驟 6：管理 OpenSearch Dashboards 中的資料串流
<a name="data-streams-example-6"></a>

若要在 OpenSearch Dashboards 中管理資料串流，請開啟 **OpenSearch Dashboards**，選擇 **Index Management** (索引管理)，選取 **Indices** (索引) 或 **Policy managed indices** (政策管理的索引)。

### 步驟 7：刪除資料串流
<a name="data-streams-example-7"></a>

刪除操作首先刪除資料串流的後備索引，然後刪除資料串流本身。

若要刪除資料串流及其所有隱藏的後備索引：

```
DELETE _data_stream/name_of_data_stream
```