- 要将备份保留期内任意时间点的数据恢复到新集群,请确保**备份设置**中的**时间点恢复**已开启,然后执行以下步骤:
+ 若要将备份保留期内任意时间点的数据恢复到新集群,请确保 **Backup Setting** 中已开启 **Point-in-time Restore**,然后执行以下步骤:
- - 点击**选择时间点**。
- - 选择要恢复到的**日期**和**时间**。
+ - 点击 **Select Time Point**。
+ - 选择你要恢复的 **Date** 和 **Time**。
+
- 要将选定的备份恢复到新集群,请执行以下步骤:
+ 若要将选定的备份恢复到新集群,请执行以下步骤:
- - 点击**选择备份名称**。
- - 选择要恢复到的备份。
+ - 点击 **Select Backup Name**。
+ - 选择你要恢复的备份。
-5. 在**恢复到区域**中,选择与**备份设置**中配置的**主要区域**相同的区域。
+5. 在 **Restore to Region** 中,选择与 **Backup Setting** 中配置的 **Primary Region** 相同的区域。
-6. 在**恢复**窗口中,你还可以根据需要进行以下更改:
+6. 在 **Restore** 窗口中,如有需要还可以进行以下更改:
- 设置集群名称。
- - 更新集群的端口号。
- - 增加集群的节点数量、vCPU 和 RAM,以及存储。
+ - 更新集群端口号。
+ - 增加集群节点数、vCPU 和内存、存储空间。
-7. 点击**恢复**。
+7. 点击 **Restore**。
- 集群恢复过程开始,并显示**密码设置**对话框。
+ 集群恢复流程启动,并弹出 **Password Settings** 对话框。
-8. 在**密码设置**对话框中,设置连接集群的 root 密码,然后点击**保存**。
+8. 在 **Password Settings** 对话框中,设置连接集群的 root 密码,然后点击 **Save**。
### 恢复已删除的集群
-> **注意:**
+> **Note:**
>
-> 你无法将已删除的集群恢复到任意时间点。你只能选择自动或手动备份进行恢复。
+> 已删除集群无法恢复到任意时间点,只能选择自动或手动备份进行恢复。
要从回收站恢复已删除的集群,请执行以下步骤:
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,使用左上角的组合框切换到目标项目。
-2. 在左侧导航栏中,点击**项目设置** > **回收站**。
-3. 在**回收站**页面上,找到要恢复的集群,在**操作**列中点击 **...**,然后点击**备份**。
-4. 在**备份**页面上,找到所需的备份时间,在**操作**列中点击 **...**,然后点击**恢复**。
-5. 在**恢复**页面上,为新集群指定一个名称,然后根据需要进行以下更改:
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com) 中,使用左上角的下拉框切换到目标项目。
+2. 在左侧导航栏,点击 **Project Settings** > **Recycle Bin**。
+3. 在 **Recycle Bin** 页面,找到你要恢复的集群,在 **Action** 列点击 **...**,然后点击 **Backups**。
+4. 在 **Backups** 页面,找到你想要的备份时间,在 **Action** 列点击 **...**,然后点击 **Restore**。
+5. 在 **Restore** 页面,为新集群指定名称,并根据需要进行以下更改:
- - 更新集群的端口号。
- - 增加集群的节点数量、vCPU 和 RAM,以及存储。
+ - 更新集群端口号。
+ - 增加集群节点数、vCPU 和内存、存储空间。
-6. 在**摘要**部分,检查恢复信息,然后点击**恢复**。
+6. 在 **Summary** 部分,检查恢复信息,然后点击 **Restore**。
- 集群恢复过程开始,并显示**密码设置**对话框。
+ 集群恢复流程启动,并弹出 **Password Settings** 对话框。
-7. 在**密码设置**对话框中,设置连接集群的 root 密码,然后点击**保存**。
+7. 在 **Password Settings** 对话框中,设置连接集群的 root 密码,然后点击 **Save**。
\ No newline at end of file
diff --git a/tidb-cloud/branch-github-integration.md b/tidb-cloud/branch-github-integration.md
index 277eb7284d5a3..8a7b0232fd688 100644
--- a/tidb-cloud/branch-github-integration.md
+++ b/tidb-cloud/branch-github-integration.md
@@ -1,77 +1,77 @@
---
-title: 集成 TiDB Cloud Serverless 分支功能(Beta)与 GitHub
+title: 集成 TiDB Cloud Serverless 分支(Beta)与 GitHub
summary: 了解如何将 TiDB Cloud Serverless 分支功能与 GitHub 集成。
---
-# 集成 TiDB Cloud Serverless 分支功能(Beta)与 GitHub
+# 集成 TiDB Cloud Serverless 分支(Beta)与 GitHub
-> **注意:**
+> **Note:**
>
-> 此集成基于 [TiDB Cloud Serverless 分支功能](/tidb-cloud/branch-overview.md)构建。在阅读本文档之前,请确保你已熟悉 TiDB Cloud Serverless 分支功能。
+> 此集成基于 [TiDB Cloud Serverless 分支](/tidb-cloud/branch-overview.md)。在阅读本文档之前,请确保你已熟悉 TiDB Cloud Serverless 分支。
-如果你使用 GitHub 进行应用程序开发,你可以将 TiDB Cloud Serverless 分支功能集成到 GitHub CI/CD 流程中,这样你就可以使用分支自动测试你的拉取请求,而不会影响生产数据库。
+如果你在应用开发中使用 GitHub,可以将 TiDB Cloud Serverless 分支集成到你的 GitHub CI/CD 流水线中,从而让你能够在不影响生产数据库的情况下,自动使用分支测试你的拉取请求(pull request)。
-在集成过程中,系统会提示你安装 [TiDB Cloud Branching](https://github.com/apps/tidb-cloud-branching) GitHub 应用程序。该应用程序可以根据 GitHub 仓库中的拉取请求自动管理 TiDB Cloud Serverless 分支。例如,当你创建拉取请求时,应用程序会为你的 TiDB Cloud Serverless 集群创建相应的分支,你可以在其中独立开发新功能或修复错误,而不会影响生产数据库。
+在集成过程中,你会被提示安装 [TiDB Cloud Branching](https://github.com/apps/tidb-cloud-branching) GitHub 应用。该应用可以根据你 GitHub 仓库中的拉取请求自动管理 TiDB Cloud Serverless 分支。例如,当你创建一个拉取请求时,该应用会为你的 TiDB Cloud Serverless 集群创建一个对应的分支,你可以在该分支中独立开发新功能或修复 bug,而不会影响生产数据库。
-本文档涵盖以下主题:
+本文档涵盖以下内容:
-1. 如何将 TiDB Cloud Serverless 分支功能与 GitHub 集成
-2. TiDB Cloud Branching 应用程序的工作原理
-3. 如何构建基于分支的 CI 工作流,使用分支而不是生产集群来测试每个拉取请求
+1. 如何将 TiDB Cloud Serverless 分支与 GitHub 集成
+2. TiDB Cloud Branching 应用的工作原理
+3. 如何构建基于分支的 CI 工作流,使用分支而非生产集群测试每个拉取请求
## 开始之前
-在进行集成之前,请确保你具备以下条件:
+在集成之前,请确保你具备以下条件:
-- GitHub 账号
-- 用于你应用程序的 GitHub 仓库
-- [TiDB Cloud Serverless 集群](/tidb-cloud/create-tidb-cluster-serverless.md)
+- 一个 GitHub 账号
+- 一个用于你的应用的 GitHub 仓库
+- 一个 [TiDB Cloud Serverless 集群](/tidb-cloud/create-tidb-cluster-serverless.md)
-## 将 TiDB Cloud Serverless 分支功能与 GitHub 仓库集成
+## 将 TiDB Cloud Serverless 分支与 GitHub 仓库集成 {#integrate-branching-with-your-github-repository}
-要将 TiDB Cloud Serverless 分支功能与 GitHub 仓库集成,请按照以下步骤操作:
+要将 TiDB Cloud Serverless 分支与 GitHub 仓库集成,请按照以下步骤操作:
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com/)中,导航到项目的[**集群**](https://tidbcloud.com/project/clusters)页面,然后点击目标 TiDB Cloud Serverless 集群的名称以进入其概览页面。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com/)中,进入你的项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面,然后点击目标 TiDB Cloud Serverless 集群的名称,进入其概览页面。
-2. 在左侧导航栏中点击**分支**。
+2. 在左侧导航栏点击 **Branches**。
-3. 在**分支**页面的右上角,点击**连接到 GitHub**。
+3. 在 **Branches** 页面右上角,点击 **Connect to GitHub**。
- - 如果你尚未登录 GitHub,系统会要求你先登录 GitHub。
- - 如果这是你第一次使用此集成,系统会要求你授权 **TiDB Cloud Branching** 应用程序。
+ - 如果你尚未登录 GitHub,会被要求先登录 GitHub。
+ - 如果这是你第一次使用该集成,会被要求授权 **TiDB Cloud Branching** 应用。
-4. 在**连接到 GitHub**对话框中,从**GitHub 账号**下拉列表中选择一个 GitHub 账号。
+4. 在 **Connect to GitHub** 对话框中,在 **GitHub Account** 下拉列表中选择一个 GitHub 账号。
- 如果列表中没有你的账号,请点击**安装其他账号**,然后按照屏幕上的说明安装账号。
+ 如果你的账号不在列表中,点击 **Install Other Account**,然后按照屏幕提示安装该账号。
-5. 从**GitHub 仓库**下拉列表中选择你的目标仓库。如果列表较长,你可以通过输入名称来搜索仓库。
+5. 在 **GitHub Repository** 下拉列表中选择你的目标仓库。如果列表较长,可以通过输入名称进行搜索。
-6. 点击**连接**以建立 TiDB Cloud Serverless 集群与 GitHub 仓库之间的连接。
+6. 点击 **Connect**,将你的 TiDB Cloud Serverless 集群与 GitHub 仓库连接起来。
-## TiDB Cloud Branching 应用程序行为
+## TiDB Cloud Branching 应用行为
-将 TiDB Cloud Serverless 集群连接到 GitHub 仓库后,[TiDB Cloud Branching](https://github.com/apps/tidb-cloud-branching) GitHub 应用程序可以自动管理该仓库中每个拉取请求对应的 TiDB Cloud Serverless 分支。以下列出了拉取请求变更的默认行为:
+当你将 TiDB Cloud Serverless 集群与 GitHub 仓库连接后,对于该仓库中的每个拉取请求,[TiDB Cloud Branching](https://github.com/apps/tidb-cloud-branching) GitHub 应用都可以自动管理其对应的 TiDB Cloud Serverless 分支。以下是针对拉取请求变更的默认行为列表:
-| 拉取请求变更 | TiDB Cloud Branching 应用程序行为 |
-|------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| 创建拉取请求 | 当你在仓库中创建拉取请求时,[TiDB Cloud Branching](https://github.com/apps/tidb-cloud-branching) 应用程序会为你的 TiDB Cloud Serverless 集群创建一个分支。当 `branch.mode` 设置为 `reset` 时,分支名称遵循 `${github_branch_name}_${pr_id}` 格式。当 `branch.mode` 设置为 `reserve` 时,分支名称遵循 `${github_branch_name}_${pr_id}_${commit_sha}` 格式。请注意,分支数量有[限制](/tidb-cloud/branch-overview.md#limitations-and-quotas)。 |
-| 向拉取请求推送新提交 | 当 `branch.mode` 设置为 `reset` 时,每次你向仓库的拉取请求推送新提交时,[TiDB Cloud Branching](https://github.com/apps/tidb-cloud-branching) 应用程序都会重置 TiDB Cloud Serverless 分支。当 `branch.mode` 设置为 `reserve` 时,应用程序会为最新提交创建一个新分支。 |
-| 关闭或合并拉取请求 | 当你关闭或合并拉取请求时,[TiDB Cloud Branching](https://github.com/apps/tidb-cloud-branching) 应用程序会删除该拉取请求的分支。 |
-| 重新打开拉取请求 | 当你重新打开拉取请求时,[TiDB Cloud Branching](https://github.com/apps/tidb-cloud-branching) 应用程序会为该拉取请求的最新提交创建一个分支。 |
+| 拉取请求变更 | TiDB Cloud Branching 应用行为 |
+|------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| 创建拉取请求 | 当你在仓库中创建拉取请求时,[TiDB Cloud Branching](https://github.com/apps/tidb-cloud-branching) 应用会为你的 TiDB Cloud Serverless 集群创建一个分支。当 `branch.mode` 设置为 `reset` 时,分支名称为 `${github_branch_name}_${pr_id}` 格式。当 `branch.mode` 设置为 `reserve` 时,分支名称为 `${github_branch_name}_${pr_id}_${commit_sha}` 格式。请注意,分支数量有 [限制](/tidb-cloud/branch-overview.md#limitations-and-quotas)。 |
+| 向拉取请求推送新提交 | 当 `branch.mode` 设置为 `reset` 时,每次你向仓库中的拉取请求推送新提交,[TiDB Cloud Branching](https://github.com/apps/tidb-cloud-branching) 应用会重置 TiDB Cloud Serverless 分支。当 `branch.mode` 设置为 `reserve` 时,应用会为最新提交创建一个新分支。 |
+| 关闭或合并拉取请求 | 当你关闭或合并拉取请求时,[TiDB Cloud Branching](https://github.com/apps/tidb-cloud-branching) 应用会删除该拉取请求对应的分支。 |
+| 重新打开拉取请求 | 当你重新打开拉取请求时,[TiDB Cloud Branching](https://github.com/apps/tidb-cloud-branching) 应用会为该拉取请求的最新提交创建一个分支。 |
-## 配置 TiDB Cloud Branching 应用程序
+## 配置 TiDB Cloud Branching 应用
-要配置 [TiDB Cloud Branching](https://github.com/apps/tidb-cloud-branching) 应用程序的行为,你可以在仓库的根目录中添加一个 `tidbcloud.yml` 文件,然后根据以下说明将所需的配置添加到该文件中。
+要配置 [TiDB Cloud Branching](https://github.com/apps/tidb-cloud-branching) 应用的行为,你可以在仓库根目录下添加一个 `tidbcloud.yml` 文件,并根据以下说明将所需配置添加到该文件中。
### branch.blockList
-**类型:** 字符串数组。**默认值:** `[]`。
+**Type:** string 数组。**Default:** `[]`。
-指定禁止 TiDB Cloud Branching 应用程序使用的 GitHub 分支,即使它们在 `allowList` 中。
+指定禁止 TiDB Cloud Branching 应用的 GitHub 分支,即使它们在 `allowList` 中。
```yaml
github:
@@ -83,9 +83,9 @@ github:
### branch.allowList
-**类型:** 字符串数组。**默认值:** `[.*]`。
+**type:** string 数组。**Default:** `[.*]`。
-指定允许 TiDB Cloud Branching 应用程序使用的 GitHub 分支。
+指定允许 TiDB Cloud Branching 应用的 GitHub 分支。
```yaml
github:
@@ -96,12 +96,12 @@ github:
### branch.mode
-**类型:** 字符串。**默认值:** `reset`。
+**Type:** string。**Default:** `reset`。
-指定 TiDB Cloud Branching 应用程序如何处理分支更新:
+指定 TiDB Cloud Branching 应用如何处理分支更新:
-- 如果设置为 `reset`,TiDB Cloud Branching 应用程序将使用最新数据更新现有分支。
-- 如果设置为 `reserve`,TiDB Cloud Branching 应用程序将为你的最新提交创建一个新分支。
+- 如果设置为 `reset`,TiDB Cloud Branching 应用会用最新数据更新已有分支。
+- 如果设置为 `reserve`,TiDB Cloud Branching 应用会为你的最新提交创建一个新分支。
```yaml
github:
@@ -111,9 +111,9 @@ github:
### branch.autoDestroy
-**类型:** 布尔值。**默认值:** `true`。
+**Type:** boolean。**Default:** `true`。
-如果设置为 `false`,当拉取请求被关闭或合并时,TiDB Cloud Branching 应用程序将不会删除 TiDB Cloud Serverless 分支。
+如果设置为 `false`,当拉取请求关闭或合并时,TiDB Cloud Branching 应用不会删除 TiDB Cloud Serverless 分支。
```yaml
github:
@@ -121,17 +121,17 @@ github:
autoDestroy: true
```
-## 创建分支 CI 工作流
+## 创建基于分支的 CI 工作流
-使用分支的最佳实践之一是创建分支 CI 工作流。通过该工作流,你可以在合并拉取请求之前使用 TiDB Cloud Serverless 分支而不是生产集群来测试你的代码。你可以在[这里](https://github.com/shiyuhang0/tidbcloud-branch-gorm-example)找到一个实际示例。
+使用分支的最佳实践之一是创建基于分支的 CI 工作流。通过该工作流,你可以在合并拉取请求之前,使用 TiDB Cloud Serverless 分支而不是生产集群来测试你的代码。你可以在 [这里](https://github.com/shiyuhang0/tidbcloud-branch-gorm-example) 查看在线演示。
-以下是创建工作流的主要步骤:
+创建该工作流的主要步骤如下:
-1. [将 TiDB Cloud Serverless 分支功能与你的 GitHub 仓库集成](#将-tidb-cloud-serverless-分支功能与-github-仓库集成)。
+1. [将 TiDB Cloud Serverless 分支与 GitHub 仓库集成](#integrate-branching-with-your-github-repository)。
2. 获取分支连接信息。
- 你可以使用 [wait-for-tidbcloud-branch](https://github.com/tidbcloud/wait-for-tidbcloud-branch) action 来等待 TiDB Cloud Serverless 分支就绪并获取分支的连接信息。
+ 你可以使用 [wait-for-tidbcloud-branch](https://github.com/tidbcloud/wait-for-tidbcloud-branch) action 等待 TiDB Cloud Serverless 分支就绪,并获取分支的连接信息。
示例用法:
@@ -151,20 +151,20 @@ github:
echo "The user is ${{ steps.wait-for-branch.outputs.user }}"
echo "The password is ${{ steps.wait-for-branch.outputs.password }}"
```
-
+
- `token`:GitHub 会自动创建一个 [GITHUB_TOKEN](https://docs.github.com/en/actions/security-guides/automatic-token-authentication) 密钥。你可以直接使用它。
- `public-key` 和 `private-key`:TiDB Cloud [API 密钥](https://docs.pingcap.com/tidbcloud/api/v1beta#section/Authentication/API-Key-Management)。
3. 修改你的测试代码。
- 修改你的测试代码以接受来自 GitHub Actions 的连接信息。例如,你可以通过环境变量接受连接信息,如[实际示例](https://github.com/shiyuhang0/tidbcloud-branch-gorm-example)所示。
+ 修改你的测试代码,使其能够从 GitHub Actions 接收连接信息。例如,你可以通过环境变量接收连接信息,具体可参考 [在线演示](https://github.com/shiyuhang0/tidbcloud-branch-gorm-example)。
-## 下一步
+## 后续操作
-通过以下示例了解如何使用分支 GitHub 集成:
+你可以通过以下示例,了解如何使用分支 GitHub 集成:
- [branching-gorm-example](https://github.com/tidbcloud/branching-gorm-example)
- [branching-django-example](https://github.com/tidbcloud/branching-django-example)
- [branching-rails-example](https://github.com/tidbcloud/branching-rails-example)
-你也可以在不使用分支 GitHub 集成的情况下构建分支 CI/CD 工作流。例如,你可以使用 [`setup-tidbcloud-cli`](https://github.com/tidbcloud/setup-tidbcloud-cli) 和 GitHub Actions 来自定义你的 CI/CD 工作流。
+你也可以在不使用分支 GitHub 集成的情况下,构建自己的分支 CI/CD 工作流。例如,你可以使用 [`setup-tidbcloud-cli`](https://github.com/tidbcloud/setup-tidbcloud-cli) 和 GitHub Actions 自定义你的 CI/CD 工作流。
\ No newline at end of file
diff --git a/tidb-cloud/branch-manage.md b/tidb-cloud/branch-manage.md
index d75218741b0d3..ef1ea030aa389 100644
--- a/tidb-cloud/branch-manage.md
+++ b/tidb-cloud/branch-manage.md
@@ -5,95 +5,95 @@ summary: 了解如何管理 TiDB Cloud Serverless 分支。
# 管理 TiDB Cloud Serverless 分支
-本文档介绍如何使用 [TiDB Cloud 控制台](https://tidbcloud.com) 管理 TiDB Cloud Serverless 分支。如需使用 TiDB Cloud CLI 进行管理,请参阅 [`ticloud branch`](/tidb-cloud/ticloud-branch-create.md)。
+本文档介绍如何使用 [TiDB Cloud 控制台](https://tidbcloud.com) 管理 TiDB Cloud Serverless 分支。若需使用 TiDB Cloud CLI 进行管理,请参见 [`ticloud branch`](/tidb-cloud/ticloud-branch-create.md)。
## 所需权限
-- 要[创建分支](#创建分支)或[连接到分支](#连接到分支),你必须具有组织的 `Organization Owner` 角色或目标项目的 `Project Owner` 角色。
-- 要[查看项目中集群的分支](#查看分支),你必须属于该项目。
+- 若要[创建分支](#create-a-branch)或[连接到分支](#connect-to-a-branch),你必须是组织的 `Organization Owner` 角色或目标项目的 `Project Owner` 角色。
+- 若要[查看项目中集群的分支](#create-a-branch),你必须属于该项目。
-有关权限的更多信息,请参阅[用户角色](/tidb-cloud/manage-user-access.md#user-roles)。
+关于权限的更多信息,请参见 [用户角色](/tidb-cloud/manage-user-access.md#user-roles)。
## 创建分支
-> **注意:**
+> **Note:**
>
-> 你只能为 2023 年 7 月 5 日之后创建的 TiDB Cloud Serverless 集群创建分支。更多限制请参阅[限制和配额](/tidb-cloud/branch-overview.md#limitations-and-quotas)。
+> 你只能为 2023 年 7 月 5 日之后创建的 TiDB Cloud Serverless 集群创建分支。更多限制请参见 [限制与配额](/tidb-cloud/branch-overview.md#limitations-and-quotas)。
要创建分支,请执行以下步骤:
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com/)中,导航到项目的[**集群**](https://tidbcloud.com/project/clusters)页面,然后点击目标 TiDB Cloud Serverless 集群的名称以进入其概览页面。
-2. 在左侧导航栏中点击**分支**。
-3. 在**分支**页面的右上角,点击**创建分支**。此时会显示一个对话框。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com/)中,进入你项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面,然后点击目标 TiDB Cloud Serverless 集群的名称,进入其概览页面。
+2. 在左侧导航栏点击 **Branches**。
+3. 在 **Branches** 页面右上角,点击 **Create Branch**。此时会弹出对话框。
- 或者,要从现有父分支创建分支,找到目标父分支所在的行,然后在**操作**列中点击 **...** > **创建分支**。
+ 或者,也可以从已有的父分支创建分支,找到目标父分支所在行,然后在 **Action** 列点击 **...** > **Create Branch**。
-4. 在**创建分支**对话框中,配置以下选项:
+4. 在 **Create Branch** 对话框中,配置以下选项:
- - **名称**:输入分支的名称。
- - **父分支**:选择原始集群或现有分支。`main` 代表当前集群。
- - **包含数据截至**:选择以下其中一项:
- - **当前时间点**:从当前状态创建分支。
- - **指定日期和时间**:从指定时间创建分支。
+ - **Name**:输入分支名称。
+ - **Parent branch**:选择原始集群或已有分支。`main` 代表当前集群。
+ - **Include data up to**:选择以下之一:
+ - **Current point in time**:从当前状态创建分支。
+ - **Specific date and time**:从指定时间点创建分支。
-5. 点击**创建**。
+5. 点击 **Create**。
-根据集群中的数据大小,分支创建将在几分钟内完成。
+根据你集群中的数据量,分支创建将在几分钟内完成。
## 查看分支
要查看集群的分支,请执行以下步骤:
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com/)中,导航到项目的[**集群**](https://tidbcloud.com/project/clusters)页面,然后点击目标 TiDB Cloud Serverless 集群的名称以进入其概览页面。
-2. 在左侧导航栏中点击**分支**。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com/)中,进入你项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面,然后点击目标 TiDB Cloud Serverless 集群的名称,进入其概览页面。
+2. 在左侧导航栏点击 **Branches**。
- 集群的分支列表将显示在右侧窗格中。
+ 集群的分支列表会显示在右侧面板。
## 连接到分支
要连接到分支,请执行以下步骤:
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com/)中,导航到项目的[**集群**](https://tidbcloud.com/project/clusters)页面,然后点击目标 TiDB Cloud Serverless 集群的名称以进入其概览页面。
-2. 在左侧导航栏中点击**分支**。
-3. 在要连接的目标分支所在行中,点击**操作**列中的 **...**。
-4. 在下拉列表中点击**连接**。此时会显示连接信息对话框。
-5. 点击**生成密码**或**重置密码**以创建或重置 root 密码。
-6. 使用连接信息连接到分支。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com/)中,进入你项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面,然后点击目标 TiDB Cloud Serverless 集群的名称,进入其概览页面。
+2. 在左侧导航栏点击 **Branches**。
+3. 在目标分支所在行的 **Action** 列点击 **...**。
+4. 在下拉列表中点击 **Connect**。此时会弹出连接信息对话框。
+5. 点击 **Generate Password** 或 **Reset Password** 以创建或重置 root 密码。
+6. 使用连接信息连接到该分支。
-或者,你也可以从集群概览页面获取连接字符串:
+另外,你也可以在集群概览页面获取连接字符串:
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com/)中,导航到项目的[**集群**](https://tidbcloud.com/project/clusters)页面,然后点击目标 TiDB Cloud Serverless 集群的名称以进入其概览页面。
-2. 点击右上角的**连接**。
-3. 在`分支`下拉列表中选择要连接的分支。
-4. 点击**生成密码**或**重置密码**以创建或重置 root 密码。
-5. 使用连接信息连接到分支。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com/)中,进入你项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面,然后点击目标 TiDB Cloud Serverless 集群的名称,进入其概览页面。
+2. 在右上角点击 **Connect**。
+3. 在 `Branch` 下拉列表中选择你要连接的分支。
+4. 点击 **Generate Password** 或 **Reset Password** 以创建或重置 root 密码。
+5. 使用连接信息连接到该分支。
## 删除分支
要删除分支,请执行以下步骤:
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com/)中,导航到项目的[**集群**](https://tidbcloud.com/project/clusters)页面,然后点击目标 TiDB Cloud Serverless 集群的名称以进入其概览页面。
-2. 在左侧导航栏中点击**分支**。
-3. 在要删除的目标分支所在行中,点击**操作**列中的 **...**。
-4. 在下拉列表中点击**删除**。
-5. 确认删除。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com/)中,进入你项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面,然后点击目标 TiDB Cloud Serverless 集群的名称,进入其概览页面。
+2. 在左侧导航栏点击 **Branches**。
+3. 在目标分支所在行的 **Action** 列点击 **...**。
+4. 在下拉列表中点击 **Delete**。
+5. 确认删除操作。
## 重置分支
重置分支会将其与父分支的最新数据同步。
-> **注意:**
+> **Note:**
>
-> 此操作不可逆。在重置分支之前,请确保已备份任何重要数据。
+> 此操作不可逆。在重置分支前,请确保你已备份所有重要数据。
要重置分支,请执行以下步骤:
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com/)中,导航到项目的[**集群**](https://tidbcloud.com/project/clusters)页面,然后点击目标 TiDB Cloud Serverless 集群的名称以进入其概览页面。
-2. 在左侧导航栏中点击**分支**。
-3. 在要重置的目标分支所在行中,点击**操作**列中的 **...**。
-4. 在下拉列表中点击**重置**。
-5. 确认重置。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com/)中,进入你项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面,然后点击目标 TiDB Cloud Serverless 集群的名称,进入其概览页面。
+2. 在左侧导航栏点击 **Branches**。
+3. 在目标分支所在行的 **Action** 列点击 **...**。
+4. 在下拉列表中点击 **Reset**。
+5. 确认重置操作。
-## 下一步
+## 后续操作
-- [将 TiDB Cloud Serverless 分支集成到 GitHub CI/CD 流程中](/tidb-cloud/branch-github-integration.md)
+- [将 TiDB Cloud Serverless 分支集成到你的 GitHub CI/CD 流水线](/tidb-cloud/branch-github-integration.md)
\ No newline at end of file
diff --git a/tidb-cloud/branch-overview.md b/tidb-cloud/branch-overview.md
index 82e012823b6ef..407f747db3717 100644
--- a/tidb-cloud/branch-overview.md
+++ b/tidb-cloud/branch-overview.md
@@ -1,53 +1,53 @@
---
-title: TiDB Cloud Serverless 分支(Beta)概述
+title: TiDB Cloud Serverless Branching (Beta) Overview
summary: 了解 TiDB Cloud Serverless 分支的概念。
---
# TiDB Cloud Serverless 分支(Beta)概述
-TiDB Cloud 允许你为 TiDB Cloud Serverless 集群创建分支。集群的分支是一个独立的实例,包含从原始集群分叉的数据副本。它提供了一个隔离的环境,让你可以自由实验而不用担心影响原始集群。
+TiDB Cloud 允许你为 TiDB Cloud Serverless 集群创建分支。集群的分支是一个独立的实例,包含从原始集群分叉出来的数据副本。它提供了一个隔离的环境,使你可以自由地进行实验,而无需担心影响原始集群。
-通过 TiDB Cloud Serverless 分支,开发人员可以并行工作,快速迭代新功能,在不影响生产数据库的情况下排查问题,并在需要时轻松回滚更改。此功能简化了开发和部署过程,同时确保生产数据库具有高度的稳定性和可靠性。
+通过 TiDB Cloud Serverless 分支,开发者可以并行工作,快速迭代新功能,排查问题而不影响生产数据库,并且在需要时可以轻松回滚更改。该功能简化了开发和部署流程,同时确保生产数据库的高稳定性和可靠性。
## 实现方式
-创建集群的分支时,分支中的数据会在特定时间点从原始集群或其父分支分叉。这意味着之后在父分支或子分支中所做的更改不会相互同步。
+当为集群创建分支时,分支中的数据会在某一特定时间点与原始集群或其父分支的数据分叉。这意味着之后在父集群或分支中所做的更改将不会相互同步。
-为确保快速且无缝的分支创建,TiDB Cloud Serverless 使用写时复制技术在原始集群及其分支之间共享数据。此过程通常在几分钟内完成,用户无法察觉,确保不会影响原始集群的性能。
+为了确保分支创建的快速与无缝,TiDB Cloud Serverless 采用了写时复制(copy-on-write)技术,在原始集群与其分支之间共享数据。该过程通常在几分钟内完成,对用户来说几乎无感知,并且不会影响原始集群的性能。
## 使用场景
-你可以轻松快速地创建分支以获得隔离的数据环境。在以下场景中,当多个开发人员或团队需要独立工作、测试更改、修复错误、尝试新功能或推出更新而不影响生产数据库时,分支特别有用。
+你可以轻松快速地创建分支,以获得隔离的数据环境。在以下场景中,分支非常有用,适用于多个开发者或团队需要独立工作、测试更改、修复 bug、尝试新功能或发布更新而不影响生产数据库的情况。
-- 功能开发:开发人员可以在隔离环境中开发新功能,而不会影响生产数据库。每个功能都可以有自己的分支,允许快速迭代和实验,而不会影响其他正在进行的工作。
+- 功能开发:开发者可以在隔离环境中开发新功能,而不会影响生产数据库。每个功能都可以有自己的分支,实现快速迭代和实验,而不会影响其他正在进行的工作。
-- 错误修复:开发人员可以创建专门用于修复特定错误的分支,测试修复方案,然后在验证后合并回去,而不会给生产数据库带来新的问题。
+- Bug 修复:开发者可以为修复特定 bug 创建专用分支,测试修复效果,并在验证后合并回去,而不会给生产数据库引入新的问题。
-- 实验:在开发新功能或进行更改时,开发人员可以创建分支来尝试不同的方法或配置。这使他们能够比较各种选项,收集数据,并在更改合并到生产数据库之前做出明智的决定。
+- 实验:在开发新功能或进行更改时,开发者可以创建分支,尝试不同的方法或配置。这样可以对比多种方案,收集数据,并在更改合并到生产数据库前做出明智决策。
-- 性能优化:有时会进行数据库更改以提高性能。通过分支,开发人员可以在隔离环境中实验和微调各种配置、索引或算法,以找到最有效的解决方案。
+- 性能优化:有时会对数据库进行更改以提升性能。通过分支,开发者可以在隔离环境中实验和微调各种配置、索引或算法,从而找到最优方案。
-- 测试和暂存:团队可以创建用于测试和暂存的分支。它为质量保证、用户验收测试或暂存定制提供了一个受控环境,然后再将更改合并到生产数据库中。
+- 测试与预发布:团队可以为测试和预发布目的创建分支。它为质量保证、用户验收测试或上线前的定制化提供了受控环境。
-- 并行开发:不同的团队或开发人员可以同时处理不同的项目。每个项目都可以有自己的分支,实现独立开发和实验,同时仍然能够将更改合并回生产数据库。
+- 并行开发:不同团队或开发者可以同时进行独立项目开发。每个项目都可以有自己的分支,实现独立开发和实验,同时仍可将更改合并回生产数据库。
-## 限制和配额
+## 限制与配额
-目前,TiDB Cloud Serverless 分支处于 beta 阶段,免费使用。
+目前,TiDB Cloud Serverless 分支处于 beta 阶段,免费提供。
-- 对于 TiDB Cloud 中的每个组织,默认情况下你最多可以在所有集群中创建五个 TiDB Cloud Serverless 分支。集群的分支将在与集群相同的区域中创建,你不能为受限集群或大于 100 GiB 的集群创建分支。
+- 对于 TiDB Cloud 中的每个组织,默认情况下你最多可以在所有集群中创建 5 个 TiDB Cloud Serverless 分支。集群的分支会被创建在与集群相同的区域,且无法为受限集群或大于 100 GiB 的集群创建分支。
-- 对于免费集群的每个分支,允许 10 GiB 存储空间。对于可扩展集群的每个分支,允许 100 GiB 存储空间。一旦达到存储限制,此分支上的读写操作将被限制,直到你减少存储空间。
+- 免费集群的每个分支允许使用 10 GiB 存储空间。可扩展集群的每个分支允许使用 100 GiB 存储空间。当存储空间达到上限时,该分支的读写操作将被限制,直到你减少存储空间为止。
-- 如果你的集群有带 TiFlash 副本的表,这些副本在你创建新分支后将暂时不可用,因为 TiFlash 需要重建副本数据。
+- 如果你的集群包含 TiFlash 副本表,在你创建新分支后,这些副本在新分支中会暂时不可用,因为 TiFlash 需要重新构建副本数据。
-- 当从特定时间点[创建分支](/tidb-cloud/branch-manage.md#create-a-branch)时:
+- 当你从某一特定时间点[创建分支](/tidb-cloud/branch-manage.md#create-a-branch)时:
- - 对于免费集群的分支,你可以选择过去 24 小时内的任何时间。
- - 对于可扩展集群的分支,你可以选择过去 14 天内的任何时间。
+ - 免费集群的分支可以选择最近 24 小时内的任意时间点。
+ - 可扩展集群的分支可以选择最近 14 天内的任意时间点。
如果你需要更多配额,请[联系 TiDB Cloud 支持](/tidb-cloud/tidb-cloud-support.md)。
-## 下一步
+## 后续操作
- [了解如何管理分支](/tidb-cloud/branch-manage.md)
diff --git a/tidb-cloud/built-in-monitoring.md b/tidb-cloud/built-in-monitoring.md
index 1cbfacf7cfaef..f47ee0810ade5 100644
--- a/tidb-cloud/built-in-monitoring.md
+++ b/tidb-cloud/built-in-monitoring.md
@@ -1,129 +1,129 @@
---
title: TiDB Cloud 内置指标
-summary: 了解如何查看 TiDB Cloud 内置指标并理解这些指标的含义。
+summary: 了解如何查看 TiDB Cloud 内置指标及这些指标的含义。
---
# TiDB Cloud 内置指标
-TiDB Cloud 在指标页面上收集和显示集群的一整套标准指标。通过查看这些指标,你可以轻松识别性能问题并确定当前的数据库部署是否满足你的需求。
+TiDB Cloud 会在 **Metrics** 页面收集并展示你的集群的全套标准指标。通过查看这些指标,你可以轻松识别性能问题,并判断当前的数据库部署是否满足你的需求。
-## 查看指标页面
+## 查看 Metrics 页面
-要在**指标**页面上查看指标,请执行以下步骤:
+要在 **Metrics** 页面查看指标,请按照以下步骤操作:
-1. 在项目的[**集群**](https://tidbcloud.com/project/clusters)页面上,点击目标集群的名称进入其概览页面。
+1. 在你的项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面,点击目标集群的名称,进入其概览页面。
- > **提示:**
+ > **Tip:**
>
- > 你可以使用左上角的组合框在组织、项目和集群之间切换。
+ > 你可以使用左上角的下拉框在组织、项目和集群之间切换。
-2. 在左侧导航栏中,点击**监控** > **指标**。
+2. 在左侧导航栏,点击 **Monitoring** > **Metrics**。
## 指标保留策略
-对于 TiDB Cloud Dedicated 集群和 TiDB Cloud Serverless 集群,指标数据保留 7 天。
+对于 TiDB Cloud Dedicated 集群和 TiDB Cloud Serverless 集群,指标数据会保留 7 天。
## TiDB Cloud Dedicated 集群的指标
-以下部分说明了 TiDB Cloud Dedicated 集群的**指标**页面上的指标。
+以下章节介绍了 TiDB Cloud Dedicated 集群在 **Metrics** 页面上的各项指标。
### 概览
| 指标名称 | 标签 | 描述 |
| :------------| :------| :-------------------------------------------- |
-| Database Time by SQL types | database time, {SQL type} | database time:每秒总数据库时间。
{SQL type}:每秒 SQL 语句消耗的数据库时间,按 SQL 类型收集,如 `SELECT`、`INSERT` 和 `UPDATE`。 |
-| Query Per Second | {SQL type} | 所有 TiDB 实例中每秒执行的 SQL 语句数量,按 SQL 类型收集,如 `SELECT`、`INSERT` 和 `UPDATE`。 |
-| Query Duration | avg-{SQL type}, 99-{SQL type} | 从客户端向 TiDB 发送请求到 TiDB 执行请求并将结果返回给客户端的持续时间。通常,客户端请求以 SQL 语句的形式发送;但是,此持续时间可以包括执行 `COM_PING`、`COM_SLEEP`、`COM_STMT_FETCH` 和 `COM_SEND_LONG_DATA` 等命令的时间。TiDB 支持多查询,这意味着客户端可以一次发送多个 SQL 语句,如 `select 1; select 1; select 1;`。在这种情况下,此查询的总执行时间包括所有 SQL 语句的执行时间。 |
-| Failed Queries | All, {Error type} @ {instance} | 每分钟在每个 TiDB 实例上根据 SQL 语句执行错误的错误类型统计(如语法错误和主键冲突)。它包含错误发生的模块和错误代码。 |
-| Command Per Second | Query, StmtExecute, and StmtPrepare | 所有 TiDB 实例每秒处理的命令数量,基于命令类型。 |
-| Queries Using Plan Cache OPS | hit, miss | hit:所有 TiDB 实例中每秒使用计划缓存的查询数量。
miss:所有 TiDB 实例中每秒未命中计划缓存的查询数量。 |
-| Transaction Per Second | {types}-{transaction model} | 每秒执行的事务数量。 |
-| Transaction Duration | avg-{transaction model}, 99-{transaction model} | 事务的平均或 99 百分位持续时间。 |
-| Connection Count | All, active connection | All:到所有 TiDB 实例的连接数量。
Active connections:到所有 TiDB 实例的活动连接数量。 |
-| Disconnection Count | {instance}-{result} | 每个 TiDB 实例断开连接的客户端数量。 |
+| Database Time by SQL types | database time, {SQL type} | database time:每秒的数据库总耗时。
{SQL type}:每秒按 SQL 类型(如 `SELECT`、`INSERT`、`UPDATE`)统计的 SQL 语句数据库耗时。|
+| Query Per Second | {SQL type} | 所有 TiDB 实例每秒执行的 SQL 语句数量,按 SQL 类型(如 `SELECT`、`INSERT`、`UPDATE`)统计。|
+| Query Duration | avg-{SQL type}, 99-{SQL type} | 从客户端发送请求到 TiDB,直到 TiDB 执行请求并返回结果给客户端的持续时间。通常,客户端请求以 SQL 语句形式发送;但该持续时间也可能包括如 `COM_PING`、`COM_SLEEP`、`COM_STMT_FETCH`、`COM_SEND_LONG_DATA` 等命令的执行时间。TiDB 支持 Multi-Query,即客户端可以一次发送多条 SQL 语句,如 `select 1; select 1; select 1;`。此时,该查询的总执行时间包含所有 SQL 语句的执行时间。|
+| Failed Queries | All, {Error type} @ {instance} | 按每个 TiDB 实例每分钟 SQL 语句执行错误统计的错误类型(如语法错误、主键冲突)。包含发生错误的模块和错误码。|
+| Command Per Second | Query, StmtExecute, and StmtPrepare | 所有 TiDB 实例每秒按命令类型处理的命令数量。|
+| Queries Using Plan Cache OPS | hit, miss | hit:所有 TiDB 实例每秒使用计划缓存的查询数量。
miss:所有 TiDB 实例每秒未命中计划缓存的查询数量。|
+| Transaction Per Second | {types}-{transaction model} | 每秒执行的事务数量。|
+| Transaction Duration | avg-{transaction model}, 99-{transaction model} | 事务的平均或第 99 百分位持续时间。|
+| Connection Count | All, active connection | All:所有 TiDB 实例的连接数。
Active connections:所有 TiDB 实例的活跃连接数。|
+| Disconnection Count | {instance}-{result} | 每个 TiDB 实例断开连接的客户端数量。|
### 高级
| 指标名称 | 标签 | 描述 |
| :------------| :------| :-------------------------------------------- |
-| Average Idle Connection Duration | avg-in-txn, avg-not-in-txn | 连接空闲持续时间表示连接处于空闲状态的持续时间。
avg-in-txn:连接在事务内时的平均空闲持续时间。
avg-not-in-txn:连接不在事务内时的平均空闲持续时间。 |
-| Get Token Duration | avg, 99 | 获取 SQL 语句令牌所消耗的平均或 99 百分位持续时间。 |
-| Parse Duration | avg, 99 | 解析 SQL 语句所消耗的平均或 99 百分位持续时间。 |
-| Compile Duration | avg, 99 | 将解析的 SQL AST 编译为执行计划所消耗的平均或 99 百分位持续时间。 |
-| Execute Duration | avg, 99 | 执行 SQL 语句执行计划所消耗的平均或 99 百分位持续时间。 |
-| Average TiDB KV Request Duration | {Request Type} | 所有 TiDB 实例中执行 KV 请求所消耗的平均时间,基于请求类型,如 `Get`、`Prewrite` 和 `Commit`。 |
-| Average TiKV gRPC Duration | {Request Type} | 所有 TiKV 实例中执行 gRPC 请求所消耗的平均时间,基于请求类型,如 `kv_get`、`kv_prewrite` 和 `kv_commit`。 |
-| Average / P99 PD TSO Wait/RPC Duration | wait-avg/99, rpc-avg/99 | Wait:所有 TiDB 实例中等待 PD 返回 TSO 的平均或 99 百分位持续时间。
RPC:所有 TiDB 实例中从发送 TSO 请求到 PD 到接收 TSO 的平均时间或 99 百分位持续时间。 |
-| Average / P99 Storage Async Write Duration | avg, 99 | 异步写入所消耗的平均或 99 百分位持续时间。平均存储异步写入持续时间 = 平均存储持续时间 + 平均应用持续时间。 |
-| Average / P99 Store Duration | avg, 99 | 异步写入期间存储循环所消耗的平均或 99 百分位持续时间。 |
-| Average / P99 Apply Duration | avg, 99 | 异步写入期间应用循环所消耗的平均或 99 百分位持续时间。 |
-| Average / P99 Append Log Duration | avg, 99 | Raft 追加日志所消耗的平均或 99 百分位持续时间。 |
-| Average / P99 Commit Log Duration | avg, 99 | Raft 提交日志所消耗的平均或 99 百分位持续时间。 |
-| Average / P99 Apply Log Duration | avg, 99 | Raft 应用日志所消耗的平均或 99 百分位持续时间。 |
+| Average Idle Connection Duration | avg-in-txn, avg-not-in-txn | 连接空闲持续时间表示连接处于空闲状态的时长。
avg-in-txn:连接处于事务中时的平均空闲持续时间。
avg-not-in-txn:连接不在事务中时的平均空闲持续时间。|
+| Get Token Duration | avg, 99 | 获取 SQL 语句 token 的平均或第 99 百分位耗时。|
+| Parse Duration | avg, 99 | 解析 SQL 语句的平均或第 99 百分位耗时。|
+| Compile Duration | avg, 99 | 将解析后的 SQL AST 编译为执行计划的平均或第 99 百分位耗时。|
+| Execute Duration | avg, 99 | 执行 SQL 语句执行计划的平均或第 99 百分位耗时。|
+| Average TiDB KV Request Duration | {Request Type} | 所有 TiDB 实例按请求类型(如 `Get`、`Prewrite`、`Commit`)统计的 KV 请求平均耗时。|
+| Average TiKV gRPC Duration | {Request Type} | 所有 TiKV 实例按请求类型(如 `kv_get`、`kv_prewrite`、`kv_commit`)统计的 gRPC 请求平均耗时。|
+| Average / P99 PD TSO Wait/RPC Duration | wait-avg/99, rpc-avg/99 | Wait:所有 TiDB 实例等待 PD 返回 TSO 的平均或第 99 百分位耗时。
RPC:所有 TiDB 实例从发送 TSO 请求到 PD 到收到 TSO 的平均或第 99 百分位耗时。|
+| Average / P99 Storage Async Write Duration | avg, 99 | 异步写入的平均或第 99 百分位耗时。平均存储异步写入耗时 = 平均 store 耗时 + 平均 apply 耗时。|
+| Average / P99 Store Duration | avg, 99 | 异步写入过程中存储循环的平均或第 99 百分位耗时。|
+| Average / P99 Apply Duration | avg, 99 | 异步写入过程中 apply 循环的平均或第 99 百分位耗时。|
+| Average / P99 Append Log Duration | avg, 99 | Raft 追加日志的平均或第 99 百分位耗时。|
+| Average / P99 Commit Log Duration | avg, 99 | Raft 提交日志的平均或第 99 百分位耗时。|
+| Average / P99 Apply Log Duration | avg, 99 | Raft 应用日志的平均或第 99 百分位耗时。|
### 服务器
| 指标名称 | 标签 | 描述 |
| :------------| :------| :-------------------------------------------- |
-| TiDB Uptime | node | 每个 TiDB 节点自上次重启以来的运行时间。 |
-| TiDB CPU Usage | node, limit | 每个 TiDB 节点的 CPU 使用统计或上限。 |
-| TiDB Memory Usage | node, limit | 每个 TiDB 节点的内存使用统计或上限。 |
-| TiKV Uptime | node | 每个 TiKV 节点自上次重启以来的运行时间。 |
-| TiKV CPU Usage | node, limit | 每个 TiKV 节点的 CPU 使用统计或上限。 |
-| TiKV Memory Usage | node, limit | 每个 TiKV 节点的内存使用统计或上限。 |
-| TiKV IO Bps | node-write, node-read | 每个 TiKV 节点读写的每秒总输入/输出字节数。 |
-| TiKV Storage Usage | node, limit | 每个 TiKV 节点的存储使用统计或上限。 |
-| TiFlash Uptime | node | 每个 TiFlash 节点自上次重启以来的运行时间。 |
-| TiFlash CPU Usage | node, limit | 每个 TiFlash 节点的 CPU 使用统计或上限。 |
-| TiFlash Memory Usage | node, limit | 每个 TiFlash 节点的内存使用统计或上限。 |
-| TiFlash IO MBps | node-write, node-read | 每个 TiFlash 节点读写的总字节数。 |
-| TiFlash Storage Usage | node, limit | 每个 TiFlash 节点的存储使用统计或上限。 |
+| TiDB Uptime | node | 每个 TiDB 节点自上次重启以来的运行时长。|
+| TiDB CPU Usage | node, limit | 每个 TiDB 节点的 CPU 使用率统计或上限。|
+| TiDB Memory Usage | node, limit | 每个 TiDB 节点的内存使用量统计或上限。|
+| TiKV Uptime | node | 每个 TiKV 节点自上次重启以来的运行时长。|
+| TiKV CPU Usage | node, limit | 每个 TiKV 节点的 CPU 使用率统计或上限。|
+| TiKV Memory Usage | node, limit | 每个 TiKV 节点的内存使用量统计或上限。|
+| TiKV IO Bps | node-write, node-read | 每个 TiKV 节点每秒读写的总输入/输出字节数。|
+| TiKV Storage Usage | node, limit | 每个 TiKV 节点的存储使用量统计或上限。|
+| TiFlash Uptime | node | 每个 TiFlash 节点自上次重启以来的运行时长。|
+| TiFlash CPU Usage | node, limit | 每个 TiFlash 节点的 CPU 使用率统计或上限。|
+| TiFlash Memory Usage | node, limit | 每个 TiFlash 节点的内存使用量统计或上限。|
+| TiFlash IO MBps | node-write, node-read | 每个 TiFlash 节点的读写总字节数。|
+| TiFlash Storage Usage | node, limit | 每个 TiFlash 节点的存储使用量统计或上限。|
## TiDB Cloud Serverless 集群的指标
-**指标**页面为 TiDB Cloud Serverless 集群提供了两个标签页:
+**Metrics** 页面为 TiDB Cloud Serverless 集群提供了两个指标标签页:
-- **集群状态**:显示集群级别的主要指标。
-- **数据库状态**:显示数据库级别的主要指标。
+- **Cluster Status**:展示集群级别的主要指标。
+- **Database Status**:展示数据库级别的主要指标。
-### 集群状态
+### Cluster Status
-下表说明了**集群状态**标签页下的集群级别主要指标。
+下表展示了 **Cluster Status** 标签页下的集群级别主要指标。
| 指标名称 | 标签 | 描述 |
| :------------| :------| :-------------------------------------------- |
-| Request Units | RU per second | 请求单元(RU)是用于跟踪查询或事务资源消耗的度量单位。除了你运行的查询外,后台活动也会消耗请求单元,因此当 QPS 为 0 时,每秒请求单元可能不为零。 |
-| Used Storage Size | Row-based storage, Columnar storage | 行存储的大小和列存储的大小。 |
-| Query Per Second | All, {SQL type} | 每秒执行的 SQL 语句数量,按 SQL 类型收集,如 `SELECT`、`INSERT` 和 `UPDATE`。 |
-| Average Query Duration | All, {SQL type} | 从客户端向 TiDB Cloud Serverless 集群发送请求到集群执行请求并将结果返回给客户端的持续时间。 |
-| Failed Query | All | 每秒 SQL 语句执行错误的数量。 |
-| Transaction Per Second | All | 每秒执行的事务数量。 |
-| Average Transaction Duration | All | 事务的平均执行持续时间。 |
-| Total Connection | All | 到 TiDB Cloud Serverless 集群的连接数量。 |
+| Request Units | RU per second | Request Unit(RU)是用于衡量查询或事务资源消耗的单位。除了你运行的查询外,后台活动也会消耗 Request Units,因此即使 QPS 为 0,每秒的 Request Units 也可能不为零。|
+| Used Storage Size | Row-based storage, Columnar storage | 行存储和列存储的存储空间大小。|
+| Query Per Second | All, {SQL type} | 每秒执行的 SQL 语句数量,按 SQL 类型(如 `SELECT`、`INSERT`、`UPDATE`)统计。|
+| Average Query Duration | All, {SQL type} | 从客户端发送请求到 TiDB Cloud Serverless 集群,直到集群执行请求并返回结果给客户端的持续时间。|
+| Failed Query | All | 每秒 SQL 语句执行错误的数量。|
+| Transaction Per Second | All | 每秒执行的事务数量。|
+| Average Transaction Duration | All | 事务的平均执行时长。|
+| Total Connection | All | 连接到 TiDB Cloud Serverless 集群的连接数。|
-### 数据库状态
+### Database Status
-下表说明了**数据库状态**标签页下的数据库级别主要指标。
+下表展示了 **Database Status** 标签页下的数据库级别主要指标。
| 指标名称 | 标签 | 描述 |
| :------------| :------| :-------------------------------------------- |
-| QPS Per DB | All, {Database name} | 每个数据库每秒执行的 SQL 语句数量,按 SQL 类型收集,如 `SELECT`、`INSERT` 和 `UPDATE`。 |
-| Average Query Duration Per DB | All, {Database name} | 从客户端向数据库发送请求到数据库执行请求并将结果返回给客户端的持续时间。|
-| Failed Query Per DB | All, {Database name} | 每个数据库每秒根据 SQL 语句执行错误的错误类型统计。|
+| QPS Per DB | All, {Database name} | 每个数据库每秒执行的 SQL 语句数量,按 SQL 类型(如 `SELECT`、`INSERT`、`UPDATE`)统计。|
+| Average Query Duration Per DB | All, {Database name} | 从客户端发送请求到数据库,直到数据库执行请求并返回结果给客户端的持续时间。|
+| Failed Query Per DB | All, {Database name} | 每个数据库每秒 SQL 语句执行错误的类型统计。|
-## 常见问题
+## FAQ
-**1. 为什么此页面上的某些面板是空的?**
+**1. 为什么本页面的某些面板为空?**
-如果面板没有提供任何指标,可能的原因如下:
+如果某个面板没有显示任何指标,可能的原因如下:
-- 相应集群的工作负载没有触发此指标。例如,在没有失败查询的情况下,失败查询指标始终为空。
-- 集群版本较低。你需要升级到最新版本的 TiDB 才能看到这些指标。
+- 对应集群的负载没有触发该指标。例如,如果没有失败的查询,failed query 指标面板会一直为空。
+- 集群版本较低。你需要将其升级到最新的 TiDB 版本才能看到这些指标。
-如果排除了所有这些原因,你可以联系 [PingCAP 支持团队](/tidb-cloud/tidb-cloud-support.md)进行故障排查。
+如果排除了上述原因,你可以联系 [PingCAP support team](/tidb-cloud/tidb-cloud-support.md) 进行排查。
-**2. 为什么在罕见情况下指标可能不连续?**
+**2. 为什么在极少数情况下指标会出现不连续?**
-在某些罕见情况下,指标可能会丢失,例如当指标系统承受高压力时。
+在极少数情况下,指标可能会丢失,例如当指标系统压力过大时。
-如果你遇到此问题,可以联系 [PingCAP 支持团队](/tidb-cloud/tidb-cloud-support.md)进行故障排查。
+如果你遇到此问题,可以联系 [PingCAP Support](/tidb-cloud/tidb-cloud-support.md) 进行排查。
\ No newline at end of file
diff --git a/tidb-cloud/changefeed-overview.md b/tidb-cloud/changefeed-overview.md
index 4562e6ffe8ff8..116e1619281d6 100644
--- a/tidb-cloud/changefeed-overview.md
+++ b/tidb-cloud/changefeed-overview.md
@@ -5,105 +5,105 @@ summary: TiDB Cloud changefeed 帮助你将数据从 TiDB Cloud 流式传输到
# Changefeed
-TiDB Cloud changefeed 帮助你将数据从 TiDB Cloud 流式传输到其他数据服务。目前,TiDB Cloud 支持将数据流式传输到 Apache Kafka、MySQL、TiDB Cloud 和云存储。
+TiDB Cloud changefeed 帮助你将数据从 TiDB Cloud 流式传输到其他数据服务。目前,TiDB Cloud 支持将数据流式传输到 Apache Kafka、MySQL、TiDB Cloud 以及云存储。
> **注意:**
>
-> - 目前,TiDB Cloud 每个集群最多允许 100 个 changefeed。
-> - 目前,TiDB Cloud 每个 changefeed 最多允许 100 个表过滤规则。
-> - 对于 [TiDB Cloud Serverless 集群](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless),changefeed 功能不可用。
+> - 目前,TiDB Cloud 每个集群最多只允许创建 100 个 changefeed。
+> - 目前,TiDB Cloud 每个 changefeed 最多只允许配置 100 条表过滤规则。
+> - 对于 [TiDB Cloud Serverless 集群](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless),暂不支持 changefeed 功能。
## 查看 Changefeed 页面
-要访问 changefeed 功能,请执行以下步骤:
+要访问 changefeed 功能,请按照以下步骤操作:
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,导航到项目的[**集群**](https://tidbcloud.com/project/clusters)页面。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com) 中,进入你项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
> **提示:**
>
- > 你可以使用左上角的组合框在组织、项目和集群之间切换。
+ > 你可以使用左上角的下拉框在组织、项目和集群之间切换。
-2. 点击目标集群的名称进入其概览页面,然后在左侧导航栏中点击**数据** > **Changefeed**。此时会显示 changefeed 页面。
+2. 点击目标集群的名称进入其概览页面,然后在左侧导航栏点击 **Data** > **Changefeed**。此时会显示 changefeed 页面。
-在 **Changefeed** 页面上,你可以创建 changefeed,查看现有 changefeed 列表,以及操作现有的 changefeed(如扩缩容、暂停、恢复、编辑和删除 changefeed)。
+在 **Changefeed** 页面,你可以创建 changefeed,查看已有 changefeed 列表,并对已有 changefeed 进行操作(如扩缩容、暂停、恢复、编辑和删除 changefeed)。
## 创建 changefeed
要创建 changefeed,请参考以下教程:
-- [导出到 Apache Kafka](/tidb-cloud/changefeed-sink-to-apache-kafka.md)
-- [导出到 MySQL](/tidb-cloud/changefeed-sink-to-mysql.md)
-- [导出到 TiDB Cloud](/tidb-cloud/changefeed-sink-to-tidb-cloud.md)
-- [导出到云存储](/tidb-cloud/changefeed-sink-to-cloud-storage.md)
+- [Sink to Apache Kafka](/tidb-cloud/changefeed-sink-to-apache-kafka.md)
+- [Sink to MySQL](/tidb-cloud/changefeed-sink-to-mysql.md)
+- [Sink to TiDB Cloud](/tidb-cloud/changefeed-sink-to-tidb-cloud.md)
+- [Sink to cloud storage](/tidb-cloud/changefeed-sink-to-cloud-storage.md)
## 查询 Changefeed RCU
-1. 导航到目标 TiDB 集群的 [**Changefeed**](#查看-changefeed-页面) 页面。
-2. 找到要查询的相应 changefeed,然后在**操作**列中点击 **...** > **查看**。
-3. 你可以在页面的**规格**区域看到当前的 TiCDC 复制容量单位(RCU)。
+1. 进入目标 TiDB 集群的 [**Changefeed**](#view-the-changefeed-page) 页面。
+2. 找到你想要查询的 changefeed,在 **Action** 列点击 **...** > **View**。
+3. 你可以在页面的 **Specification** 区域看到当前 TiCDC Replication Capacity Units(RCU)。
## 扩缩容 changefeed
-你可以通过扩容或缩容 changefeed 来更改其 TiCDC 复制容量单位(RCU)。
+你可以通过扩容或缩容 changefeed 来调整其 TiCDC Replication Capacity Units(RCU)。
> **注意:**
>
-> - 要扩缩容集群的 changefeed,请确保该集群的所有 changefeed 都是在 2023 年 3 月 28 日之后创建的。
-> - 如果集群有在 2023 年 3 月 28 日之前创建的 changefeed,则该集群的现有 changefeed 和新创建的 changefeed 都不支持扩容或缩容。
+> - 若要对某个集群的 changefeed 进行扩缩容,需确保该集群的所有 changefeed 均为 2023 年 3 月 28 日之后创建。
+> - 如果某个集群存在 2023 年 3 月 28 日之前创建的 changefeed,则该集群的所有 changefeed(包括新建的)均不支持扩缩容。
-1. 导航到目标 TiDB 集群的 [**Changefeed**](#查看-changefeed-页面) 页面。
-2. 找到要扩缩容的相应 changefeed,然后在**操作**列中点击 **...** > **扩缩容**。
+1. 进入目标 TiDB 集群的 [**Changefeed**](#view-the-changefeed-page) 页面。
+2. 找到你想要扩缩容的 changefeed,在 **Action** 列点击 **...** > **Scale Up/Down**。
3. 选择新的规格。
-4. 点击**提交**。
+4. 点击 **Submit**。
-完成扩缩容过程大约需要 10 分钟(在此期间 changefeed 正常工作),切换到新规格需要几秒钟(在此期间 changefeed 将自动暂停和恢复)。
+扩缩容过程大约需要 10 分钟(期间 changefeed 正常工作),切换到新规格大约需要几秒钟(期间 changefeed 会自动暂停并恢复)。
## 暂停或恢复 changefeed
-1. 导航到目标 TiDB 集群的 [**Changefeed**](#查看-changefeed-页面) 页面。
-2. 找到要暂停或恢复的相应 changefeed,然后在**操作**列中点击 **...** > **暂停/恢复**。
+1. 进入目标 TiDB 集群的 [**Changefeed**](#view-the-changefeed-page) 页面。
+2. 找到你想要暂停或恢复的 changefeed,在 **Action** 列点击 **...** > **Pause/Resume**。
## 编辑 changefeed
> **注意:**
>
-> TiDB Cloud 目前仅允许编辑处于暂停状态的 changefeed。
+> TiDB Cloud 目前仅支持在暂停状态下编辑 changefeed。
-1. 导航到目标 TiDB 集群的 [**Changefeed**](#查看-changefeed-页面) 页面。
-2. 找到要暂停的 changefeed,然后在**操作**列中点击 **...** > **暂停**。
-3. 当 changefeed 状态变为 `已暂停` 时,点击 **...** > **编辑**以编辑相应的 changefeed。
+1. 进入目标 TiDB 集群的 [**Changefeed**](#view-the-changefeed-page) 页面。
+2. 找到你想要暂停的 changefeed,在 **Action** 列点击 **...** > **Pause**。
+3. 当 changefeed 状态变为 `Paused` 后,点击 **...** > **Edit** 编辑对应的 changefeed。
- TiDB Cloud 默认填充 changefeed 配置。你可以修改以下配置:
+ TiDB Cloud 会默认填充 changefeed 配置。你可以修改以下配置项:
- - Apache Kafka 导出:所有配置。
- - MySQL 导出:**MySQL 连接**、**表过滤器**和**事件过滤器**。
- - TiDB Cloud 导出:**TiDB Cloud 连接**、**表过滤器**和**事件过滤器**。
- - 云存储导出:**存储端点**、**表过滤器**和**事件过滤器**。
+ - Apache Kafka sink:所有配置项。
+ - MySQL sink:**MySQL Connection**、**Table Filter** 和 **Event Filter**。
+ - TiDB Cloud sink:**TiDB Cloud Connection**、**Table Filter** 和 **Event Filter**。
+ - Cloud storage sink:**Storage Endpoint**、**Table Filter** 和 **Event Filter**。
-4. 编辑配置后,点击 **...** > **恢复**以恢复相应的 changefeed。
+4. 编辑配置后,点击 **...** > **Resume** 恢复对应的 changefeed。
## 删除 changefeed
-1. 导航到目标 TiDB 集群的 [**Changefeed**](#查看-changefeed-页面) 页面。
-2. 找到要删除的相应 changefeed,然后在**操作**列中点击 **...** > **删除**。
+1. 进入目标 TiDB 集群的 [**Changefeed**](#view-the-changefeed-page) 页面。
+2. 找到你想要删除的 changefeed,在 **Action** 列点击 **...** > **Delete**。
## Changefeed 计费
-要了解 TiDB Cloud 中 changefeed 的计费情况,请参见 [Changefeed 计费](/tidb-cloud/tidb-cloud-billing-ticdc-rcu.md)。
+关于 TiDB Cloud 中 changefeed 的计费方式,请参见 [Changefeed 计费](/tidb-cloud/tidb-cloud-billing-ticdc-rcu.md)。
## Changefeed 状态
-复制任务的状态表示复制任务的运行状态。在运行过程中,复制任务可能因错误而失败,被手动暂停、恢复,或达到指定的 `TargetTs`。这些行为可能导致复制任务状态的变化。
+复制任务的状态表示复制任务的运行状态。在运行过程中,复制任务可能因错误失败,或被手动暂停、恢复。这些操作会导致复制任务状态的变化。
-状态说明如下:
+各状态说明如下:
-- `CREATING`:正在创建复制任务。
+- `CREATING`:复制任务正在创建中。
- `RUNNING`:复制任务正常运行,checkpoint-ts 正常推进。
-- `EDITING`:正在编辑复制任务。
-- `PAUSING`:正在暂停复制任务。
+- `EDITING`:复制任务正在编辑中。
+- `PAUSING`:复制任务正在暂停中。
- `PAUSED`:复制任务已暂停。
-- `RESUMING`:正在恢复复制任务。
-- `DELETING`:正在删除复制任务。
+- `RESUMING`:复制任务正在恢复中。
+- `DELETING`:复制任务正在删除中。
- `DELETED`:复制任务已删除。
-- `WARNING`:复制任务返回警告。由于一些可恢复的错误,复制无法继续。处于此状态的 changefeed 会一直尝试恢复,直到状态转为 `RUNNING`。处于此状态的 changefeed 会阻塞 [GC 操作](https://docs.pingcap.com/tidb/stable/garbage-collection-overview)。
-- `FAILED`:复制任务失败。由于某些错误,复制任务无法恢复且无法自动恢复。如果在增量数据的垃圾回收(GC)之前解决了问题,你可以手动恢复失败的 changefeed。增量数据的默认生存时间(TTL)为 24 小时,这意味着 GC 机制不会删除 changefeed 中断后 24 小时内的任何数据。
+- `WARNING`:复制任务返回警告。由于某些可恢复的错误,复制无法继续。处于该状态的 changefeed 会持续尝试恢复,直到状态变为 `RUNNING`。该状态下的 changefeed 会阻塞 [GC 操作](https://docs.pingcap.com/tidb/stable/garbage-collection-overview)。
+- `FAILED`:复制任务失败。由于某些错误,复制任务无法恢复且无法自动修复。如果在增量数据的垃圾回收(GC)之前解决了相关问题,你可以手动恢复失败的 changefeed。增量数据的默认生存时间(TTL)为 24 小时,即 changefeed 中断后 24 小时内 GC 机制不会删除任何数据。
\ No newline at end of file
diff --git a/tidb-cloud/changefeed-sink-to-apache-kafka.md b/tidb-cloud/changefeed-sink-to-apache-kafka.md
index 7e17d043f4ad0..2a949441eac19 100644
--- a/tidb-cloud/changefeed-sink-to-apache-kafka.md
+++ b/tidb-cloud/changefeed-sink-to-apache-kafka.md
@@ -1,112 +1,302 @@
---
-title: 同步数据到 Apache Kafka
-summary: 本文档说明如何创建 changefeed 将数据从 TiDB Cloud 同步到 Apache Kafka。它包括限制、前提条件以及为 Apache Kafka 配置 changefeed 的步骤。该过程涉及设置网络连接、为 Kafka ACL 授权添加权限以及配置 changefeed 规格。
+title: Sink to Apache Kafka
+summary: 本文档介绍如何创建变更订阅(changefeed),将数据从 TiDB Cloud 流式同步到 Apache Kafka。内容包括限制、前置条件,以及为 Apache Kafka 配置变更订阅的步骤。该过程涉及网络连接设置、为 Kafka ACL 授权添加权限,以及配置变更订阅规范。
---
-# 同步数据到 Apache Kafka
+# Sink to Apache Kafka
-本文档描述如何创建 changefeed 将数据从 TiDB Cloud 同步到 Apache Kafka。
+本文档介绍如何创建变更订阅(changefeed),将数据从 TiDB Cloud 流式同步到 Apache Kafka。
-> **注意:**
+> **Note:**
>
-> - 要使用 changefeed 功能,请确保你的 TiDB Cloud Dedicated 集群版本是 v6.1.3 或更高版本。
-> - 对于 [TiDB Cloud Serverless 集群](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless),changefeed 功能不可用。
+> - 要使用变更订阅功能,请确保你的 TiDB Cloud 专属集群版本为 v6.1.3 或更高版本。
+> - 对于 [TiDB Cloud Serverless 集群](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless),暂不支持变更订阅功能。
## 限制
-- 对于每个 TiDB Cloud 集群,你最多可以创建 100 个 changefeed。
-- 目前,TiDB Cloud 不支持上传自签名 TLS 证书来连接 Kafka broker。
-- 由于 TiDB Cloud 使用 TiCDC 建立 changefeed,它具有与 TiCDC 相同的[限制](https://docs.pingcap.com/tidb/stable/ticdc-overview#unsupported-scenarios)。
-- 如果要复制的表没有主键或非空唯一索引,在某些重试场景中,由于复制过程中缺少唯一约束,可能会导致下游插入重复数据。
-- 如果你选择 Private Link 或 Private Service Connect 作为网络连接方式,请确保你的 TiDB 集群版本满足以下要求:
+- 每个 TiDB Cloud 集群最多可创建 100 个变更订阅。
+- 目前,TiDB Cloud 不支持上传自签名 TLS 证书以连接 Kafka broker。
+- 由于 TiDB Cloud 使用 TiCDC 建立变更订阅,因此具有与 TiCDC 相同的[限制](https://docs.pingcap.com/tidb/stable/ticdc-overview#unsupported-scenarios)。
+- 如果待同步的表没有主键或非空唯一索引,在某些重试场景下,由于缺少唯一约束,可能会导致下游插入重复数据。
+- 如果你选择 Private Link 或 Private Service Connect 作为网络连接方式,请确保 TiDB 集群版本满足以下要求:
- - 对于 v6.5.x:版本 v6.5.9 或更高版本
- - 对于 v7.1.x:版本 v7.1.4 或更高版本
- - 对于 v7.5.x:版本 v7.5.1 或更高版本
- - 对于 v8.1.x:支持所有 v8.1.x 及更高版本
-- 如果你想使用 Debezium 作为数据格式,请确保你的 TiDB 集群版本是 v8.1.0 或更高版本。
-- 对于 Kafka 消息的分区分布,请注意以下事项:
+ - v6.5.x:需为 v6.5.9 或更高版本
+ - v7.1.x:需为 v7.1.4 或更高版本
+ - v7.5.x:需为 v7.5.1 或更高版本
+ - v8.1.x:支持所有 v8.1.x 及更高版本
+- 如果你希望使用 Debezium 作为数据格式,请确保 TiDB 集群版本为 v8.1.0 或更高版本。
+- 关于 Kafka 消息的分区分布,请注意以下事项:
- - 如果你想通过指定索引名称将变更日志按主键或索引值分发到 Kafka 分区,请确保你的 TiDB 集群版本是 v7.5.0 或更高版本。
- - 如果你想将变更日志按列值分发到 Kafka 分区,请确保你的 TiDB 集群版本是 v7.5.0 或更高版本。
+ - 如果你希望按主键或索引值分发变更日志到指定索引名的 Kafka 分区,请确保 TiDB 集群版本为 v7.5.0 或更高版本。
+ - 如果你希望按列值分发变更日志到 Kafka 分区,请确保 TiDB 集群版本为 v7.5.0 或更高版本。
-## 前提条件
+## 前置条件
-在创建 changefeed 将数据同步到 Apache Kafka 之前,你需要完成以下前提条件:
+在创建变更订阅以将数据流式同步到 Apache Kafka 之前,你需要完成以下前置条件:
- 设置网络连接
- 为 Kafka ACL 授权添加权限
### 网络
-确保你的 TiDB 集群可以连接到 Apache Kafka 服务。你可以选择以下连接方式之一:
+确保你的 TiDB 集群可以连接到 Apache Kafka 服务。你可以选择以下任一连接方式:
-- Private Connect:适用于避免 VPC CIDR 冲突并满足安全合规要求,但会产生额外的[私有数据链路成本](/tidb-cloud/tidb-cloud-billing-ticdc-rcu.md#私有数据链路成本)。
-- VPC 对等连接:适用于成本效益高的选项,但需要管理潜在的 VPC CIDR 冲突和安全考虑。
-- 公共 IP:适用于快速设置。
+- Private Connect:适用于避免 VPC CIDR 冲突并满足安全合规要求,但会产生额外的 [Private Data Link Cost](/tidb-cloud/tidb-cloud-billing-ticdc-rcu.md#private-data-link-cost)。
+- VPC Peering:作为一种经济高效的选项,但需要管理潜在的 VPC CIDR 冲突和安全问题。
+- Public IP:适用于快速搭建环境。
-Private Connect 利用云提供商的 **Private Link** 或 **Private Service Connect** 技术,使你的 VPC 中的资源能够使用私有 IP 地址连接到其他 VPC 中的服务,就像这些服务直接托管在你的 VPC 中一样。
+Private Connect 利用云服务商的 **Private Link** 或 **Private Service Connect** 技术,使你 VPC 中的资源能够通过私有 IP 地址连接到其他 VPC 中的服务,就像这些服务直接托管在你自己的 VPC 中一样。
-TiDB Cloud 目前仅支持自托管 Kafka 的 Private Connect。它不支持直接集成 MSK、Confluent Kafka 或其他 Kafka SaaS 服务。要通过 Private Connect 连接到这些 Kafka SaaS 服务,你可以部署 [kafka-proxy](https://github.com/grepplabs/kafka-proxy) 作为中介,有效地将 Kafka 服务公开为自托管 Kafka。有关详细示例,请参见[在 Google Cloud 中使用 Kafka-proxy 设置自托管 Kafka Private Service Connect](/tidb-cloud/setup-self-hosted-kafka-private-service-connect.md#使用-kafka-proxy-设置自托管-kafka-private-service-connect)。这种设置在所有 Kafka SaaS 服务中都类似。
+TiDB Cloud 目前仅支持自建 Kafka 的 Private Connect,不支持与 MSK、Confluent Kafka 或其他 Kafka SaaS 服务的直接集成。若需通过 Private Connect 连接这些 Kafka SaaS 服务,你可以部署一个 [kafka-proxy](https://github.com/grepplabs/kafka-proxy) 作为中间层,将 Kafka 服务暴露为自建 Kafka。详细示例可参考 [Set Up Self-Hosted Kafka Private Service Connect by Kafka-proxy in Google Cloud](/tidb-cloud/setup-self-hosted-kafka-private-service-connect.md#set-up-self-hosted-kafka-private-service-connect-by-kafka-proxy)。该方案适用于所有 Kafka SaaS 服务。
-- 如果你的 Apache Kafka 服务托管在 AWS 中,请按照[在 AWS 中设置自托管 Kafka Private Link 服务](/tidb-cloud/setup-aws-self-hosted-kafka-private-link-service.md)确保网络连接正确配置。设置完成后,在 TiDB Cloud 控制台中提供以下信息以创建 changefeed:
+- 如果你的 Apache Kafka 服务托管在 AWS,请按照 [Set Up Self-Hosted Kafka Private Link Service in AWS](/tidb-cloud/setup-aws-self-hosted-kafka-private-link-service.md) 配置网络连接。配置完成后,在 TiDB Cloud 控制台创建变更订阅时需提供以下信息:
- - Kafka 广播监听器模式中的 ID
- - 端点服务名称
- - 引导端口
+ - Kafka Advertised Listener Pattern 中的 ID
+ - Endpoint Service Name
+ - Bootstrap Ports
-- 如果你的 Apache Kafka 服务托管在 Google Cloud 中,请按照[在 Google Cloud 中设置自托管 Kafka Private Service Connect](/tidb-cloud/setup-self-hosted-kafka-private-service-connect.md)确保网络连接正确配置。设置完成后,在 TiDB Cloud 控制台中提供以下信息以创建 changefeed:
+- 如果你的 Apache Kafka 服务托管在 Google Cloud,请按照 [Set Up Self-Hosted Kafka Private Service Connect in Google Cloud](/tidb-cloud/setup-self-hosted-kafka-private-service-connect.md) 配置网络连接。配置完成后,在 TiDB Cloud 控制台创建变更订阅时需提供以下信息:
- - Kafka 广播监听器模式中的 ID
- - 服务附件
- - 引导端口
+ - Kafka Advertised Listener Pattern 中的 ID
+ - Service Attachment
+ - Bootstrap Ports
-- 如果你的 Apache Kafka 服务托管在 Azure 中,请按照[在 Azure 中设置自托管 Kafka Private Link 服务](/tidb-cloud/setup-azure-self-hosted-kafka-private-link-service.md)确保网络连接正确配置。设置完成后,在 TiDB Cloud 控制台中提供以下信息以创建 changefeed:
+- 如果你的 Apache Kafka 服务托管在 Azure,请按照 [Set Up Self-Hosted Kafka Private Link Service in Azure](/tidb-cloud/setup-azure-self-hosted-kafka-private-link-service.md) 配置网络连接。配置完成后,在 TiDB Cloud 控制台创建变更订阅时需提供以下信息:
- - Kafka 广播监听器模式中的 ID
- - Private Link 服务的别名
- - 引导端口
+ - Kafka Advertised Listener Pattern 中的 ID
+ - Private Link Service 的别名(Alias)
+ - Bootstrap Ports
-
+
-如果你的 Apache Kafka 服务在没有互联网访问的 AWS VPC 中,请执行以下步骤:
+如果你的 Apache Kafka 服务位于没有互联网访问权限的 AWS VPC,请执行以下步骤:
-1. [设置 VPC 对等连接](/tidb-cloud/set-up-vpc-peering-connections.md),连接 Apache Kafka 服务的 VPC 和你的 TiDB 集群。
-2. 修改与 Apache Kafka 服务关联的安全组的入站规则。
+1. 在 Apache Kafka 服务所在 VPC 与 TiDB 集群之间[建立 VPC Peering 连接](/tidb-cloud/set-up-vpc-peering-connections.md)。
+2. 修改 Apache Kafka 服务关联的安全组的入站规则。
- 你必须将你的 TiDB Cloud 集群所在区域的 CIDR 添加到入站规则中。CIDR 可以在 **VPC 对等连接**页面找到。这样做可以允许流量从你的 TiDB 集群流向 Kafka broker。
+ 你必须将 TiDB Cloud 集群所在区域的 CIDR 添加到入站规则中。该 CIDR 可在 **VPC Peering** 页面找到。这样可以允许 TiDB 集群的流量访问 Kafka broker。
-3. 如果 Apache Kafka URL 包含主机名,你需要允许 TiDB Cloud 能够解析 Apache Kafka broker 的 DNS 主机名。
+3. 如果 Apache Kafka 的 URL 包含主机名,你需要允许 TiDB Cloud 能够解析 Kafka broker 的 DNS 主机名。
- 1. 按照[为 VPC 对等连接启用 DNS 解析](https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-dns.html)中的步骤操作。
- 2. 启用**接受者 DNS 解析**选项。
+ 1. 按照 [Enable DNS resolution for a VPC peering connection](https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-dns.html) 的步骤操作。
+ 2. 启用 **Accepter DNS resolution** 选项。
-如果你的 Apache Kafka 服务在没有互联网访问的 Google Cloud VPC 中,请执行以下步骤:
+如果你的 Apache Kafka 服务位于没有互联网访问权限的 Google Cloud VPC,请执行以下步骤:
-1. [设置 VPC 对等连接](/tidb-cloud/set-up-vpc-peering-connections.md),连接 Apache Kafka 服务的 VPC 和你的 TiDB 集群。
+1. 在 Apache Kafka 服务所在 VPC 与 TiDB 集群之间[建立 VPC Peering 连接](/tidb-cloud/set-up-vpc-peering-connections.md)。
2. 修改 Apache Kafka 所在 VPC 的入站防火墙规则。
- 你必须将你的 TiDB Cloud 集群所在区域的 CIDR 添加到入站防火墙规则中。CIDR 可以在 **VPC 对等连接**页面找到。这样做可以允许流量从你的 TiDB 集群流向 Kafka broker。
+ 你必须将 TiDB Cloud 集群所在区域的 CIDR 添加到入站防火墙规则中。该 CIDR 可在 **VPC Peering** 页面找到。这样可以允许 TiDB 集群的流量访问 Kafka broker。
-
+
-如果你想为你的 Apache Kafka 服务提供公共 IP 访问,请为所有 Kafka broker 分配公共 IP 地址。
+如果你希望通过 Public IP 访问 Apache Kafka 服务,请为所有 Kafka broker 分配 Public IP 地址。
-不建议在生产环境中使用公共 IP。
+**不建议**在生产环境中使用 Public IP。
### Kafka ACL 授权
-要允许 TiDB Cloud changefeed 将数据同步到 Apache Kafka 并自动创建 Kafka 主题,请确保在 Kafka 中添加了以下权限:
+为了让 TiDB Cloud 变更订阅能够将数据流式同步到 Apache Kafka 并自动创建 Kafka topic,请确保在 Kafka 中添加以下权限:
-- 为 Kafka 中的主题资源类型添加了 `Create` 和 `Write` 权限。
-- 为 Kafka 中的集群资源类型添加了 `DescribeConfigs` 权限。
+- 为 Kafka 的 topic 资源类型添加 `Create` 和 `Write` 权限。
+- 为 Kafka 的 cluster 资源类型添加 `DescribeConfigs` 权限。
-例如,如果你的 Kafka 集群在 Confluent Cloud 中,你可以参见 Confluent 文档中的[资源](https://docs.confluent.io/platform/current/kafka/authorization.html#resources)和[添加 ACL](https://docs.confluent.io/platform/current/kafka/authorization.html#adding-acls)了解更多信息。
+例如,如果你的 Kafka 集群在 Confluent Cloud,可以参考 Confluent 文档中的 [Resources](https://docs.confluent.io/platform/current/kafka/authorization.html#resources) 和 [Adding ACLs](https://docs.confluent.io/platform/current/kafka/authorization.html#adding-acls) 获取更多信息。
+
+## 第 1 步:打开 Apache Kafka 的 Changefeed 页面
+
+1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com)。
+2. 进入目标 TiDB 集群的集群总览页面,然后点击左侧导航栏的 **Data** > **Changefeed**。
+3. 点击 **Create Changefeed**,并选择 **Kafka** 作为 **Destination**。
+
+## 第 2 步:配置变更订阅目标
+
+具体步骤根据你选择的连接方式有所不同。
+
+
+
+
+1. 在 **Connectivity Method** 中选择 **VPC Peering** 或 **Public IP**,填写你的 Kafka broker endpoint。多个 endpoint 可用英文逗号 `,` 分隔。
+2. 根据你的 Kafka 认证配置,选择 **Authentication** 选项。
+
+ - 如果 Kafka 不需要认证,保持默认选项 **Disable**。
+ - 如果 Kafka 需要认证,选择相应的认证类型,并填写 Kafka 账号的 **user name** 和 **password**。
+
+3. 选择你的 **Kafka Version**。如果不确定,建议选择 **Kafka v2**。
+4. 选择本次变更订阅的数据 **Compression** 类型。
+5. 如果你的 Kafka 启用了 TLS 加密,并希望使用 TLS 加密连接 Kafka,请启用 **TLS Encryption** 选项。
+6. 点击 **Next** 测试网络连接。测试通过后会进入下一页面。
+
+
+
+
+1. 在 **Connectivity Method** 中选择 **Private Link**。
+2. 授权 TiDB Cloud 的 [AWS Principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-accounts) 为你的 endpoint service 创建 endpoint。AWS Principal 信息可在网页提示中获取。
+3. 确保在 [Set Up Self-Hosted Kafka Private Link Service in AWS](/tidb-cloud/setup-aws-self-hosted-kafka-private-link-service.md) 的 **Network** 部分,选择了相同的 **Number of AZs** 和 **AZ IDs of Kafka Deployment**,并在 **Kafka Advertised Listener Pattern** 中填写了相同的唯一 ID。
+4. 填写在 [Set Up Self-Hosted Kafka Private Link Service in AWS](/tidb-cloud/setup-aws-self-hosted-kafka-private-link-service.md) 配置的 **Endpoint Service Name**。
+5. 填写 **Bootstrap Ports**。建议每个 AZ 至少设置一个端口,多个端口可用英文逗号 `,` 分隔。
+6. 根据你的 Kafka 认证配置,选择 **Authentication** 选项。
+
+ - 如果 Kafka 不需要认证,保持默认选项 **Disable**。
+ - 如果 Kafka 需要认证,选择相应的认证类型,并填写 Kafka 账号的 **user name** 和 **password**。
+
+7. 选择你的 **Kafka Version**。如果不确定,建议选择 **Kafka v2**。
+8. 选择本次变更订阅的数据 **Compression** 类型。
+9. 如果你的 Kafka 启用了 TLS 加密,并希望使用 TLS 加密连接 Kafka,请启用 **TLS Encryption** 选项。
+10. 点击 **Next** 测试网络连接。测试通过后会进入下一页面。
+11. TiDB Cloud 会为 **Private Link** 创建 endpoint,可能需要几分钟时间。
+12. endpoint 创建完成后,登录你的云服务商控制台,接受连接请求。
+13. 返回 [TiDB Cloud 控制台](https://tidbcloud.com) 确认你已接受连接请求。TiDB Cloud 会测试连接,测试通过后进入下一页面。
+
+
+
+
+1. 在 **Connectivity Method** 中选择 **Private Service Connect**。
+2. 确保在 [Set Up Self-Hosted Kafka Private Service Connect in Google Cloud](/tidb-cloud/setup-self-hosted-kafka-private-service-connect.md) 的 **Network** 部分,在 **Kafka Advertised Listener Pattern** 中填写了相同的唯一 ID。
+3. 填写在 [Setup Self Hosted Kafka Private Service Connect in Google Cloud](/tidb-cloud/setup-self-hosted-kafka-private-service-connect.md) 配置的 **Service Attachment**。
+4. 填写 **Bootstrap Ports**。建议提供多个端口,多个端口可用英文逗号 `,` 分隔。
+5. 根据你的 Kafka 认证配置,选择 **Authentication** 选项。
+
+ - 如果 Kafka 不需要认证,保持默认选项 **Disable**。
+ - 如果 Kafka 需要认证,选择相应的认证类型,并填写 Kafka 账号的 **user name** 和 **password**。
+
+6. 选择你的 **Kafka Version**。如果不确定,建议选择 **Kafka v2**。
+7. 选择本次变更订阅的数据 **Compression** 类型。
+8. 如果你的 Kafka 启用了 TLS 加密,并希望使用 TLS 加密连接 Kafka,请启用 **TLS Encryption** 选项。
+9. 点击 **Next** 测试网络连接。测试通过后会进入下一页面。
+10. TiDB Cloud 会为 **Private Service Connect** 创建 endpoint,可能需要几分钟时间。
+11. endpoint 创建完成后,登录你的云服务商控制台,接受连接请求。
+12. 返回 [TiDB Cloud 控制台](https://tidbcloud.com) 确认你已接受连接请求。TiDB Cloud 会测试连接,测试通过后进入下一页面。
+
+
+
+
+1. 在 **Connectivity Method** 中选择 **Private Link**。
+2. 在创建变更订阅前,授权 TiDB Cloud 的 Azure 订阅,或允许任何拥有你别名的人访问你的 Private Link 服务。Azure 订阅信息可在网页的 **Reminders before proceeding** 提示中获取。关于 Private Link 服务可见性,详见 Azure 文档 [Control service exposure](https://learn.microsoft.com/en-us/azure/private-link/private-link-service-overview#control-service-exposure)。
+3. 确保在 [Set Up Self-Hosted Kafka Private Link Service in Azure](/tidb-cloud/setup-azure-self-hosted-kafka-private-link-service.md) 的 **Network** 部分,在 **Kafka Advertised Listener Pattern** 中填写了相同的唯一 ID。
+4. 填写在 [Set Up Self-Hosted Kafka Private Link Service in Azure](/tidb-cloud/setup-azure-self-hosted-kafka-private-link-service.md) 配置的 **Alias of Private Link Service**。
+5. 填写 **Bootstrap Ports**。建议每个 AZ 至少设置一个端口,多个端口可用英文逗号 `,` 分隔。
+6. 根据你的 Kafka 认证配置,选择 **Authentication** 选项。
+
+ - 如果 Kafka 不需要认证,保持默认选项 **Disable**。
+ - 如果 Kafka 需要认证,选择相应的认证类型,并填写 Kafka 账号的 **user name** 和 **password**。
+
+7. 选择你的 **Kafka Version**。如果不确定,建议选择 **Kafka v2**。
+8. 选择本次变更订阅的数据 **Compression** 类型。
+9. 如果你的 Kafka 启用了 TLS 加密,并希望使用 TLS 加密连接 Kafka,请启用 **TLS Encryption** 选项。
+10. 点击 **Next** 测试网络连接。测试通过后会进入下一页面。
+11. TiDB Cloud 会为 **Private Link** 创建 endpoint,可能需要几分钟时间。
+12. endpoint 创建完成后,登录 [Azure portal](https://portal.azure.com/) 并接受连接请求。
+13. 返回 [TiDB Cloud 控制台](https://tidbcloud.com) 确认你已接受连接请求。TiDB Cloud 会测试连接,测试通过后进入下一页面。
+
+
+
+
+## 第 3 步:设置变更订阅
+
+1. 自定义 **Table Filter**,筛选你希望同步的表。规则语法详见 [table filter rules](/table-filter.md)。
+
+ - **Filter Rules**:你可以在此列设置过滤规则。默认规则为 `*.*`,表示同步所有表。添加新规则后,TiDB Cloud 会查询 TiDB 中所有表,并在右侧仅显示匹配规则的表。最多可添加 100 条过滤规则。
+ - **Tables with valid keys**:此列显示具有有效键(主键或唯一索引)的表。
+ - **Tables without valid keys**:此列显示缺少主键或唯一键的表。这类表在同步时存在挑战,因为缺少唯一标识符可能导致下游处理重复事件时数据不一致。为保证数据一致性,建议在同步前为这些表添加唯一键或主键,或通过过滤规则排除这些表。例如,可通过规则 `"!test.tbl1"` 排除表 `test.tbl1`。
+
+2. 自定义 **Event Filter**,筛选你希望同步的事件。
+
+ - **Tables matching**:你可以设置事件过滤器应用于哪些表。规则语法与前述 **Table Filter** 区域相同。每个变更订阅最多可添加 10 条事件过滤规则。
+ - **Event Filter**:你可以使用以下事件过滤器从变更订阅中排除特定事件:
+ - **Ignore event**:排除指定类型的事件。
+ - **Ignore SQL**:排除匹配指定表达式的 DDL 事件。例如,`^drop` 排除以 `DROP` 开头的语句,`add column` 排除包含 `ADD COLUMN` 的语句。
+ - **Ignore insert value expression**:排除满足特定条件的 `INSERT` 语句。例如,`id >= 100` 排除 `id` 大于等于 100 的 `INSERT` 语句。
+ - **Ignore update new value expression**:排除新值满足指定条件的 `UPDATE` 语句。例如,`gender = 'male'` 排除更新后 `gender` 为 `male` 的变更。
+ - **Ignore update old value expression**:排除旧值满足指定条件的 `UPDATE` 语句。例如,`age < 18` 排除旧值 `age` 小于 18 的变更。
+ - **Ignore delete value expression**:排除满足指定条件的 `DELETE` 语句。例如,`name = 'john'` 排除 `name` 为 `'john'` 的删除操作。
+
+3. 自定义 **Column Selector**,选择事件中的列,仅将这些列的数据变更发送到下游。
+
+ - **Tables matching**:指定列选择器应用于哪些表。未匹配任何规则的表将发送所有列。
+ - **Column Selector**:指定匹配表中哪些列会被发送到下游。
+
+ 更多匹配规则说明,参见 [Column selectors](https://docs.pingcap.com/tidb/stable/ticdc-sink-to-kafka/#column-selectors)。
+
+4. 在 **Data Format** 区域,选择你期望的 Kafka 消息格式。
+
+ - Avro 是一种紧凑、快速的二进制数据格式,支持丰富的数据结构,广泛应用于各种流式系统。详见 [Avro data format](https://docs.pingcap.com/tidb/stable/ticdc-avro-protocol)。
+ - Canal-JSON 是一种纯 JSON 文本格式,易于解析。详见 [Canal-JSON data format](https://docs.pingcap.com/tidb/stable/ticdc-canal-json)。
+ - Open Protocol 是一种行级数据变更通知协议,为监控、缓存、全文索引、分析引擎及不同数据库间主从复制等场景提供数据源。详见 [Open Protocol data format](https://docs.pingcap.com/tidb/stable/ticdc-open-protocol)。
+ - Debezium 是一个捕获数据库变更的工具。它将每个捕获到的数据库变更转换为一个称为“事件”的消息,并将这些事件发送到 Kafka。详见 [Debezium data format](https://docs.pingcap.com/tidb/stable/ticdc-debezium)。
+
+5. 如果你希望在 Kafka 消息体中添加 TiDB 扩展字段,请启用 **TiDB Extension** 选项。
+
+ 关于 TiDB 扩展字段的更多信息,参见 [Avro 数据格式中的 TiDB 扩展字段](https://docs.pingcap.com/tidb/stable/ticdc-avro-protocol#tidb-extension-fields) 和 [Canal-JSON 数据格式中的 TiDB 扩展字段](https://docs.pingcap.com/tidb/stable/ticdc-canal-json#tidb-extension-field)。
+
+6. 如果你选择 **Avro** 作为数据格式,页面会显示一些 Avro 专属配置。你可以按如下方式填写:
+
+ - 在 **Decimal** 和 **Unsigned BigInt** 配置项中,指定 TiDB Cloud 如何在 Kafka 消息中处理 decimal 和 unsigned bigint 数据类型。
+ - 在 **Schema Registry** 区域,填写你的 schema registry endpoint。如果启用 **HTTP Authentication**,会显示用户名和密码字段,并自动填入 TiDB 集群 endpoint 和密码。
+
+7. 在 **Topic Distribution** 区域,选择分发模式,并根据模式填写 topic 名称配置。
+
+ 如果你选择 **Avro** 作为数据格式,则只能在 **Distribution Mode** 下拉列表中选择 **Distribute changelogs by table to Kafka Topics** 模式。
+
+ 分发模式控制变更订阅如何创建 Kafka topic,可以按表、按库或将所有变更日志发送到一个 topic。
+
+ - **Distribute changelogs by table to Kafka Topics**
+
+ 如果你希望为每个表创建独立的 Kafka topic,选择此模式。这样,某个表的所有 Kafka 消息都会发送到专属 topic。你可以通过设置 topic 前缀、数据库名与表名之间的分隔符以及后缀自定义 topic 名称。例如,分隔符设置为 `_` 时,topic 名称格式为 `
_`。
+
+ 对于非行级事件(如 Create Schema Event)的变更日志,可以在 **Default Topic Name** 字段指定 topic 名称,变更订阅会相应创建 topic 收集此类变更日志。
+
+ - **Distribute changelogs by database to Kafka Topics**
+
+ 如果你希望为每个数据库创建独立的 Kafka topic,选择此模式。这样,某个数据库的所有 Kafka 消息都会发送到专属 topic。你可以通过设置 topic 前缀和后缀自定义数据库的 topic 名称。
+
+ 对于非行级事件(如 Resolved Ts Event)的变更日志,可以在 **Default Topic Name** 字段指定 topic 名称,变更订阅会相应创建 topic 收集此类变更日志。
+
+ - **Send all changelogs to one specified Kafka Topic**
+
+ 如果你希望所有变更日志都发送到同一个 Kafka topic,选择此模式。这样,变更订阅中的所有 Kafka 消息都会发送到一个 topic。你可以在 **Topic Name** 字段定义 topic 名称。
+
+8. 在 **Partition Distribution** 区域,你可以决定 Kafka 消息将被发送到哪个分区。你可以为所有表定义**单一分区分发器**,也可以为不同表定义**不同的分区分发器**。TiDB Cloud 提供四种分发器类型:
+
+ - **Distribute changelogs by primary key or index value to Kafka partition**
+
+ 如果你希望将某个表的 Kafka 消息分发到不同分区,选择此方式。行变更日志的主键或索引值将决定其被发送到哪个分区。该方式有助于分区均衡,并保证行级有序性。
+
+ - **Distribute changelogs by table to Kafka partition**
+
+ 如果你希望将某个表的 Kafka 消息全部发送到同一个分区,选择此方式。行变更日志的表名将决定其被发送到哪个分区。该方式保证表级有序性,但可能导致分区不均衡。
+
+ - **Distribute changelogs by timestamp to Kafka partition**
+
+ 如果你希望将 Kafka 消息随机分发到不同分区,选择此方式。行变更日志的 commitTs 将决定其被发送到哪个分区。该方式有助于分区均衡,并保证每个分区内的有序性。但同一数据项的多次变更可能被发送到不同分区,不同消费者的消费进度可能不同,可能导致数据不一致。因此,消费者需要在消费前按 commitTs 对多分区数据进行排序。
+
+ - **Distribute changelogs by column value to Kafka partition**
+
+ 如果你希望将某个表的 Kafka 消息分发到不同分区,选择此方式。行变更日志的指定列值将决定其被发送到哪个分区。该方式保证每个分区内的有序性,并确保相同列值的变更日志被发送到同一分区。
+
+9. 在 **Topic Configuration** 区域,配置以下数值。变更订阅会根据这些数值自动创建 Kafka topic。
+
+ - **Replication Factor**:控制每条 Kafka 消息会被复制到多少台 Kafka 服务器。有效取值范围为 [`min.insync.replicas`](https://kafka.apache.org/33/documentation.html#brokerconfigs_min.insync.replicas) 到 Kafka broker 数量。
+ - **Partition Number**:控制每个 topic 的分区数。有效取值范围为 `[1, 10 * Kafka broker 数量]`。
+
+10. 点击 **Next**。
+
+## 第 4 步:配置变更订阅规范
+
+1. 在 **Changefeed Specification** 区域,指定变更订阅使用的 Replication Capacity Units(RCU)数量。
+2. 在 **Changefeed Name** 区域,为变更订阅指定一个名称。
+3. 点击 **Next**,检查你设置的配置并进入下一页面。
+
+## 第 5 步:检查配置
+
+在此页面,你可以检查所有已设置的变更订阅配置。
+
+如果发现有误,可以返回修改。若无误,勾选底部的复选框,然后点击 **Create** 创建变更订阅。
\ No newline at end of file
diff --git a/tidb-cloud/changefeed-sink-to-apache-pulsar.md b/tidb-cloud/changefeed-sink-to-apache-pulsar.md
index 80183ca5195e0..21f18b4c15c03 100644
--- a/tidb-cloud/changefeed-sink-to-apache-pulsar.md
+++ b/tidb-cloud/changefeed-sink-to-apache-pulsar.md
@@ -1,189 +1,195 @@
---
-title: 导出到 Apache Pulsar
-summary: 本文档说明如何创建 changefeed 将数据从 TiDB Cloud 流式传输到 Apache Pulsar。它包括限制、前提条件以及为 Apache Pulsar 配置 changefeed 的步骤。该过程涉及设置网络连接和配置 changefeed 规格。
+title: Sink to Apache Pulsar
+summary: 本文档介绍如何创建变更订阅(changefeed),以将数据从 TiDB Cloud 流式传输到 Apache Pulsar。内容包括限制、前置条件,以及为 Apache Pulsar 配置变更订阅的步骤。该过程涉及网络连接的设置和变更订阅规范的配置。
---
-# 导出到 Apache Pulsar
+# Sink to Apache Pulsar
-本文档描述如何创建 changefeed 将数据从 TiDB Cloud 流式传输到 Apache Pulsar。
+本文档描述如何创建变更订阅(changefeed),以将数据从 TiDB Cloud 流式传输到 Apache Pulsar。
-> **注意:**
+> **Note:**
>
-> - 要使用 changefeed 功能将数据复制到 Apache Pulsar,请确保你的 TiDB Cloud Dedicated 集群版本为 v7.5.1 或更高版本。
-> - 对于 [TiDB Cloud Serverless 集群](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless),changefeed 功能不可用。
+> - 若要使用变更订阅功能将数据同步到 Apache Pulsar,请确保你的 TiDB Cloud Dedicated 集群版本为 v7.5.1 或更高版本。
+> - 对于 [TiDB Cloud Serverless 集群](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless),暂不支持变更订阅功能。
## 限制
-- 每个 TiDB Cloud 集群最多可以创建 100 个 changefeed。
-- 目前,TiDB Cloud 不支持上传自签名 TLS 证书来连接 Pulsar broker。
-- 由于 TiDB Cloud 使用 TiCDC 建立 changefeed,因此它具有与 [TiCDC 相同的限制](https://docs.pingcap.com/tidb/stable/ticdc-overview#unsupported-scenarios)。
-- 如果要复制的表没有主键或非空唯一索引,在某些重试场景下,复制过程中缺少唯一约束可能导致下游插入重复数据。
-- 目前,TiCDC 不会自动创建 Pulsar 主题。在向主题发送事件之前,请确保该主题在 Pulsar 中存在。
+- 每个 TiDB Cloud 集群最多可创建 100 个变更订阅。
+- 目前,TiDB Cloud 不支持上传自签名 TLS 证书以连接 Pulsar broker。
+- 由于 TiDB Cloud 使用 TiCDC 建立变更订阅,因此具有与 [TiCDC 相同的限制](https://docs.pingcap.com/tidb/stable/ticdc-overview#unsupported-scenarios)。
+- 如果待同步的表没有主键或非空唯一索引,在某些重试场景下,由于缺乏唯一约束,可能会导致下游插入重复数据。
+- 目前,TiCDC 不会自动创建 Pulsar topic。在向 topic 分发事件前,请确保该 topic 已在 Pulsar 中存在。
-## 前提条件
+## 前置条件
-在创建 changefeed 将数据流式传输到 Apache Pulsar 之前,你需要完成以下前提条件:
+在创建变更订阅以将数据流式传输到 Apache Pulsar 之前,你需要完成以下前置条件:
- 设置网络连接
-- 添加 Pulsar ACL 授权的权限
-- 在 Apache Pulsar 中手动创建主题,或在 Apache Pulsar broker 配置中启用 [`allowAutoTopicCreation`](https://pulsar.apache.org/reference/#/4.0.x/config/reference-configuration-broker?id=allowautotopiccreation)
+- 为 Pulsar ACL 授权添加权限
+- 在 Apache Pulsar 中手动创建 topic,或在 Apache Pulsar broker 配置中启用 [`allowAutoTopicCreation`](https://pulsar.apache.org/reference/#/4.0.x/config/reference-configuration-broker?id=allowautotopiccreation)
### 网络
-确保你的 TiDB 集群可以连接到 Apache Pulsar 服务。你可以选择以下连接方法之一:
+确保你的 TiDB 集群能够连接到 Apache Pulsar 服务。你可以选择以下任一连接方式:
-- VPC 对等连接:需要进行网络规划以避免潜在的 VPC CIDR 冲突,并考虑安全问题。
-- 公共 IP:适用于 Pulsar 公布公共 IP 的设置。此方法不建议在生产环境中使用,需要仔细考虑安全问题。
+- VPC Peering:需要进行网络规划,以避免潜在的 VPC CIDR 冲突,并考虑安全性问题。
+- 公网 IP:适用于 Pulsar 以公网 IP 方式对外提供服务的场景。该方式不推荐用于生产环境,并需谨慎考虑安全性。
-
+
-如果你的 Apache Pulsar 服务位于没有互联网访问的 AWS VPC 中,请执行以下步骤:
+如果你的 Apache Pulsar 服务部署在没有互联网访问权限的 AWS VPC 中,请按照以下步骤操作:
-1. 在 Apache Pulsar 服务的 VPC 和你的 TiDB 集群之间[设置 VPC 对等连接](/tidb-cloud/set-up-vpc-peering-connections.md)。
-2. 修改与 Apache Pulsar 服务关联的安全组的入站规则。
+1. 在 Apache Pulsar 服务所在 VPC 与 TiDB 集群之间 [建立 VPC Peering 连接](/tidb-cloud/set-up-vpc-peering-connections.md)。
+2. 修改 Apache Pulsar 服务关联的安全组的入站规则。
- 你必须将 TiDB Cloud 集群所在区域的 CIDR 添加到入站规则中。可以在 **VPC 对等连接**页面找到 CIDR。这样做可以允许流量从你的 TiDB 集群流向 Pulsar broker。
+ 你需要将 TiDB Cloud 集群所在区域的 CIDR 添加到入站规则中。该 CIDR 可在 **VPC Peering** 页面找到。这样可以允许来自 TiDB 集群的流量访问 Pulsar broker。
-3. 如果 Apache Pulsar URL 包含主机名,你需要允许 TiDB Cloud 解析 Apache Pulsar broker 的 DNS 主机名。
+3. 如果 Apache Pulsar 的 URL 包含主机名,你需要允许 TiDB Cloud 解析 Apache Pulsar broker 的 DNS 主机名。
- 1. 按照[为 VPC 对等连接启用 DNS 解析](https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-dns.html)中的步骤操作。
- 2. 启用**接受者 DNS 解析**选项。
+ 1. 按照 [为 VPC Peering 连接启用 DNS 解析](https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-dns.html) 的步骤操作。
+ 2. 启用 **Accepter DNS resolution** 选项。
-如果你的 Apache Pulsar 服务位于没有互联网访问的 Google Cloud VPC 中,请执行以下步骤:
+如果你的 Apache Pulsar 服务部署在没有互联网访问权限的 Google Cloud VPC 中,请按照以下步骤操作:
-1. 在 Apache Pulsar 服务的 VPC 和你的 TiDB 集群之间[设置 VPC 对等连接](/tidb-cloud/set-up-vpc-peering-connections.md)。
-2. 修改 Apache Pulsar 所在 VPC 的入站防火墙规则。
+1. 在 Apache Pulsar 服务所在 VPC 与 TiDB 集群之间 [建立 VPC Peering 连接](/tidb-cloud/set-up-vpc-peering-connections.md)。
+2. 修改 Apache Pulsar 所在 VPC 的 ingress 防火墙规则。
- 你必须将 TiDB Cloud 集群所在区域的 CIDR 添加到入站防火墙规则中。可以在 **VPC 对等连接**页面找到 CIDR。这样做可以允许流量从你的 TiDB 集群流向 Pulsar broker。
+ 你需要将 TiDB Cloud 集群所在区域的 CIDR 添加到 ingress 防火墙规则中。该 CIDR 可在 **VPC Peering** 页面找到。这样可以允许来自 TiDB 集群的流量访问 Pulsar broker。
-
+
-如果你想为 Apache Pulsar 服务提供公共 IP 访问,请为所有 Pulsar broker 分配公共 IP 地址。
+如果你希望通过公网 IP 访问 Apache Pulsar 服务,请为所有 Pulsar broker 分配公网 IP 地址。
-**不建议**在生产环境中使用公共 IP。
+**不推荐** 在生产环境中使用公网 IP。
-### 在 Apache Pulsar 中创建主题
+### 在 Apache Pulsar 中创建 topic
-目前,TiCDC 不会自动创建 Pulsar 主题。你需要在创建 changefeed 之前在 Pulsar 中创建所需的主题。主题的数量和命名取决于你首选的分发模式:
+目前,TiCDC 不会自动创建 Pulsar topic。你需要在创建变更订阅前,在 Pulsar 中创建所需的 topic。topic 的数量和命名方式取决于你选择的分发模式:
-- 要将所有 Pulsar 消息分发到单个主题:创建一个具有你首选名称的主题。
-- 要将每个表的 Pulsar 消息分发到专用主题,为每个要复制的表创建格式为 `<主题前缀><数据库名称><分隔符><表名称><主题后缀>` 的主题。
-- 要将数据库的 Pulsar 消息分发到专用主题,为每个要复制的数据库创建格式为 `<主题前缀><数据库名称><主题后缀>` 的主题。
+- 若希望所有 Pulsar 消息分发到单个 topic:只需创建一个自定义名称的 topic。
+- 若希望每个表的 Pulsar 消息分发到专用 topic,则需为每个需要同步的表,按 `
` 格式创建 topic。
+- 若希望每个数据库的 Pulsar 消息分发到专用 topic,则需为每个需要同步的数据库,按 `` 格式创建 topic。
-根据你的配置,你可能还需要一个用于非行事件(如架构更改)的默认主题。
+根据你的配置,可能还需要为非行事件(如 schema 变更)准备一个默认 topic。
-更多信息,请参见 Apache Pulsar 文档中的[如何创建主题](https://pulsar.apache.org/docs/4.0.x/tutorials-topic/)。
+更多信息请参见 Apache Pulsar 官方文档 [How to create a topic](https://pulsar.apache.org/docs/4.0.x/tutorials-topic/)。
-## 步骤 1. 打开 Apache Pulsar 的 Changefeed 页面
+## 第 1 步:打开 Apache Pulsar 的 Changefeed 页面
1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com)。
-2. 导航到将作为 changefeed 事件源的 TiDB 集群的概览页面,然后在左侧导航栏中点击**数据** > **Changefeed**。
-3. 点击**创建 Changefeed**。
+2. 进入作为变更订阅事件源的 TiDB 集群的集群总览页面,然后点击左侧导航栏的 **Data** > **Changefeed**。
+3. 点击 **Create Changefeed**。
-## 步骤 2. 配置 changefeed 目标
+## 第 2 步:配置变更订阅目标
-1. 在**目标**部分,选择 **Pulsar**。
-2. 在**连接**部分,输入以下信息:
+1. 在 **Destination** 区域,选择 **Pulsar**。
+2. 在 **Connection** 区域,填写以下信息:
- - **目标协议**:选择 **Pulsar** 或 **Pulsar+SSL**。
- - **连接方式**:根据你计划如何连接到 Pulsar 端点,选择 **VPC 对等连接**或**公共**。
- - **Pulsar Broker**:输入 Pulsar broker 的端点。使用冒号分隔端口和域名或 IP 地址,例如 `example.org:6650`。
+ - **Destination Protocol**:选择 **Pulsar** 或 **Pulsar+SSL**。
+ - **Connectivity Method**:根据你计划连接 Pulsar 的方式,选择 **VPC Peering** 或 **Public**。
+ - **Pulsar Broker**:填写你的 Pulsar broker 的 endpoint。端口与域名或 IP 地址之间用冒号分隔,例如 `example.org:6650`。
-3. 在**认证**部分,根据你的 Pulsar 认证配置选择 **Auth Type** 选项。根据你的选择输入所需的凭据信息。
-4. 可选:在**高级设置**部分,配置其他设置:
+3. 在 **Authentication** 区域,根据你的 Pulsar 认证配置选择 **Auth Type** 选项,并根据选择填写所需的凭证信息。
+4. 可选:在 **Advanced Settings** 区域,配置其他高级设置:
- - **压缩**:为此 changefeed 中的数据选择可选的压缩算法。
- - **每批最大消息数**和**最大发布延迟**:指定发送到 Pulsar 的事件消息的批处理。**每批最大消息数**设置每批的最大消息数,而**最大发布延迟**设置发送批次前的最大等待时间。
- - **连接超时**:调整建立到 Pulsar 的 TCP 连接的超时时间。
- - **操作超时**:调整使用 TiCDC Pulsar 客户端启动操作的超时时间。
- - **发送超时**:调整 TiCDC Pulsar 生产者发送消息的超时时间。
+ - **Compression**:为该变更订阅中的数据选择可选的压缩算法。
+ - **Max Messages per Batch** 和 **Max Publish Delay**:指定发送到 Pulsar 的事件消息批量设置。**Max Messages per Batch** 设置每批最大消息数,**Max Publish Delay** 设置发送一批消息前的最大等待时间。
+ - **Connection Timeout**:调整与 Pulsar 建立 TCP 连接的超时时间。
+ - **Operation Timeout**:调整使用 TiCDC Pulsar 客户端发起操作的超时时间。
+ - **Send Timeout**:调整 TiCDC Pulsar producer 发送消息的超时时间。
-5. 点击**下一步**以测试网络连接。如果测试成功,你将进入下一步。
+5. 点击 **Next** 测试网络连接。若测试通过,将进入下一步。
-## 步骤 3. 配置 changefeed 复制
+## 第 3 步:配置变更订阅同步内容
-1. 自定义**表过滤器**以过滤要复制的表。有关规则语法,请参考[表过滤规则](/table-filter.md)。
+1. 自定义 **Table Filter**,筛选你希望同步的表。规则语法参见 [table filter rules](/table-filter.md)。
- - **过滤规则**:你可以在此列中设置过滤规则。默认有一个规则 `*.*`,表示复制所有表。当你添加新规则时,TiDB Cloud 会查询 TiDB 中的所有表,并仅在右侧框中显示匹配规则的表。你最多可以添加 100 个过滤规则。
- - **具有有效键的表**:此列显示具有有效键(包括主键或唯一索引)的表。
- - **没有有效键的表**:此列显示缺少主键或唯一键的表。这些表在复制过程中会带来挑战,因为缺少唯一标识符可能会导致下游处理重复事件时数据不一致。为确保数据一致性,建议在开始复制之前为这些表添加唯一键或主键。或者,你可以添加过滤规则来排除这些表。例如,你可以使用规则 `"!test.tbl1"` 排除表 `test.tbl1`。
+ - **Filter Rules**:你可以在此列设置过滤规则。默认有一条规则 `*.*`,表示同步所有表。添加新规则后,TiDB Cloud 会查询 TiDB 中所有表,并在右侧框中仅显示匹配规则的表。最多可添加 100 条过滤规则。
+ - **Tables with valid keys**:此列显示具有有效键(包括主键或唯一索引)的表。
+ - **Tables without valid keys**:此列显示缺少主键或唯一键的表。这些表在同步时存在挑战,因为缺乏唯一标识符可能导致下游处理重复事件时数据不一致。为保证数据一致性,建议在同步前为这些表添加唯一键或主键,或通过添加过滤规则排除这些表。例如,可以通过规则 `"!test.tbl1"` 排除表 `test.tbl1`。
-2. 自定义**事件过滤器**以过滤要复制的事件。
+2. 自定义 **Event Filter**,筛选你希望同步的事件。
- - **匹配表**:你可以在此列中设置事件过滤器将应用于哪些表。规则语法与前面的**表过滤器**区域使用的语法相同。每个 changefeed 最多可以添加 10 个事件过滤规则。
- - **忽略的事件**:你可以设置事件过滤器将从 changefeed 中排除的事件类型。
+ - **Tables matching**:你可以在此列设置事件过滤器应用到哪些表。规则语法与前述 **Table Filter** 区域相同。每个变更订阅最多可添加 10 条事件过滤规则。
+ - **Event Filter**:你可以使用以下事件过滤器从变更订阅中排除特定事件:
+ - **Ignore event**:排除指定类型的事件。
+ - **Ignore SQL**:排除匹配指定表达式的 DDL 事件。例如,`^drop` 排除以 `DROP` 开头的语句,`add column` 排除包含 `ADD COLUMN` 的语句。
+ - **Ignore insert value expression**:排除满足特定条件的 `INSERT` 语句。例如,`id >= 100` 排除 `id` 大于等于 100 的 `INSERT` 语句。
+ - **Ignore update new value expression**:排除新值满足指定条件的 `UPDATE` 语句。例如,`gender = 'male'` 排除更新后 `gender` 为 `male` 的变更。
+ - **Ignore update old value expression**:排除旧值满足指定条件的 `UPDATE` 语句。例如,`age < 18` 排除旧值 `age` 小于 18 的更新。
+ - **Ignore delete value expression**:排除满足指定条件的 `DELETE` 语句。例如,`name = 'john'` 排除 `name` 为 `'john'` 的删除操作。
-3. 在**开始复制位置**区域,选择 changefeed 开始将数据复制到 Pulsar 的起点:
+3. 在 **Start Replication Position** 区域,选择变更订阅开始向 Pulsar 同步数据的起点:
- - **从现在开始复制**:changefeed 将从当前点开始复制数据。
- - **从特定 TSO 开始复制**:changefeed 将从指定的 [TSO](/tso.md) 开始复制数据。指定的 TSO 必须在[垃圾回收安全点](/read-historical-data.md#tidb-如何管理数据版本)内。
- - **从特定时间开始复制**:changefeed 将从指定的时间戳开始复制数据。指定的时间戳必须在垃圾回收安全点内。
+ - **Start replication from now on**:变更订阅将从当前时刻开始同步数据。
+ - **Start replication from a specific TSO**:变更订阅将从指定的 [TSO](/tso.md) 开始同步数据。指定的 TSO 必须在 [垃圾回收安全点](/read-historical-data.md#how-tidb-manages-the-data-versions) 之内。
+ - **Start replication from a specific time**:变更订阅将从指定的时间戳开始同步数据。指定的时间戳必须在垃圾回收安全点之内。
-4. 在**数据格式**区域,选择你想要的 Pulsar 消息格式。
+4. 在 **Data Format** 区域,选择你期望的 Pulsar 消息格式。
- - Canal-JSON 是一种易于解析的纯 JSON 文本格式。更多信息,请参见 [TiCDC Canal-JSON 协议](https://docs.pingcap.com/tidb/stable/ticdc-canal-json/)。
+ - Canal-JSON 是一种纯 JSON 文本格式,易于解析。更多信息参见 [TiCDC Canal-JSON Protocol](https://docs.pingcap.com/tidb/stable/ticdc-canal-json/)。
- - 要在 Pulsar 消息正文中添加 TiDB 扩展字段,请启用 **TiDB 扩展**选项。更多信息,请参见 [TiCDC Canal-JSON 协议中的 TiDB 扩展字段](https://docs.pingcap.com/tidb/stable/ticdc-canal-json/#tidb-extension-field)。
+ - 若需在 Pulsar 消息体中添加 TiDB 扩展字段,可启用 **TiDB Extension** 选项。更多信息参见 [TiCDC Canal-JSON Protocol 中的 TiDB 扩展字段](https://docs.pingcap.com/tidb/stable/ticdc-canal-json/#tidb-extension-field)。
-5. 在**主题分发**区域,选择分发模式,然后根据模式填写主题名称配置。
+5. 在 **Topic Distribution** 区域,选择分发模式,并根据所选模式填写 topic 名称配置。
- 分发模式控制 changefeed 如何将事件消息分发到 Pulsar 主题,可以将所有消息发送到一个主题,或按表或按数据库发送到特定主题。
+ 分发模式决定变更订阅如何将事件消息分发到 Pulsar topic,可以将所有消息发送到一个 topic,或按表、按库分别发送到不同 topic。
- > **注意:**
+ > **Note:**
>
- > 当你选择 Pulsar 作为下游时,changefeed 不会自动创建主题。你必须提前创建所需的主题。
+ > 选择 Pulsar 作为下游时,变更订阅不会自动创建 topic。你必须提前在 Pulsar 中创建所需的 topic。
- - **将所有变更日志发送到一个指定的 Pulsar 主题**
+ - **Send all changelogs to one specified Pulsar Topic**
- 如果你希望 changefeed 将所有消息发送到单个 Pulsar 主题,请选择此模式。你可以在**主题名称**字段中指定主题名称。
+ 若希望变更订阅将所有消息发送到单个 Pulsar topic,请选择此模式。你可以在 **Topic Name** 字段中指定 topic 名称。
- - **按表将变更日志分发到 Pulsar 主题**
+ - **Distribute changelogs by table to Pulsar Topics**
- 如果你希望 changefeed 将每个表的所有 Pulsar 消息发送到专用的 Pulsar 主题,请选择此模式。你可以通过设置**主题前缀**、数据库名称和表名称之间的**分隔符**以及**主题后缀**来为表指定主题名称。例如,如果你将分隔符设置为 `_`,Pulsar 消息将被发送到格式为 `<主题前缀><数据库名称>_<表名称><主题后缀>` 的主题。你需要提前在 Pulsar 上创建这些主题。
+ 若希望变更订阅将每个表的 Pulsar 消息发送到专用 Pulsar topic,请选择此模式。你可以通过设置 **Topic Prefix**、数据库名与表名之间的 **Separator** 以及 **Topic Suffix**,为表指定 topic 名称。例如,若分隔符设置为 `_`,Pulsar 消息将发送到名称为 `_` 的 topic。你需要提前在 Pulsar 上创建这些 topic。
- 对于非行事件(如创建架构事件)的变更日志,你可以在**默认主题名称**字段中指定主题名称。changefeed 将非行事件发送到此主题以收集此类变更日志。
+ 对于非行事件(如 Create Schema Event)的变更日志,可以在 **Default Topic Name** 字段中指定 topic 名称。变更订阅会将这些非行事件发送到该 topic 以收集相关变更日志。
- - **按数据库将变更日志分发到 Pulsar 主题**
+ - **Distribute changelogs by database to Pulsar Topics**
- 如果你希望 changefeed 将每个数据库的所有 Pulsar 消息发送到专用的 Pulsar 主题,请选择此模式。你可以通过设置**主题前缀**和**主题后缀**来为数据库指定主题名称。
+ 若希望变更订阅将每个数据库的 Pulsar 消息发送到专用 Pulsar topic,请选择此模式。你可以通过设置 **Topic Prefix** 和 **Topic Suffix**,为数据库指定 topic 名称。
- 对于非行事件(如已解析的 Ts 事件)的变更日志,你可以在**默认主题名称**字段中指定主题名称。changefeed 将非行事件发送到此主题以收集此类变更日志。
+ 对于非行事件(如 Resolved Ts Event)的变更日志,可以在 **Default Topic Name** 字段中指定 topic 名称。变更订阅会将这些非行事件发送到该 topic 以收集相关变更日志。
- 由于 Pulsar 支持多租户,如果租户和命名空间与默认值不同,你可能还需要设置 **Pulsar 租户**和 **Pulsar 命名空间**。
+ 由于 Pulsar 支持多租户,如果 **Pulsar Tenant** 和 **Pulsar Namespace** 与默认值不同,你也可以进行设置。
-6. 在**分区分发**区域,你可以决定将 Pulsar 消息发送到哪个分区。你可以定义**所有表使用单个分区调度器**或**不同表使用不同的分区调度器**。TiDB Cloud 提供四个规则选项来将变更事件分发到 Pulsar 分区:
+6. 在 **Partition Distribution** 区域,你可以决定 Pulsar 消息发送到哪个分区。你可以为所有表定义 **单一分区分发器**,也可以为不同表定义 **不同的分区分发器**。TiDB Cloud 提供四种规则选项用于将变更事件分发到 Pulsar 分区:
- - **主键或唯一索引**
+ - **Primary key or unique index**
- 如果你希望 changefeed 将表的 Pulsar 消息发送到不同的分区,请选择此分发方法。行变更日志的主键或索引值决定将变更日志发送到哪个分区。此分发方法提供更好的分区平衡,并确保行级有序性。
+ 若希望变更订阅将表的 Pulsar 消息分发到不同分区,请选择此分发方式。行变更日志的主键或索引值决定该变更日志发送到哪个分区。该方式可实现更好的分区均衡,并保证行级有序性。
- - **表**
+ - **Table**
- 如果你希望 changefeed 将表的 Pulsar 消息发送到一个 Pulsar 分区,请选择此分发方法。行变更日志的表名决定将变更日志发送到哪个分区。此分发方法确保表有序性,但可能导致分区不平衡。
+ 若希望变更订阅将表的 Pulsar 消息发送到同一个 Pulsar 分区,请选择此分发方式。行变更日志的表名决定其发送到哪个分区。该方式保证表级有序性,但可能导致分区不均衡。
- - **时间戳**
+ - **Timestamp**
- 如果你希望 changefeed 根据时间戳将 Pulsar 消息发送到不同的 Pulsar 分区,请选择此分发方法。行变更日志的 commitTs 决定将变更日志发送到哪个分区。此分发方法提供更好的分区平衡,并确保每个分区内的有序性。但是,数据项的多个更改可能会被发送到不同的分区,不同消费者的消费进度可能不同,这可能导致数据不一致。因此,消费者需要在消费之前按 commitTs 对来自多个分区的数据进行排序。
+ 若希望变更订阅根据时间戳将 Pulsar 消息分发到不同分区,请选择此分发方式。行变更日志的 commitTs 决定其发送到哪个分区。该方式可实现更好的分区均衡,并保证每个分区内的有序性。但同一数据项的多次变更可能被发送到不同分区,不同消费者的消费进度可能不同,可能导致数据不一致。因此,消费者需在消费前按 commitTs 对多分区数据进行排序。
- - **列值**
+ - **Column value**
- 如果你希望 changefeed 将表的 Pulsar 消息发送到不同的分区,请选择此分发方法。行变更日志的指定列值将决定将变更日志发送到哪个分区。此分发方法确保每个分区内的有序性,并保证具有相同列值的变更日志被发送到同一个分区。
+ 若希望变更订阅将表的 Pulsar 消息分发到不同分区,请选择此分发方式。行变更日志中指定列的值决定其发送到哪个分区。该方式保证每个分区内的有序性,并确保相同列值的变更日志发送到同一分区。
-7. 点击**下一步**。
+7. 点击 **Next**。
-## 步骤 4. 配置规格并审查
+## 第 4 步:配置规范并审核
-1. 在**规格和名称**部分:
+1. 在 **Specification and Name** 区域:
- - 为 changefeed 指定[复制容量单位(RCU)](/tidb-cloud/tidb-cloud-billing-ticdc-rcu.md)的数量。
- - 为 changefeed 输入名称。
+ - 为变更订阅指定 [Replication Capacity Units (RCUs)](/tidb-cloud/tidb-cloud-billing-ticdc-rcu.md) 数量。
+ - 输入变更订阅的名称。
-2. 审查所有 changefeed 配置。
+2. 审核所有变更订阅配置。
- - 如果发现问题,你可以返回前面的步骤解决问题。
- - 如果没有问题,你可以点击**提交**创建 changefeed。
+ - 如果发现问题,可以返回上一步进行修改。
+ - 如果没有问题,可以点击 **Submit** 创建变更订阅。
\ No newline at end of file
diff --git a/tidb-cloud/changefeed-sink-to-cloud-storage.md b/tidb-cloud/changefeed-sink-to-cloud-storage.md
index 6a9f72183c9b2..4f0711896774d 100644
--- a/tidb-cloud/changefeed-sink-to-cloud-storage.md
+++ b/tidb-cloud/changefeed-sink-to-cloud-storage.md
@@ -1,52 +1,52 @@
---
-title: 导出数据到云存储
-summary: 本文介绍如何创建 changefeed 将数据从 TiDB Cloud 流式传输到 Amazon S3 或 GCS。包括限制、目标配置步骤、复制和规格配置,以及启动复制过程。
+title: Sink to Cloud Storage
+summary: 本文档介绍如何创建变更订阅(changefeed),将 TiDB Cloud 的数据流式同步到 Amazon S3 或 GCS。内容包括限制、目标端配置、同步及规范配置,以及启动同步流程。
---
-# 导出数据到云存储
+# Sink to Cloud Storage
-本文介绍如何创建 changefeed 将数据从 TiDB Cloud 流式传输到云存储。目前支持 Amazon S3 和 GCS。
+本文档介绍如何创建变更订阅(changefeed),将 TiDB Cloud 的数据流式同步到云存储。目前支持 Amazon S3 和 GCS。
> **注意:**
>
-> - 要将数据流式传输到云存储,请确保你的 TiDB 集群版本为 v7.1.1 或更高版本。要将 TiDB Cloud Dedicated 集群升级到 v7.1.1 或更高版本,请[联系 TiDB Cloud 支持团队](/tidb-cloud/tidb-cloud-support.md)。
-> - 对于 [TiDB Cloud Serverless](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless) 集群,changefeed 功能不可用。
+> - 若要将数据流式同步到云存储,请确保你的 TiDB 集群版本为 v7.1.1 或更高版本。如需将 TiDB Cloud Dedicated 集群升级到 v7.1.1 或更高版本,请[联系 TiDB Cloud Support](/tidb-cloud/tidb-cloud-support.md)。
+> - 对于 [TiDB Cloud Serverless](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless) 集群,暂不支持变更订阅功能。
## 限制
-- 每个 TiDB Cloud 集群最多可以创建 100 个 changefeed。
-- 由于 TiDB Cloud 使用 TiCDC 建立 changefeed,因此它具有与 TiCDC 相同的[限制](https://docs.pingcap.com/tidb/stable/ticdc-overview#unsupported-scenarios)。
-- 如果要复制的表没有主键或非空唯一索引,在某些重试场景下,由于缺少唯一约束,可能会导致下游插入重复数据。
+- 每个 TiDB Cloud 集群最多可创建 100 个变更订阅。
+- 由于 TiDB Cloud 使用 TiCDC 建立变更订阅,因此具有与 [TiCDC 相同的限制](https://docs.pingcap.com/tidb/stable/ticdc-overview#unsupported-scenarios)。
+- 如果待同步的表没有主键或非空唯一索引,则在某些重试场景下,由于缺乏唯一约束,可能会导致下游插入重复数据。
-## 步骤 1. 配置目标
+## 第 1 步:配置目标端
-导航到目标 TiDB 集群的集群概览页面。在左侧导航栏中点击**数据** > **Changefeed**,点击**创建 Changefeed**,然后选择 **Amazon S3** 或 **GCS** 作为目标。配置过程根据你选择的目标而有所不同。
+进入目标 TiDB 集群的集群总览页面。在左侧导航栏点击 **Data** > **Changefeed**,点击 **Create Changefeed**,并选择 **Amazon S3** 或 **GCS** 作为目标端。具体配置流程根据你选择的目标端有所不同。
-对于 **Amazon S3**,填写 **S3 端点**区域:`S3 URI`、`Access Key ID` 和 `Secret Access Key`。确保 S3 存储桶与你的 TiDB 集群在同一区域。
+对于 **Amazon S3**,填写 **S3 Endpoint** 区域:`S3 URI`、`Access Key ID` 和 `Secret Access Key`。请确保 S3 bucket 与 TiDB 集群处于同一区域。

-对于 **GCS**,在填写 **GCS 端点**之前,你需要先授予 GCS 存储桶访问权限。请按照以下步骤操作:
+对于 **GCS**,在填写 **GCS Endpoint** 之前,需要先授予 GCS bucket 访问权限。请按照以下步骤操作:
-1. 在 TiDB Cloud 控制台中,记录**服务账号 ID**,该 ID 将用于授予 TiDB Cloud 访问你的 GCS 存储桶的权限。
+1. 在 TiDB Cloud 控制台,记录下 **Service Account ID**,该 ID 用于授权 TiDB Cloud 访问你的 GCS bucket。

-2. 在 Google Cloud 控制台中,为你的 GCS 存储桶创建 IAM 角色。
+2. 在 Google Cloud 控制台,为你的 GCS bucket 创建一个 IAM 角色。
1. 登录 [Google Cloud 控制台](https://console.cloud.google.com/)。
- 2. 转到[角色](https://console.cloud.google.com/iam-admin/roles)页面,然后点击**创建角色**。
+ 2. 进入 [Roles](https://console.cloud.google.com/iam-admin/roles) 页面,然后点击 **Create role**。
- 
+ 
- 3. 为角色输入名称、描述、ID 和角色启动阶段。角色创建后,角色名称无法更改。
- 4. 点击**添加权限**。将以下权限添加到角色,然后点击**添加**。
+ 3. 输入角色的名称、描述、ID 及角色发布阶段。角色名称在创建后不可更改。
+ 4. 点击 **Add permissions**,为该角色添加以下权限,然后点击 **Add**。
- storage.buckets.get
- storage.objects.create
@@ -55,114 +55,120 @@ summary: 本文介绍如何创建 changefeed 将数据从 TiDB Cloud 流式传
- storage.objects.list
- storage.objects.update
- 
+ 
-3. 转到[存储桶](https://console.cloud.google.com/storage/browser)页面,选择你希望 TiDB Cloud 访问的 GCS 存储桶。请注意,GCS 存储桶必须与你的 TiDB 集群在同一区域。
+3. 进入 [Bucket](https://console.cloud.google.com/storage/browser) 页面,选择你希望 TiDB Cloud 访问的 GCS bucket。请注意,GCS bucket 必须与 TiDB 集群处于同一区域。
-4. 在**存储桶详情**页面,点击**权限**标签,然后点击**授予访问权限**。
+4. 在 **Bucket details** 页面,点击 **Permissions** 标签页,然后点击 **Grant access**。
- 
+ 
-5. 填写以下信息以授予存储桶访问权限,然后点击**保存**。
+5. 填写以下信息以授予 bucket 访问权限,然后点击 **Save**。
- - 在**新主体**字段中,粘贴你之前记录的目标 TiDB 集群的**服务账号 ID**。
- - 在**选择角色**下拉列表中,输入你刚刚创建的 IAM 角色名称,然后从筛选结果中选择该名称。
+ - 在 **New Principals** 字段中,粘贴之前记录的目标 TiDB 集群的 **Service Account ID**。
+ - 在 **Select a role** 下拉列表中,输入你刚刚创建的 IAM 角色名称,并从筛选结果中选择该名称。
> **注意:**
>
- > 要移除 TiDB Cloud 的访问权限,只需移除你已授予的访问权限即可。
+ > 若需移除 TiDB Cloud 的访问权限,只需删除你已授予的访问权限即可。
-6. 在**存储桶详情**页面,点击**对象**标签。
+6. 在 **Bucket details** 页面,点击 **Objects** 标签页。
- - 要获取存储桶的 gsutil URI,点击复制按钮并添加 `gs://` 作为前缀。例如,如果存储桶名称为 `test-sink-gcs`,则 URI 为 `gs://test-sink-gcs/`。
+ - 获取 bucket 的 gsutil URI:点击复制按钮,并在前面加上 `gs://` 前缀。例如,若 bucket 名为 `test-sink-gcs`,则 URI 为 `gs://test-sink-gcs/`。
- 
+ 
- - 要获取文件夹的 gsutil URI,打开文件夹,点击复制按钮,并添加 `gs://` 作为前缀。例如,如果存储桶名称为 `test-sink-gcs`,文件夹名称为 `changefeed-xxx`,则 URI 为 `gs://test-sink-gcs/changefeed-xxx/`。
+ - 获取文件夹的 gsutil URI:进入文件夹,点击复制按钮,并在前面加上 `gs://` 前缀。例如,若 bucket 名为 `test-sink-gcs`,文件夹名为 `changefeed-xxx`,则 URI 为 `gs://test-sink-gcs/changefeed-xxx/`。
- 
+ 
-7. 在 TiDB Cloud 控制台中,转到 Changefeed 的**配置目标**页面,并填写**存储桶 gsutil URI** 字段。
+7. 回到 TiDB Cloud 控制台,在 Changefeed 的 **Configure Destination** 页面,填写 **bucket gsutil URI** 字段。
-点击**下一步**以建立从 TiDB Cloud Dedicated 集群到 Amazon S3 或 GCS 的连接。TiDB Cloud 将自动测试并验证连接是否成功。
+点击 **Next**,建立 TiDB Cloud Dedicated 集群与 Amazon S3 或 GCS 的连接。TiDB Cloud 会自动测试并验证连接是否成功。
-- 如果成功,你将进入下一步配置。
-- 如果失败,将显示连接错误,你需要处理该错误。错误解决后,点击**下一步**重试连接。
+- 若连接成功,将进入下一步配置。
+- 若连接失败,会显示连接错误,你需要处理该错误。错误解决后,点击 **Next** 重新尝试连接。
-## 步骤 2. 配置复制
+## 第 2 步:配置同步
-1. 自定义**表过滤器**以过滤要复制的表。有关规则语法,请参考[表过滤规则](https://docs.pingcap.com/tidb/stable/ticdc-filter#changefeed-log-filters)。
+1. 自定义 **Table Filter**,筛选你希望同步的表。规则语法可参考 [table filter rules](https://docs.pingcap.com/tidb/stable/ticdc-filter#changefeed-log-filters)。
- 
+ 
- - **过滤规则**:你可以在此列设置过滤规则。默认有一个规则 `*.*`,表示复制所有表。添加新规则时,TiDB Cloud 会查询 TiDB 中的所有表,并在右侧框中仅显示匹配规则的表。你最多可以添加 100 个过滤规则。
- - **具有有效键的表**:此列显示具有有效键(包括主键或唯一索引)的表。
- - **没有有效键的表**:此列显示缺少主键或唯一键的表。这些表在复制过程中会带来挑战,因为缺少唯一标识符可能会导致在处理下游重复事件时出现数据不一致。为确保数据一致性,建议在开始复制之前为这些表添加唯一键或主键。或者,你可以使用过滤规则排除这些表。例如,你可以使用规则 `"!test.tbl1"` 排除表 `test.tbl1`。
+ - **Filter Rules**:你可以在此列设置筛选规则。默认规则为 `*.*`,表示同步所有表。添加新规则后,TiDB Cloud 会查询 TiDB 中所有表,并在右侧框中仅显示符合规则的表。最多可添加 100 条筛选规则。
+ - **Tables with valid keys**:此列显示具有有效键(包括主键或唯一索引)的表。
+ - **Tables without valid keys**:此列显示缺少主键或唯一键的表。这类表在同步时存在挑战,因为缺乏唯一标识符,处理下游重复事件时可能导致数据不一致。为保证数据一致性,建议在同步前为这些表添加唯一键或主键,或通过筛选规则排除这些表。例如,可通过规则 `"!test.tbl1"` 排除表 `test.tbl1`。
-2. 自定义**事件过滤器**以过滤要复制的事件。
+2. 自定义 **Event Filter**,筛选你希望同步的事件。
- - **匹配表**:你可以在此列设置事件过滤器将应用于哪些表。规则语法与前面的**表过滤器**区域使用的语法相同。每个 changefeed 最多可以添加 10 个事件过滤规则。
- - **忽略的事件**:你可以设置事件过滤器将从 changefeed 中排除哪些类型的事件。
+ - **Tables matching**:你可以在此列设置事件过滤器应用到哪些表。规则语法与前述 **Table Filter** 区域相同。每个变更订阅最多可添加 10 条事件过滤规则。
+ - **Event Filter**:你可以使用以下事件过滤器,从变更订阅中排除特定事件:
+ - **Ignore event**:排除指定类型的事件。
+ - **Ignore SQL**:排除符合指定表达式的 DDL 事件。例如,`^drop` 排除以 `DROP` 开头的语句,`add column` 排除包含 `ADD COLUMN` 的语句。
+ - **Ignore insert value expression**:排除满足特定条件的 `INSERT` 语句。例如,`id >= 100` 排除 `id` 大于等于 100 的 `INSERT` 语句。
+ - **Ignore update new value expression**:排除新值满足指定条件的 `UPDATE` 语句。例如,`gender = 'male'` 排除更新后 `gender` 为 `male` 的更新。
+ - **Ignore update old value expression**:排除旧值满足指定条件的 `UPDATE` 语句。例如,`age < 18` 排除旧值 `age` 小于 18 的更新。
+ - **Ignore delete value expression**:排除满足指定条件的 `DELETE` 语句。例如,`name = 'john'` 排除 `name` 为 `'john'` 的删除。
-3. 在**开始复制位置**区域,选择以下复制位置之一:
+3. 在 **Start Replication Position** 区域,选择以下同步起始位置之一:
- - 从现在开始复制
- - 从特定 [TSO](https://docs.pingcap.com/tidb/stable/glossary#tso) 开始复制
- - 从特定时间开始复制
+ - 从现在开始同步
+ - 从指定的 [TSO](https://docs.pingcap.com/tidb/stable/glossary#tso) 开始同步
+ - 从指定时间开始同步
-4. 在**数据格式**区域,选择 **CSV** 或 **Canal-JSON** 格式。
+4. 在 **Data Format** 区域,选择 **CSV** 或 **Canal-JSON** 格式。
-
+
- 要配置 **CSV** 格式,请填写以下字段:
+ 配置 **CSV** 格式时,需填写以下字段:
- - **二进制编码方法**:二进制数据的编码方法。你可以选择 **base64**(默认)或 **hex**。如果要与 AWS DMS 集成,请使用 **hex**。
- - **日期分隔符**:根据年、月、日轮换数据,或选择不轮换。
- - **分隔符**:指定用于分隔 CSV 文件中值的字符。逗号(`,`)是最常用的分隔符。
- - **引号**:指定用于包围包含分隔符或特殊字符的值的字符。通常使用双引号(`"`)作为引号字符。
- - **空值/空值**:指定如何在 CSV 文件中表示空值或空值。这对于正确处理和解释数据很重要。
- - **包含提交时间戳**:控制是否在 CSV 行中包含 [`commit-ts`](https://docs.pingcap.com/tidb/stable/ticdc-sink-to-cloud-storage#replicate-change-data-to-storage-services)。
+ - **Binary Encode Method**:二进制数据的编码方式。可选择 **base64**(默认)或 **hex**。如需与 AWS DMS 集成,建议选择 **hex**。
+ - **Date Separator**:可按年、月、日进行数据轮转,或选择不轮转。
+ - **Delimiter**:指定 CSV 文件中用于分隔值的字符。逗号(`,`)是最常用的分隔符。
+ - **Quote**:指定用于包裹包含分隔符或特殊字符的值的字符。通常使用双引号(`"`)作为引用字符。
+ - **Null/Empty Values**:指定 CSV 文件中空值或 null 的表示方式。这对于数据的正确处理和解析非常重要。
+ - **Include Commit Ts**:控制是否在 CSV 行中包含 [`commit-ts`](https://docs.pingcap.com/tidb/stable/ticdc-sink-to-cloud-storage#replicate-change-data-to-storage-services)。
-
+
- Canal-JSON 是一种纯 JSON 文本格式。要配置它,请填写以下字段:
+ Canal-JSON 是一种纯文本 JSON 格式。配置时需填写以下字段:
- - **日期分隔符**:根据年、月、日轮换数据,或选择不轮换。
- - **启用 TiDB 扩展**:启用此选项后,TiCDC 会发送 [WATERMARK 事件](https://docs.pingcap.com/tidb/stable/ticdc-canal-json#watermark-event)并在 Canal-JSON 消息中添加 [TiDB 扩展字段](https://docs.pingcap.com/tidb/stable/ticdc-canal-json#tidb-extension-field)。
+ - **Date Separator**:可按年、月、日进行数据轮转,或选择不轮转。
+ - **Enable TiDB Extension**:启用后,TiCDC 会发送 [WATERMARK 事件](https://docs.pingcap.com/tidb/stable/ticdc-canal-json#watermark-event),并在 Canal-JSON 消息中添加 [TiDB 扩展字段](https://docs.pingcap.com/tidb/stable/ticdc-canal-json#tidb-extension-field)。
-5. 在**刷新参数**区域,你可以配置两个项目:
+5. 在 **Flush Parameters** 区域,你可以配置以下两项:
- - **刷新间隔**:默认设置为 60 秒,可在 2 秒到 10 分钟范围内调整;
- - **文件大小**:默认设置为 64 MB,可在 1 MB 到 512 MB 范围内调整。
+ - **Flush Interval**:默认 60 秒,可在 2 秒至 10 分钟范围内调整;
+ - **File Size**:默认 64 MB,可在 1 MB 至 512 MB 范围内调整。
- 
+ 
> **注意:**
>
- > 这两个参数将影响每个数据库表在云存储中生成的对象数量。如果有大量表,使用相同的配置将增加生成的对象数量,从而增加调用云存储 API 的成本。因此,建议根据你的恢复点目标(RPO)和成本要求适当配置这些参数。
+ > 这两个参数会影响每个数据库表在云存储中生成的对象数量。如果表数量较多,使用相同配置会增加生成对象的数量,并提升调用云存储 API 的成本。因此,建议根据你的恢复点目标(RPO)和成本需求合理配置这两个参数。
-## 步骤 3. 配置规格
+## 第 3 步:配置规范
-点击**下一步**以配置你的 changefeed 规格。
+点击 **Next**,进入变更订阅规范配置。
-1. 在 **Changefeed 规格**区域,指定 changefeed 将使用的复制容量单位(RCU)数量。
-2. 在 **Changefeed 名称**区域,为 changefeed 指定一个名称。
+1. 在 **Changefeed Specification** 区域,指定变更订阅使用的 Replication Capacity Units(RCUs)数量。
+2. 在 **Changefeed Name** 区域,为变更订阅指定一个名称。
-## 步骤 4. 查看配置并开始复制
+## 第 4 步:确认配置并启动同步
-点击**下一步**以查看 changefeed 配置。
+点击 **Next**,进入变更订阅配置确认页面。
-- 如果你已验证所有配置都正确,点击**创建**以继续创建 changefeed。
-- 如果你需要修改任何配置,点击**上一步**返回并进行必要的更改。
+- 如果你已确认所有配置无误,点击 **Create** 创建变更订阅。
+- 如需修改配置,点击 **Previous** 返回并进行相应调整。
-导出将很快开始,你将看到导出状态从**创建中**变为**运行中**。
+同步任务将很快启动,你会看到同步状态从 **Creating** 变为 **Running**。
-点击 changefeed 的名称以转到其详情页面。在此页面上,你可以查看有关 changefeed 的更多信息,包括检查点状态、复制延迟和其他相关指标。
+点击变更订阅名称可进入详情页面。在该页面,你可以查看更多关于变更订阅的信息,包括检查点状态、同步延迟及其他相关指标。
\ No newline at end of file
diff --git a/tidb-cloud/changefeed-sink-to-mysql.md b/tidb-cloud/changefeed-sink-to-mysql.md
index 0468c084e776c..0dc372bedba33 100644
--- a/tidb-cloud/changefeed-sink-to-mysql.md
+++ b/tidb-cloud/changefeed-sink-to-mysql.md
@@ -1,79 +1,77 @@
---
-title: 同步到 MySQL
-summary: 本文档介绍如何使用同步到 MySQL 的 changefeed 将数据从 TiDB Cloud 流式传输到 MySQL。它包括限制、前提条件以及创建 MySQL sink 进行数据复制的步骤。该过程涉及设置网络连接、将现有数据加载到 MySQL 以及在 MySQL 中创建目标表。完成前提条件后,用户可以创建 MySQL sink 以将数据复制到 MySQL。
+title: Sink to MySQL
+summary: 本文档介绍如何使用 **Sink to MySQL** changefeed 将数据从 TiDB Cloud 实时同步到 MySQL。内容包括限制条件、前置条件,以及创建 MySQL sink 进行数据同步的步骤。该过程涉及网络连接设置、将已有数据导入 MySQL 以及在 MySQL 中创建目标表。完成前置条件后,用户即可创建 MySQL sink,将数据同步到 MySQL。
---
-# 同步到 MySQL
+# Sink to MySQL
-本文档介绍如何使用**同步到 MySQL** changefeed 将数据从 TiDB Cloud 流式传输到 MySQL。
+本文档描述了如何使用 **Sink to MySQL** changefeed,将数据从 TiDB Cloud 实时同步到 MySQL。
> **注意:**
>
> - 要使用 changefeed 功能,请确保你的 TiDB Cloud Dedicated 集群版本为 v6.1.3 或更高版本。
-> - 对于 [TiDB Cloud Serverless 集群](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless),changefeed 功能不可用。
+> - 对于 [TiDB Cloud Serverless 集群](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless),暂不支持 changefeed 功能。
-## 限制
+## 限制条件
-- 对于每个 TiDB Cloud 集群,你最多可以创建 100 个 changefeed。
-- 因为 TiDB Cloud 使用 TiCDC 建立 changefeed,所以它具有与 [TiCDC 相同的限制](https://docs.pingcap.com/tidb/stable/ticdc-overview#unsupported-scenarios)。
-- 如果要复制的表没有主键或非空唯一索引,在某些重试场景下,由于缺少唯一约束,可能会导致下游插入重复数据。
+- 每个 TiDB Cloud 集群最多可创建 100 个 changefeed。
+- 由于 TiDB Cloud 使用 TiCDC 建立 changefeed,因此具有与 [TiCDC 相同的限制](https://docs.pingcap.com/tidb/stable/ticdc-overview#unsupported-scenarios)。
+- 如果待同步的表没有主键或非空唯一索引,在某些重试场景下,由于缺少唯一约束,可能会导致下游插入重复数据。
-## 前提条件
+## 前置条件
-在创建 changefeed 之前,你需要完成以下前提条件:
+在创建 changefeed 之前,你需要完成以下前置条件:
- 设置网络连接
-- 导出并加载现有数据到 MySQL(可选)
-- 如果你不加载现有数据,只想将增量数据复制到 MySQL,则需要在 MySQL 中创建相应的目标表
+- 导出并导入已有数据到 MySQL(可选)
+- 如果你不导入已有数据,仅希望同步增量数据到 MySQL,则需要在 MySQL 中手动创建对应的目标表
### 网络
-确保你的 TiDB 集群可以连接到 MySQL 服务。
+确保你的 TiDB 集群能够连接到 MySQL 服务。
-如果你的 MySQL 服务在没有公共互联网访问的 AWS VPC 中,请执行以下步骤:
+如果你的 MySQL 服务位于没有公网访问权限的 AWS VPC 中,请按照以下步骤操作:
-1. 在 MySQL 服务的 VPC 和你的 TiDB 集群之间[设置 VPC 对等连接](/tidb-cloud/set-up-vpc-peering-connections.md)。
+1. 在 MySQL 服务所在 VPC 与 TiDB 集群所在 VPC 之间 [建立 VPC 对等连接](/tidb-cloud/set-up-vpc-peering-connections.md)。
2. 修改 MySQL 服务关联的安全组的入站规则。
- 你必须将[你的 TiDB Cloud 集群所在区域的 CIDR](/tidb-cloud/set-up-vpc-peering-connections.md#prerequisite-set-a-cidr-for-a-region) 添加到入站规则中。这样可以允许流量从你的 TiDB 集群流向 MySQL 实例。
+ 你必须将 [TiDB Cloud 集群所在区域的 CIDR](/tidb-cloud/set-up-vpc-peering-connections.md#prerequisite-set-a-cidr-for-a-region) 添加到入站规则中。这样可以允许来自 TiDB 集群的流量访问 MySQL 实例。
3. 如果 MySQL URL 包含主机名,你需要允许 TiDB Cloud 能够解析 MySQL 服务的 DNS 主机名。
- 1. 按照[为 VPC 对等连接启用 DNS 解析](https://docs.aws.amazon.com/vpc/latest/peering/modify-peering-connections.html#vpc-peering-dns)中的步骤操作。
- 2. 启用**接受者 DNS 解析**选项。
+ 1. 按照 [为 VPC 对等连接启用 DNS 解析](https://docs.aws.amazon.com/vpc/latest/peering/modify-peering-connections.html#vpc-peering-dns) 的步骤操作。
+ 2. 启用 **Accepter DNS resolution** 选项。
-如果你的 MySQL 服务在没有公共互联网访问的 Google Cloud VPC 中,请执行以下步骤:
+如果你的 MySQL 服务位于没有公网访问权限的 Google Cloud VPC 中,请按照以下步骤操作:
-1. 如果你的 MySQL 服务是 Google Cloud SQL,你必须在 Google Cloud SQL 实例关联的 VPC 中暴露一个 MySQL 端点。你可能需要使用 Google 开发的 [**Cloud SQL Auth proxy**](https://cloud.google.com/sql/docs/mysql/sql-proxy)。
-2. 在 MySQL 服务的 VPC 和你的 TiDB 集群之间[设置 VPC 对等连接](/tidb-cloud/set-up-vpc-peering-connections.md)。
+1. 如果你的 MySQL 服务是 Google Cloud SQL,必须在 Google Cloud SQL 实例关联的 VPC 中暴露一个 MySQL 端点。你可能需要使用 Google 提供的 [**Cloud SQL Auth proxy**](https://cloud.google.com/sql/docs/mysql/sql-proxy)。
+2. 在 MySQL 服务所在 VPC 与 TiDB 集群所在 VPC 之间 [建立 VPC 对等连接](/tidb-cloud/set-up-vpc-peering-connections.md)。
3. 修改 MySQL 所在 VPC 的入站防火墙规则。
- 你必须将[你的 TiDB Cloud 集群所在区域的 CIDR](/tidb-cloud/set-up-vpc-peering-connections.md#prerequisite-set-a-cidr-for-a-region) 添加到入站防火墙规则中。这样可以允许流量从你的 TiDB 集群流向 MySQL 端点。
+ 你必须将 [TiDB Cloud 集群所在区域的 CIDR](/tidb-cloud/set-up-vpc-peering-connections.md#prerequisite-set-a-cidr-for-a-region) 添加到入站防火墙规则中。这样可以允许来自 TiDB 集群的流量访问 MySQL 端点。
-### 加载现有数据(可选)
+### 导入已有数据(可选)
-**同步到 MySQL** 连接器只能在某个时间戳之后将增量数据从你的 TiDB 集群同步到 MySQL。如果你的 TiDB 集群中已经有数据,你可以在启用**同步到 MySQL**之前将 TiDB 集群的现有数据导出并加载到 MySQL 中。
+**Sink to MySQL** 连接器只能将某一时间点之后的增量数据从 TiDB 集群同步到 MySQL。如果你的 TiDB 集群中已经有数据,可以在启用 **Sink to MySQL** 之前,将已有数据导出并导入到 MySQL。
-要加载现有数据:
+导入已有数据的步骤如下:
-1. 将 [tidb_gc_life_time](https://docs.pingcap.com/tidb/stable/system-variables#tidb_gc_life_time-new-in-v50) 延长至超过以下两个操作的总时间,这样 TiDB 就不会对这段时间内的历史数据进行垃圾回收。
+1. 将 [tidb_gc_life_time](https://docs.pingcap.com/tidb/stable/system-variables#tidb_gc_life_time-new-in-v50) 设置为大于以下两个操作总耗时的值,以避免这段时间内的历史数据被 TiDB 垃圾回收。
- - 导出和导入现有数据的时间
- - 创建**同步到 MySQL**的时间
+ - 导出和导入已有数据所需的时间
+ - 创建 **Sink to MySQL** 所需的时间
例如:
- {{< copyable "sql" >}}
-
```sql
SET GLOBAL tidb_gc_life_time = '720h';
```
-2. 使用 [Dumpling](https://docs.pingcap.com/tidb/stable/dumpling-overview) 从你的 TiDB 集群导出数据,然后使用社区工具(如 [mydumper/myloader](https://centminmod.com/mydumper.html))将数据加载到 MySQL 服务。
+2. 使用 [Dumpling](https://docs.pingcap.com/tidb/stable/dumpling-overview) 从 TiDB 集群导出数据,然后使用社区工具如 [mydumper/myloader](https://centminmod.com/mydumper.html) 将数据导入到 MySQL 服务。
-3. 从 [Dumpling 导出的文件](https://docs.pingcap.com/tidb/stable/dumpling-overview#format-of-exported-files)中,从元数据文件获取 MySQL sink 的起始位置:
+3. 从 [Dumpling 导出的文件](https://docs.pingcap.com/tidb/stable/dumpling-overview#format-of-exported-files) 中,获取 MySQL sink 的起始位置(start position),该信息位于 metadata 文件中:
- 以下是一个示例元数据文件的部分内容。`SHOW MASTER STATUS` 的 `Pos` 是现有数据的 TSO,也是 MySQL sink 的起始位置。
+ 以下是示例 metadata 文件的一部分。`SHOW MASTER STATUS` 的 `Pos` 即为已有数据的 TSO,也是 MySQL sink 的起始位置。
```
Started dump at: 2020-11-10 10:40:19
@@ -85,59 +83,63 @@ summary: 本文档介绍如何使用同步到 MySQL 的 changefeed 将数据从
### 在 MySQL 中创建目标表
-如果你不加载现有数据,你需要在 MySQL 中手动创建相应的目标表来存储来自 TiDB 的增量数据。否则,数据将不会被复制。
+如果你没有导入已有数据,需要在 MySQL 中手动创建对应的目标表,用于存储来自 TiDB 的增量数据。否则,数据将无法被同步。
## 创建 MySQL sink
-完成前提条件后,你可以将数据同步到 MySQL。
-
-1. 导航到目标 TiDB 集群的集群概览页面,然后在左侧导航栏中点击**数据** > **Changefeed**。
+完成前置条件后,你可以将数据同步到 MySQL。
-2. 点击**创建 Changefeed**,并选择 **MySQL** 作为**目标**。
+1. 进入目标 TiDB 集群的集群总览页面,在左侧导航栏点击 **Data** > **Changefeed**。
-3. 在 **MySQL 连接**中填写 MySQL 端点、用户名和密码。
+2. 点击 **Create Changefeed**,并选择 **MySQL** 作为 **Destination**。
-4. 点击**下一步**以测试 TiDB 是否可以成功连接到 MySQL:
+3. 在 **MySQL Connection** 中填写 MySQL 的端点、用户名和密码。
- - 如果可以,你将进入下一步配置。
- - 如果不可以,将显示连接错误,你需要处理该错误。错误解决后,再次点击**下一步**。
+4. 点击 **Next**,测试 TiDB 是否能够成功连接到 MySQL:
-5. 自定义**表过滤器**以过滤要复制的表。有关规则语法,请参考[表过滤规则](/table-filter.md)。
+ - 如果连接成功,将进入下一步配置。
+ - 如果连接失败,会显示连接错误,你需要排查并解决该错误。错误解决后,点击 **Next** 重新测试。
- - **过滤规则**:你可以在此列中设置过滤规则。默认有一个规则 `*.*`,表示复制所有表。当你添加新规则时,TiDB Cloud 会查询 TiDB 中的所有表,并在右侧框中只显示匹配规则的表。你最多可以添加 100 个过滤规则。
- - **具有有效键的表**:此列显示具有有效键(包括主键或唯一索引)的表。
- - **没有有效键的表**:此列显示缺少主键或唯一键的表。这些表在复制过程中会带来挑战,因为缺少唯一标识符可能会导致下游处理重复事件时数据不一致。为确保数据一致性,建议在开始复制之前为这些表添加唯一键或主键。或者,你可以添加过滤规则来排除这些表。例如,你可以使用规则 `"!test.tbl1"` 来排除表 `test.tbl1`。
+5. 自定义 **Table Filter**,筛选你希望同步的表。规则语法详见 [table filter rules](/table-filter.md)。
-6. 自定义**事件过滤器**以过滤要复制的事件。
+ - **Filter Rules**:你可以在此列设置过滤规则。默认有一条规则 `*.*`,表示同步所有表。添加新规则后,TiDB Cloud 会查询所有表,并在右侧仅显示匹配规则的表。最多可添加 100 条过滤规则。
+ - **Tables with valid keys**:此列显示具有有效键(主键或唯一索引)的表。
+ - **Tables without valid keys**:此列显示缺少主键或唯一键的表。这类表在同步时存在风险,因为下游处理重复事件时,缺少唯一标识可能导致数据不一致。为保证数据一致性,建议在同步前为这些表添加唯一键或主键,或者通过过滤规则排除这些表。例如,可以通过规则 `"!test.tbl1"` 排除表 `test.tbl1`。
- - **匹配表**:你可以在此列中设置事件过滤器将应用于哪些表。规则语法与前面的**表过滤器**区域使用的语法相同。每个 changefeed 最多可以添加 10 个事件过滤规则。
- - **忽略的事件**:你可以设置事件过滤器将从 changefeed 中排除哪些类型的事件。
+6. 自定义 **Event Filter**,筛选你希望同步的事件。
-7. 在**开始复制位置**中,配置 MySQL sink 的起始位置。
+ - **Tables matching**:你可以在此列设置事件过滤规则应用到哪些表。规则语法与前述 **Table Filter** 区域相同。每个 changefeed 最多可添加 10 条事件过滤规则。
+ - **Event Filter**:你可以使用以下事件过滤器,从 changefeed 中排除特定事件:
+ - **Ignore event**:排除指定类型的事件。
+ - **Ignore SQL**:排除匹配指定表达式的 DDL 事件。例如,`^drop` 排除以 `DROP` 开头的语句,`add column` 排除包含 `ADD COLUMN` 的语句。
+ - **Ignore insert value expression**:排除满足特定条件的 `INSERT` 语句。例如,`id >= 100` 排除 `id` 大于等于 100 的 `INSERT` 语句。
+ - **Ignore update new value expression**:排除新值满足指定条件的 `UPDATE` 语句。例如,`gender = 'male'` 排除更新后 `gender` 为 `male` 的操作。
+ - **Ignore update old value expression**:排除旧值满足指定条件的 `UPDATE` 语句。例如,`age < 18` 排除旧值 `age` 小于 18 的更新操作。
+ - **Ignore delete value expression**:排除满足指定条件的 `DELETE` 语句。例如,`name = 'john'` 排除 `name` 为 `'john'` 的删除操作。
- - 如果你已经使用 Dumpling [加载了现有数据](#加载现有数据可选),选择**从特定 TSO 开始复制**,并填写你从 Dumpling 导出的元数据文件中获取的 TSO。
- - 如果上游 TiDB 集群中没有任何数据,选择**从现在开始复制**。
- - 否则,你可以通过选择**从特定时间开始复制**来自定义开始时间点。
+7. 在 **Start Replication Position** 中,配置 MySQL sink 的起始同步位置。
-8. 点击**下一步**以配置你的 changefeed 规格。
+ - 如果你已通过 Dumpling [导入了已有数据](#load-existing-data-optional),请选择 **Start replication from a specific TSO**,并填写从 Dumpling 导出 metadata 文件中获取的 TSO。
+ - 如果上游 TiDB 集群没有任何数据,选择 **Start replication from now on**。
+ - 其他情况下,你可以通过选择 **Start replication from a specific time** 自定义起始时间点。
- - 在 **Changefeed 规格**区域,指定 changefeed 要使用的复制容量单位(RCU)数量。
- - 在 **Changefeed 名称**区域,为 changefeed 指定一个名称。
+8. 点击 **Next**,配置 changefeed 规格。
-9. 点击**下一步**以审查 changefeed 配置。
+ - 在 **Changefeed Specification** 区域,指定 changefeed 使用的 Replication Capacity Units(RCUs)数量。
+ - 在 **Changefeed Name** 区域,指定 changefeed 的名称。
- 如果你确认所有配置都正确,请检查跨区域复制的合规性,然后点击**创建**。
+9. 点击 **Next**,检查 changefeed 配置。
- 如果你想修改某些配置,点击**上一步**返回上一个配置页面。
+ 如果确认所有配置无误,勾选跨区域同步合规性,并点击 **Create**。
-10. sink 很快就会启动,你可以看到 sink 的状态从**创建中**变为**运行中**。
+ 如果需要修改配置,点击 **Previous** 返回上一步进行调整。
- 点击 changefeed 名称,你可以看到有关 changefeed 的更多详细信息,如检查点、复制延迟和其他指标。
+10. sink 很快会启动,你可以看到 sink 的状态从 **Creating** 变为 **Running**。
-11. 如果你已经使用 Dumpling [加载了现有数据](#加载现有数据可选),你需要在创建 sink 后将 GC 时间恢复为原始值(默认值为 `10m`):
+ 点击 changefeed 名称,可以查看更多关于 changefeed 的详细信息,如 checkpoint、同步延迟及其他指标。
-{{< copyable "sql" >}}
+11. 如果你已通过 Dumpling [导入了已有数据](#load-existing-data-optional),在 sink 创建完成后,需要将 GC 时间恢复为原值(默认值为 `10m`):
```sql
SET GLOBAL tidb_gc_life_time = '10m';
-```
+```
\ No newline at end of file
diff --git a/tidb-cloud/changefeed-sink-to-tidb-cloud.md b/tidb-cloud/changefeed-sink-to-tidb-cloud.md
index 1d894c9174cb6..631077a838c33 100644
--- a/tidb-cloud/changefeed-sink-to-tidb-cloud.md
+++ b/tidb-cloud/changefeed-sink-to-tidb-cloud.md
@@ -1,41 +1,41 @@
---
-title: 同步到 TiDB Cloud
-summary: 本文档介绍如何将数据从 TiDB Cloud Dedicated 集群流式传输到 TiDB Cloud Serverless 集群。该功能对 changefeed 数量和可用区域有限制。前提条件包括延长 tidb_gc_life_time、备份数据以及获取 TiDB Cloud sink 的起始位置。要创建 TiDB Cloud sink,需要导航到集群概览页面、建立连接、自定义表和事件过滤器、填写开始复制位置、指定 changefeed 规格、审查配置并创建 sink。最后,将 tidb_gc_life_time 恢复为原始值。
+title: Sink to TiDB Cloud
+summary: 本文档介绍如何将数据从 TiDB Cloud Dedicated 集群实时同步到 TiDB Cloud Serverless 集群。该功能对 changefeed 和 region 的数量有限制。前置条件包括延长 tidb_gc_life_time、备份数据以及获取 TiDB Cloud sink 的起始位置。要创建 TiDB Cloud sink,请进入集群概览页面,建立连接,自定义表和事件过滤器,填写起始同步位点,指定 changefeed 规格,检查配置并创建 sink。最后,将 tidb_gc_life_time 恢复为原值。
---
-# 同步到 TiDB Cloud
+# Sink to TiDB Cloud
-本文档介绍如何将数据从 TiDB Cloud Dedicated 集群流式传输到 TiDB Cloud Serverless 集群。
+本文档描述如何将数据从 TiDB Cloud Dedicated 集群实时同步到 TiDB Cloud Serverless 集群。
> **注意:**
>
-> 要使用 Changefeed 功能,请确保你的 TiDB Cloud Dedicated 集群版本为 v6.1.3 或更高版本。
+> 要使用 Changefeed 功能,请确保你的 TiDB Cloud Dedicated 集群版本为 v6.1.3 或更高。
## 限制
-- 对于每个 TiDB Cloud 集群,你最多可以创建 100 个 changefeed。
-- 因为 TiDB Cloud 使用 TiCDC 建立 changefeed,所以它具有与 [TiCDC 相同的限制](https://docs.pingcap.com/tidb/stable/ticdc-overview#unsupported-scenarios)。
-- 如果要复制的表没有主键或非空唯一索引,在某些重试场景下,由于缺少唯一约束,可能会导致下游插入重复数据。
-- **同步到 TiDB Cloud** 功能仅适用于 2022 年 11 月 9 日之后创建的、位于以下 AWS 区域的 TiDB Cloud Dedicated 集群:
+- 每个 TiDB Cloud 集群最多可以创建 100 个 changefeed。
+- 由于 TiDB Cloud 使用 TiCDC 建立 changefeed,因此具有与 [TiCDC 相同的限制](https://docs.pingcap.com/tidb/stable/ticdc-overview#unsupported-scenarios)。
+- 如果待同步的表没有主键或非空唯一索引,在某些重试场景下,由于缺少唯一约束,可能会导致下游插入重复数据。
+- **Sink to TiDB Cloud** 功能仅对以下 AWS 区域且创建时间在 2022 年 11 月 9 日之后的 TiDB Cloud Dedicated 集群开放:
- - AWS 俄勒冈(us-west-2)
- - AWS 法兰克福(eu-central-1)
- - AWS 新加坡(ap-southeast-1)
- - AWS 东京(ap-northeast-1)
+ - AWS Oregon (us-west-2)
+ - AWS Frankfurt (eu-central-1)
+ - AWS Singapore (ap-southeast-1)
+ - AWS Tokyo (ap-northeast-1)
-- 源 TiDB Cloud Dedicated 集群和目标 TiDB Cloud Serverless 集群必须在同一个项目和同一个区域中。
-- **同步到 TiDB Cloud** 功能仅支持通过私有端点进行网络连接。当你创建 changefeed 将数据从 TiDB Cloud Dedicated 集群流式传输到 TiDB Cloud Serverless 集群时,TiDB Cloud 将自动在两个集群之间设置私有端点连接。
+- 源 TiDB Cloud Dedicated 集群和目标 TiDB Cloud Serverless 集群必须在同一个项目且同一区域内。
+- **Sink to TiDB Cloud** 功能仅支持通过私有终端节点进行网络连接。当你创建 changefeed 将数据从 TiDB Cloud Dedicated 集群同步到 TiDB Cloud Serverless 集群时,TiDB Cloud 会自动为两个集群建立私有终端节点连接。
-## 前提条件
+## 前置条件
-**同步到 TiDB Cloud** 连接器只能在某个 [TSO](https://docs.pingcap.com/tidb/stable/glossary#tso) 之后将增量数据从 TiDB Cloud Dedicated 集群同步到 TiDB Cloud Serverless 集群。
+**Sink to TiDB Cloud** 连接器只能在某个 [TSO](https://docs.pingcap.com/tidb/stable/glossary#tso) 之后,将 TiDB Cloud Dedicated 集群的增量数据同步到 TiDB Cloud Serverless 集群。
-在创建 changefeed 之前,你需要从源 TiDB Cloud Dedicated 集群导出现有数据并将数据加载到目标 TiDB Cloud Serverless 集群。
+在创建 changefeed 之前,你需要先将源 TiDB Cloud Dedicated 集群的现有数据导出,并加载到目标 TiDB Cloud Serverless 集群。
-1. 将 [tidb_gc_life_time](https://docs.pingcap.com/tidb/stable/system-variables#tidb_gc_life_time-new-in-v50) 延长至超过以下两个操作的总时间,这样 TiDB 就不会对这段时间内的历史数据进行垃圾回收。
+1. 将 [tidb_gc_life_time](https://docs.pingcap.com/tidb/stable/system-variables#tidb_gc_life_time-new-in-v50) 设置为大于以下两个操作总耗时的值,以确保这段时间内的历史数据不会被 TiDB 垃圾回收。
- - 导出和导入现有数据的时间
- - 创建**同步到 TiDB Cloud**的时间
+ - 导出和导入现有数据所需的时间
+ - 创建 **Sink to TiDB Cloud** 所需的时间
例如:
@@ -43,11 +43,11 @@ summary: 本文档介绍如何将数据从 TiDB Cloud Dedicated 集群流式传
SET GLOBAL tidb_gc_life_time = '720h';
```
-2. 使用 [Dumpling](https://docs.pingcap.com/tidb/stable/dumpling-overview) 从你的 TiDB Cloud Dedicated 集群导出数据,然后使用 [TiDB Cloud Serverless 导入](/tidb-cloud/import-csv-files-serverless.md)将数据加载到目标 TiDB Cloud Serverless 集群。
+2. 使用 [Dumpling](https://docs.pingcap.com/tidb/stable/dumpling-overview) 从 TiDB Cloud Dedicated 集群导出数据,然后使用 [TiDB Cloud Serverless Import](/tidb-cloud/import-csv-files-serverless.md) 将数据加载到目标 TiDB Cloud Serverless 集群。
-3. 从 [Dumpling 导出的文件](https://docs.pingcap.com/tidb/stable/dumpling-overview#format-of-exported-files)中,从元数据文件获取 TiDB Cloud sink 的起始位置:
+3. 从 [Dumpling 导出的文件](https://docs.pingcap.com/tidb/stable/dumpling-overview#format-of-exported-files) 中,获取 TiDB Cloud sink 的起始位置(TSO),该信息位于 metadata 文件中:
- 以下是一个示例元数据文件的部分内容。`SHOW MASTER STATUS` 的 `Pos` 是现有数据的 TSO,也是 TiDB Cloud sink 的起始位置。
+ 以下是一个示例 metadata 文件片段。`SHOW MASTER STATUS` 的 `Pos` 字段即为现有数据的 TSO,也是 TiDB Cloud sink 的起始位置。
```
Started dump at: 2023-03-28 10:40:19
@@ -59,49 +59,55 @@ summary: 本文档介绍如何将数据从 TiDB Cloud Dedicated 集群流式传
## 创建 TiDB Cloud sink
-完成前提条件后,你可以将数据同步到目标 TiDB Cloud Serverless 集群。
+完成前置条件后,你可以将数据同步到目标 TiDB Cloud Serverless 集群。
-1. 导航到目标 TiDB 集群的集群概览页面,然后在左侧导航栏中点击**数据** > **Changefeed**。
+1. 进入目标 TiDB 集群的集群概览页面,在左侧导航栏点击 **Data** > **Changefeed**。
-2. 点击**创建 Changefeed**,并选择 **TiDB Cloud** 作为目标。
+2. 点击 **Create Changefeed**,并选择 **TiDB Cloud** 作为目标。
-3. 在 **TiDB Cloud 连接**区域,选择目标 TiDB Cloud Serverless 集群,然后填写目标集群的用户名和密码。
+3. 在 **TiDB Cloud Connection** 区域,选择目标 TiDB Cloud Serverless 集群,并填写目标集群的用户名和密码。
-4. 点击**下一步**以建立两个 TiDB 集群之间的连接,并测试 changefeed 是否可以成功连接它们:
+4. 点击 **Next**,建立两个 TiDB 集群之间的连接,并测试 changefeed 是否可以成功连接:
- - 如果可以,你将进入下一步配置。
- - 如果不可以,将显示连接错误,你需要处理该错误。错误解决后,再次点击**下一步**。
+ - 如果连接成功,将进入下一步配置。
+ - 如果连接失败,会显示连接错误,你需要处理该错误。错误解决后,重新点击 **Next**。
-5. 自定义**表过滤器**以过滤要复制的表。有关规则语法,请参考[表过滤规则](/table-filter.md)。
+5. 自定义 **Table Filter**,筛选你希望同步的表。规则语法可参考 [table filter rules](/table-filter.md)。
- - **过滤规则**:你可以在此列中设置过滤规则。默认有一个规则 `*.*`,表示复制所有表。当你添加新规则时,TiDB Cloud 会查询 TiDB 中的所有表,并在右侧框中只显示匹配规则的表。你最多可以添加 100 个过滤规则。
- - **具有有效键的表**:此列显示具有有效键(包括主键或唯一索引)的表。
- - **没有有效键的表**:此列显示缺少主键或唯一键的表。这些表在复制过程中会带来挑战,因为缺少唯一标识符可能会导致下游处理重复事件时数据不一致。为确保数据一致性,建议在开始复制之前为这些表添加唯一键或主键。或者,你可以添加过滤规则来排除这些表。例如,你可以使用规则 `"!test.tbl1"` 来排除表 `test.tbl1`。
+ - **Filter Rules**:你可以在此列设置过滤规则。默认有一条规则 `*.*`,表示同步所有表。添加新规则后,TiDB Cloud 会查询所有表,并在右侧仅显示匹配规则的表。最多可添加 100 条过滤规则。
+ - **Tables with valid keys**:此列显示具有有效键(主键或唯一索引)的表。
+ - **Tables without valid keys**:此列显示缺少主键或唯一键的表。这类表在同步时存在风险,因为缺少唯一标识,可能导致下游处理重复事件时数据不一致。为保证数据一致性,建议在同步前为这些表添加唯一键或主键,或者通过添加过滤规则排除这些表。例如,可以通过规则 `"!test.tbl1"` 排除表 `test.tbl1`。
-6. 自定义**事件过滤器**以过滤要复制的事件。
+6. 自定义 **Event Filter**,筛选你希望同步的事件。
- - **匹配表**:你可以在此列中设置事件过滤器将应用于哪些表。规则语法与前面的**表过滤器**区域使用的语法相同。每个 changefeed 最多可以添加 10 个事件过滤规则。
- - **忽略的事件**:你可以设置事件过滤器将从 changefeed 中排除哪些类型的事件。
+ - **Tables matching**:你可以在此列设置事件过滤器应用到哪些表。规则语法与前述 **Table Filter** 区域相同。每个 changefeed 最多可添加 10 条事件过滤规则。
+ - **Event Filter**:你可以使用以下事件过滤器从 changefeed 中排除特定事件:
+ - **Ignore event**:排除指定类型的事件。
+ - **Ignore SQL**:排除匹配指定表达式的 DDL 事件。例如,`^drop` 排除以 `DROP` 开头的语句,`add column` 排除包含 `ADD COLUMN` 的语句。
+ - **Ignore insert value expression**:排除满足特定条件的 `INSERT` 语句。例如,`id >= 100` 排除 `id` 大于等于 100 的 `INSERT` 语句。
+ - **Ignore update new value expression**:排除新值满足指定条件的 `UPDATE` 语句。例如,`gender = 'male'` 排除更新后 `gender` 为 `male` 的更新。
+ - **Ignore update old value expression**:排除旧值满足指定条件的 `UPDATE` 语句。例如,`age < 18` 排除旧值 `age` 小于 18 的更新。
+ - **Ignore delete value expression**:排除满足指定条件的 `DELETE` 语句。例如,`name = 'john'` 排除 `name` 为 `'john'` 的删除。
-7. 在**开始复制位置**区域,填写你从 Dumpling 导出的元数据文件中获取的 TSO。
+7. 在 **Start Replication Position** 区域,填写你从 Dumpling 导出 metadata 文件中获取的 TSO。
-8. 点击**下一步**以配置你的 changefeed 规格。
+8. 点击 **Next**,配置 changefeed 规格。
- - 在 **Changefeed 规格**区域,指定 changefeed 要使用的复制容量单位(RCU)数量。
- - 在 **Changefeed 名称**区域,为 changefeed 指定一个名称。
+ - 在 **Changefeed Specification** 区域,指定 changefeed 使用的 Replication Capacity Units (RCUs) 数量。
+ - 在 **Changefeed Name** 区域,为 changefeed 指定一个名称。
-9. 点击**下一步**以审查 changefeed 配置。
+9. 点击 **Next**,检查 changefeed 配置。
- 如果你确认所有配置都正确,请检查跨区域复制的合规性,然后点击**创建**。
+ 如果确认所有配置无误,勾选跨区域同步合规性,并点击 **Create**。
- 如果你想修改某些配置,点击**上一步**返回上一个配置页面。
+ 如果需要修改配置,点击 **Previous** 返回上一步。
-10. sink 很快就会启动,你可以看到 sink 的状态从**创建中**变为**运行中**。
+10. sink 很快会启动,你可以看到 sink 状态从 **Creating** 变为 **Running**。
- 点击 changefeed 名称,你可以看到有关 changefeed 的更多详细信息,如检查点、复制延迟和其他指标。
+ 点击 changefeed 名称,可以查看更多关于 changefeed 的详细信息,如 checkpoint、同步延迟及其他指标。
-11. 在创建 sink 后,将 [tidb_gc_life_time](https://docs.pingcap.com/tidb/stable/system-variables#tidb_gc_life_time-new-in-v50) 恢复为原始值(默认值为 `10m`):
+11. sink 创建完成后,将 [tidb_gc_life_time](https://docs.pingcap.com/tidb/stable/system-variables#tidb_gc_life_time-new-in-v50) 恢复为原值(默认值为 `10m`):
```sql
SET GLOBAL tidb_gc_life_time = '10m';
- ```
+ ```
\ No newline at end of file
diff --git a/tidb-cloud/cli-reference.md b/tidb-cloud/cli-reference.md
index efeef763240d5..52ba42bb0b866 100644
--- a/tidb-cloud/cli-reference.md
+++ b/tidb-cloud/cli-reference.md
@@ -1,68 +1,69 @@
---
title: TiDB Cloud CLI 参考
-summary: 提供 TiDB Cloud CLI 的概述。
+summary: 提供 TiDB Cloud CLI 的概览。
---
# TiDB Cloud CLI 参考(Beta)
-> **注意:**
+> **Note:**
>
-> TiDB Cloud CLI 目前处于 beta 阶段。
+> 目前,TiDB Cloud CLI 处于 beta 阶段,暂不适用于 TiDB Cloud Dedicated 集群。
TiDB Cloud CLI 是一个命令行界面,允许你通过几行命令在终端中操作 TiDB Cloud。在 TiDB Cloud CLI 中,你可以轻松管理 TiDB Cloud 集群、向集群导入数据以及执行更多操作。
## 开始之前
-请确保首先[设置你的 TiDB Cloud CLI 环境](/tidb-cloud/get-started-with-cli.md)。安装 `ticloud` CLI 后,你就可以通过命令行管理 TiDB Cloud 集群。
+请确保你已先[完成 TiDB Cloud CLI 环境的设置](/tidb-cloud/get-started-with-cli.md)。安装好 `ticloud` CLI 后,你就可以通过命令行管理 TiDB Cloud 集群。
## 可用命令
-下表列出了 TiDB Cloud CLI 的可用命令。
+下表列出了 TiDB Cloud CLI 支持的命令。
-要在终端中使用 `ticloud` CLI,运行 `ticloud [command] [subcommand]`。如果你使用的是 [TiUP](https://docs.pingcap.com/tidb/stable/tiup-overview),请使用 `tiup cloud [command] [subcommand]`。
+在终端中使用 `ticloud` CLI 时,运行 `ticloud [command] [subcommand]`。如果你使用的是 [TiUP](https://docs.pingcap.com/tidb/stable/tiup-overview),则使用 `tiup cloud [command] [subcommand]`。
-| 命令 | 子命令 | 描述 |
+| Command | Subcommand | Description |
|-----------------------|-----------------------------------------------------------------------|------------------------------------------------|
-| auth | login, logout, whoami | 登录和登出 |
-| serverless (别名: s) | create, delete, describe, list, update, spending-limit, region, shell | 管理 TiDB Cloud Serverless 集群 |
-| serverless branch | create, delete, describe, list, shell | 管理 TiDB Cloud Serverless 分支 |
-| serverless import | cancel, describe, list, start | 管理 TiDB Cloud Serverless 导入任务 |
-| serverless export | create, describe, list, cancel, download | 管理 TiDB Cloud Serverless 导出任务 |
-| serverless sql-user | create, list, delete, update | 管理 TiDB Cloud Serverless SQL 用户 |
-| ai | - | 与 TiDB Bot 聊天 |
-| completion | bash, fish, powershell, zsh | 为指定的 shell 生成补全脚本 |
-| config | create, delete, describe, edit, list, set, use | 配置用户配置文件 |
-| project | list | 管理项目 |
-| upgrade | - | 将 CLI 更新到最新版本 |
-| help | auth, config, serverless, ai, project, upgrade, help, completion | 查看任何命令的帮助 |
+| auth | login, logout, whoami | 登录与登出 |
+| serverless (alias: s) | create, delete, describe, list, update, spending-limit, region, shell | 管理 TiDB Cloud Serverless 集群 |
+| serverless branch | create, delete, describe, list, shell | 管理 TiDB Cloud Serverless 分支 |
+| serverless import | cancel, describe, list, start | 管理 TiDB Cloud Serverless 导入任务 |
+| serverless export | create, describe, list, cancel, download | 管理 TiDB Cloud Serverless 导出任务 |
+| serverless sql-user | create, list, delete, update | 管理 TiDB Cloud Serverless SQL 用户 |
+| serverless audit-log | config, describe, filter-rule (alias: filter), download | 管理 TiDB Cloud Serverless 数据库审计日志 |
+| ai | - | 与 TiDB Bot 聊天 |
+| completion | bash, fish, powershell, zsh | 为指定 shell 生成补全脚本 |
+| config | create, delete, describe, edit, list, set, use | 配置用户配置文件 |
+| project | list | 管理项目 |
+| upgrade | - | 将 CLI 升级到最新版本 |
+| help | auth, config, serverless, ai, project, upgrade, help, completion | 查看任意命令的帮助信息 |
## 命令模式
-TiDB Cloud CLI 为某些命令提供了两种模式,方便使用:
+TiDB Cloud CLI 针对部分命令提供了两种模式,便于使用:
- 交互模式
- 你可以运行不带标志的命令(如 `ticloud config create`),CLI 会提示你输入。
+ 你可以在不带参数的情况下运行命令(如 `ticloud config create`),CLI 会提示你输入相关信息。
- 非交互模式
- 运行命令时必须提供所有必需的参数和标志,如 `ticloud config create --profile-name
--public-key --private-key `。
+ 你需要在运行命令时提供所有必需的参数和选项,例如 `ticloud config create --profile-name --public-key --private-key `。
## 用户配置文件
-对于 TiDB Cloud CLI,用户配置文件是与用户相关的属性集合,包括配置文件名称、公钥、私钥和 OAuth 令牌。要使用 TiDB Cloud CLI,你必须有一个用户配置文件。
+对于 TiDB Cloud CLI,用户配置文件是与用户相关的一组属性,包括配置文件名称、公钥、私钥和 OAuth token。要使用 TiDB Cloud CLI,你必须拥有一个用户配置文件。
-### 使用 TiDB Cloud API 密钥创建用户配置文件
+### 使用 TiDB Cloud API key 创建用户配置文件
使用 [`ticloud config create`](/tidb-cloud/ticloud-config-create.md) 创建用户配置文件。
-### 使用 OAuth 令牌创建用户配置文件
+### 使用 OAuth token 创建用户配置文件
-使用 [`ticloud auth login`](/tidb-cloud/ticloud-auth-login.md) 将 OAuth 令牌分配给当前配置文件。如果不存在配置文件,将自动创建一个名为 `default` 的配置文件。
+使用 [`ticloud auth login`](/tidb-cloud/ticloud-auth-login.md) 为当前配置文件分配 OAuth token。如果不存在任何配置文件,则会自动创建一个名为 `default` 的配置文件。
-> **注意:**
+> **Note:**
>
-> 在上述两种方法中,TiDB Cloud API 密钥优先于 OAuth 令牌。如果当前配置文件中两者都可用,将使用 API 密钥。
+> 在上述两种方式中,TiDB Cloud API key 的优先级高于 OAuth token。如果当前配置文件中同时存在两者,将优先使用 API key。
### 列出所有用户配置文件
@@ -77,9 +78,9 @@ dev
staging
```
-在此示例输出中,用户配置文件 `default` 当前处于活动状态。
+在此示例输出中,`default` 用户配置文件为当前激活状态。
-### 描述用户配置文件
+### 查看用户配置文件详情
使用 [`ticloud config describe`](/tidb-cloud/ticloud-config-describe.md) 获取用户配置文件的属性。
@@ -92,13 +93,13 @@ staging
}
```
-### 设置用户配置文件中的属性
+### 设置用户配置文件属性
使用 [`ticloud config set`](/tidb-cloud/ticloud-config-set.md) 设置用户配置文件中的属性。
-### 切换到另一个用户配置文件
+### 切换到其他用户配置文件
-使用 [`ticloud config use`](/tidb-cloud/ticloud-config-use.md) 切换到另一个用户配置文件。
+使用 [`ticloud config use`](/tidb-cloud/ticloud-config-use.md) 切换到其他用户配置文件。
示例输出如下:
@@ -114,16 +115,16 @@ Current profile has been changed to default
使用 [`ticloud config delete`](/tidb-cloud/ticloud-config-delete.md) 删除用户配置文件。
-## 全局标志
+## 全局参数
-下表列出了 TiDB Cloud CLI 的全局标志。
+下表列出了 TiDB Cloud CLI 的全局参数。
-| 标志 | 描述 | 是否必需 | 注意 |
+| Flag | Description | Required | Note |
|----------------------|---------------------------------------------------------|----------|------------------------------------------------------------------------------------------------------------------|
-| --no-color | 禁用输出中的颜色。 | 否 | 仅在非交互模式下有效。在交互模式下,禁用颜色可能对某些 UI 组件不起作用。 |
-| -P, --profile string | 指定此命令中使用的活动用户配置文件。 | 否 | 在非交互和交互模式下都有效。 |
-| -D, --debug | 启用调试模式 | 否 | 在非交互和交互模式下都有效。 |
+| --no-color | 禁用输出中的颜色。 | No | 仅在非交互模式下生效。在交互模式下,禁用颜色可能会影响部分 UI 组件的显示。 |
+| -P, --profile string | 指定本次命令使用的激活用户配置文件。 | No | 适用于非交互和交互模式。 |
+| -D, --debug | 启用调试模式 | No | 适用于非交互和交互模式。 |
## 反馈
-如果你对 TiDB Cloud CLI 有任何问题或建议,欢迎创建[议题](https://github.com/tidbcloud/tidbcloud-cli/issues/new/choose)。同时,我们也欢迎任何贡献。
+如果你对 TiDB Cloud CLI 有任何问题或建议,欢迎在 [issue](https://github.com/tidbcloud/tidbcloud-cli/issues/new/choose) 页面提交。同时也欢迎任何贡献。
\ No newline at end of file
diff --git a/tidb-cloud/configure-ip-access-list.md b/tidb-cloud/configure-ip-access-list.md
index 658cced0309e2..86878275e2d6c 100644
--- a/tidb-cloud/configure-ip-access-list.md
+++ b/tidb-cloud/configure-ip-access-list.md
@@ -1,30 +1,30 @@
---
title: 配置 IP 访问列表
-summary: 了解如何配置允许访问 TiDB Cloud Dedicated 集群的 IP 地址。
+summary: 了解如何配置允许访问你的 TiDB Cloud Dedicated 集群的 IP 地址。
---
# 配置 IP 访问列表
-对于 TiDB Cloud 中的每个 TiDB Cloud Dedicated 集群,你可以配置 IP 访问列表来过滤尝试访问集群的互联网流量,其工作方式类似于防火墙访问控制列表。配置完成后,只有 IP 地址在 IP 访问列表中的客户端和应用程序才能连接到你的 TiDB Cloud Dedicated 集群。
+对于 TiDB Cloud 中的每个 TiDB Cloud Dedicated 集群,你可以配置 IP 访问列表来过滤试图访问集群的互联网流量,其工作方式类似于防火墙访问控制列表。配置完成后,只有 IP 地址在 IP 访问列表中的客户端和应用程序才能连接到你的 TiDB Cloud Dedicated 集群。
> **注意:**
>
-> 本文适用于 [**TiDB Cloud Dedicated**](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated)。有关配置 **TiDB Cloud Serverless** IP 访问列表的说明,请参见[为公共端点配置 TiDB Cloud Serverless 防火墙规则](/tidb-cloud/configure-serverless-firewall-rules-for-public-endpoints.md)。
+> 本文档适用于 [**TiDB Cloud Dedicated**](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated)。如果你需要为 **TiDB Cloud Serverless** 配置 IP 访问列表,请参见 [Configure TiDB Cloud Serverless Firewall Rules for Public Endpoints](/tidb-cloud/configure-serverless-firewall-rules-for-public-endpoints.md)。
-要为 TiDB Cloud Dedicated 集群配置 IP 访问列表,请执行以下步骤:
+要为你的 TiDB Cloud Dedicated 集群配置 IP 访问列表,请按照以下步骤操作:
-1. 导航到[**集群**](https://tidbcloud.com/project/clusters)页面,然后点击目标集群的名称以进入其概览页面。
+1. 进入 [**Clusters**](https://tidbcloud.com/project/clusters) 页面,然后点击目标集群的名称,进入其概览页面。
> **提示:**
>
- > 你可以使用左上角的组合框在组织、项目和集群之间切换。
+ > 你可以使用左上角的下拉框在组织、项目和集群之间切换。
-2. 在左侧导航栏中,点击**设置** > **网络**。
-3. 在**网络**页面上,点击**添加 IP 地址**。
-4. 在显示的对话框中,选择以下选项之一:
+2. 在左侧导航栏,点击 **Settings** > **Networking**。
+3. 在 **Networking** 页面,点击 **Add IP Address**。
+4. 在弹出的对话框中,选择以下选项之一:
- - **允许来自任何地方的访问**:允许所有 IP 地址访问 TiDB Cloud。此选项将你的集群完全暴露在互联网上,风险很高。
- - **使用 IP 地址**(推荐):你可以添加允许通过 SQL 客户端访问 TiDB Cloud 的 IP 和 CIDR 地址列表。
+ - **Allow access from anywhere**:允许所有 IP 地址访问 TiDB Cloud。此选项会将你的集群完全暴露在互联网中,风险极高。
+ - **Use IP addresses**(推荐):你可以添加允许通过 SQL 客户端访问 TiDB Cloud 的 IP 列表和 CIDR 地址。
-5. 如果你选择**使用 IP 地址**,请添加 IP 地址或 CIDR 范围,并可选择添加描述。对于每个 TiDB Cloud Dedicated 集群,你最多可以添加 100 个 IP 地址。
-6. 点击**确认**以保存更改。
+5. 如果你选择 **Use IP addresses**,请添加 IP 地址或 CIDR 范围,并可选填写描述。每个 TiDB Cloud Dedicated 集群最多可添加 100 个 IP 地址。
+6. 点击 **Confirm** 保存更改。
\ No newline at end of file
diff --git a/tidb-cloud/configure-security-settings.md b/tidb-cloud/configure-security-settings.md
index 0d3035f2e13eb..06e783f48719a 100644
--- a/tidb-cloud/configure-security-settings.md
+++ b/tidb-cloud/configure-security-settings.md
@@ -1,27 +1,27 @@
---
title: 配置集群密码设置
-summary: 了解如何配置连接到集群的 root 密码。
+summary: 了解如何配置 root 密码以连接到你的集群。
---
# 配置集群密码设置
-对于 TiDB Cloud Dedicated 集群,你可以配置 root 密码和允许的 IP 地址来连接到你的集群。
+对于 TiDB Cloud 专属集群,你可以配置 root 密码以及允许连接到你集群的 IP 地址。
> **注意:**
>
-> 对于 TiDB Cloud Serverless 集群,本文档不适用,你可以参考 [TiDB Cloud Serverless 的 TLS 连接](/tidb-cloud/secure-connections-to-serverless-clusters.md)。
+> 对于 TiDB Cloud Serverless 集群,本篇文档不适用,你可以参考 [TLS Connection to TiDB Cloud Serverless](/tidb-cloud/secure-connections-to-serverless-clusters.md)。
-1. 在 TiDB Cloud 控制台中,导航到项目的[**集群**](https://tidbcloud.com/project/clusters)页面。
+1. 在 TiDB Cloud 控制台中,进入你的项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
> **提示:**
>
- > 你可以使用左上角的组合框在组织、项目和集群之间切换。
+ > 你可以使用左上角的下拉框在组织、项目和集群之间切换。
-2. 在目标集群所在行,点击 **...** 并选择**密码设置**。
-3. 设置连接到集群的 root 密码,然后点击**保存**。
+2. 在目标集群所在的行,点击 **...** 并选择 **Password Settings**。
+3. 设置连接到你集群的 root 密码,然后点击 **Save**。
- 你可以点击**自动生成密码**生成随机密码。生成的密码不会再次显示,因此请将密码保存在安全的位置。
+ 你可以点击 **Auto-generate Password** 自动生成一个随机密码。生成的密码不会再次显示,请将你的密码保存在安全的位置。
> **提示:**
>
-> 如果你正在查看集群的概览页面,也可以点击页面右上角的 **...**,选择**密码设置**,并配置这些设置。
+> 如果你正在查看集群的概览页面,也可以点击页面右上角的 **...**,选择 **Password Settings**,并进行相关设置。
\ No newline at end of file
diff --git a/tidb-cloud/configure-serverless-firewall-rules-for-public-endpoints.md b/tidb-cloud/configure-serverless-firewall-rules-for-public-endpoints.md
index 9da5f00b59e67..02aa85cb488b7 100644
--- a/tidb-cloud/configure-serverless-firewall-rules-for-public-endpoints.md
+++ b/tidb-cloud/configure-serverless-firewall-rules-for-public-endpoints.md
@@ -1,58 +1,58 @@
---
-title: 为 TiDB Cloud Serverless 公共端点配置防火墙规则
-summary: 了解如何安全地配置和管理 TiDB Cloud Serverless 集群的公共访问防火墙规则。
+title: 配置 TiDB Cloud Serverless 公共端点的防火墙规则
+summary: 了解如何安全地为 TiDB Cloud Serverless 集群配置和管理具有公共访问权限的防火墙规则。
---
-# 为 TiDB Cloud Serverless 公共端点配置防火墙规则
+# 配置 TiDB Cloud Serverless 公共端点的防火墙规则
-本文档介绍 TiDB Cloud Serverless 的公共连接选项。你将了解通过互联网安全管理 TiDB Cloud Serverless 集群访问的关键概念。
+本文档介绍了 TiDB Cloud Serverless 的公共连接选项。你将学习如何安全地管理可通过互联网访问的 TiDB Cloud Serverless 集群的关键概念。
-> **注意:**
+> **Note:**
>
-> 本文档适用于 **TiDB Cloud Serverless**。有关配置 **TiDB Cloud Dedicated** IP 访问列表的说明,请参阅[为 TiDB Cloud Dedicated 配置 IP 访问列表](/tidb-cloud/configure-ip-access-list.md)。
+> 本文档适用于 **TiDB Cloud Serverless**。关于为 **TiDB Cloud Dedicated** 配置 IP 访问列表的说明,请参见 [Configure an IP Access List for TiDB Cloud Dedicated](/tidb-cloud/configure-ip-access-list.md)。
## 公共端点
-在 TiDB Cloud Serverless 集群上配置公共访问允许通过公共端点访问集群。也就是说,可以通过互联网访问集群。公共端点是一个可公开解析的 DNS 地址。"授权网络"是指你选择允许访问集群的 IP 地址范围。这些权限通过**防火墙规则**强制执行。
+在 TiDB Cloud Serverless 集群上配置公共访问后,集群可以通过公共端点进行访问。也就是说,集群可以通过互联网访问。公共端点是一个可公开解析的 DNS 地址。术语 “authorized network” 指的是你选择允许访问集群的一组 IP 地址范围。这些权限通过 **firewall rules** 强制执行。
-### 公共访问的特点
+### 公共访问的特性
-- 只有指定的 IP 地址可以访问 TiDB Cloud Serverless。
- - 默认情况下,允许所有 IP 地址(`0.0.0.0 - 255.255.255.255`)。
- - 你可以在集群创建后更新允许的 IP 地址。
-- 你的集群有一个可公开解析的 DNS 名称。
-- 进出集群的网络流量通过**公共互联网**而不是私有网络路由。
+- 只有指定的 IP 地址可以访问 TiDB Cloud Serverless。
+ - 默认情况下,允许所有 IP 地址(`0.0.0.0 - 255.255.255.255`)访问。
+ - 你可以在集群创建后更新允许的 IP 地址。
+- 你的集群拥有一个可公开解析的 DNS 名称。
+- 进出你集群的网络流量通过 **public internet**(公共互联网)路由,而不是私有网络。
### 防火墙规则
-通过**防火墙规则**授予对 IP 地址的访问权限。如果连接尝试来自未经批准的 IP 地址,客户端将收到错误。
+通过 **firewall rules** 授权 IP 地址访问。如果连接尝试来自未被批准的 IP 地址,客户端将收到错误提示。
你最多可以创建 200 条 IP 防火墙规则。
### 允许 AWS 访问
-你可以通过参考官方 [AWS IP 地址列表](https://docs.aws.amazon.com/vpc/latest/userguide/aws-ip-ranges.html)启用来自**所有 AWS IP 地址**的访问。
+你可以通过参考官方 [AWS IP address list](https://docs.aws.amazon.com/vpc/latest/userguide/aws-ip-ranges.html) 启用来自 **所有 AWS IP 地址** 的访问。
-TiDB Cloud 定期更新此列表,并使用保留的 IP 地址 **169.254.65.87** 代表所有 AWS IP 地址。
+TiDB Cloud 会定期更新此列表,并使用保留 IP 地址 **169.254.65.87** 代表所有 AWS IP 地址。
## 创建和管理防火墙规则
-本节介绍如何管理 TiDB Cloud Serverless 集群的防火墙规则。使用公共端点时,对 TiDB Cloud Serverless 集群的连接仅限于防火墙规则中指定的 IP 地址。
+本节介绍如何为 TiDB Cloud Serverless 集群管理防火墙规则。启用公共端点后,对 TiDB Cloud Serverless 集群的连接将被限制为防火墙规则中指定的 IP 地址。
-要向 TiDB Cloud Serverless 集群添加防火墙规则,请执行以下步骤:
+要为 TiDB Cloud Serverless 集群添加防火墙规则,请按照以下步骤操作:
-1. 导航到[**集群**](https://tidbcloud.com/project/clusters)页面,然后点击目标集群的名称以进入其概览页面。
+1. 进入 [**Clusters**](https://tidbcloud.com/project/clusters) 页面,然后点击目标集群的名称,进入其概览页面。
-2. 在左侧导航栏中,点击**设置** > **网络**。
+2. 在左侧导航栏,点击 **Settings** > **Networking**。
-3. 在**网络**页面上,如果**公共端点**已禁用,请启用它。在**授权网络**中,点击**+ 添加当前 IP**。这将自动创建一条包含你的计算机公共 IP 地址(由 TiDB Cloud 感知)的防火墙规则。
+3. 在 **Networking** 页面,如果 **Public Endpoint** 处于禁用状态,请先启用。在 **Authorized Networks** 中,点击 **+ Add Current IP**。这会自动使用 TiDB Cloud 识别到的你电脑的公网 IP 地址创建一条防火墙规则。
- > **注意:**
+ > **Note:**
>
- > 在某些情况下,TiDB Cloud 控制台观察到的 IP 地址与访问互联网时使用的 IP 地址不同。因此,你可能需要更改起始和结束 IP 地址,以使规则按预期运行。你可以使用搜索引擎或其他在线工具检查自己的 IP 地址。例如,搜索"我的 IP 是什么"。
+ > 在某些情况下,TiDB Cloud 控制台检测到的 IP 地址与你实际访问互联网时使用的 IP 地址不同。因此,你可能需要更改起始和结束 IP 地址,以使规则按预期生效。你可以使用搜索引擎或其他在线工具查询自己的 IP 地址。例如,搜索 “what is my IP”。
-4. 点击**添加规则**以添加更多地址范围。在显示的窗口中,你可以指定单个 IP 地址或 IP 地址范围。如果要将规则限制为单个 IP 地址,请在**起始 IP 地址**和**结束 IP 地址**字段中输入相同的 IP 地址。打开防火墙后,管理员、用户和应用程序可以访问你的 TiDB Cloud Serverless 集群上拥有有效凭据的任何数据库。点击**提交**以添加防火墙规则。
+4. 点击 **Add rule** 以添加更多地址范围。在弹出的窗口中,你可以指定单个 IP 地址或一段 IP 地址范围。如果你只想限制为单个 IP 地址,请在 **Start IP Address** 和 **End IP Address** 字段中输入相同的 IP 地址。开启防火墙后,管理员、用户和应用程序可以使用有效凭证访问你 TiDB Cloud Serverless 集群上的任意数据库。点击 **Submit** 添加防火墙规则。
-## 下一步
+## 后续操作
-- [通过公共端点连接到 TiDB Cloud Serverless](/tidb-cloud/connect-via-standard-connection-serverless.md)
+- [通过公共端点连接 TiDB Cloud Serverless](/tidb-cloud/connect-via-standard-connection-serverless.md)
\ No newline at end of file
diff --git a/tidb-cloud/connect-to-tidb-cluster-serverless.md b/tidb-cloud/connect-to-tidb-cluster-serverless.md
index fee74aa89a4bd..3c1d17616fd36 100644
--- a/tidb-cloud/connect-to-tidb-cluster-serverless.md
+++ b/tidb-cloud/connect-to-tidb-cluster-serverless.md
@@ -1,62 +1,62 @@
---
-title: 连接到 TiDB Cloud Serverless 集群
-summary: 了解如何通过不同方法连接到 TiDB Cloud Serverless 集群。
+title: 连接到你的 TiDB Cloud Serverless 集群
+summary: 了解如何通过不同方式连接到你的 TiDB Cloud Serverless 集群。
---
-# 连接到 TiDB Cloud Serverless 集群
+# 连接到你的 TiDB Cloud Serverless 集群
-本文档介绍如何连接到 TiDB Cloud Serverless 集群。
+本文档介绍如何连接到你的 TiDB Cloud Serverless 集群。
-> **提示:**
+> **Tip:**
>
-> 如需了解如何连接到 TiDB Cloud Dedicated 集群,请参阅[连接到 TiDB Cloud Dedicated 集群](/tidb-cloud/connect-to-tidb-cluster.md)。
+> 如果你想了解如何连接到 TiDB Cloud Dedicated 集群,请参见 [Connect to Your TiDB Cloud Dedicated Cluster](/tidb-cloud/connect-to-tidb-cluster.md)。
-## 连接方法
+## 连接方式
-在 TiDB Cloud 上创建 Serverless 集群后,你可以通过以下方法之一连接到集群:
+在 TiDB Cloud 上创建好你的 TiDB Cloud Serverless 集群后,你可以通过以下任一方式进行连接:
-- 直接连接
+- 直连
- 直接连接是指通过 TCP 的 MySQL 原生连接系统。你可以使用任何支持 MySQL 连接的工具(如 [MySQL 客户端](https://dev.mysql.com/doc/refman/8.0/en/mysql.html))连接到 TiDB Cloud Serverless 集群。
+ 直连指的是通过 TCP 的 MySQL 原生连接系统。你可以使用任何支持 MySQL 连接的工具连接到你的 TiDB Cloud Serverless 集群,例如 [MySQL client](https://dev.mysql.com/doc/refman/8.0/en/mysql.html)。
-- [数据服务(测试版)](/tidb-cloud/data-service-overview.md)
+- [Data Service (beta)](/tidb-cloud/data-service-overview.md)
- TiDB Cloud 提供数据服务功能,使你能够通过自定义 API 端点使用 HTTPS 请求连接到 TiDB Cloud Serverless 集群。与直接连接不同,数据服务通过 RESTful API 而不是原始 SQL 访问 TiDB Cloud Serverless 数据。
+ TiDB Cloud 提供了 Data Service 功能,使你可以通过自定义 API 端点的 HTTPS 请求连接到你的 TiDB Cloud Serverless 集群。与直连不同,Data Service 通过 RESTful API 访问 TiDB Cloud Serverless 的数据,而不是原生 SQL。
-- [Serverless 驱动(测试版)](/tidb-cloud/serverless-driver.md)
+- [Serverless Driver (beta)](/tidb-cloud/serverless-driver.md)
- TiDB Cloud 为 JavaScript 提供 Serverless 驱动,使你能够在边缘环境中以与直接连接相同的体验连接到 TiDB Cloud Serverless 集群。
+ TiDB Cloud 为 JavaScript 提供了 serverless driver,允许你在边缘环境中以与直连相同的体验连接到 TiDB Cloud Serverless 集群。
-在上述连接方法中,你可以根据需求选择合适的方法:
+在上述连接方式中,你可以根据需求选择合适的方式:
-| 连接方法 | 用户界面 | 使用场景 |
-|-------------------|------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| 直接连接 | SQL/ORM | 长期运行的环境,如 Java、Node.js 和 Python。 |
-| 数据服务 | RESTful API | 所有浏览器和应用程序交互。 |
-| Serverless 驱动 | SQL/ORM | Serverless 和边缘环境,如 [Vercel Edge Functions](https://vercel.com/docs/functions/edge-functions) 和 [Cloudflare Workers](https://workers.cloudflare.com/)。 |
+| 连接方式 | 用户界面 | 场景 |
+|--------------------|------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| 直连 | SQL/ORM | 长时间运行的环境,如 Java、Node.js 和 Python。 |
+| Data Service | RESTful API | 所有浏览器和应用交互。 |
+| Serverless Driver | SQL/ORM | Serverless 和边缘环境,如 [Vercel Edge Functions](https://vercel.com/docs/functions/edge-functions) 和 [Cloudflare Workers](https://workers.cloudflare.com/)。 |
## 网络
-TiDB Cloud Serverless 有两种网络连接类型:
+TiDB Cloud Serverless 支持两种网络连接类型:
- [私有端点](/tidb-cloud/set-up-private-endpoint-connections-serverless.md)(推荐)
- 私有端点连接提供一个私有端点,允许你 VPC 中的 SQL 客户端通过 AWS PrivateLink 安全地访问服务。AWS PrivateLink 提供高度安全的单向访问数据库服务,并简化了网络管理。
+ 私有端点连接为你的 VPC 中的 SQL 客户端提供一个私有端点,通过 AWS PrivateLink 安全访问服务,具备高度安全性和单向访问数据库服务的能力,并简化网络管理。
-- [公共端点](/tidb-cloud/connect-via-standard-connection-serverless.md)
+- [公网端点](/tidb-cloud/connect-via-standard-connection-serverless.md)
- 标准连接暴露一个公共端点,因此你可以从笔记本电脑通过 SQL 客户端连接到 TiDB 集群。
+ 标准连接会暴露一个公网端点,因此你可以通过笔记本上的 SQL 客户端连接到你的 TiDB 集群。
- TiDB Cloud Serverless 要求使用 [TLS 连接](/tidb-cloud/secure-connections-to-serverless-clusters.md),这确保了从应用程序到 TiDB 集群的数据传输安全。
+ TiDB Cloud Serverless 要求 [TLS 连接](/tidb-cloud/secure-connections-to-serverless-clusters.md),以确保从你的应用到 TiDB 集群的数据传输安全。
-下表显示了不同连接方法可以使用的网络:
+下表展示了不同连接方式可用的网络类型:
-| 连接方法 | 网络 | 说明 |
-|--------------------------|----------------------------|----------------------------------------------------------------------------------------------------------|
-| 直接连接 | 公共或私有端点 | 直接连接可以通过公共和私有端点进行。 |
-| 数据服务(测试版) | / | 通过数据服务(测试版)访问 TiDB Cloud Serverless 不需要指定网络类型。 |
-| Serverless 驱动(测试版) | 公共端点 | Serverless 驱动仅支持通过公共端点连接。 |
+| 连接方式 | 网络类型 | 说明 |
+|---------------------------|-----------------------------|------------------------------------------------------------------------------------------------------------|
+| 直连 | 公网或私有端点 | 直连可以通过公网或私有端点进行。 |
+| Data Service (beta) | / | 通过 Data Service (beta) 访问 TiDB Cloud Serverless 无需指定网络类型。 |
+| Serverless Driver (beta) | 公网端点 | Serverless Driver 仅支持通过公网端点连接。 |
-## 下一步
+## 后续操作
-成功连接到 TiDB 集群后,你可以[使用 TiDB 探索 SQL 语句](/basic-sql-operations.md)。
+成功连接到你的 TiDB 集群后,你可以 [使用 TiDB 探索 SQL 语句](/basic-sql-operations.md)。
\ No newline at end of file
diff --git a/tidb-cloud/connect-to-tidb-cluster.md b/tidb-cloud/connect-to-tidb-cluster.md
index eecb510b03775..9f8a74ee80871 100644
--- a/tidb-cloud/connect-to-tidb-cluster.md
+++ b/tidb-cloud/connect-to-tidb-cluster.md
@@ -1,50 +1,50 @@
---
title: 连接到你的 TiDB Cloud Dedicated 集群
-summary: 了解如何通过不同方法连接到你的 TiDB Cloud Dedicated 集群。
+summary: 了解如何通过不同方式连接到你的 TiDB Cloud Dedicated 集群。
---
# 连接到你的 TiDB Cloud Dedicated 集群
-本文档介绍连接到你的 TiDB Cloud Dedicated 集群的方法。
+本文介绍了连接到你的 TiDB Cloud Dedicated 集群的方法。
-> **提示:**
+> **Tip:**
>
-> 要了解如何连接到 TiDB Cloud Serverless 集群,请参见[连接到你的 TiDB Cloud Serverless 集群](/tidb-cloud/connect-to-tidb-cluster-serverless.md)。
+> 如果你想了解如何连接到 TiDB Cloud Serverless 集群,请参见 [Connect to Your TiDB Cloud Serverless Cluster](/tidb-cloud/connect-to-tidb-cluster-serverless.md)。
-在 TiDB Cloud 上创建 TiDB Cloud Dedicated 集群后,你可以通过以下方法之一连接到它:
+在 TiDB Cloud 上创建 TiDB Cloud Dedicated 集群后,你可以通过以下任一方式进行连接:
-- 直接连接
+- 直连
- 直接连接使用基于 TCP 的 MySQL 原生连接系统。你可以使用任何支持 MySQL 连接的工具连接到你的 TiDB Cloud Dedicated 集群,例如 [MySQL 命令行客户端](https://dev.mysql.com/doc/refman/8.0/en/mysql.html)。TiDB Cloud 还提供 [SQL Shell](/tidb-cloud/connect-via-sql-shell.md),使你能够尝试 TiDB SQL,快速测试 TiDB 与 MySQL 的兼容性,并管理用户权限。
+ 直连使用 MySQL 原生的基于 TCP 的连接系统。你可以使用任何支持 MySQL 连接的工具连接到你的 TiDB Cloud Dedicated 集群,例如 [MySQL Command-Line Client](https://dev.mysql.com/doc/refman/8.0/en/mysql.html)。TiDB Cloud 还提供了 [SQL Shell](/tidb-cloud/connect-via-sql-shell.md),你可以用它快速体验 TiDB SQL、测试 TiDB 对 MySQL 的兼容性,并管理用户权限。
TiDB Cloud Dedicated 提供三种网络连接类型:
- - [公共连接](/tidb-cloud/connect-via-standard-connection.md)
+ - [公网连接](/tidb-cloud/connect-via-standard-connection.md)
- 公共连接暴露一个带有流量过滤器的公共端点,因此你可以通过笔记本电脑上的 SQL 客户端连接到你的 TiDB 集群。你可以使用 TLS 连接到你的 TiDB 集群,这确保了从你的应用程序到 TiDB 集群的数据传输安全。更多信息,请参见[通过公共连接连接到 TiDB Cloud Dedicated](/tidb-cloud/connect-via-standard-connection.md)。
+ 公网连接通过流量过滤器暴露一个公网连接端点,因此你可以通过 SQL 客户端从你的本地电脑连接到 TiDB 集群。你可以使用 TLS 连接到 TiDB 集群,确保应用到 TiDB 集群间数据传输的安全性。更多信息请参见 [Connect to TiDB Cloud Dedicated via Public Connection](/tidb-cloud/connect-via-standard-connection.md)。
- 私有端点(推荐)
- 私有端点连接提供一个私有端点,允许你 VPC 中的 SQL 客户端安全地访问 TiDB Cloud Dedicated 集群。这使用不同云服务提供商提供的私有链接服务,通过简化的网络管理提供高度安全的单向数据库服务访问。
+ 私有端点连接为你的 VPC 内的 SQL 客户端提供一个私有端点,以安全地访问 TiDB Cloud Dedicated 集群。该方式使用不同云服务商提供的 Private Link 服务,能够以更高的安全性和更简化的网络管理方式实现对数据库服务的单向访问。
- - 对于托管在 AWS 上的 TiDB Cloud Dedicated 集群,私有端点连接使用 AWS PrivateLink。更多信息,请参见[通过 AWS PrivateLink 连接到 TiDB Cloud Dedicated 集群](/tidb-cloud/set-up-private-endpoint-connections.md)。
- - 对于托管在 Azure 上的 TiDB Cloud Dedicated 集群,私有端点连接使用 Azure Private Link。更多信息,请参见[通过 Azure Private Link 连接到 TiDB Cloud Dedicated 集群](/tidb-cloud/set-up-private-endpoint-connections-on-azure.md)。
- - 对于托管在 Google Cloud 上的 TiDB Cloud Dedicated 集群,私有端点连接使用 Google Cloud Private Service Connect。更多信息,请参见[通过 Google Cloud Private Service Connect 连接到 TiDB Cloud Dedicated 集群](/tidb-cloud/set-up-private-endpoint-connections-on-google-cloud.md)。
+ - 对于托管在 AWS 上的 TiDB Cloud Dedicated 集群,私有端点连接使用 AWS PrivateLink。更多信息请参见 [Connect to a TiDB Cloud Dedicated Cluster via AWS PrivateLink](/tidb-cloud/set-up-private-endpoint-connections.md)。
+ - 对于托管在 Azure 上的 TiDB Cloud Dedicated 集群,私有端点连接使用 Azure Private Link。更多信息请参见 [Connect to a TiDB Cloud Dedicated Cluster via Azure Private Link](/tidb-cloud/set-up-private-endpoint-connections-on-azure.md)。
+ - 对于托管在 Google Cloud 上的 TiDB Cloud Dedicated 集群,私有端点连接使用 Google Cloud Private Service Connect。更多信息请参见 [Connect to a TiDB Cloud Dedicated Cluster via Google Cloud Private Service Connect](/tidb-cloud/set-up-private-endpoint-connections-on-google-cloud.md)。
- - [VPC 对等连接](/tidb-cloud/set-up-vpc-peering-connections.md)
+ - [VPC Peering](/tidb-cloud/set-up-vpc-peering-connections.md)
- 如果你想要更低的延迟和更高的安全性,请设置 VPC 对等连接,并通过你云账户中相应云服务提供商的虚拟机实例使用私有端点进行连接。更多信息,请参见[通过 VPC 对等连接连接到 TiDB Cloud Dedicated](/tidb-cloud/set-up-vpc-peering-connections.md)。
+ 如果你需要更低的延迟和更高的安全性,可以在你的云账号中通过相应云服务商的 VM 实例设置 VPC Peering,并通过私有端点进行连接。更多信息请参见 [Connect to TiDB Cloud Dedicated via VPC Peering](/tidb-cloud/set-up-vpc-peering-connections.md)。
- [内置 SQL 编辑器](/tidb-cloud/explore-data-with-chat2query.md)
- > **注意:**
+ > **Note:**
>
- > 要在 [TiDB Cloud Dedicated](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) 集群上使用 SQL 编辑器,请联系 [TiDB Cloud 支持](/tidb-cloud/tidb-cloud-support.md)。
+ > 如需在 [TiDB Cloud Dedicated](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) 集群上使用 SQL 编辑器,请联系 [TiDB Cloud support](/tidb-cloud/tidb-cloud-support.md)。
- 如果你的集群托管在 AWS 上,且集群的 TiDB 版本是 v6.5.0 或更高版本,你可以在 [TiDB Cloud 控制台](https://tidbcloud.com/)中使用 AI 辅助的 SQL 编辑器来最大化你的数据价值。
+ 如果你的集群托管在 AWS 且 TiDB 版本为 v6.5.0 或更高,你可以在 [TiDB Cloud 控制台](https://tidbcloud.com/)中使用 AI 辅助的 SQL 编辑器,最大化你的数据价值。
- 在 SQL 编辑器中,你可以手动编写 SQL 查询,或者在 macOS 上简单地按 ⌘ + I (在 Windows 或 Linux 上按 Control + I )来指示 [Chat2Query (beta)](/tidb-cloud/tidb-cloud-glossary.md#chat2query) 自动生成 SQL 查询。这使你无需本地 SQL 客户端即可对数据库运行 SQL 查询。你可以直观地以表格或图表形式查看查询结果,并轻松检查查询日志。
+ 在 SQL 编辑器中,你可以手动编写 SQL 查询,或直接在 macOS 上按 ⌘ + I (Windows 或 Linux 上为 Control + I ),让 [Chat2Query (beta)](/tidb-cloud/tidb-cloud-glossary.md#chat2query) 自动生成 SQL 查询。这样你无需本地 SQL 客户端即可对数据库运行 SQL 查询,并可以以表格或图表的形式直观查看查询结果,轻松检查查询日志。
-## 下一步
+## 后续操作
-成功连接到你的 TiDB 集群后,你可以[使用 TiDB 探索 SQL 语句](/basic-sql-operations.md)。
+成功连接到 TiDB 集群后,你可以 [使用 TiDB 探索 SQL 语句](/basic-sql-operations.md)。
\ No newline at end of file
diff --git a/tidb-cloud/connect-via-sql-shell.md b/tidb-cloud/connect-via-sql-shell.md
index 86d301e5d9e97..643f2b748db70 100644
--- a/tidb-cloud/connect-via-sql-shell.md
+++ b/tidb-cloud/connect-via-sql-shell.md
@@ -5,20 +5,20 @@ summary: 了解如何通过 SQL Shell 连接到你的 TiDB 集群。
# 通过 SQL Shell 连接
-在 TiDB Cloud SQL Shell 中,你可以尝试 TiDB SQL,快速测试 TiDB 与 MySQL 的兼容性,并管理数据库用户权限。
+在 TiDB Cloud SQL Shell 中,你可以尝试 TiDB SQL,快速测试 TiDB 对 MySQL 的兼容性,并管理数据库用户权限。
> **注意:**
>
-> 你不能使用 SQL Shell 连接到 [TiDB Cloud Serverless 集群](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless)。要连接到你的 TiDB Cloud Serverless 集群,请参见[连接到 TiDB Cloud Serverless 集群](/tidb-cloud/connect-to-tidb-cluster-serverless.md)。
+> 你无法使用 SQL Shell 连接到 [TiDB Cloud Serverless 集群](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless)。要连接到你的 TiDB Cloud Serverless 集群,请参阅 [连接到 TiDB Cloud Serverless 集群](/tidb-cloud/connect-to-tidb-cluster-serverless.md)。
-要使用 SQL shell 连接到你的 TiDB 集群,请执行以下步骤:
+要使用 SQL shell 连接到你的 TiDB 集群,请按照以下步骤操作:
-1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),导航到项目的[**集群**](https://tidbcloud.com/project/clusters)页面。
+1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),并导航到你的项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
> **提示:**
>
- > 你可以使用左上角的组合框在组织、项目和集群之间切换。
+ > 你可以使用左上角的下拉框在组织、项目和集群之间切换。
-2. 点击目标集群的名称进入其集群概览页面,然后在左侧导航栏中点击**设置** > **网络**。
-3. 在**网络**页面上,点击右上角的 **Web SQL Shell**。
-4. 在提示的**输入密码**行中,输入当前集群的 root 密码。然后你的应用程序就连接到了 TiDB 集群。
+2. 点击目标集群的名称,进入该集群的概览页面,然后点击左侧导航栏中的 **Settings** > **Networking**。
+3. 在 **Networking** 页面,点击右上角的 **Web SQL Shell**。
+4. 在弹出的 **Enter password** 行中,输入当前集群的 root 密码。然后你的应用就会连接到 TiDB 集群。
\ No newline at end of file
diff --git a/tidb-cloud/connect-via-standard-connection-serverless.md b/tidb-cloud/connect-via-standard-connection-serverless.md
index 69171f7da3829..873447cda694e 100644
--- a/tidb-cloud/connect-via-standard-connection-serverless.md
+++ b/tidb-cloud/connect-via-standard-connection-serverless.md
@@ -1,68 +1,68 @@
---
-title: 通过公共端点连接到 TiDB Cloud Serverless
-summary: 了解如何通过公共端点连接到你的 TiDB Cloud Serverless 集群。
+title: 通过 Public Endpoint 连接 TiDB Cloud Serverless
+summary: 了解如何通过 public endpoint 连接到你的 TiDB Cloud Serverless 集群。
---
-# 通过公共端点连接到 TiDB Cloud Serverless
+# 通过 Public Endpoint 连接 TiDB Cloud Serverless
-本文介绍如何通过公共端点从你的计算机使用 SQL 客户端连接到 TiDB Cloud Serverless 集群,以及如何禁用公共端点。
+本文介绍如何通过 public endpoint,使用你电脑上的 SQL 客户端连接到 TiDB Cloud Serverless 集群,以及如何禁用 public endpoint。
-## 通过公共端点连接
+## 通过 public endpoint 连接
-> **提示:**
+> **Tip:**
>
-> 要了解如何通过公共端点连接到 TiDB Cloud Dedicated 集群,请参见[通过公共连接连接到 TiDB Cloud Dedicated](/tidb-cloud/connect-via-standard-connection.md)。
+> 如需了解如何通过 public endpoint 连接到 TiDB Cloud Dedicated 集群,请参见 [Connect to TiDB Cloud Dedicated via Public Connection](/tidb-cloud/connect-via-standard-connection.md)。
-要通过公共端点连接到 TiDB Cloud Serverless 集群,请执行以下步骤:
+要通过 public endpoint 连接到 TiDB Cloud Serverless 集群,请按照以下步骤操作:
-1. 导航到[**集群**](https://tidbcloud.com/project/clusters)页面,然后点击目标集群的名称进入其概览页面。
+1. 进入 [**Clusters**](https://tidbcloud.com/project/clusters) 页面,然后点击目标集群的名称,进入其概览页面。
-2. 点击右上角的**连接**。将显示连接对话框。
+2. 点击右上角的 **Connect**。此时会弹出连接对话框。
-3. 在对话框中,保持连接类型的默认设置为 `Public`,并选择你首选的连接方法和操作系统以获取相应的连接字符串。
+3. 在对话框中,保持连接类型的默认设置为 `Public`,并选择你偏好的连接方式和操作系统,以获取对应的连接字符串。
- > **注意:**
+ > **Note:**
>
- > - 将连接类型保持为 `Public` 意味着通过标准 TLS 连接进行连接。更多信息,请参见[到 TiDB Cloud Serverless 的 TLS 连接](/tidb-cloud/secure-connections-to-serverless-clusters.md)。
- > - 如果你在**连接类型**下拉列表中选择**私有端点**,则表示通过私有端点进行连接。更多信息,请参见[通过私有端点连接到 TiDB Cloud Serverless](/tidb-cloud/set-up-private-endpoint-connections-serverless.md)。
+ > - 保持连接类型为 `Public`,表示通过标准 TLS 连接进行连接。更多信息,请参见 [TLS Connection to TiDB Cloud Serverless](/tidb-cloud/secure-connections-to-serverless-clusters.md)。
+ > - 如果你在 **Connection Type** 下拉列表中选择 **Private Endpoint**,则表示通过私有 endpoint 进行连接。更多信息,请参见 [Connect to TiDB Cloud Serverless via Private Endpoint](/tidb-cloud/set-up-private-endpoint-connections-serverless.md)。
-4. TiDB Cloud Serverless 允许你为集群创建[分支](/tidb-cloud/branch-overview.md)。创建分支后,你可以通过**分支**下拉列表选择连接到该分支。`main` 代表集群本身。
+4. TiDB Cloud Serverless 支持为你的集群创建 [branches](/tidb-cloud/branch-overview.md)。创建 branch 后,你可以通过 **Branch** 下拉列表选择连接到指定 branch。`main` 代表集群本身。
-5. 如果你还没有设置密码,点击**生成密码**生成随机密码。生成的密码不会再次显示,因此请将密码保存在安全的位置。
+5. 如果你还没有设置密码,点击 **Generate Password** 生成一个随机密码。生成的密码只会显示一次,请妥善保存。
6. 使用连接字符串连接到你的集群。
- > **注意:**
+ > **Note:**
>
- > 当你连接到 TiDB Cloud Serverless 集群时,必须在用户名中包含集群的前缀,并用引号将名称括起来。更多信息,请参见[用户名前缀](/tidb-cloud/select-cluster-tier.md#用户名前缀)。
- > 你的客户端 IP 必须在集群公共端点的允许 IP 规则中。更多信息,请参见[为公共端点配置 TiDB Cloud Serverless 防火墙规则](/tidb-cloud/configure-serverless-firewall-rules-for-public-endpoints.md)。
+ > 连接到 TiDB Cloud Serverless 集群时,必须在用户名中包含集群的前缀,并用引号包裹用户名。更多信息,请参见 [User name prefix](/tidb-cloud/select-cluster-tier.md#user-name-prefix)。
+ > 你的客户端 IP 必须在集群 public endpoint 的允许 IP 规则中。更多信息,请参见 [Configure TiDB Cloud Serverless Firewall Rules for Public Endpoints](/tidb-cloud/configure-serverless-firewall-rules-for-public-endpoints.md)。
-## 禁用公共端点
+## 禁用 public endpoint
-如果你不需要使用 TiDB Cloud Serverless 集群的公共端点,可以禁用它以防止来自互联网的连接:
+如果你不需要使用 TiDB Cloud Serverless 集群的 public endpoint,可以将其禁用,以防止来自互联网的连接:
-1. 导航到[**集群**](https://tidbcloud.com/project/clusters)页面,然后点击目标集群的名称进入其概览页面。
+1. 进入 [**Clusters**](https://tidbcloud.com/project/clusters) 页面,然后点击目标集群的名称,进入其概览页面。
-2. 在左侧导航栏中,点击**设置** > **网络**。
+2. 在左侧导航栏,点击 **Settings** > **Networking**。
-3. 在**网络**页面上,点击**禁用**。将显示确认对话框。
+3. 在 **Networking** 页面,点击 **Disable**。此时会弹出确认对话框。
-4. 在确认对话框中点击**禁用**。
+4. 在确认对话框中点击 **Disable**。
-禁用公共端点后,连接对话框中**连接类型**下拉列表中的 `Public` 条目将被禁用。如果用户仍然尝试从公共端点访问集群,他们将收到错误。
+禁用 public endpoint 后,连接对话框的 **Connection Type** 下拉列表中的 `Public` 选项会被禁用。如果用户仍尝试通过 public endpoint 访问集群,将会收到错误提示。
-> **注意:**
+> **Note:**
>
-> 禁用公共端点不会影响现有连接。它只会阻止来自互联网的新连接。
+> 禁用 public endpoint 不会影响已有的连接,只会阻止新的互联网连接。
-禁用后,你可以重新启用公共端点:
+你可以在禁用后重新启用 public endpoint:
-1. 导航到[**集群**](https://tidbcloud.com/project/clusters)页面,然后点击目标集群的名称进入其概览页面。
+1. 进入 [**Clusters**](https://tidbcloud.com/project/clusters) 页面,然后点击目标集群的名称,进入其概览页面。
-2. 在左侧导航栏中,点击**设置** > **网络**。
+2. 在左侧导航栏,点击 **Settings** > **Networking**。
-3. 在**网络**页面上,点击**启用**。
+3. 在 **Networking** 页面,点击 **Enable**。
-## 下一步
+## 后续操作
-成功连接到 TiDB 集群后,你可以[使用 TiDB 探索 SQL 语句](/basic-sql-operations.md)。
+成功连接到 TiDB 集群后,你可以 [使用 TiDB 探索 SQL 语句](/basic-sql-operations.md)。
\ No newline at end of file
diff --git a/tidb-cloud/connect-via-standard-connection.md b/tidb-cloud/connect-via-standard-connection.md
index 641d19ae2bce5..e584350e21c29 100644
--- a/tidb-cloud/connect-via-standard-connection.md
+++ b/tidb-cloud/connect-via-standard-connection.md
@@ -1,44 +1,44 @@
---
-title: 通过公共连接连接到 TiDB Cloud Dedicated
-summary: 了解如何通过公共连接连接到 TiDB Cloud 集群。
+title: 通过公共连接接入 TiDB Cloud Dedicated
+summary: 了解如何通过公共连接接入你的 TiDB Cloud 集群。
---
-# 通过公共连接连接到 TiDB Cloud Dedicated
+# 通过公共连接接入 TiDB Cloud Dedicated
-本文档介绍如何通过公共连接连接到 TiDB Cloud Dedicated 集群。公共连接暴露了一个带有流量过滤器的公共端点,因此你可以通过笔记本电脑上的 SQL 客户端连接到 TiDB Cloud Dedicated 集群。
+本文档介绍如何通过公共连接接入你的 TiDB Cloud Dedicated 集群。公共连接会暴露一个带有流量过滤器的公共端点,因此你可以通过 SQL 客户端从你的笔记本电脑连接到 TiDB Cloud Dedicated 集群。
-> **提示:**
+> **Tip:**
>
-> 要了解如何通过公共连接连接到 TiDB Cloud Serverless 集群,请参阅[通过公共端点连接到 TiDB Cloud Serverless](/tidb-cloud/connect-via-standard-connection-serverless.md)。
+> 如果你想了解如何通过公共连接接入 TiDB Cloud Serverless 集群,请参见 [Connect to TiDB Cloud Serverless via Public Endpoint](/tidb-cloud/connect-via-standard-connection-serverless.md)。
-## 前提条件:配置 IP 访问列表
+## 前置条件:配置 IP 访问列表
-对于公共连接,TiDB Cloud Dedicated 只允许来自 IP 访问列表中地址的客户端连接。如果你尚未配置 IP 访问列表,请在首次连接之前按照[配置 IP 访问列表](/tidb-cloud/configure-ip-access-list.md)中的步骤进行配置。
+对于公共连接,TiDB Cloud Dedicated 只允许来自 IP 访问列表中的地址的客户端连接。如果你还没有配置 IP 访问列表,请按照 [Configure an IP Access List](/tidb-cloud/configure-ip-access-list.md) 中的步骤,在首次连接前进行配置。
## 连接到集群
-要通过公共连接连接到 TiDB Cloud Dedicated 集群,请执行以下步骤:
+要通过公共连接接入 TiDB Cloud Dedicated 集群,请按照以下步骤操作:
1. 打开目标集群的概览页面。
- 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),导航到项目的[**集群**](https://tidbcloud.com/project/clusters)页面。
+ 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),并进入你的项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
- > **提示:**
+ > **Tip:**
>
- > 你可以使用左上角的组合框在组织、项目和集群之间切换。
+ > 你可以使用左上角的下拉框在组织、项目和集群之间切换。
- 2. 点击目标集群的名称以进入其概览页面。
+ 2. 点击目标集群的名称,进入其概览页面。
-2. 点击右上角的**连接**。此时会显示一个连接对话框。
+2. 点击右上角的 **Connect**。此时会弹出连接对话框。
-3. 在连接对话框中,从**连接类型**下拉列表中选择**公共**。
+3. 在连接对话框中,从 **Connection Type** 下拉列表中选择 **Public**。
- 如果你尚未配置 IP 访问列表,请点击**配置 IP 访问列表**或按照[配置 IP 访问列表](/tidb-cloud/configure-ip-access-list.md)中的步骤进行配置,然后再进行首次连接。
+ 如果你还没有配置 IP 访问列表,请点击 **Configure IP Access List**,或按照 [Configure an IP Access List](/tidb-cloud/configure-ip-access-list.md) 中的步骤,在首次连接前进行配置。
-4. 点击 **CA 证书**下载用于 TLS 连接到 TiDB 集群的 CA 证书。CA 证书默认支持 TLS 1.2 版本。
+4. 点击 **CA cert** 下载用于 TLS 连接 TiDB 集群的 CA 证书。该 CA 证书默认支持 TLS 1.2 版本。
-5. 选择你喜欢的连接方式,然后参考选项卡上的连接字符串和示例代码连接到你的集群。
+5. 选择你偏好的连接方式,然后参考该标签页上的连接字符串和示例代码,连接到你的集群。
-## 下一步
+## 后续操作
-成功连接到 TiDB 集群后,你可以[使用 TiDB 探索 SQL 语句](/basic-sql-operations.md)。
+成功连接到 TiDB 集群后,你可以 [使用 TiDB 探索 SQL 语句](/basic-sql-operations.md)。
\ No newline at end of file
diff --git a/tidb-cloud/create-tidb-cluster-serverless.md b/tidb-cloud/create-tidb-cluster-serverless.md
index 6845f0ce234bf..bea3751b8dd94 100644
--- a/tidb-cloud/create-tidb-cluster-serverless.md
+++ b/tidb-cloud/create-tidb-cluster-serverless.md
@@ -1,53 +1,53 @@
---
title: 创建 TiDB Cloud Serverless 集群
-summary: 了解如何创建 TiDB Cloud Serverless 集群。
+summary: 了解如何创建你的 TiDB Cloud Serverless 集群。
---
# 创建 TiDB Cloud Serverless 集群
-本文档介绍如何在 [TiDB Cloud 控制台](https://tidbcloud.com/)中创建 TiDB Cloud Serverless 集群。
+本文档介绍如何在 [TiDB Cloud 控制台](https://tidbcloud.com/) 中创建 TiDB Cloud Serverless 集群。
-> **提示:**
+> **Tip:**
>
-> 要了解如何创建 TiDB Cloud Dedicated 集群,请参见[创建 TiDB Cloud Dedicated 集群](/tidb-cloud/create-tidb-cluster.md)。
+> 如果你想了解如何创建 TiDB Cloud Dedicated 集群,请参见 [Create a TiDB Cloud Dedicated Cluster](/tidb-cloud/create-tidb-cluster.md)。
## 开始之前
-如果你还没有 TiDB Cloud 账户,请点击[此处](https://tidbcloud.com/signup)注册账户。
+如果你还没有 TiDB Cloud 账号,请点击[这里](https://tidbcloud.com/signup)注册账号。
-- 你可以使用电子邮件和密码注册,这样你就可以使用 TiDB Cloud 管理你的密码,也可以使用你的 Google、GitHub 或 Microsoft 账户注册。
-- 对于 AWS Marketplace 用户,你也可以通过 AWS Marketplace 注册。为此,在 [AWS Marketplace](https://aws.amazon.com/marketplace) 中搜索 `TiDB Cloud`,订阅 TiDB Cloud,然后按照屏幕上的说明设置你的 TiDB Cloud 账户。
-- 对于 Azure Marketplace 用户,你也可以通过 Azure Marketplace 注册。为此,在 [Azure Marketplace](https://azuremarketplace.microsoft.com) 中搜索 `TiDB Cloud`,订阅 TiDB Cloud,然后按照屏幕上的说明设置你的 TiDB Cloud 账户。
-- 对于 Google Cloud Marketplace 用户,你也可以通过 Google Cloud Marketplace 注册。为此,在 [Google Cloud Marketplace](https://console.cloud.google.com/marketplace) 中搜索 `TiDB Cloud`,订阅 TiDB Cloud,然后按照屏幕上的说明设置你的 TiDB Cloud 账户。
+- 你可以使用邮箱和密码注册,这样你可以通过 TiDB Cloud 管理你的密码,或者使用 Google、GitHub 或 Microsoft 账号注册。
+- 对于 AWS Marketplace 用户,你也可以通过 AWS Marketplace 注册。具体操作为,在 [AWS Marketplace](https://aws.amazon.com/marketplace) 中搜索 `TiDB Cloud`,订阅 TiDB Cloud,然后按照屏幕上的指引设置你的 TiDB Cloud 账号。
+- 对于 Azure Marketplace 用户,你也可以通过 Azure Marketplace 注册。具体操作为,在 [Azure Marketplace](https://azuremarketplace.microsoft.com) 中搜索 `TiDB Cloud`,订阅 TiDB Cloud,然后按照屏幕上的指引设置你的 TiDB Cloud 账号。
+- 对于 Google Cloud Marketplace 用户,你也可以通过 Google Cloud Marketplace 注册。具体操作为,在 [Google Cloud Marketplace](https://console.cloud.google.com/marketplace) 中搜索 `TiDB Cloud`,订阅 TiDB Cloud,然后按照屏幕上的指引设置你的 TiDB Cloud 账号。
-## 步骤
+## 操作步骤
-如果你是 `Organization Owner` 或 `Project Owner` 角色,你可以按照以下步骤创建 TiDB Cloud Serverless 集群:
+如果你拥有 `Organization Owner` 或 `Project Owner` 角色,可以按照以下步骤创建 TiDB Cloud Serverless 集群:
-1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),然后导航到[**集群**](https://tidbcloud.com/project/clusters)页面。
+1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),然后进入 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
-2. 点击**创建集群**。
+2. 点击 **Create Cluster**。
-3. 在**创建集群**页面上,默认选择 **Serverless**。
+3. 在 **Create Cluster** 页面,**Serverless** 会被默认选中。
-4. TiDB Cloud Serverless 的云服务提供商是 AWS。你可以选择要托管集群的 AWS 区域。
+4. TiDB Cloud Serverless 的云服务商为 AWS。你可以选择希望托管集群的 AWS 区域。
-5. 如有必要,更新默认的集群名称。
+5. 如有需要,可以修改默认的集群名称。
-6. 选择集群方案。TiDB Cloud Serverless 提供两种[集群方案](/tidb-cloud/select-cluster-tier.md#cluster-plans):**免费集群**和**可扩展集群**。你可以从免费集群开始,随着需求增长再升级到可扩展集群。要创建可扩展集群,你需要指定**每月支出限额**并添加信用卡。
+6. 选择集群方案。TiDB Cloud Serverless 提供两种 [集群方案](/tidb-cloud/select-cluster-tier.md#cluster-plans):**Free Cluster** 和 **Scalable Cluster**。你可以从免费集群开始,随着需求增长再升级为可扩展集群。创建可扩展集群时,你需要指定 **Monthly Spending Limit** 并添加信用卡。
- > **注意:**
+ > **Note:**
>
- > 对于 TiDB Cloud 中的每个组织,默认情况下你最多可以创建五个[免费集群](/tidb-cloud/select-cluster-tier.md#free-cluster-plan)。要创建更多 TiDB Cloud Serverless 集群,你需要添加信用卡并创建[可扩展集群](/tidb-cloud/select-cluster-tier.md#scalable-cluster-plan)。
+ > 每个 TiDB Cloud 组织默认最多可以创建 5 个 [免费集群](/tidb-cloud/select-cluster-tier.md#free-cluster-plan)。如需创建更多 TiDB Cloud Serverless 集群,你需要添加信用卡并创建 [可扩展集群](/tidb-cloud/select-cluster-tier.md#scalable-cluster-plan)以供使用。
-7. 点击**创建**。
+7. 点击 **Create**。
- 集群创建过程开始,你的 TiDB Cloud 集群将在大约 30 秒内创建完成。
+ 集群创建流程将启动,你的 TiDB Cloud 集群将在大约 30 秒内创建完成。
-## 下一步
+## 后续操作
-集群创建完成后,按照[通过公共端点连接到 TiDB Cloud Serverless](/tidb-cloud/connect-via-standard-connection-serverless.md)中的说明为你的集群创建密码。
+集群创建完成后,请按照 [Connect to TiDB Cloud Serverless via Public Endpoint](/tidb-cloud/connect-via-standard-connection-serverless.md) 的指引为你的集群创建密码。
-> **注意:**
+> **Note:**
>
-> 如果你不设置密码,将无法连接到集群。
+> 如果你未设置密码,将无法连接到集群。
\ No newline at end of file
diff --git a/tidb-cloud/create-tidb-cluster.md b/tidb-cloud/create-tidb-cluster.md
index 1f04e0aa864e6..2f1659d886e7b 100644
--- a/tidb-cloud/create-tidb-cluster.md
+++ b/tidb-cloud/create-tidb-cluster.md
@@ -1,83 +1,83 @@
---
-title: 创建 TiDB Cloud Dedicated 集群
-summary: 了解如何创建 TiDB Cloud Dedicated 集群。
+title: 创建 TiDB Cloud 专属集群
+summary: 了解如何创建你的 TiDB Cloud 专属集群。
---
-# 创建 TiDB Cloud Dedicated 集群
+# 创建 TiDB Cloud 专属集群
-本教程将指导你注册并创建 TiDB Cloud Dedicated 集群。
+本教程将指导你注册并创建一个 TiDB Cloud 专属集群。
-> **提示:**
+> **Tip:**
>
-> 如需了解如何创建 TiDB Cloud Serverless 集群,请参阅[创建 TiDB Cloud Serverless 集群](/tidb-cloud/create-tidb-cluster-serverless.md)。
+> 如果你想了解如何创建 TiDB Cloud Serverless 集群,请参见 [Create a TiDB Cloud Serverless Cluster](/tidb-cloud/create-tidb-cluster-serverless.md)。
## 开始之前
-如果你还没有 TiDB Cloud 账号,请点击[此处](https://tidbcloud.com/signup)注册账号。
+如果你还没有 TiDB Cloud 账号,请点击[这里](https://tidbcloud.com/signup)注册账号。
-- 你可以使用电子邮件和密码注册,这样可以通过 TiDB Cloud 管理密码,也可以使用 Google、GitHub 或 Microsoft 账号注册。
-- 对于 AWS Marketplace 用户,你也可以通过 AWS Marketplace 注册。只需在 [AWS Marketplace](https://aws.amazon.com/marketplace) 中搜索 `TiDB Cloud`,订阅 TiDB Cloud,然后按照屏幕上的说明设置你的 TiDB Cloud 账号。
-- 对于 Azure Marketplace 用户,你也可以通过 Azure Marketplace 注册。只需在 [Azure Marketplace](https://azuremarketplace.microsoft.com) 中搜索 `TiDB Cloud`,订阅 TiDB Cloud,然后按照屏幕上的说明设置你的 TiDB Cloud 账号。
-- 对于 Google Cloud Marketplace 用户,你也可以通过 Google Cloud Marketplace 注册。只需在 [Google Cloud Marketplace](https://console.cloud.google.com/marketplace) 中搜索 `TiDB Cloud`,订阅 TiDB Cloud,然后按照屏幕上的说明设置你的 TiDB Cloud 账号。
+- 你可以使用邮箱和密码注册,这样你可以通过 TiDB Cloud 管理你的密码,或者使用 Google、GitHub 或 Microsoft 账号注册。
+- 对于 AWS Marketplace 用户,你也可以通过 AWS Marketplace 注册。方法是,在 [AWS Marketplace](https://aws.amazon.com/marketplace) 搜索 `TiDB Cloud`,订阅 TiDB Cloud,然后按照屏幕上的指引设置你的 TiDB Cloud 账号。
+- 对于 Azure Marketplace 用户,你也可以通过 Azure Marketplace 注册。方法是,在 [Azure Marketplace](https://azuremarketplace.microsoft.com) 搜索 `TiDB Cloud`,订阅 TiDB Cloud,然后按照屏幕上的指引设置你的 TiDB Cloud 账号。
+- 对于 Google Cloud Marketplace 用户,你也可以通过 Google Cloud Marketplace 注册。方法是,在 [Google Cloud Marketplace](https://console.cloud.google.com/marketplace) 搜索 `TiDB Cloud`,订阅 TiDB Cloud,然后按照屏幕上的指引设置你的 TiDB Cloud 账号。
## (可选)步骤 1. 使用默认项目或创建新项目
-登录 [TiDB Cloud 控制台](https://tidbcloud.com/)后,你会有一个默认的[项目](/tidb-cloud/tidb-cloud-glossary.md#project)。当你的组织中只有一个项目时,你的集群将在该项目中创建。有关项目的更多信息,请参阅[组织和项目](/tidb-cloud/manage-user-access.md#organizations-and-projects)。
+登录 [TiDB Cloud 控制台](https://tidbcloud.com/) 后,你会有一个默认的 [project](/tidb-cloud/tidb-cloud-glossary.md#project)。当你的组织中只有一个项目时,集群会被创建在该项目下。关于项目的更多信息,请参见 [Organizations and projects](/tidb-cloud/manage-user-access.md#organizations-and-projects)。
-如果你是组织所有者,可以根据需要按照以下步骤重命名默认项目或为集群创建新项目:
+如果你是组织所有者,可以根据需要重命名默认项目或为集群创建新项目,操作如下:
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com/)中,点击左上角的组合框。将显示你的默认组织和项目。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com/)中,点击左上角的下拉框。你的默认组织和项目会显示出来。
-2. 点击你组织的名称,然后点击左侧导航栏中的**项目**。
+2. 点击你的组织名称,然后在左侧导航栏点击 **Projects**。
-3. 在**项目**页面上,执行以下操作之一:
+3. 在 **Projects** 页面,执行以下操作之一:
- - 要重命名默认项目,请在**操作**列中点击 **...** > **重命名**。
- - 要创建项目,请点击**创建新项目**,输入项目名称,然后点击**确认**。
+ - 若要重命名默认项目,在 **Actions** 列点击 **...** > **Rename**。
+ - 若要创建新项目,点击 **Create New Project**,输入项目名称,然后点击 **Confirm**。
-4. 要转到项目的集群列表页面,请在**项目**页面上点击项目名称。
+4. 若要进入项目的集群列表页面,在 **Projects** 页面点击项目名称。
-## 步骤 2. 创建 TiDB Cloud Dedicated 集群
+## 步骤 2. 创建 TiDB Cloud 专属集群
-如果你是`组织所有者`或`项目所有者`角色,可以按照以下步骤创建 TiDB Cloud Dedicated 集群:
+如果你拥有 `Organization Owner` 或 `Project Owner` 角色,可以按照以下步骤创建 TiDB Cloud 专属集群:
-1. 导航到项目的[**集群**](https://tidbcloud.com/project/clusters)页面。
+1. 进入你项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
- > **提示:**
+ > **Tip:**
>
- > 你可以使用左上角的组合框在组织、项目和集群之间切换。
+ > 你可以使用左上角的下拉框在组织、项目和集群之间切换。
-2. 点击**创建集群**。
+2. 点击 **Create Cluster**。
-3. 在**创建集群**页面上,选择 **Dedicated**,然后按如下配置集群信息:
+3. 在 **Create Cluster** 页面,选择 **Dedicated**,然后按如下方式配置集群信息:
- 1. 选择云服务提供商和区域。
+ 1. 选择云服务商和区域。
- > **注意:**
+ > **Note:**
>
- > - 目前,Azure 上的 TiDB Cloud Dedicated 支持处于公开预览阶段。
- > - 如果你通过 [AWS Marketplace](https://aws.amazon.com/marketplace) 注册了 TiDB Cloud,云服务提供商为 AWS,且无法在 TiDB Cloud 中更改。
- > - 如果你通过 [Azure Marketplace](https://azuremarketplace.microsoft.com) 注册了 TiDB Cloud,云服务提供商为 Azure Cloud,且无法在 TiDB Cloud 中更改。
- > - 如果你通过 [Google Cloud Marketplace](https://console.cloud.google.com/marketplace) 注册了 TiDB Cloud,云服务提供商为 Google Cloud,且无法在 TiDB Cloud 中更改。
+ > - 目前,TiDB Cloud 专属集群在 Azure 上的支持处于公开预览阶段。
+ > - 如果你是通过 [AWS Marketplace](https://aws.amazon.com/marketplace) 注册的 TiDB Cloud,云服务商为 AWS,且无法在 TiDB Cloud 中更改。
+ > - 如果你是通过 [Azure Marketplace](https://azuremarketplace.microsoft.com) 注册的 TiDB Cloud,云服务商为 Azure Cloud,且无法在 TiDB Cloud 中更改。
+ > - 如果你是通过 [Google Cloud Marketplace](https://console.cloud.google.com/marketplace) 注册的 TiDB Cloud,云服务商为 Google Cloud,且无法在 TiDB Cloud 中更改。
- 2. 分别为 TiDB、TiKV 和 TiFlash(可选)配置[集群大小](/tidb-cloud/size-your-cluster.md)。
- 3. 如有必要,更新默认的集群名称和端口号。
- 4. 如果尚未为该区域配置 CIDR,则需要设置 CIDR。如果你没有看到**项目 CIDR**字段,则表示该区域已配置 CIDR。
+ 2. 分别为 TiDB、TiKV 和 TiFlash(可选)配置 [cluster size](/tidb-cloud/size-your-cluster.md)。
+ 3. 如有需要,修改默认集群名称和端口号。
+ 4. 如果该区域尚未配置 CIDR,则需要设置 CIDR。如果你没有看到 **Project CIDR** 字段,说明该区域已配置了 CIDR。
- > **注意:**
+ > **Note:**
>
- > - 当在此区域创建第一个集群时,TiDB Cloud 将使用此 CIDR 创建一个 VPC。同一项目在此区域的所有后续集群都将使用此 VPC。
- > - 设置 CIDR 时,避免与应用程序所在 VPC 的 CIDR 发生冲突。VPC 创建后无法修改 CIDR。
+ > - 当该区域的第一个集群创建时,TiDB Cloud 会使用该 CIDR 创建一个 VPC。该区域同一项目下的后续集群都会使用该 VPC。
+ > - 设置 CIDR 时,请避免与你应用所在 VPC 的 CIDR 冲突。VPC 创建后,CIDR 无法修改。
-4. 确认右侧的集群和计费信息。
+4. 在右侧确认集群和计费信息。
-5. 如果你尚未添加付款方式,请点击右下角的**添加信用卡**。
+5. 如果你还没有添加支付方式,请点击右下角的 **Add Credit Card**。
- > **注意:**
+ > **Note:**
>
- > 如果你通过 [AWS Marketplace](https://aws.amazon.com/marketplace)、[Azure Marketplace](https://azuremarketplace.microsoft.com) 或 [Google Cloud Marketplace](https://console.cloud.google.com/marketplace) 注册了 TiDB Cloud,你可以直接通过 AWS 账号、Azure 账号或 Google Cloud 账号付款,但无法在 TiDB Cloud 控制台中添加付款方式或下载发票。
+ > 如果你是通过 [AWS Marketplace](https://aws.amazon.com/marketplace)、[Azure Marketplace](https://azuremarketplace.microsoft.com) 或 [Google Cloud Marketplace](https://console.cloud.google.com/marketplace) 注册的 TiDB Cloud,可以直接通过 AWS 账号、Azure 账号或 Google Cloud 账号支付,但无法在 TiDB Cloud 控制台添加支付方式或下载发票。
-6. 点击**创建**。
+6. 点击 **Create**。
你的 TiDB Cloud 集群将在大约 20 到 30 分钟内创建完成。
@@ -85,12 +85,12 @@ summary: 了解如何创建 TiDB Cloud Dedicated 集群。
集群创建完成后,按照以下步骤设置 root 密码:
-1. 在集群概览页面的右上角,点击 **...** 并选择**密码设置**。
+1. 在集群概览页面右上角,点击 **...** 并选择 **Password Settings**。
-2. 设置连接集群的 root 密码,然后点击**保存**。
+2. 设置连接集群所需的 root 密码,然后点击 **Save**。
- 你可以点击**自动生成密码**生成随机密码。生成的密码不会再次显示,请将密码保存在安全的位置。
+ 你可以点击 **Auto-generate Password** 自动生成一个随机密码。生成的密码不会再次显示,请妥善保存你的密码。
-## 下一步
+## 后续操作
-在 TiDB Cloud 上创建集群后,你可以通过[连接到 TiDB Cloud Dedicated 集群](/tidb-cloud/connect-to-tidb-cluster.md)中提供的方法连接到集群。
+在 TiDB Cloud 上创建集群后,你可以通过 [Connect to Your TiDB Cloud Dedicated Cluster](/tidb-cloud/connect-to-tidb-cluster.md) 中提供的方法连接到你的集群。
\ No newline at end of file
diff --git a/tidb-cloud/data-service-get-started.md b/tidb-cloud/data-service-get-started.md
index 496c6ff7ed30f..303e7cd4cd84a 100644
--- a/tidb-cloud/data-service-get-started.md
+++ b/tidb-cloud/data-service-get-started.md
@@ -1,148 +1,148 @@
---
-title: 数据服务入门
-summary: 了解如何使用 TiDB Cloud 数据服务通过 HTTPS 请求访问数据。
+title: 快速入门 Data Service
+summary: 了解如何使用 TiDB Cloud Data Service 通过 HTTPS 请求访问你的数据。
---
-# 数据服务入门
+# 快速入门 Data Service
-数据服务(beta)使你能够通过自定义 API 端点使用 HTTPS 请求访问 TiDB Cloud 数据,让你可以无缝集成任何支持 HTTPS 的应用程序或服务。
+Data Service(测试版)使你能够通过自定义 API 端点使用 HTTPS 请求访问 TiDB Cloud 数据,并允许你无缝集成到任何兼容 HTTPS 的应用或服务中。
> **提示:**
>
-> TiDB Cloud 为 TiDB 集群提供 Chat2Query API。启用后,TiDB Cloud 将自动在数据服务中创建一个名为 **Chat2Query** 的系统数据应用和一个 Chat2Data 端点。你可以调用此端点,通过提供指令让 AI 生成并执行 SQL 语句。
+> TiDB Cloud 为 TiDB 集群提供了 Chat2Query API。启用后,TiDB Cloud 会自动在 Data Service 中创建一个名为 **Chat2Query** 的系统 Data App 以及一个 Chat2Data 端点。你可以调用该端点,通过提供指令让 AI 生成并执行 SQL 语句。
>
-> 更多信息,请参阅[Chat2Query API 入门](/tidb-cloud/use-chat2query-api.md)。
+> 更多信息,参见 [快速入门 Chat2Query API](/tidb-cloud/use-chat2query-api.md)。
-本文介绍如何通过创建数据应用、开发、测试、部署和调用端点,快速开始使用 TiDB Cloud 数据服务(beta)。数据应用是一组端点的集合,你可以使用这些端点访问特定应用程序的数据。
+本文档介绍如何通过创建 Data App、开发、测试、部署和调用端点,快速上手 TiDB Cloud Data Service(测试版)。Data App 是一组端点的集合,你可以用它来为特定应用访问数据。
## 开始之前
-在创建数据应用之前,请确保你已创建了一个 [TiDB Cloud Serverless](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless) 集群。如果你还没有,请按照[创建 TiDB Cloud Serverless 集群](/tidb-cloud/create-tidb-cluster-serverless.md)中的步骤创建一个。
+在创建 Data App 之前,请确保你已经创建了 [TiDB Cloud Serverless](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless) 集群。如果还没有,请按照 [创建 TiDB Cloud Serverless 集群](/tidb-cloud/create-tidb-cluster-serverless.md) 的步骤进行创建。
-## 从示例数据应用开始
+## 使用示例 Data App 快速入门
-创建示例数据应用是开始使用数据服务的最佳方式。如果你的项目还没有任何数据应用,可以按照**数据服务**页面上的屏幕说明创建一个示例数据应用,并使用此应用探索数据服务功能。
+创建一个示例 Data App 是快速上手 Data Service 的最佳方式。如果你的项目还没有任何 Data App,可以按照 **Data Service** 页面上的引导创建一个示例 Data App,并通过该 App 体验 Data Service 的功能。
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,点击左侧导航栏中的 **数据服务**。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com) 的左侧导航栏,点击 **Data Service**。
-2. 在**数据服务**页面,点击**创建示例数据应用**。将显示一个对话框。
+2. 在 **Data Service** 页面,点击 **Create Sample Data App**。会弹出一个对话框。
-3. 在对话框中,根据需要更新应用名称,选择你希望数据应用访问的集群,然后点击**创建**。
+3. 在对话框中,如有需要可修改 App 名称,选择你希望 Data App 访问的集群,然后点击 **Create**。
- 创建过程需要几秒钟。
+ 创建过程只需几秒钟。
> **注意:**
>
- > 如果你当前的项目中没有集群,可以在**链接数据源**下拉列表中点击**创建新集群**先创建一个。
+ > 如果当前项目下没有集群,可以在 **Link Data Sources** 下拉列表中点击 **Create New Cluster** 先创建一个集群。
-4. 示例数据应用自动创建后,你可以在左侧窗格中看到应用名称和端点列表,中间窗格中显示端点的 SQL 语句,右侧显示使用示例数据应用的说明。
+4. 示例 Data App 自动创建完成后,你可以在左侧看到 App 名称和端点列表,在中间看到某个端点的 SQL 语句,在右侧看到关于如何使用示例 Data App 的说明。
-5. 按照右侧的说明选择一个端点并使用 curl 命令调用该端点。
+5. 按照右侧的说明,选择一个端点并使用 curl 命令调用该端点。
-## 从你自己的数据应用开始
+## 使用自定义 Data App 快速入门
-要开始使用数据服务,你也可以创建自己的数据应用,然后按照以下步骤开发、测试、部署和调用端点。
+你也可以通过创建自己的 Data App,并按照以下步骤开发、测试、部署和调用端点,快速上手 Data Service。
-### 步骤 1. 创建数据应用
+### 步骤 1. 创建 Data App
-要创建数据应用,请执行以下步骤:
+要创建 Data App,请执行以下步骤:
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,点击左侧导航栏中的 **数据服务**。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com) 的左侧导航栏,点击 **Data Service**。
-2. 在项目的[**数据服务**](https://tidbcloud.com/project/data-service)页面,点击左侧窗格中的 **创建数据应用**。
+2. 在项目的 [**Data Service**](https://tidbcloud.com/project/data-service) 页面左侧,点击 **Create DataApp**。
> **提示:**
>
- > 如果这是你项目中的第一个数据应用,请点击页面中间的**创建数据应用**。
+ > 如果这是你项目中的第一个 Data App,请在页面中间点击 **Create Data App**。
-3. 在**创建数据应用**对话框中,输入名称、描述,并选择你希望数据应用访问的集群。
+3. 在 **Create Data App** 对话框中,输入名称、描述,并选择你希望 Data App 访问的集群。
> **注意:**
>
- > 默认情况下,数据应用类型为**标准数据应用**。如果你想创建 **Chat2Query 数据应用**,请参考 [Chat2Query API 入门](/tidb-cloud/use-chat2query-api.md)而不是本文档。
+ > 默认情况下,Data App 类型为 **Standard Data App**。如果你想创建 **Chat2Query Data App**,请参考 [快速入门 Chat2Query API](/tidb-cloud/use-chat2query-api.md),而不是本文档。
-4. (可选)要自动将数据应用的端点部署到你首选的 GitHub 仓库和分支,请启用**连接到 GitHub**,然后执行以下操作:
+4. (可选)如需将 Data App 的端点自动部署到你指定的 GitHub 仓库和分支,请启用 **Connect to GitHub**,然后执行以下操作:
- 1. 点击**在 GitHub 上安装**,然后按照屏幕说明在目标仓库上安装 **TiDB Cloud Data Service** 应用。
- 2. 返回 TiDB Cloud 控制台,然后点击**授权**以授权访问 GitHub 上的应用。
- 3. 指定要保存数据应用配置文件的目标仓库、分支和目录。
+ 1. 点击 **Install on GitHub**,并按照页面指引将 **TiDB Cloud Data Service** 作为应用安装到目标仓库。
+ 2. 返回 TiDB Cloud 控制台,点击 **Authorize** 授权 GitHub 上的应用访问权限。
+ 3. 指定你希望保存 Data App 配置文件的目标仓库、分支和目录。
> **注意:**
>
- > - 目录必须以斜杠 (`/`) 开头。例如,`/mydata`。如果你指定的目录在目标仓库和分支中不存在,将自动创建。
- > - 仓库、分支和目录的组合标识了配置文件的路径,在数据应用中必须是唯一的。如果你指定的路径已被另一个数据应用使用,你需要指定一个新路径。否则,当前数据应用在 TiDB Cloud 控制台中配置的端点将覆盖你指定路径中的文件。
+ > - 目录必须以斜杠(`/`)开头。例如,`/mydata`。如果你指定的目录在目标仓库和分支下不存在,会自动创建。
+ > - 仓库、分支和目录的组合唯一标识配置文件路径,在所有 Data App 中必须唯一。如果你指定的路径已被其他 Data App 使用,需要重新指定路径。否则,在 TiDB Cloud 控制台为当前 Data App 配置的端点会覆盖你指定路径下的文件。
-5. 点击**创建数据应用**。将显示[**数据服务**](https://tidbcloud.com/project/data-service)详情页面。
+5. 点击 **Create Data App**。会显示 [**Data Service**](https://tidbcloud.com/project/data-service) 详情页。
-6. 如果你已配置将数据应用连接到 GitHub,请检查你指定的 GitHub 目录。你会发现[数据应用配置文件](/tidb-cloud/data-service-app-config-files.md)已由 `tidb-cloud-data-service` 提交到该目录,这意味着你的数据应用已成功连接到 GitHub。
+6. 如果你已配置将 Data App 连接到 GitHub,请检查你指定的 GitHub 目录。你会发现 [Data App 配置文件](/tidb-cloud/data-service-app-config-files.md) 已由 `tidb-cloud-data-service` 提交到该目录,说明 Data App 已成功连接到 GitHub。
- 对于你的新数据应用,默认启用了**自动同步和部署**和**审核草稿**,这样你就可以轻松地在 TiDB Cloud 控制台和 GitHub 之间同步数据应用更改,并在部署前审核更改。有关 GitHub 集成的更多信息,请参阅[使用 GitHub 自动部署数据应用更改](/tidb-cloud/data-service-manage-github-connection.md)。
+ 对于新建的 Data App,**Auto Sync & Deployment** 和 **Review Draft** 默认开启,你可以方便地在 TiDB Cloud 控制台和 GitHub 之间同步 Data App 变更,并在部署前审查变更。关于 GitHub 集成的更多信息,参见 [通过 GitHub 自动部署 Data App 变更](/tidb-cloud/data-service-manage-github-connection.md)。
### 步骤 2. 开发端点
-端点是一个可以自定义执行 SQL 语句的 Web API。
+端点是你可以自定义以执行 SQL 语句的 Web API。
-要创建新端点,找到新创建的数据应用,然后点击应用名称右侧的 **+** **创建端点**。
+要创建新端点,定位到新建的 Data App,点击 App 名称右侧的 **+** **Create Endpoint**。
#### 配置属性
-在右侧窗格中,点击**属性**选项卡并为端点设置属性,例如:
+在右侧面板点击 **Properties** 标签页,为端点设置属性,例如:
-- **路径**:用户访问端点的路径。请求方法和路径的组合在数据应用中必须是唯一的。
+- **Path**:用户访问端点时使用的路径。请求方法和路径的组合在同一个 Data App 内必须唯一。
-- **端点 URL**:(只读)URL 根据相应集群所在的区域、数据应用的服务 URL 和端点的路径自动生成。例如,如果端点的路径是 `/my_endpoint/get_id`,则端点 URL 为 `https://.data.tidbcloud.com/api/v1beta/app//endpoint/my_endpoint/get_id`。
+- **Endpoint URL**:(只读)URL 会根据对应集群所在区域、Data App 的服务 URL 以及端点路径自动生成。例如,如果端点路径为 `/my_endpoint/get_id`,则端点 URL 为 `https://.data.tidbcloud.com/api/v1beta/app//endpoint/my_endpoint/get_id`。
-- **请求方法**:端点的 HTTP 方法。你可以使用 `GET` 检索数据,使用 `POST` 创建或插入数据,使用 `PUT` 更新或修改数据,使用 `DELETE` 删除数据。
+- **Request Method**:端点的 HTTP 方法。你可以使用 `GET` 获取数据,使用 `POST` 创建或插入数据,使用 `PUT` 更新或修改数据,使用 `DELETE` 删除数据。
-有关端点属性的更多信息,请参阅[配置属性](/tidb-cloud/data-service-manage-endpoint.md#configure-properties)。
+关于端点属性的更多信息,参见 [配置属性](/tidb-cloud/data-service-manage-endpoint.md#configure-properties)。
#### 编写 SQL 语句
-你可以在 SQL 编辑器(即页面中间的窗格)中为端点自定义 SQL 语句。
+你可以在 **Data Service** 页中间的 SQL 编辑器自定义端点的 SQL 语句。
1. 选择集群。
> **注意:**
>
- > 下拉列表中只显示链接到数据应用的集群。要管理链接的集群,请参阅[管理链接的集群](/tidb-cloud/data-service-manage-data-app.md#manage-linked-data-sources)。
+ > 只有已关联到 Data App 的集群会显示在下拉列表中。要管理已关联的集群,参见 [管理已关联集群](/tidb-cloud/data-service-manage-data-app.md#manage-linked-data-sources)。
- 在 SQL 编辑器的上部,从下拉列表中选择要执行 SQL 语句的集群。然后,你可以在右侧窗格的**架构**选项卡中查看此集群的所有数据库。
+ 在 SQL 编辑器上方,从下拉列表中选择你希望执行 SQL 语句的集群。然后,你可以在右侧面板的 **Schema** 标签页查看该集群的所有数据库。
2. 编写 SQL 语句。
- 在查询或修改数据之前,你需要先在 SQL 语句中指定数据库。例如,`USE database_name;`。
+ 在查询或修改数据前,需要在 SQL 语句中先指定数据库。例如,`USE database_name;`。
- 在 SQL 编辑器中,你可以编写表连接查询、复杂查询和聚合函数等语句。你也可以简单地输入 `--` 后跟你的指令,让 AI 自动生成 SQL 语句。
+ 在 SQL 编辑器中,你可以编写表连接查询、复杂查询、聚合函数等语句。你也可以直接输入 `--` 加上你的指令,让 AI 自动生成 SQL 语句。
> **注意:**
>
- > 要尝试 TiDB Cloud 的 AI 功能,你需要允许 PingCAP 和 Amazon Bedrock 使用你的代码片段进行研究和服务改进。更多信息,请参阅[启用或禁用 AI 生成 SQL 查询](/tidb-cloud/explore-data-with-chat2query.md#enable-or-disable-ai-to-generate-sql-queries)。
+ > 如需体验 TiDB Cloud 的 AI 能力,你需要允许 PingCAP 和 Amazon Bedrock 使用你的代码片段进行研究和服务改进。更多信息,参见 [启用或禁用 AI 生成 SQL 查询](/tidb-cloud/explore-data-with-chat2query.md#enable-or-disable-ai-to-generate-sql-queries)。
- 要定义参数,你可以在 SQL 语句中插入变量占位符,如 `${ID}`。例如,`SELECT * FROM table_name WHERE id = ${ID}`。然后,你可以点击右侧窗格的**参数**选项卡来更改参数定义和测试值。
+ 如需定义参数,可以在 SQL 语句中以变量占位符的形式插入,例如 `${ID}`。例如,`SELECT * FROM table_name WHERE id = ${ID}`。然后,你可以点击右侧面板的 **Params** 标签页修改参数定义和测试值。
> **注意:**
>
- > - 参数名称区分大小写。
+ > - 参数名区分大小写。
> - 参数不能用作表名或列名。
- - 在**定义**部分,你可以指定客户端调用端点时是否需要参数、数据类型和参数的默认值。
- - 在**测试值**部分,你可以为参数设置测试值。测试值在运行 SQL 语句或测试端点时使用。如果你没有设置测试值,将使用默认值。
- - 更多信息,请参阅[配置参数](/tidb-cloud/data-service-manage-endpoint.md#configure-parameters)。
+ - 在 **Definition** 部分,你可以指定客户端调用端点时参数是否必填、数据类型和默认值。
+ - 在 **Test Values** 部分,你可以为参数设置测试值。测试值用于运行 SQL 语句或测试端点时。如果未设置测试值,则使用默认值。
+ - 更多信息,参见 [配置参数](/tidb-cloud/data-service-manage-endpoint.md#configure-parameters)。
3. 运行 SQL 语句。
- 如果你在 SQL 语句中插入了参数,请确保你已在右侧窗格的**参数**选项卡中设置了测试值或默认值。否则,将返回错误。
+ 如果 SQL 语句中包含参数,请确保你已在右侧 **Params** 标签页为参数设置了测试值或默认值,否则会返回错误。
对于 macOS:
- - 如果编辑器中只有一条语句,要运行它,请按 **⌘ + Enter** 或点击
**运行**。
+ - 如果编辑器中只有一条语句,按 **⌘ + Enter** 或点击
**Run** 运行。
- - 如果编辑器中有多条语句,要按顺序运行其中一条或几条语句,请将光标放在目标语句上或用光标选择目标语句的行,然后按 **⌘ + Enter** 或点击**运行**。
+ - 如果编辑器中有多条语句,要顺序运行其中一条或多条,将光标放在目标语句上或选中目标语句的行,然后按 **⌘ + Enter** 或点击 **Run**。
- - 要按顺序运行编辑器中的所有语句,请按 **⇧ + ⌘ + Enter**,或用光标选择所有语句的行并点击**运行**。
+ - 要顺序运行编辑器中的所有语句,按 **⇧ + ⌘ + Enter**,或用光标选中所有语句的行后点击 **Run**。
@@ -150,77 +150,77 @@ summary: 了解如何使用 TiDB Cloud 数据服务通过 HTTPS 请求访问数
对于 Windows 或 Linux:
- - 如果编辑器中只有一条语句,要运行它,请按 **Ctrl + Enter** 或点击 **运行**。
+ - 如果编辑器中只有一条语句,按 **Ctrl + Enter** 或点击 **Run** 运行。
- - 如果编辑器中有多条语句,要按顺序运行其中一条或几条语句,请将光标放在目标语句上或用光标选择目标语句的行,然后按 **Ctrl + Enter** 或点击**运行**。
+ - 如果编辑器中有多条语句,要顺序运行其中一条或多条,将光标放在目标语句上或选中目标语句的行,然后按 **Ctrl + Enter** 或点击 **Run**。
- - 要按顺序运行编辑器中的所有语句,请按 **Shift + Ctrl + Enter**,或用光标选择所有语句的行并点击**运行**。
+ - 要顺序运行编辑器中的所有语句,按 **Shift + Ctrl + Enter**,或用光标选中所有语句的行后点击 **Run**。
- 运行语句后,你可以在页面底部的**结果**选项卡中立即看到查询结果。
+ 运行语句后,你可以在页面底部的 **Result** 标签页立即看到查询结果。
### 步骤 3. 测试端点(可选)
-配置端点后,你可以在部署之前测试端点,以验证它是否按预期工作。
+配置端点后,你可以先测试端点,验证其是否按预期工作,再进行部署。
-要测试端点,请点击右上角的**测试**或按 **F5**。
+要测试端点,点击右上角的 **Test** 或按 **F5**。
-然后,你可以在页面底部的 **HTTP 响应**选项卡中看到响应。有关响应的更多信息,请参阅[端点的响应](/tidb-cloud/data-service-manage-endpoint.md#response)。
+然后,你可以在页面底部的 **HTTP Response** 标签页看到响应。关于响应的更多信息,参见 [端点的响应](/tidb-cloud/data-service-manage-endpoint.md#response)。
### 步骤 4. 部署端点
要部署端点,请执行以下步骤:
-1. 在端点详情页面,点击右上角的**部署**。
+1. 在端点详情页,点击右上角的 **Deploy**。
-2. 点击**部署**确认部署。如果端点成功部署,你将看到**端点已部署**的提示。
+2. 点击 **Deploy** 确认部署。如果端点部署成功,会提示 **Endpoint has been deployed**。
- 要查看部署历史记录,你可以点击左侧窗格中的数据应用名称,然后点击右侧窗格中的**部署**选项卡。
+ 如需查看部署历史,可以点击左侧 Data App 名称,再点击右侧的 **Deployments** 标签页。
### 步骤 5. 调用端点
-你可以通过发送 HTTPS 请求来调用端点。在调用端点之前,你需要先获取数据应用的 API 密钥。
+你可以通过发送 HTTPS 请求调用端点。在调用端点前,需要先为 Data App 获取 API key。
-#### 1. 创建 API 密钥
+#### 1. 创建 API key
-1. 在[**数据服务**](https://tidbcloud.com/project/data-service)页面的左侧窗格中,点击数据应用的名称以查看其详情。
-2. 在**身份验证**区域,点击**创建 API 密钥**。
-3. 在**创建 API 密钥**对话框中,执行以下操作:
+1. 在 [**Data Service**](https://tidbcloud.com/project/data-service) 页左侧,点击你的 Data App 名称查看详情。
+2. 在 **Authentication** 区域,点击 **Create API Key**。
+3. 在 **Create API Key** 对话框中,执行以下操作:
- 1. (可选)为你的 API 密钥输入描述。
- 2. 为你的 API 密钥选择角色。
+ 1. (可选)为 API key 输入描述。
+ 2. 选择 API key 的角色。
- 角色用于控制 API 密钥是否可以读取或写入链接到数据应用的集群数据。你可以选择 `ReadOnly` 或 `ReadAndWrite` 角色:
+ 角色用于控制 API key 是否可以对 Data App 关联的集群进行读写。你可以选择 `ReadOnly` 或 `ReadAndWrite` 角色:
- - `ReadOnly`:仅允许 API 密钥读取数据,如 `SELECT`、`SHOW`、`USE`、`DESC` 和 `EXPLAIN` 语句。
- - `ReadAndWrite`:允许 API 密钥读取和写入数据。你可以使用此 API 密钥执行所有 SQL 语句,如 DML 和 DDL 语句。
+ - `ReadOnly`:只允许 API key 读取数据,如 `SELECT`、`SHOW`、`USE`、`DESC` 和 `EXPLAIN` 语句。
+ - `ReadAndWrite`:允许 API key 读写数据。你可以用该 API key 执行所有 SQL 语句,如 DML 和 DDL 语句。
- 3. (可选)为你的 API 密钥设置所需的速率限制。
+ 3. (可选)为 API key 设置期望的速率限制。
-4. 点击**下一步**。将显示公钥和私钥。
+4. 点击 **Next**。会显示公钥和私钥。
- 确保你已将私钥复制并保存在安全的位置。离开此页面后,你将无法再次获取完整的私钥。
+ 请务必将私钥复制并妥善保存。离开此页面后,将无法再次获取完整私钥。
-5. 点击**完成**。
+5. 点击 **Done**。
-有关 API 密钥的更多信息,请参阅[数据服务中的 API 密钥](/tidb-cloud/data-service-api-key.md)。
+关于 API key 的更多信息,参见 [Data Service 中的 API Key](/tidb-cloud/data-service-api-key.md)。
#### 2. 获取代码示例
-TiDB Cloud 生成代码示例以帮助你调用端点。要获取代码示例,请执行以下步骤:
+TiDB Cloud 会生成代码示例,帮助你调用端点。要获取代码示例,请执行以下步骤:
-1. 在[**数据服务**](https://tidbcloud.com/project/data-service)页面的左侧窗格中,点击端点的名称,然后点击右上角的 **...** > **代码示例**。将显示**代码示例**对话框。
+1. 在 [**Data Service**](https://tidbcloud.com/project/data-service) 页左侧,点击你的端点名称,然后点击右上角 **...** > **Code Example**。会弹出 **Code Example** 对话框。
-2. 在对话框中,选择要用于调用端点的集群和数据库,然后复制代码示例。
+2. 在对话框中,选择你希望用于调用端点的集群和数据库,然后复制代码示例。
- 以下是 curl 代码示例:
+ curl 代码示例如下:
-
+
- 要调用端点的草稿版本,你需要添加 `endpoint-type: draft` 头:
+ 如需调用端点的草稿版本,需要添加 `endpoint-type: draft` 头:
```bash
curl --digest --user '
:' \
@@ -230,11 +230,11 @@ TiDB Cloud 生成代码示例以帮助你调用端点。要获取代码示例,
-
+
- 在检查线上环境的代码示例之前,你必须先部署端点。
+ 你必须先部署端点,才能在在线环境下查看代码示例。
- 要调用端点的当前线上版本,请使用以下命令:
+ 如需调用端点的当前在线版本,使用如下命令:
```bash
curl --digest --user '
:' \
@@ -247,16 +247,16 @@ TiDB Cloud 生成代码示例以帮助你调用端点。要获取代码示例,
> **注意:**
>
> - 通过请求区域域名 `.data.tidbcloud.com`,你可以直接访问 TiDB 集群所在区域的端点。
- > - 或者,你也可以请求全局域名 `data.tidbcloud.com` 而不指定区域。这样,TiDB Cloud 将在内部将请求重定向到目标区域,但这可能会导致额外的延迟。如果你选择这种方式,请确保在调用端点时在 curl 命令中添加 `--location-trusted` 选项。
+ > - 你也可以不指定区域,直接请求全局域名 `data.tidbcloud.com`。此时,TiDB Cloud 会在内部将请求重定向到目标区域,但可能会带来额外延迟。如果选择这种方式,调用端点时请确保在 curl 命令中添加 `--location-trusted` 选项。
#### 3. 使用代码示例
-将代码示例粘贴到你的应用程序中并运行。然后,你可以获取端点的响应。
+将代码示例粘贴到你的应用中并运行,即可获取端点响应。
-- 你需要将 `` 和 `` 占位符替换为你的 API 密钥。
-- 如果端点包含参数,请在调用端点时指定参数值。
+- 你需要将 `` 和 `` 占位符替换为你的 API key。
+- 如果端点包含参数,调用端点时请指定参数值。
-调用端点后,你可以看到 JSON 格式的响应。以下是一个示例:
+调用端点后,你可以看到 JSON 格式的响应。例如:
```json
{
@@ -294,11 +294,11 @@ TiDB Cloud 生成代码示例以帮助你调用端点。要获取代码示例,
}
```
-有关响应的更多信息,请参阅[端点的响应](/tidb-cloud/data-service-manage-endpoint.md#response)。
+关于响应的更多信息,参见 [端点的响应](/tidb-cloud/data-service-manage-endpoint.md#response)。
## 了解更多
-- [数据服务概述](/tidb-cloud/data-service-overview.md)
-- [Chat2Query API 入门](/tidb-cloud/use-chat2query-api.md)
-- [管理数据应用](/tidb-cloud/data-service-manage-data-app.md)
+- [Data Service 概览](/tidb-cloud/data-service-overview.md)
+- [快速入门 Chat2Query API](/tidb-cloud/use-chat2query-api.md)
+- [管理 Data App](/tidb-cloud/data-service-manage-data-app.md)
- [管理端点](/tidb-cloud/data-service-manage-endpoint.md)
diff --git a/tidb-cloud/data-service-oas-with-nextjs.md b/tidb-cloud/data-service-oas-with-nextjs.md
index ed94f22514275..93112b053294b 100644
--- a/tidb-cloud/data-service-oas-with-nextjs.md
+++ b/tidb-cloud/data-service-oas-with-nextjs.md
@@ -1,17 +1,17 @@
---
-title: 将数据应用的 OpenAPI 规范与 Next.js 一起使用
-summary: 了解如何使用数据应用的 OpenAPI 规范生成客户端代码并开发 Next.js 应用程序。
+title: 在 Next.js 中使用 Data App 的 OpenAPI 规范
+summary: 学习如何使用 Data App 的 OpenAPI 规范生成客户端代码并开发 Next.js 应用。
---
-# 将数据应用的 OpenAPI 规范与 Next.js 一起使用
+# 在 Next.js 中使用 Data App 的 OpenAPI 规范
-本文介绍如何使用[数据应用](/tidb-cloud/tidb-cloud-glossary.md#data-app)的 OpenAPI 规范生成客户端代码并开发 Next.js 应用程序。
+本文介绍如何使用 [Data App](/tidb-cloud/tidb-cloud-glossary.md#data-app) 的 OpenAPI 规范生成客户端代码,并开发 Next.js 应用。
## 开始之前
-在将 OpenAPI 规范与 Next.js 一起使用之前,请确保你具有以下条件:
+在将 OpenAPI 规范与 Next.js 配合使用之前,请确保你已具备以下条件:
-- 一个 TiDB 集群。更多信息,请参见[创建 TiDB Cloud Serverless 集群](/tidb-cloud/create-tidb-cluster-serverless.md)或[创建 TiDB Cloud Dedicated 集群](/tidb-cloud/create-tidb-cluster.md)。
+- 一个 TiDB 集群。更多信息,参见 [创建 TiDB Cloud Serverless 集群](/tidb-cloud/create-tidb-cluster-serverless.md) 或 [创建 TiDB Cloud Dedicated 集群](/tidb-cloud/create-tidb-cluster.md)。
- [Node.js](https://nodejs.org/en/download)
- [npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
- [yarn](https://yarnpkg.com/getting-started/install)
@@ -20,9 +20,9 @@ summary: 了解如何使用数据应用的 OpenAPI 规范生成客户端代码
## 步骤 1. 准备数据
-首先,在你的 TiDB 集群中创建一个 `test.repository` 表并向其中插入一些示例数据。以下示例插入一些由 PingCAP 开发的开源项目作为演示数据。
+首先,在你的 TiDB 集群中创建表 `test.repository`,并插入一些示例数据。以下示例插入了由 PingCAP 开发的一些开源项目,作为演示数据。
-要执行 SQL 语句,你可以使用 [TiDB Cloud 控制台](https://tidbcloud.com)中的 [SQL 编辑器](/tidb-cloud/explore-data-with-chat2query.md)。
+你可以在 [TiDB Cloud 控制台](https://tidbcloud.com)的 [SQL 编辑器](/tidb-cloud/explore-data-with-chat2query.md)中执行这些 SQL 语句。
```sql
-- 选择数据库
@@ -43,23 +43,23 @@ VALUES ('tidb', 'https://github.com/pingcap/tidb'),
('tiflash', 'https://github.com/pingcap/tiflash');
```
-## 步骤 2. 创建数据应用
+## 步骤 2. 创建 Data App
-插入数据后,在 [TiDB Cloud 控制台](https://tidbcloud.com)中导航到[**数据服务**](https://tidbcloud.com/project/data-service)页面。创建一个链接到你的 TiDB 集群的数据应用,为该数据应用创建一个 API 密钥,然后在数据应用中创建一个 `GET /repositories` 端点。此端点的对应 SQL 语句如下,它从 `test.repository` 表中获取所有行:
+数据插入完成后,前往 [TiDB Cloud 控制台](https://tidbcloud.com)的 [**Data Service**](https://tidbcloud.com/project/data-service) 页面。创建一个关联到你的 TiDB 集群的 Data App,为该 Data App 创建一个 API key,然后在 Data App 中创建一个 `GET /repositories` 的 endpoint。该 endpoint 对应的 SQL 语句如下,用于查询 `test.repository` 表中的所有行:
```sql
SELECT * FROM test.repository;
```
-更多信息,请参见[开始使用数据服务](/tidb-cloud/data-service-get-started.md)。
+更多信息,参见 [快速开始使用 Data Service](/tidb-cloud/data-service-get-started.md)。
## 步骤 3. 生成客户端代码
-以下以 Next.js 为例,演示如何使用数据应用的 OpenAPI 规范生成客户端代码。
+以下以 Next.js 为例,演示如何使用 Data App 的 OpenAPI 规范生成客户端代码。
-1. 创建一个名为 `hello-repos` 的 Next.js 项目。
+1. 创建名为 `hello-repos` 的 Next.js 项目。
- 要使用官方模板创建 Next.js 项目,请使用以下命令,并在提示时保持所有默认选项:
+ 要使用官方模板创建 Next.js 项目,请执行以下命令,并在提示时保持所有默认选项:
```shell
yarn create next-app hello-repos
@@ -73,21 +73,21 @@ SELECT * FROM test.repository;
2. 安装依赖。
- 本文使用 [OpenAPI Generator](https://github.com/OpenAPITools/openapi-generator) 从 OpenAPI 规范自动生成 API 客户端库。
+ 本文使用 [OpenAPI Generator](https://github.com/OpenAPITools/openapi-generator) 根据 OpenAPI 规范自动生成 API 客户端库。
- 要将 OpenAPI Generator 安装为开发依赖项,请运行以下命令:
+ 通过以下命令将 OpenAPI Generator 作为开发依赖安装:
```shell
yarn add @openapitools/openapi-generator-cli --dev
```
-3. 下载 OpenAPI 规范并将其保存为 `oas/doc.json`。
+3. 下载 OpenAPI 规范并保存为 `oas/doc.json`。
- 1. 在 TiDB Cloud [**数据服务**](https://tidbcloud.com/project/data-service)页面,点击左侧窗格中的数据应用名称以查看应用设置。
- 2. 在 **API 规范**区域,点击**下载**,选择 JSON 格式,如果出现提示,点击**授权**。
- 3. 将下载的文件保存为 `hello-repos` 项目目录中的 `oas/doc.json`。
+ 1. 在 TiDB Cloud [**Data Service**](https://tidbcloud.com/project/data-service) 页面,点击左侧面板中的 Data App 名称,进入 App 设置页面。
+ 2. 在 **API Specification** 区域,点击 **Download**,选择 JSON 格式,如有提示点击 **Authorize**。
+ 3. 将下载的文件保存为 `hello-repos` 项目目录下的 `oas/doc.json`。
- 更多信息,请参见[下载 OpenAPI 规范](/tidb-cloud/data-service-manage-data-app.md#下载-openapi-规范)。
+ 更多信息,参见 [下载 OpenAPI 规范](/tidb-cloud/data-service-manage-data-app.md#download-the-openapi-specification)。
`oas/doc.json` 文件的结构如下:
@@ -139,22 +139,22 @@ SELECT * FROM test.repository;
yarn run openapi-generator-cli generate -i oas/doc.json --generator-name typescript-fetch -o gen/api
```
- 此命令使用 `oas/doc.json` 规范作为输入生成客户端代码,并将客户端代码输出到 `gen/api` 目录。
+ 该命令以 `oas/doc.json` 规范为输入,生成客户端代码并输出到 `gen/api` 目录。
-## 步骤 4. 开发你的 Next.js 应用程序
+## 步骤 4. 开发你的 Next.js 应用
-你可以使用生成的客户端代码开发你的 Next.js 应用程序。
+你可以使用生成的客户端代码开发 Next.js 应用。
-1. 在 `hello-repos` 项目目录中,创建一个包含以下变量的 `.env.local` 文件,然后将变量值设置为你的数据应用的公钥和私钥。
+1. 在 `hello-repos` 项目目录下,创建 `.env.local` 文件,并添加以下变量,然后将变量值设置为你的 Data App 的 public key 和 private key。
```
TIDBCLOUD_DATA_SERVICE_PUBLIC_KEY=YOUR_PUBLIC_KEY
TIDBCLOUD_DATA_SERVICE_PRIVATE_KEY=YOUR_PRIVATE_KEY
```
- 要为数据应用创建 API 密钥,请参见[创建 API 密钥](/tidb-cloud/data-service-api-key.md#创建-api-密钥)。
+ 有关如何为 Data App 创建 API key,参见 [创建 API key](/tidb-cloud/data-service-api-key.md#create-an-api-key)。
-2. 在 `hello-repos` 项目目录中,用以下代码替换 `app/page.tsx` 的内容,该代码从 `GET /repositories` 端点获取数据并渲染它:
+2. 在 `hello-repos` 项目目录下,将 `app/page.tsx` 的内容替换为以下代码,该代码会从 `GET /repositories` endpoint 获取数据并进行渲染:
```js
import {DefaultApi, Configuration} from "../gen/api"
@@ -182,7 +182,7 @@ SELECT * FROM test.repository;
> **注意:**
>
- > 如果你的数据应用链接的集群位于不同的区域,你将在下载的 OpenAPI 规范文件的 `servers` 部分看到多个项目。在这种情况下,你还需要在 `config` 对象中配置端点路径,如下所示:
+ > 如果你的 Data App 关联的集群分布在不同区域,你会在下载的 OpenAPI 规范文件的 `servers` 部分看到多个项。此时,你还需要在 `config` 对象中配置 endpoint 路径,如下所示:
>
> ```js
> const config = new Configuration({
@@ -192,18 +192,18 @@ SELECT * FROM test.repository;
> });
> ```
>
- > 确保将 `basePath` 替换为你的数据应用的实际端点路径。要获取 `${YOUR_REGION}` 和 `{YOUR_DATA_APP_ID}`,请查看端点**属性**面板中的**端点 URL**。
+ > 请确保将 `basePath` 替换为你的 Data App 实际的 endpoint 路径。要获取 `${YOUR_REGION}` 和 `{YOUR_DATA_APP_ID}`,请在 endpoint 的 **Properties** 面板中查看 **Endpoint URL**。
-## 步骤 5. 预览你的 Next.js 应用程序
+## 步骤 5. 预览你的 Next.js 应用
> **注意:**
>
-> 在预览之前,请确保已安装并正确配置所有必需的依赖项。
+> 在预览前,请确保所有必需的依赖已安装并正确配置。
-要在本地开发服务器中预览你的应用程序,请运行以下命令:
+要在本地开发服务器中预览你的应用,请运行以下命令:
```shell
yarn dev
```
-然后,你可以在浏览器中打开 [http://localhost:3000](http://localhost:3000),看到从 `test.repository` 数据库显示的数据。
+然后你可以在浏览器中打开 [http://localhost:3000](http://localhost:3000),即可在页面上看到 `test.repository` 数据库中的数据。
\ No newline at end of file
diff --git a/tidb-cloud/dedicated-external-storage.md b/tidb-cloud/dedicated-external-storage.md
index cabece64dfcd4..2370da0f4d8d9 100644
--- a/tidb-cloud/dedicated-external-storage.md
+++ b/tidb-cloud/dedicated-external-storage.md
@@ -1,57 +1,57 @@
---
-title: 为 TiDB Cloud Dedicated 配置外部存储访问
-summary: 了解如何配置 Amazon Simple Storage Service (Amazon S3)、Google Cloud Storage (GCS) 和 Azure Blob Storage 访问。
+title: 为 TiDB Cloud 专属集群配置外部存储访问
+summary: 了解如何配置 Amazon Simple Storage Service (Amazon S3)、Google Cloud Storage (GCS) 和 Azure Blob Storage 的访问权限。
aliases: ['/tidb-cloud/config-s3-and-gcs-access']
---
-# 为 TiDB Cloud Dedicated 配置外部存储访问
+# 为 TiDB Cloud 专属集群配置外部存储访问
-如果你的源数据存储在 Amazon S3 存储桶、Azure Blob Storage 容器或 Google Cloud Storage (GCS) 存储桶中,在将数据导入或迁移到 TiDB Cloud 之前,你需要配置对这些存储桶的跨账户访问。本文档介绍如何为 TiDB Cloud Dedicated 集群进行此配置。
+如果你的源数据存储在 Amazon S3 存储桶、Azure Blob Storage 容器或 Google Cloud Storage (GCS) 存储桶中,在将数据导入或迁移到 TiDB Cloud 之前,你需要为存储桶配置跨账号访问权限。本文档介绍了如何为 TiDB Cloud 专属集群进行相关配置。
-如果你需要为 TiDB Cloud Serverless 集群配置这些外部存储,请参阅[为 TiDB Cloud Serverless 配置外部存储访问](/tidb-cloud/serverless-external-storage.md)。
+如果你需要为 TiDB Cloud Serverless 集群配置这些外部存储,请参见 [为 TiDB Cloud Serverless 配置外部存储访问](/tidb-cloud/serverless-external-storage.md)。
-## 配置 Amazon S3 访问
+## 配置 Amazon S3 访问权限
-要允许 TiDB Cloud Dedicated 集群访问你的 Amazon S3 存储桶中的源数据,可以使用以下任一方法为集群配置存储桶访问:
+要允许 TiDB Cloud 专属集群访问你 Amazon S3 存储桶中的源数据,可以通过以下任一方式为集群配置存储桶访问权限:
-- [使用 Role ARN](#使用-role-arn-配置-amazon-s3-访问)(推荐):使用 Role ARN 访问你的 Amazon S3 存储桶。
-- [使用 AWS 访问密钥](#使用-aws-访问密钥配置-amazon-s3-访问):使用 IAM 用户的访问密钥访问你的 Amazon S3 存储桶。
+- [使用 Role ARN](#configure-amazon-s3-access-using-a-role-arn)(推荐):使用 Role ARN 访问你的 Amazon S3 存储桶。
+- [使用 AWS 访问密钥](#configure-amazon-s3-access-using-an-aws-access-key):使用 IAM 用户的访问密钥访问你的 Amazon S3 存储桶。
-### 使用 Role ARN 配置 Amazon S3 访问
+### 使用 Role ARN 配置 Amazon S3 访问权限
-按照以下步骤为 TiDB Cloud 配置存储桶访问并获取 Role ARN:
+按照以下步骤为 TiDB Cloud 配置存储桶访问权限并获取 Role ARN:
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com/)中,获取目标 TiDB 集群对应的 TiDB Cloud 账户 ID 和外部 ID。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com/)中,获取目标 TiDB 集群对应的 TiDB Cloud 账号 ID 和 External ID。
- 1. 导航到项目的[**集群**](https://tidbcloud.com/project/clusters)页面。
+ 1. 进入你项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
- > **提示:**
+ > **Tip:**
>
- > 你可以使用左上角的组合框在组织、项目和集群之间切换。
+ > 你可以使用左上角的下拉框在组织、项目和集群之间切换。
- 2. 点击目标集群的名称进入其概览页面,然后在左侧导航栏中点击**数据** > **导入**。
+ 2. 点击目标集群名称进入其概览页面,然后在左侧导航栏点击 **Data** > **Import**。
- 3. 选择**从云存储导入数据**,然后点击 **Amazon S3**。
+ 3. 选择 **Import data from Cloud Storage**,然后点击 **Amazon S3**。
- 4. 在**从 Amazon S3 导入数据**页面,点击 **Role ARN** 下的链接。此时会显示**添加新的 Role ARN** 对话框。
+ 4. 在 **Import Data from Amazon S3** 页面,点击 **Role ARN** 下方的链接。此时会弹出 **Add New Role ARN** 对话框。
- 5. 展开**手动创建 Role ARN**以获取 TiDB Cloud 账户 ID 和 TiDB Cloud 外部 ID。记下这些 ID 以供后续使用。
+ 5. 展开 **Create Role ARN manually**,获取 TiDB Cloud Account ID 和 TiDB Cloud External ID。请记录这些 ID,后续会用到。
2. 在 AWS 管理控制台中,为你的 Amazon S3 存储桶创建托管策略。
- 1. 登录 AWS 管理控制台,打开 Amazon S3 控制台:[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。
- 2. 在**存储桶**列表中,选择包含源数据的存储桶名称,然后点击**复制 ARN**以获取你的 S3 存储桶 ARN(例如,`arn:aws:s3:::tidb-cloud-source-data`)。记下存储桶 ARN 以供后续使用。
+ 1. 登录 AWS 管理控制台,并打开 Amazon S3 控制台 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。
+ 2. 在 **Buckets** 列表中,选择包含源数据的存储桶名称,然后点击 **Copy ARN** 获取你的 S3 存储桶 ARN(例如,`arn:aws:s3:::tidb-cloud-source-data`)。请记录该存储桶 ARN,后续会用到。
- 
+ 
- 3. 打开 IAM 控制台:[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/),在左侧导航栏中点击**策略**,然后点击**创建策略**。
+ 3. 打开 IAM 控制台 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/),在左侧导航栏点击 **Policies**,然后点击 **Create Policy**。
- 
+ 
- 4. 在**创建策略**页面,点击 **JSON** 选项卡。
- 5. 复制以下访问策略模板并将其粘贴到策略文本字段中。
+ 4. 在 **Create policy** 页面,点击 **JSON** 标签页。
+ 5. 复制以下访问策略模板,并粘贴到策略文本框中。
- ```json
+ ````json
{
"Version": "2012-10-17",
"Statement": [
@@ -62,32 +62,31 @@ aliases: ['/tidb-cloud/config-s3-and-gcs-access']
"s3:GetObject",
"s3:GetObjectVersion"
],
- "Resource": "<你的 S3 存储桶 ARN>/<源数据目录>/*"
+ "Resource": "//*"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
- "s3:ListBucket",
- "s3:GetBucketLocation"
+ "s3:ListBucket"
],
- "Resource": "<你的 S3 存储桶 ARN>"
+ "Resource": ""
}
]
}
```
- 在策略文本字段中,将以下配置更新为你自己的值。
+ 在策略文本框中,将以下配置项替换为你自己的值。
- - `"Resource": "<你的 S3 存储桶 ARN>/<源数据目录>/*"`
+ - `"Resource": "//*"`
- 例如,如果你的源数据存储在 `tidb-cloud-source-data` 存储桶的根目录中,使用 `"Resource": "arn:aws:s3:::tidb-cloud-source-data/*"`。如果你的源数据存储在存储桶的 `mydata` 目录中,使用 `"Resource": "arn:aws:s3:::tidb-cloud-source-data/mydata/*"`。确保在目录末尾添加 `/*`,以便 TiDB Cloud 可以访问此目录中的所有文件。
+ 例如,如果你的源数据存储在 `tidb-cloud-source-data` 存储桶的根目录下,使用 `"Resource": "arn:aws:s3:::tidb-cloud-source-data/*"`。如果你的源数据存储在存储桶的 `mydata` 目录下,使用 `"Resource": "arn:aws:s3:::tidb-cloud-source-data/mydata/*"`。请确保目录末尾添加了 `/*`,以便 TiDB Cloud 能访问该目录下的所有文件。
- - `"Resource": "<你的 S3 存储桶 ARN>"`
+ - `"Resource": ""`
例如,`"Resource": "arn:aws:s3:::tidb-cloud-source-data"`。
- - 如果你启用了带有客户管理密钥加密的 AWS Key Management Service 密钥(SSE-KMS),请确保策略中包含以下配置。`"arn:aws:kms:ap-northeast-1:105880447796:key/c3046e91-fdfc-4f3a-acff-00597dd3801f"` 是存储桶的示例 KMS 密钥。
+ - 如果你启用了 AWS Key Management Service 密钥(SSE-KMS)并使用客户自管密钥加密,请确保策略中包含以下配置。`"arn:aws:kms:ap-northeast-1:105880447796:key/c3046e91-fdfc-4f3a-acff-00597dd3801f"` 是存储桶的一个示例 KMS 密钥。
```json
{
@@ -100,144 +99,144 @@ aliases: ['/tidb-cloud/config-s3-and-gcs-access']
}
```
- 如果你的存储桶中的对象是从另一个加密存储桶复制的,KMS 密钥值需要包含两个存储桶的密钥。例如,`"Resource": ["arn:aws:kms:ap-northeast-1:105880447796:key/c3046e91-fdfc-4f3a-acff-00597dd3801f","arn:aws:kms:ap-northeast-1:495580073302:key/0d7926a7-6ecc-4bf7-a9c1-a38f0faec0cd"]`。
+ 如果你的存储桶中的对象是从另一个加密存储桶复制过来的,KMS 密钥值需要包含两个存储桶的密钥。例如,`"Resource": ["arn:aws:kms:ap-northeast-1:105880447796:key/c3046e91-fdfc-4f3a-acff-00597dd3801f","arn:aws:kms:ap-northeast-1:495580073302:key/0d7926a7-6ecc-4bf7-a9c1-a38f0faec0cd"]`。
- 6. 点击**下一步**。
- 7. 设置策略名称,添加策略标签(可选),然后点击**创建策略**。
+ 6. 点击 **Next**。
+ 7. 设置策略名称,添加策略标签(可选),然后点击 **Create policy**。
-3. 在 AWS 管理控制台中,为 TiDB Cloud 创建访问角色并获取角色 ARN。
+3. 在 AWS 管理控制台中,为 TiDB Cloud 创建访问角色并获取 role ARN。
- 1. 在 IAM 控制台 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 中,点击左侧导航栏中的**角色**,然后点击**创建角色**。
+ 1. 在 IAM 控制台 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/),点击左侧导航栏的 **Roles**,然后点击 **Create role**。
- 
+ 
- 2. 填写以下信息以创建角色:
+ 2. 创建角色时,填写以下信息:
- - 在**可信实体类型**下,选择 **AWS 账户**。
- - 在 **AWS 账户**下,选择**其他 AWS 账户**,然后将 TiDB Cloud 账户 ID 粘贴到**账户 ID**字段中。
- - 在**选项**下,点击**需要外部 ID**以避免[混淆代理问题](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html),然后将 TiDB Cloud 外部 ID 粘贴到**外部 ID**字段中。如果创建角色时没有"需要外部 ID",任何拥有你的 S3 存储桶 URI 和 IAM 角色 ARN 的人都可能访问你的 Amazon S3 存储桶。如果创建角色时同时使用账户 ID 和外部 ID,只有在同一项目和同一区域中运行的 TiDB 集群才能访问存储桶。
+ - 在 **Trusted entity type** 下选择 **AWS account**。
+ - 在 **An AWS account** 下选择 **Another AWS account**,并将 TiDB Cloud account ID 粘贴到 **Account ID** 字段。
+ - 在 **Options** 下,点击 **Require external ID** 以避免 [confused deputy problem](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html),然后将 TiDB Cloud External ID 粘贴到 **External ID** 字段。如果创建角色时未勾选 "Require external ID",任何拥有你 S3 存储桶 URI 和 IAM role ARN 的人都可能访问你的 Amazon S3 存储桶。如果同时配置了 account ID 和 external ID,只有运行在同一项目和同一区域的 TiDB 集群才能访问该存储桶。
- 3. 点击**下一步**打开策略列表,选择你刚刚创建的策略,然后点击**下一步**。
- 4. 在**角色详细信息**下,为角色设置名称,然后点击右下角的**创建角色**。创建角色后,将显示角色列表。
- 5. 在角色列表中,点击你刚刚创建的角色名称进入其摘要页面,然后复制角色 ARN。
+ 3. 点击 **Next** 打开策略列表,选择你刚刚创建的策略,然后点击 **Next**。
+ 4. 在 **Role details** 下设置角色名称,然后点击右下角的 **Create role**。角色创建完成后,会显示角色列表。
+ 5. 在角色列表中,点击你刚刚创建的角色名称进入其详情页,然后复制 role ARN。
- 
+ 
-4. 在 TiDB Cloud 控制台中,转到获取 TiDB Cloud 账户 ID 和外部 ID 的**数据导入**页面,然后将角色 ARN 粘贴到 **Role ARN** 字段中。
+4. 回到 TiDB Cloud 控制台,在你获取 TiDB Cloud account ID 和 external ID 的 **Data Import** 页面,将 role ARN 粘贴到 **Role ARN** 字段。
-### 使用 AWS 访问密钥配置 Amazon S3 访问
+### 使用 AWS 访问密钥配置 Amazon S3 访问权限
-建议使用 IAM 用户(而不是 AWS 账户根用户)创建访问密钥。
+推荐使用 IAM 用户(而非 AWS 账号 root 用户)来创建访问密钥。
按照以下步骤配置访问密钥:
-1. 创建具有以下策略的 IAM 用户:
+1. 创建一个具有以下策略的 IAM 用户:
- `AmazonS3ReadOnlyAccess`
- [`CreateOwnAccessKeys`(必需)和 `ManageOwnAccessKeys`(可选)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#access-keys_required-permissions)
- 建议这些策略仅适用于存储源数据的存储桶。
+ 建议这些策略仅对存储源数据的存储桶生效。
- 有关更多信息,请参阅[创建 IAM 用户](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console)。
+ 详细信息请参见 [创建 IAM 用户](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console)。
-2. 使用你的 AWS 账户 ID 或账户别名以及 IAM 用户名和密码登录 [IAM 控制台](https://console.aws.amazon.com/iam)。
+2. 使用你的 AWS 账号 ID 或账号别名,以及 IAM 用户名和密码登录 [IAM 控制台](https://console.aws.amazon.com/iam)。
-3. 创建访问密钥。有关详细信息,请参阅[为 IAM 用户创建访问密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_CreateAccessKey)。
+3. 创建访问密钥。详细步骤请参见 [为 IAM 用户创建访问密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_CreateAccessKey)。
-> **注意:**
+> **Note:**
>
-> TiDB Cloud 不会存储你的访问密钥。建议在导入完成后[删除访问密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_CreateAccessKey)。
+> TiDB Cloud 不会存储你的访问密钥。建议在导入完成后 [删除访问密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_CreateAccessKey)。
-## 配置 GCS 访问
+## 配置 GCS 访问权限
-要允许 TiDB Cloud 访问你的 GCS 存储桶中的源数据,你需要为存储桶配置 GCS 访问。一旦为项目中的一个 TiDB 集群完成配置,该项目中的所有 TiDB 集群都可以访问该 GCS 存储桶。
+要允许 TiDB Cloud 访问你 GCS 存储桶中的源数据,需要为存储桶配置 GCS 访问权限。项目中任意一个 TiDB 集群完成配置后,该项目下所有 TiDB 集群都可以访问该 GCS 存储桶。
-1. 在 TiDB Cloud 控制台中,获取目标 TiDB 集群的 Google Cloud 服务账户 ID。
+1. 在 TiDB Cloud 控制台获取目标 TiDB 集群的 Google Cloud Service Account ID。
- 1. 导航到项目的[**集群**](https://tidbcloud.com/project/clusters)页面。
+ 1. 进入你项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
- > **提示:**
+ > **Tip:**
>
- > 你可以使用左上角的组合框在组织、项目和集群之间切换。
+ > 你可以使用左上角的下拉框在组织、项目和集群之间切换。
- 2. 点击目标集群的名称进入其概览页面,然后在左侧导航栏中点击**数据** > **导入**。
+ 2. 点击目标集群名称进入其概览页面,然后在左侧导航栏点击 **Data** > **Import**。
- 3. 选择**从云存储导入数据**,然后点击 **Google Cloud Storage**。
+ 3. 选择 **Import data from Cloud Storage**,然后点击 **Google Cloud Storage**。
- 4. 点击**显示 Google Cloud 服务账户 ID**,然后复制服务账户 ID 以供后续使用。
+ 4. 点击 **Show Google Cloud Server Account ID**,复制 Service Account ID 以备后用。
2. 在 Google Cloud 控制台中,为你的 GCS 存储桶创建 IAM 角色。
1. 登录 [Google Cloud 控制台](https://console.cloud.google.com/)。
- 2. 转到[角色](https://console.cloud.google.com/iam-admin/roles)页面,然后点击**创建角色**。
+ 2. 进入 [Roles](https://console.cloud.google.com/iam-admin/roles) 页面,然后点击 **CREATE ROLE**。
- 
+ 
- 3. 为角色输入名称、描述、ID 和角色启动阶段。角色名称在创建后不能更改。
- 4. 点击**添加权限**。
- 5. 为角色添加以下只读权限,然后点击**添加**。
+ 3. 输入角色的名称、描述、ID 和角色发布阶段。角色名称创建后不可更改。
+ 4. 点击 **ADD PERMISSIONS**。
+ 5. 为角色添加以下只读权限,然后点击 **Add**。
- storage.buckets.get
- storage.objects.get
- storage.objects.list
- 你可以将权限名称复制到**输入属性名称或值**字段作为筛选查询,然后在筛选结果中选择该名称。要添加这三个权限,你可以在权限名称之间使用 **OR**。
+ 你可以将权限名称复制到 **Enter property name or value** 字段作为过滤条件,并在过滤结果中选择名称。要添加这三个权限,可以在权限名称之间使用 **OR**。
- 
+ 
-3. 转到[存储桶](https://console.cloud.google.com/storage/browser)页面,点击你希望 TiDB Cloud 访问的 GCS 存储桶的名称。
+3. 进入 [Bucket](https://console.cloud.google.com/storage/browser) 页面,点击你希望 TiDB Cloud 访问的 GCS 存储桶名称。
-4. 在**存储桶详情**页面,点击**权限**选项卡,然后点击**授予访问权限**。
+4. 在 **Bucket details** 页面,点击 **PERMISSIONS** 标签页,然后点击 **GRANT ACCESS**。
- 
+ 
-5. 填写以下信息以授予对存储桶的访问权限,然后点击**保存**。
+5. 填写以下信息以授予存储桶访问权限,然后点击 **SAVE**。
- - 在**新主体**字段中,粘贴目标 TiDB 集群的 Google Cloud 服务账户 ID。
- - 在**选择角色**下拉列表中,输入你刚刚创建的 IAM 角色名称,然后从筛选结果中选择该名称。
+ - 在 **New Principals** 字段,粘贴目标 TiDB 集群的 Google Cloud Service Account ID。
+ - 在 **Select a role** 下拉列表中,输入你刚刚创建的 IAM 角色名称,并在过滤结果中选择该名称。
- > **注意:**
+ > **Note:**
>
- > 要删除对 TiDB Cloud 的访问权限,你可以简单地删除你已授予的访问权限。
+ > 如果需要移除 TiDB Cloud 的访问权限,只需移除你已授予的访问即可。
-6. 在**存储桶详情**页面,点击**对象**选项卡。
+6. 在 **Bucket details** 页面,点击 **OBJECTS** 标签页。
- 如果你想复制文件的 gsutil URI,选择该文件,点击**打开对象溢出菜单**,然后点击**复制 gsutil URI**。
+ 如果你想复制文件的 gsutil URI,选择该文件,点击 **Open object overflow menu**,然后点击 **Copy gsutil URI**。
- 
+ 
- 如果你想使用文件夹的 gsutil URI,打开该文件夹,然后点击文件夹名称后面的复制按钮以复制文件夹名称。之后,你需要在名称开头添加 `gs://`,在末尾添加 `/` 以获取文件夹的正确 URI。
+ 如果你想使用文件夹的 gsutil URI,打开该文件夹,然后点击文件夹名称后面的复制按钮复制文件夹名称。之后,你需要在名称前加上 `gs://`,末尾加上 `/`,以获得正确的文件夹 URI。
- 例如,如果文件夹名称是 `tidb-cloud-source-data`,你需要使用 `gs://tidb-cloud-source-data/` 作为 URI。
+ 例如,如果文件夹名称为 `tidb-cloud-source-data`,你需要使用 `gs://tidb-cloud-source-data/` 作为 URI。
- 
+ 
-7. 在 TiDB Cloud 控制台中,转到获取 Google Cloud 服务账户 ID 的**数据导入**页面,然后将 GCS 存储桶 gsutil URI 粘贴到**存储桶 gsutil URI** 字段中。例如,粘贴 `gs://tidb-cloud-source-data/`。
+7. 回到 TiDB Cloud 控制台,在你获取 Google Cloud Service Account ID 的 **Data Import** 页面,将 GCS 存储桶的 gsutil URI 粘贴到 **Bucket gsutil URI** 字段。例如,粘贴 `gs://tidb-cloud-source-data/`。
-## 配置 Azure Blob Storage 访问
+## 配置 Azure Blob Storage 访问权限
-要允许 TiDB Cloud Dedicated 访问你的 Azure Blob 容器,你需要为容器配置 Azure Blob 访问。你可以使用账户 SAS 令牌配置容器访问:
+要允许 TiDB Cloud 专属集群访问你的 Azure Blob 容器,需要为容器配置 Azure Blob 访问权限。你可以使用账户 SAS token 配置容器访问:
-1. 在 [Azure Storage 账户](https://portal.azure.com/#browse/Microsoft.Storage%2FStorageAccounts)页面,点击容器所属的存储账户。
+1. 在 [Azure Storage account](https://portal.azure.com/#browse/Microsoft.Storage%2FStorageAccounts) 页面,点击包含目标容器的存储账户。
-2. 在存储账户的导航栏中,点击**安全性 + 网络** > **共享访问签名**。
+2. 在存储账户的导航栏中,点击 **Security + networking** > **Shared access signature**。

-3. 在**共享访问签名**页面,按照以下步骤创建具有必要权限的[账户 SAS 令牌](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview):
+3. 在 **Shared access signature** 页面,按如下方式创建具有必要权限的 [account SAS token](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview):
- 1. 在**允许的服务**下,选择**Blob**。
- 2. 在**允许的资源类型**下,选择**容器**和**对象**。
- 3. 在**允许的权限**下,选择所需的权限。例如,将数据导入到 TiDB Cloud Dedicated 需要**读取**和**列出**权限。
- 4. 根据需要调整**开始和到期日期/时间**。出于安全考虑,建议设置与数据导入时间表相符的到期日期。
- 5. 保留其他设置的默认值。
+ 1. 在 **Allowed services** 下选择 **Blob**。
+ 2. 在 **Allowed resource types** 下选择 **Container** 和 **Object**。
+ 3. 在 **Allowed permissions** 下选择所需权限。例如,导入数据到 TiDB Cloud 专属集群需要 **Read** 和 **List**。
+ 4. 根据需要调整 **Start and expiry date/time**。出于安全考虑,建议设置与数据导入时间线相符的过期时间。
+ 5. 其他设置保持默认值。

-4. 点击**生成 SAS 和连接字符串**以生成 SAS 令牌。
+4. 点击 **Generate SAS and connection string** 生成 SAS token。
-5. 复制生成的 **SAS 令牌**。在 TiDB Cloud 中配置数据导入时,你将需要此令牌字符串。
+5. 复制生成的 **SAS Token**。在 TiDB Cloud 配置数据导入时需要用到该 token 字符串。
-> **注意:**
+> **Note:**
>
-> 在开始数据导入之前,请测试连接和权限,以确保 TiDB Cloud Dedicated 可以访问指定的 Azure Blob 容器和文件。
+> 在开始数据导入前,请测试连接和权限,确保 TiDB Cloud 专属集群能够访问指定的 Azure Blob 容器及文件。
\ No newline at end of file
diff --git a/tidb-cloud/delete-tidb-cluster.md b/tidb-cloud/delete-tidb-cluster.md
index 300a04594ef1d..1a36203c0e0b5 100644
--- a/tidb-cloud/delete-tidb-cluster.md
+++ b/tidb-cloud/delete-tidb-cluster.md
@@ -5,38 +5,38 @@ summary: 了解如何删除 TiDB 集群。
# 删除 TiDB 集群
-本文介绍如何在 TiDB Cloud 上删除 TiDB 集群。
+本文档介绍如何在 TiDB Cloud 上删除 TiDB 集群。
-你可以随时通过执行以下步骤删除集群:
+你可以随时通过以下步骤删除集群:
-1. 导航到项目的[**集群**](https://tidbcloud.com/project/clusters)页面。
-2. 在要删除的目标集群所在行,点击 **...**。
+1. 进入你的项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
+2. 在你想要删除的目标集群所在行,点击 **...**。
> **提示:**
>
- > 或者,你也可以点击目标集群的名称进入其概览页面,然后点击右上角的 **...**。
+ > 你也可以点击目标集群的名称进入其概览页面,然后点击右上角的 **...**。
-3. 在下拉菜单中点击**删除**。
-4. 在集群删除窗口中,确认删除:
+3. 在下拉菜单中点击 **Delete**。
+4. 在集群删除窗口中,确认删除操作:
- - 如果你至少有一个手动或自动备份,你可以看到备份数量和备份的收费政策。点击**继续**并输入 `<组织名称>/<项目名称>/<集群名称>`。
- - 如果你没有任何备份,只需输入 `<组织名称>/<项目名称>/<集群名称>`。
+ - 如果你至少有一个手动或自动备份,你可以看到备份的数量以及备份的计费策略。点击 **Continue** 并输入 `//`。
+ - 如果你没有任何备份,只需输入 `//`。
- 如果你想在将来某个时候恢复集群,请确保你有集群的备份。否则,你将无法再恢复它。有关如何备份 TiDB Cloud Dedicated 集群的更多信息,请参见[备份和恢复 TiDB Cloud Dedicated 数据](/tidb-cloud/backup-and-restore.md)。
+ 如果你希望将来恢复该集群,请确保你已经对集群进行了备份。否则,将无法再恢复。关于如何备份 TiDB Cloud Dedicated 集群的更多信息,请参见 [Back Up and Restore TiDB Cloud Dedicated Data](/tidb-cloud/backup-and-restore.md)。
> **注意:**
>
- > [TiDB Cloud Serverless 集群](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless)不支持删除后恢复数据。如果你想删除 TiDB Cloud Serverless 集群并在将来恢复其数据,请参见[从 TiDB Cloud Serverless 导出数据](/tidb-cloud/serverless-export.md)以导出数据作为备份。
+ > [TiDB Cloud Serverless 集群](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless) 在删除后不支持数据恢复。如果你想删除 TiDB Cloud Serverless 集群并在将来恢复其数据,请参见 [Export Data from TiDB Cloud Serverless](/tidb-cloud/serverless-export.md) 将你的数据导出作为备份。
-5. 点击**我明白,删除它**。
+5. 点击 **I understand, delete it**。
- 一旦已备份的 TiDB Cloud Dedicated 集群被删除,该集群的现有备份文件将被移至回收站。
+ 一旦已备份的 TiDB Cloud Dedicated 集群被删除,该集群现有的备份文件会被移动到回收站。
- - 自动备份将在保留期结束后过期并自动删除。如果你不修改,默认保留期为 7 天。
- - 手动备份将保留在回收站中,直到手动删除。
+ - 自动备份将在保留期结束后过期并自动删除。如果你没有修改,默认保留期为 7 天。
+ - 手动备份会一直保留在回收站,直到你手动删除。
> **注意:**
>
- > 请注意,备份将继续产生费用,直到被删除。
+ > 请注意,备份在被删除前会持续产生费用。
- 如果你想从回收站恢复 TiDB Cloud Dedicated 集群,请参见[恢复已删除的集群](/tidb-cloud/backup-and-restore.md#restore-a-deleted-cluster)。
+ 如果你想从回收站恢复 TiDB Cloud Dedicated 集群,请参见 [Restore a deleted cluster](/tidb-cloud/backup-and-restore.md#restore-a-deleted-cluster)。
\ No newline at end of file
diff --git a/tidb-cloud/dev-guide-bi-looker-studio.md b/tidb-cloud/dev-guide-bi-looker-studio.md
index 4d073ed87fa92..3aab223db989c 100644
--- a/tidb-cloud/dev-guide-bi-looker-studio.md
+++ b/tidb-cloud/dev-guide-bi-looker-studio.md
@@ -1,98 +1,98 @@
---
title: 使用 Looker Studio 连接 TiDB Cloud Serverless
-summary: 了解如何使用 Looker Studio 连接 TiDB Cloud Serverless。
+summary: 学习如何使用 Looker Studio 连接 TiDB Cloud Serverless。
---
# 使用 Looker Studio 连接 TiDB Cloud Serverless
-TiDB 是一个兼容 MySQL 的数据库,TiDB Cloud Serverless 是一个全托管的 TiDB 服务,而 [Looker Studio](https://lookerstudio.google.com/) 是一个免费的基于 Web 的 BI 工具,可以可视化来自各种来源的数据。
+TiDB 是一个兼容 MySQL 的数据库,TiDB Cloud Serverless 是 TiDB 的全托管云服务,[Looker Studio](https://lookerstudio.google.com/) 是一款免费的基于 Web 的 BI 工具,可以可视化来自多种数据源的数据。
-在本教程中,你可以学习如何使用 Looker Studio 连接到 TiDB Cloud Serverless 集群。
+在本教程中,你将学习如何使用 Looker Studio 连接到你的 TiDB Cloud Serverless 集群。
-> **注意:**
+> **Note:**
>
-> 本教程中的大多数步骤也适用于 TiDB Cloud Dedicated。但是,对于 TiDB Cloud Dedicated,你需要注意以下事项:
->
-> - 按照[从文件导入数据到 TiDB Cloud](/tidb-cloud/tidb-cloud-migration-overview.md#import-data-from-files-to-tidb-cloud) 导入你的数据集。
-> - 按照[连接到 TiDB Cloud Dedicated](/tidb-cloud/connect-via-standard-connection.md) 获取集群的连接信息。连接到 TiDB Cloud Dedicated 时,你需要允许来自 `142.251.74.0/23` 的访问。有关来自 Looker Studio 的连接的更多信息,请参见 [Looker Studio 文档](https://support.google.com/looker-studio/answer/7088031#zippy=%2Cin-this-article)。
+> 本教程中的大多数步骤同样适用于 TiDB Cloud Dedicated。但对于 TiDB Cloud Dedicated,你需要注意以下事项:
+>
+> - 按照 [从文件导入数据到 TiDB Cloud](/tidb-cloud/tidb-cloud-migration-overview.md#import-data-from-files-to-tidb-cloud) 导入你的数据集。
+> - 按照 [连接到 TiDB Cloud Dedicated](/tidb-cloud/connect-via-standard-connection.md) 获取你的集群连接信息。连接 TiDB Cloud Dedicated 时,你需要允许来自 `142.251.74.0/23` 的访问。关于 Looker Studio 连接的更多信息,请参见 [Looker Studio 文档](https://support.google.com/looker-studio/answer/7088031#zippy=%2Cin-this-article)。
-## 前提条件
+## 前置条件
-要完成本教程,你需要:
+完成本教程,你需要:
- 一个 Google 账号
- 一个 TiDB Cloud Serverless 集群
-**如果你还没有 TiDB Cloud Serverless 集群,可以按照以下方式创建:**
+**如果你还没有 TiDB Cloud Serverless 集群,可以按如下方式创建:**
-- [创建 TiDB Cloud Serverless 集群](/develop/dev-guide-build-cluster-in-cloud.md#step-1-create-a-tidb-cloud-serverless-cluster)
+- [创建 TiDB Cloud Serverless 集群](/develop/dev-guide-build-cluster-in-cloud.md#step-1-create-a-tidb-cloud-cluster)
-## 步骤 1. 导入数据集
+## 第 1 步:导入数据集
-你可以导入 TiDB Cloud Serverless 交互式教程中提供的标准普尔 500 指数数据集。
+你可以导入 TiDB Cloud Serverless 交互式教程中提供的 S&P 500 数据集。
-1. 导航到[**集群**](https://tidbcloud.com/project/clusters)页面,点击右下角的 **?**。将显示**帮助**对话框。
+1. 进入 [**Clusters**](https://tidbcloud.com/project/clusters) 页面,点击右下角的 **?**。会弹出 **Help** 对话框。
-2. 在对话框中,点击**交互式教程**,然后点击 **S&P 500 分析**。
+2. 在对话框中,点击 **Interactive Tutorials**,然后点击 **S&P 500 Analysis**。
-3. 选择你的 TiDB Cloud Serverless 集群,然后点击**导入数据集**将标准普尔 500 指数数据集导入到你的集群。
+3. 选择你的 TiDB Cloud Serverless 集群,然后点击 **Import Dataset**,将 S&P 500 数据集导入到你的集群中。
-4. 导入状态变为**已导入**后,点击**退出教程**关闭此对话框。
+4. 当导入状态变为 **IMPORTED** 后,点击 **Exit Tutorial** 关闭该对话框。
-如果在导入过程中遇到任何问题,你可以按照以下方式取消此导入任务:
+如果在导入过程中遇到任何问题,你可以按如下方式取消该导入任务:
-1. 在[**集群**](https://tidbcloud.com/project/clusters)页面,点击你的 TiDB Cloud Serverless 集群的名称进入其概览页面。
-2. 在左侧导航栏中,点击**数据** > **导入**。
-3. 找到名为 **sp500-insight** 的导入任务,点击**操作**列中的 **...**,然后点击**取消**。
+1. 在 [**Clusters**](https://tidbcloud.com/project/clusters) 页面,点击你的 TiDB Cloud Serverless 集群名称,进入集群概览页面。
+2. 在左侧导航栏,点击 **Data** > **Import**。
+3. 找到名为 **sp500-insight** 的导入任务,在 **Action** 列点击 **...**,然后点击 **Cancel**。
-## 步骤 2. 获取集群的连接信息
+## 第 2 步:获取集群连接信息
-1. 导航到[**集群**](https://tidbcloud.com/project/clusters)页面,然后点击目标集群的名称进入其概览页面。
+1. 进入 [**Clusters**](https://tidbcloud.com/project/clusters) 页面,点击目标集群名称,进入集群概览页面。
-2. 点击右上角的**连接**。将显示连接对话框。
+2. 点击右上角的 **Connect**,弹出连接对话框。
-3. 在连接对话框中,将**连接方式**设置为 `General`,然后点击**生成密码**创建随机密码。
+3. 在连接对话框中,将 **Connect With** 设置为 `General`,然后点击 **Generate Password** 生成一个随机密码。
- > **提示:**
+ > **Tip:**
>
- > 如果你之前已经创建了密码,请使用原始密码或点击**重置密码**生成新密码。
+ > 如果你之前已经创建过密码,请使用原有密码,或点击 **Reset Password** 生成新密码。
-4. 下载 [CA 证书](https://letsencrypt.org/certs/isrgrootx1.pem)。
+4. 下载 [CA cert](https://letsencrypt.org/certs/isrgrootx1.pem)。
- > **提示:**
+ > **Tip:**
>
- > TiDB Cloud Serverless 要求客户端和集群之间建立安全的 TLS 连接,因此你需要在 Looker Studio 的连接设置中使用此 CA 证书。
+ > TiDB Cloud Serverless 要求客户端与集群之间建立安全的 TLS 连接,因此你需要在 Looker Studio 的连接设置中使用该 CA 证书。
-## 步骤 3. 使用 Looker Studio 连接到 TiDB 集群
+## 第 3 步:使用 Looker Studio 连接 TiDB 集群
-1. 登录 [Looker Studio](https://lookerstudio.google.com/),然后在左侧导航栏中点击**创建** > **报告**。
+1. 登录 [Looker Studio](https://lookerstudio.google.com/),在左侧导航栏点击 **Create** > **Report**。
-2. 在显示的页面上,搜索并选择 **MySQL** 连接器,然后点击**授权**。
+2. 在弹出页面中,搜索并选择 **MySQL** 连接器,然后点击 **AUTHORIZE**。
-3. 在**基本**设置面板中,配置连接参数。
+3. 在 **BASIC** 设置面板中,配置连接参数。
- - **主机名或 IP**:输入 TiDB Cloud Serverless 连接对话框中的 `HOST` 参数。
- - **端口(可选)**:输入 TiDB Cloud Serverless 连接对话框中的 `PORT` 参数。
- - **数据库**:输入要连接的数据库。对于本教程,输入 `sp500insight`。
- - **用户名**:输入 TiDB Cloud Serverless 连接对话框中的 `USERNAME` 参数。
- - **密码**:输入 TiDB Cloud Serverless 连接对话框中的 `PASSWORD` 参数。
- - **启用 SSL**:选中此选项,然后点击 **MySQL SSL 客户端配置文件**右侧的上传图标,上传从[步骤 2](#步骤-2-获取集群的连接信息) 下载的 CA 文件。
+ - **Host Name or IP**:输入 TiDB Cloud Serverless 连接对话框中的 `HOST` 参数。
+ - **Port(Optional)**:输入 TiDB Cloud Serverless 连接对话框中的 `PORT` 参数。
+ - **Database**:输入你要连接的数据库。本教程中输入 `sp500insight`。
+ - **Username**:输入 TiDB Cloud Serverless 连接对话框中的 `USERNAME` 参数。
+ - **Password**:输入 TiDB Cloud Serverless 连接对话框中的 `PASSWORD` 参数。
+ - **Enable SSL**:勾选该选项,然后点击 **MySQL SSL Client Configuration Files** 右侧的上传图标,上传在 [第 2 步](#step-2-get-the-connection-information-for-your-cluster) 下载的 CA 文件。
- 
+ 
-4. 点击**验证**。
+4. 点击 **AUTHENTICATE**。
-如果验证成功,你可以看到数据库中的表。
+如果认证成功,你可以看到数据库中的表。
-## 步骤 4. 创建简单图表
+## 第 4 步:创建一个简单的图表
-现在,你可以使用 TiDB 集群作为数据源,并使用数据创建简单的图表。
+现在,你可以将 TiDB 集群作为数据源,基于数据创建一个简单的图表。
-1. 在右侧面板中,点击**自定义查询**。
+1. 在右侧面板点击 **CUSTOM QUERY**。
- 
+ 
-2. 将以下代码复制到**输入自定义查询**区域,然后点击右下角的**添加**。
+2. 将以下代码复制到 **Enter Custom Query** 区域,然后点击右下角的 **Add**。
```sql
SELECT sector,
@@ -108,30 +108,30 @@ TiDB 是一个兼容 MySQL 的数据库,TiDB Cloud Serverless 是一个全托
ORDER BY 5 ASC;
```
- 如果看到**你即将向此报告添加数据**对话框,请点击**添加到报告**。然后,报告中将显示一个表格。
+ 如果弹出 **You are about to add data to this report** 对话框,点击 **ADD TO REPORT**。随后,报表中会显示一个表格。
-3. 在报告的工具栏中,点击**添加图表**,然后在 `折线图` 类别中选择 `组合图表`。
+3. 在报表工具栏点击 **Add a chart**,然后在 `Line` 分类下选择 `Combo chart`。
-4. 在右侧的**图表**设置面板中,配置以下参数:
+4. 在右侧 **Chart** 设置面板,配置以下参数:
- - 在**设置**标签页中:
- - **维度**:`sector`。
- - **指标**:`companies` 和 `total_market_cap`。
- - 在**样式**标签页中:
- - 系列 #1:选择 `折线图` 选项和 `右` 轴。
- - 系列 #2:选择 `柱状图` 选项和 `左` 轴。
- - 其他字段保持默认值。
+ - 在 **SETUP** 标签页:
+ - **Dimension**:`sector`
+ - **Metric**:`companies` 和 `total_market_cap`
+ - 在 **STYLE** 标签页:
+ - Series #1:选择 `Line` 选项并设置为 `Right` 轴
+ - Series #2:选择 `Bars` 选项并设置为 `Left` 轴
+ - 其他字段保持默认
-然后,你可以看到类似如下的组合图表:
+此时,你可以看到类似如下的组合图表:
-
+
-## 下一步
+## 后续步骤
-- 从 [Looker Studio 帮助](https://support.google.com/looker-studio)了解更多 Looker Studio 的用法。
-- 通过[开发者指南](/develop/dev-guide-overview.md)中的章节了解 TiDB 应用程序开发的最佳实践,例如[插入数据](/develop/dev-guide-insert-data.md)、[更新数据](/develop/dev-guide-update-data.md)、[删除数据](/develop/dev-guide-delete-data.md)、[单表读取](/develop/dev-guide-get-data-from-single-table.md)、[事务](/develop/dev-guide-transaction-overview.md)和 [SQL 性能优化](/develop/dev-guide-optimize-sql-overview.md)。
-- 通过专业的 [TiDB 开发者课程](https://www.pingcap.com/education/)学习,并在通过考试后获得 [TiDB 认证](https://www.pingcap.com/education/certification/)。
+- 通过 [Looker Studio 帮助中心](https://support.google.com/looker-studio) 学习更多 Looker Studio 的用法。
+- 通过 [开发者指南](/develop/dev-guide-overview.md) 中的各章节,学习 TiDB 应用开发的最佳实践,例如 [插入数据](/develop/dev-guide-insert-data.md)、[更新数据](/develop/dev-guide-update-data.md)、[删除数据](/develop/dev-guide-delete-data.md)、[单表读取](/develop/dev-guide-get-data-from-single-table.md)、[事务](/develop/dev-guide-transaction-overview.md) 和 [SQL 性能优化](/develop/dev-guide-optimize-sql-overview.md)。
+- 通过专业的 [TiDB 开发者课程](https://www.pingcap.com/education/) 学习,并在通过考试后获得 [TiDB 认证](https://www.pingcap.com/education/certification/)。
## 需要帮助?
-在 [Discord](https://discord.gg/DQZ2dy3cuc?utm_source=doc) 或 [Slack](https://slack.tidb.io/invite?team=tidb-community&channel=everyone&ref=pingcap-docs) 上询问社区,或[提交支持工单](https://tidb.support.pingcap.com/)。
+欢迎在 [Discord](https://discord.gg/DQZ2dy3cuc?utm_source=doc) 或 [Slack](https://slack.tidb.io/invite?team=tidb-community&channel=everyone&ref=pingcap-docs) 社区提问,或 [提交支持工单](https://tidb.support.pingcap.com/)。
\ No newline at end of file
diff --git a/tidb-cloud/dev-guide-wordpress.md b/tidb-cloud/dev-guide-wordpress.md
index 94d7340694414..05ccf38bede03 100644
--- a/tidb-cloud/dev-guide-wordpress.md
+++ b/tidb-cloud/dev-guide-wordpress.md
@@ -1,108 +1,108 @@
---
title: 使用 WordPress 连接 TiDB Cloud Serverless
-summary: 了解如何使用 TiDB Cloud Serverless 运行 WordPress。本教程提供分步指导,帮助你在几分钟内运行 WordPress + TiDB Cloud Serverless。
+summary: 学习如何使用 TiDB Cloud Serverless 运行 WordPress。本教程将为你提供分步指导,让你在几分钟内运行 WordPress + TiDB Cloud Serverless。
---
# 使用 WordPress 连接 TiDB Cloud Serverless
-TiDB 是一个兼容 MySQL 的数据库,TiDB Cloud Serverless 是一个全托管的 TiDB 产品,而 [WordPress](https://github.com/WordPress) 是一个免费的开源内容管理系统(CMS),让用户可以创建和管理网站。WordPress 使用 PHP 编写,并使用 MySQL 数据库。
+TiDB 是一个兼容 MySQL 的数据库,TiDB Cloud Serverless 是一个全托管的 TiDB 云服务,[WordPress](https://github.com/WordPress) 是一个免费的开源内容管理系统(CMS),允许用户创建和管理网站。WordPress 使用 PHP 编写,并使用 MySQL 数据库。
在本教程中,你可以学习如何免费使用 TiDB Cloud Serverless 运行 WordPress。
-> **注意:**
+> **Note:**
>
-> 除了 TiDB Cloud Serverless 外,本教程也适用于 TiDB Cloud Dedicated 和 TiDB Self-Managed 集群。但是,为了成本效益,强烈建议使用 TiDB Cloud Serverless 运行 WordPress。
+> 除了 TiDB Cloud Serverless,本教程同样适用于 TiDB Cloud Dedicated 和 TiDB 自建集群。但强烈推荐使用 TiDB Cloud Serverless 来运行 WordPress,以获得更高的性价比。
-## 前提条件
+## 前置条件
-要完成本教程,你需要:
+完成本教程,你需要:
-- 一个 TiDB Cloud Serverless 集群。如果你还没有,请按照[创建 TiDB Cloud Serverless 集群](/develop/dev-guide-build-cluster-in-cloud.md)创建你自己的 TiDB Cloud 集群。
+- 一个 TiDB Cloud Serverless 集群。如果你还没有集群,请按照[创建 TiDB Cloud Serverless 集群](/develop/dev-guide-build-cluster-in-cloud.md)来创建属于你自己的 TiDB Cloud 集群。
## 使用 TiDB Cloud Serverless 运行 WordPress
-本节演示如何使用 TiDB Cloud Serverless 运行 WordPress。
+本节将演示如何使用 TiDB Cloud Serverless 运行 WordPress。
-### 步骤 1:克隆 WordPress 示例仓库
+### 第 1 步:克隆 WordPress 示例仓库
-在终端窗口中运行以下命令来克隆示例代码仓库:
+在终端窗口中运行以下命令,克隆示例代码仓库:
```shell
git clone https://github.com/Icemap/wordpress-tidb-docker.git
cd wordpress-tidb-docker
```
-### 步骤 2:安装依赖
+### 第 2 步:安装依赖
-1. 示例仓库需要 [Docker](https://www.docker.com/) 和 [Docker Compose](https://docs.docker.com/compose/) 来启动 WordPress。如果你已经安装了它们,可以跳过这一步。强烈建议在 Linux 环境(如 Ubuntu)中运行你的 WordPress。运行以下命令安装 Docker 和 Docker Compose:
+1. 示例仓库需要 [Docker](https://www.docker.com/) 和 [Docker Compose](https://docs.docker.com/compose/) 来启动 WordPress。如果你已经安装了它们,可以跳过此步骤。强烈建议在 Linux 环境(如 Ubuntu)下运行 WordPress。运行以下命令安装 Docker 和 Docker Compose:
```shell
sudo sh install.sh
```
-2. 示例仓库包含 [TiDB 兼容性插件](https://github.com/pingcap/wordpress-tidb-plugin)作为子模块。运行以下命令更新子模块:
+2. 示例仓库包含了 [TiDB Compatibility Plugin](https://github.com/pingcap/wordpress-tidb-plugin) 作为子模块。运行以下命令更新子模块:
```shell
git submodule update --init --recursive
```
-### 步骤 3:配置连接信息
+### 第 3 步:配置连接信息
-配置 WordPress 数据库与 TiDB Cloud Serverless 的连接。
+配置 WordPress 数据库连接到 TiDB Cloud Serverless。
-1. 导航到[**集群**](https://tidbcloud.com/project/clusters)页面,然后点击目标集群的名称进入其概览页面。
+1. 进入 [**Clusters**](https://tidbcloud.com/project/clusters) 页面,然后点击目标集群的名称,进入其概览页面。
-2. 点击右上角的**连接**。将显示连接对话框。
+2. 点击右上角的 **Connect**。此时会弹出连接对话框。
-3. 确保连接对话框中的配置与你的操作环境匹配。
+3. 确保连接对话框中的配置与你的操作环境一致。
- - **连接类型**设置为 `Public`。
- - **连接工具**设置为 `WordPress`。
- - **操作系统**设置为 `Debian/Ubuntu/Arch`。
- - **数据库**设置为你想要使用的数据库—例如 `test`。
+ - **Connection Type** 设置为 `Public`。
+ - **Connect With** 设置为 `WordPress`。
+ - **Operating System** 设置为 `Debian/Ubuntu/Arch`。
+ - **Database** 设置为你想要使用的数据库,例如 `test`。
-4. 点击**生成密码**创建随机密码。
+4. 点击 **Generate Password** 生成一个随机密码。
- > **提示:**
+ > **Tip:**
>
- > 如果你之前已经创建了密码,你可以使用原始密码或点击**重置密码**生成新密码。
+ > 如果你之前已经创建过密码,可以继续使用原有密码,或者点击 **Reset Password** 生成新密码。
-5. 运行以下命令复制 `.env.example` 并将其重命名为 `.env`:
+5. 运行以下命令,将 `.env.example` 复制并重命名为 `.env`:
```shell
cp .env.example .env
```
-6. 将相应的连接字符串复制并粘贴到 `.env` 文件中。示例结果如下:
+6. 将对应的连接字符串复制粘贴到 `.env` 文件中。示例结果如下:
```dotenv
- TIDB_HOST='{HOST}' # 例如 gateway01.ap-northeast-1.prod.aws.tidbcloud.com
+ TIDB_HOST='{HOST}' # e.g. gateway01.ap-northeast-1.prod.aws.tidbcloud.com
TIDB_PORT='4000'
- TIDB_USER='{USERNAME}' # 例如 xxxxxx.root
+ TIDB_USER='{USERNAME}' # e.g. xxxxxx.root
TIDB_PASSWORD='{PASSWORD}'
TIDB_DB_NAME='test'
```
- 请确保将占位符 `{}` 替换为从连接对话框获得的连接参数。默认情况下,你的 TiDB Cloud Serverless 附带一个 `test` 数据库。如果你已经在 TiDB Cloud Serverless 集群中创建了另一个数据库,你可以将 `test` 替换为你的数据库名称。
+ 请务必将 `{}` 占位符替换为你在连接对话框中获得的连接参数。默认情况下,你的 TiDB Cloud Serverless 集群自带一个 `test` 数据库。如果你已经在 TiDB Cloud Serverless 集群中创建了其他数据库,可以将 `test` 替换为你的数据库名。
7. 保存 `.env` 文件。
-### 步骤 4:使用 TiDB Cloud Serverless 启动 WordPress
+### 第 4 步:使用 TiDB Cloud Serverless 启动 WordPress
-1. 执行以下命令将 WordPress 作为 Docker 容器运行:
+1. 执行以下命令,将 WordPress 作为 Docker 容器运行:
```shell
docker compose up -d
```
-2. 如果你在本地机器上启动容器,请访问 [localhost](http://localhost/) 设置你的 WordPress 站点;如果 WordPress 在远程机器上运行,请访问 `http://`。
+2. 通过访问 [localhost](http://localhost/)(如果你在本地机器上启动容器)或 `http://`(如果 WordPress 运行在远程机器上)来设置你的 WordPress 站点。
-### 步骤 5:确认数据库连接
+### 第 5 步:确认数据库连接
-1. 在 TiDB Cloud 控制台上关闭集群的连接对话框,并打开 **SQL 编辑器**页面。
-2. 在左侧的**模式**标签下,点击你连接到 WordPress 的数据库。
-3. 确认你现在可以在该数据库的表列表中看到 WordPress 表(如 `wp_posts` 和 `wp_comments`)。
+1. 在 TiDB Cloud 控制台关闭集群的连接对话框,并打开 **SQL Editor** 页面。
+2. 在左侧的 **Schemas** 标签下,点击你连接到 WordPress 的数据库。
+3. 确认你现在可以在该数据库的表列表中看到 WordPress 的表(如 `wp_posts` 和 `wp_comments`)。
## 需要帮助?
-在 [Discord](https://discord.gg/DQZ2dy3cuc?utm_source=doc) 或 [Slack](https://slack.tidb.io/invite?team=tidb-community&channel=everyone&ref=pingcap-docs) 上询问社区,或[提交支持工单](https://tidb.support.pingcap.com/)。
+欢迎在 [Discord](https://discord.gg/DQZ2dy3cuc?utm_source=doc) 或 [Slack](https://slack.tidb.io/invite?team=tidb-community&channel=everyone&ref=pingcap-docs) 社区提问,或[提交支持工单](https://tidb.support.pingcap.com/)。
\ No newline at end of file
diff --git a/tidb-cloud/explore-data-with-chat2query.md b/tidb-cloud/explore-data-with-chat2query.md
index e53013d560042..38a0ea6e27002 100644
--- a/tidb-cloud/explore-data-with-chat2query.md
+++ b/tidb-cloud/explore-data-with-chat2query.md
@@ -1,88 +1,88 @@
---
-title: 使用 AI 辅助 SQL 编辑器探索数据
-summary: 了解如何在 TiDB Cloud 控制台中使用 AI 辅助 SQL 编辑器,以最大化数据价值。
+title: 使用 AI 辅助 SQL 编辑器探索你的数据
+summary: 了解如何在 TiDB Cloud 控制台中使用 AI 辅助 SQL 编辑器,最大化你的数据价值。
---
-# 使用 AI 辅助 SQL 编辑器探索数据
+# 使用 AI 辅助 SQL 编辑器探索你的数据
-你可以使用 [TiDB Cloud 控制台](https://tidbcloud.com/) 中内置的 AI 辅助 SQL 编辑器来最大化数据价值。
+你可以在 [TiDB Cloud 控制台](https://tidbcloud.com/)中使用内置的 AI 辅助 SQL 编辑器,最大化你的数据价值。
-在 SQL 编辑器中,你可以手动编写 SQL 查询,也可以在 macOS 上按 ⌘ + I (或在 Windows 或 Linux 上按 Control + I )来指示 [Chat2Query (beta)](/tidb-cloud/tidb-cloud-glossary.md#chat2query) 自动生成 SQL 查询。这使你无需本地 SQL 客户端即可对数据库运行 SQL 查询。你可以直观地以表格或图表形式查看查询结果,并轻松查看查询日志。
+在 SQL 编辑器中,你可以手动编写 SQL 查询,或者只需在 macOS 上按下 ⌘ + I (或在 Windows 或 Linux 上按下 Control + I ),即可指示 [Chat2Query (beta)](/tidb-cloud/tidb-cloud-glossary.md#chat2query) 自动生成 SQL 查询。这样,你无需本地 SQL 客户端即可对数据库运行 SQL 查询。你可以直观地在表格或图表中查看查询结果,并轻松检查查询日志。
## 使用场景
-SQL 编辑器的推荐使用场景如下:
+SQL 编辑器推荐的使用场景如下:
-- 利用 Chat2Query 的 AI 功能即时生成、调试或重写复杂的 SQL 查询。
+- 利用 Chat2Query 的 AI 能力,快速生成、调试或重写复杂的 SQL 查询。
- 快速测试 TiDB 的 MySQL 兼容性。
-- 使用自己的数据集轻松探索 TiDB 中的 SQL 功能。
+- 使用你自己的数据集,轻松探索 TiDB 的 SQL 特性。
## 限制
-- AI 生成的 SQL 查询可能不是 100% 准确,你可能需要对其进行优化。
-- SQL 编辑器仅支持 v6.5.0 或更高版本且托管在 AWS 上的 TiDB 集群。
-- SQL 编辑器默认适用于 [TiDB Cloud Serverless](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless) 集群。要在 [TiDB Cloud Dedicated](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) 集群上使用 SQL 编辑器和 Chat2Query,请联系 [TiDB Cloud 支持团队](/tidb-cloud/tidb-cloud-support.md)。
+- AI 生成的 SQL 查询可能并非 100% 准确,你可能需要对其进行完善。
+- SQL 编辑器仅支持部署在 AWS 上、版本为 v6.5.0 及以上的 TiDB 集群。
+- SQL 编辑器默认对 [TiDB Cloud Serverless](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless) 集群开放。若要在 [TiDB Cloud Dedicated](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) 集群上使用 SQL 编辑器和 Chat2Query,请联系 [TiDB Cloud 支持](/tidb-cloud/tidb-cloud-support.md)。
## 访问 SQL 编辑器
-1. 转到项目的[**集群**](https://tidbcloud.com/project/clusters)页面。
+1. 进入你的项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
> **提示:**
>
> 你可以使用左上角的下拉框在组织、项目和集群之间切换。
-2. 点击集群名称,然后在左侧导航栏中点击 **SQL 编辑器**。
+2. 点击你的集群名称,然后在左侧导航栏点击 **SQL Editor**。
> **注意:**
>
- > 在以下情况下,**SQL 编辑器**入口显示为灰色且不可点击:
+ > 在以下情况下,**SQL Editor** 入口会显示为灰色且不可点击。
>
- > - 你的 TiDB Cloud Dedicated 集群版本早于 v6.5.0。要使用 SQL 编辑器,你需要联系 [TiDB Cloud 支持团队](/tidb-cloud/tidb-cloud-support.md)升级集群。
- > - 你的 TiDB Cloud Dedicated 集群刚刚创建,SQL 编辑器的运行环境仍在准备中。在这种情况下,等待几分钟后 Chat2Query 就会可用。
- > - 你的 TiDB Cloud Dedicated 集群已[暂停](/tidb-cloud/pause-or-resume-tidb-cluster.md)。
+ > - 你的 TiDB Cloud Dedicated 集群版本低于 v6.5.0。若要使用 SQL 编辑器,你需要联系 [TiDB Cloud 支持](/tidb-cloud/tidb-cloud-support.md) 升级你的集群。
+ > - 你的 TiDB Cloud Dedicated 集群刚刚创建,SQL 编辑器的运行环境仍在准备中。此时请等待几分钟,Chat2Query 即可使用。
+ > - 你的 TiDB Cloud Dedicated 集群已被 [暂停](/tidb-cloud/pause-or-resume-tidb-cluster.md)。
## 启用或禁用 AI 生成 SQL 查询
-PingCAP 将用户数据的隐私和安全视为首要任务。SQL 编辑器中的 Chat2Query AI 功能只需要访问数据库架构来生成 SQL 查询,而不需要访问你的数据本身。更多信息,请参见 [Chat2Query 隐私常见问题](https://www.pingcap.com/privacy-policy/privacy-chat2query)。
+PingCAP 将用户数据的隐私和安全放在首位。SQL 编辑器中 Chat2Query 的 AI 能力仅需访问数据库 schema 以生成 SQL 查询,不会访问你的数据本身。更多信息请参见 [Chat2Query 隐私常见问题](https://www.pingcap.com/privacy-policy/privacy-chat2query)。
-当你首次访问 Chat2Query 时,会出现一个对话框,询问是否允许 PingCAP 和 Amazon Bedrock 使用你的代码片段来研究和改进服务。
+首次访问 Chat2Query 时,你会看到一个对话框,询问是否允许 PingCAP 和 Amazon Bedrock 使用你的代码片段进行服务研究和改进。
-- 要启用 AI 生成 SQL 查询,选中复选框并点击**保存并开始使用**。
-- 要禁用 AI 生成 SQL 查询,直接关闭此对话框。
+- 若要启用 AI 生成 SQL 查询,勾选复选框并点击 **Save and Get Started**。
+- 若要禁用 AI 生成 SQL 查询,直接关闭该对话框即可。
-首次访问后,你仍然可以按照以下方式更改 AI 设置:
+首次访问后,你仍可按如下方式更改 AI 设置:
-- 要启用 AI,点击 Chat2Query 右上角的**启用 AI 功能进行数据探索**。
-- 要禁用 AI,点击 [TiDB Cloud 控制台](https://tidbcloud.com/) 左下角的 ,点击**账户设置**,点击 **AI 和隐私**标签,然后禁用 **AI 驱动的数据探索**选项。
+- 启用 AI:在 Chat2Query 右上角点击 **Enable AI power for data exploration**。
+- 禁用 AI:在 [TiDB Cloud 控制台](https://tidbcloud.com/)左下角点击 ,点击 **Account Settings**,切换到 **AI & Privacy** 标签页,然后关闭 **AI-powered Data Exploration** 选项。
-## 编写和运行 SQL 查询
+## 编写并运行 SQL 查询
-在 SQL 编辑器中,你可以使用自己的数据集编写和运行 SQL 查询。
+在 SQL 编辑器中,你可以使用你自己的数据集编写并运行 SQL 查询。
1. 编写 SQL 查询。
- 对于 macOS:
+ 针对 macOS:
- - 如果启用了 AI,只需按 **⌘ + I** 后输入你的指令并按 **Enter** 键,即可让 AI 自动生成 SQL 查询。
+ - 如果已启用 AI,只需按下 **⌘ + I**,输入你的指令并按 **Enter**,即可让 AI 自动生成 SQL 查询。
- 对于 Chat2Query 生成的 SQL 查询,点击**接受**以接受查询并继续编辑。如果查询不符合你的要求,点击**放弃**以拒绝它。或者,点击**重新生成**以从 Chat2Query 请求新的查询。
+ 对于 Chat2Query 生成的 SQL 查询,点击 **Accept** 接受该查询并继续编辑。如果查询不符合你的需求,点击 **Discard** 拒绝该查询。你也可以点击 **Regenerate** 让 Chat2Query 重新生成查询。
- - 如果禁用了 AI,手动编写 SQL 查询。
+ - 如果未启用 AI,则手动编写 SQL 查询。
- 对于 Windows 或 Linux:
+ 针对 Windows 或 Linux:
- - 如果启用了 AI,只需按 **Ctrl + I** 后输入你的指令并按 **Enter** 键,即可让 AI 自动生成 SQL 查询。
+ - 如果已启用 AI,只需按下 **Ctrl + I**,输入你的指令并按 **Enter**,即可让 AI 自动生成 SQL 查询。
- 对于 Chat2Query 生成的 SQL 查询,点击**接受**以接受查询并继续编辑。如果查询不符合你的要求,点击**放弃**以拒绝它。或者,点击**重新生成**以从 Chat2Query 请求新的查询。
+ 对于 Chat2Query 生成的 SQL 查询,点击 **Accept** 接受该查询并继续编辑。如果查询不符合你的需求,点击 **Discard** 拒绝该查询。你也可以点击 **Regenerate** 让 Chat2Query 重新生成查询。
- - 如果禁用了 AI,手动编写 SQL 查询。
+ - 如果未启用 AI,则手动编写 SQL 查询。
@@ -92,99 +92,99 @@ PingCAP 将用户数据的隐私和安全视为首要任务。SQL 编辑器中
- 对于 macOS:
+ 针对 macOS:
- - 如果编辑器中只有一个查询,要运行它,按 **⌘ + Enter** 或点击
**运行**。
+ - 如果编辑器中只有一个查询,按 **⌘ + Enter** 或点击
**Run** 即可运行。
- - 如果编辑器中有多个查询,要按顺序运行其中一个或多个查询,用光标选择目标查询的行,然后按 **⌘ + Enter** 或点击**运行**。
+ - 如果编辑器中有多个查询,想要顺序运行其中一个或多个,选中目标查询的行,然后按 **⌘ + Enter** 或点击 **Run**。
- - 要按顺序运行编辑器中的所有查询,按 **⇧ + ⌘ + Enter**,或用光标选择所有查询的行并点击**运行**。
+ - 若要顺序运行编辑器中的所有查询,按 **⇧ + ⌘ + Enter**,或选中所有查询的行后点击 **Run**。
- 对于 Windows 或 Linux:
+ 针对 Windows 或 Linux:
- - 如果编辑器中只有一个查询,要运行它,按 **Ctrl + Enter** 或点击
**运行**。
+ - 如果编辑器中只有一个查询,按 **Ctrl + Enter** 或点击
**Run** 即可运行。
- - 如果编辑器中有多个查询,要按顺序运行其中一个或多个查询,用光标选择目标查询的行,然后按 **Ctrl + Enter** 或点击**运行**。
+ - 如果编辑器中有多个查询,想要顺序运行其中一个或多个,选中目标查询的行,然后按 **Ctrl + Enter** 或点击 **Run**。
- - 要按顺序运行编辑器中的所有查询,按 **Shift + Ctrl + Enter**,或用光标选择所有查询的行并点击**运行**。
+ - 若要顺序运行编辑器中的所有查询,按 **Shift + Ctrl + Enter**,或选中所有查询的行后点击 **Run**。
-运行查询后,你可以立即在页面底部看到查询日志和结果。
+运行查询后,你可以在页面底部立即看到查询日志和结果。
> **注意:**
>
-> 返回结果的大小限制为 8 MiB。
+> 返回结果有 8 MiB 的大小限制。
## 使用 Chat2Query 重写 SQL 查询
-在 SQL 编辑器中,你可以使用 Chat2Query 重写现有的 SQL 查询,以优化性能、修复错误或满足其他特定要求。
+在 SQL 编辑器中,你可以使用 Chat2Query 重写已有的 SQL 查询,以优化性能、修复错误或满足其他特定需求。
-1. 用光标选择要重写的 SQL 查询行。
+1. 用光标选中你想要重写的 SQL 查询行。
-2. 使用操作系统对应的键盘快捷键调用 Chat2Query 进行重写:
+2. 按照你的操作系统,使用快捷键调用 Chat2Query 进行重写:
- - macOS 上按 ⌘ + I
- - Windows 或 Linux 上按 Control + I
+ - macOS 上为 ⌘ + I
+ - Windows 或 Linux 上为 Control + I
- 提供指令后按 **Enter** 键让 AI 处理重写。
+ 输入你的指令后按 **Enter**,让 AI 进行重写。
-3. 调用 Chat2Query 后,你可以看到建议的重写内容和以下选项:
+3. 调用 Chat2Query 后,你会看到建议的重写内容以及以下选项:
- - **接受**:点击此项以接受建议的重写并继续编辑。
- - **放弃**:如果建议的重写不符合你的期望,点击此项。
- - **重新生成**:点击此项以根据你的反馈或额外指令从 Chat2Query 请求另一个重写。
+ - **Accept**:点击此项接受建议的重写并继续编辑。
+ - **Discard**:如果建议的重写不符合你的预期,点击此项拒绝。
+ - **Regenerate**:根据你的反馈或补充指令,点击此项让 Chat2Query 重新生成重写内容。
> **注意:**
>
-> Chat2Query 使用 AI 算法来提供优化和修正建议。建议在最终确定查询之前仔细审查这些建议。
+> Chat2Query 使用 AI 算法提供优化和修正建议。建议你在最终确定查询前,仔细审核这些建议。
## 管理 SQL 文件
-在 SQL 编辑器中,你可以将 SQL 查询保存在不同的 SQL 文件中,并按以下方式管理 SQL 文件:
+在 SQL 编辑器中,你可以将 SQL 查询保存在不同的 SQL 文件中,并按如下方式管理 SQL 文件:
-- 要添加 SQL 文件,点击 **SQL 文件**标签上的 **+**。
-- 要重命名 SQL 文件,将光标移到文件名上,点击文件名旁边的 **...**,然后选择**重命名**。
-- 要删除 SQL 文件,将光标移到文件名上,点击文件名旁边的 **...**,然后选择**删除**。注意,当 **SQL 文件**标签上只有一个 SQL 文件时,你无法删除它。
+- 新增 SQL 文件:点击 **SQL Files** 标签页上的 **+**。
+- 重命名 SQL 文件:将光标移到文件名上,点击文件名旁的 **...**,然后选择 **Rename**。
+- 删除 SQL 文件:将光标移到文件名上,点击文件名旁的 **...**,然后选择 **Delete**。注意,当 **SQL Files** 标签页上只有一个 SQL 文件时,无法删除该文件。
## 通过 API 访问 Chat2Query
-除了通过 UI 访问 Chat2Query 外,你还可以通过 API 访问 Chat2Query。要实现这一点,你需要先创建一个 Chat2Query Data App。
+除了通过 UI 访问 Chat2Query,你还可以通过 API 访问 Chat2Query。为此,你需要先创建一个 Chat2Query Data App。
-在 Chat2Query 中,你可以按以下方式访问或创建 Chat2Query Data App:
+在 Chat2Query 中,你可以按如下方式访问或创建 Chat2Query Data App:
-1. 点击右上角的 **...**,然后点击**通过 API 访问 Chat2Query**。
-2. 在显示的对话框中,执行以下操作之一:
+1. 点击右上角的 **...**,然后点击 **Access Chat2Query via API**。
+2. 在弹出的对话框中,执行以下操作之一:
- - 要创建新的 Chat2Query Data App,点击**新建 Chat2Query Data App**。
- - 要访问现有的 Chat2Query Data App,点击目标 Data App 的名称。
+ - 创建新的 Chat2Query Data App,点击 **New Chat2Query Data App**。
+ - 访问已有的 Chat2Query Data App,点击目标 Data App 的名称。
-更多信息,请参见[开始使用 Chat2Query API](/tidb-cloud/use-chat2query-api.md)。
+更多信息请参见 [Get started with Chat2Query API](/tidb-cloud/use-chat2query-api.md)。
-## 从 SQL 文件生成端点
+## 从 SQL 文件生成接口
-对于 TiDB 集群,TiDB Cloud 提供了 [Data Service (beta)](/tidb-cloud/data-service-overview.md) 功能,使你能够使用自定义 API 端点通过 HTTPS 请求访问 TiDB Cloud 数据。在 SQL 编辑器中,你可以通过以下步骤从 SQL 文件生成 Data Service (beta) 的端点:
+对于 TiDB 集群,TiDB Cloud 提供了 [Data Service (beta)](/tidb-cloud/data-service-overview.md) 功能,使你可以通过自定义 API endpoint 以 HTTPS 请求访问 TiDB Cloud 数据。在 SQL 编辑器中,你可以通过以下步骤从 SQL 文件生成 Data Service (beta) 的接口:
-1. 将光标移到文件名上,点击文件名旁边的 **...**,然后选择**生成端点**。
-2. 在**生成端点**对话框中,选择要为其生成端点的 Data App 并输入端点名称。
-3. 点击**生成**。端点生成后,将显示其详细信息页面。
+1. 将光标移到文件名上,点击文件名旁的 **...**,然后选择 **Generate endpoint**。
+2. 在 **Generate endpoint** 对话框中,选择你要为其生成接口的 Data App,并输入接口名称。
+3. 点击 **Generate**。接口生成后会显示其详情页。
-更多信息,请参见[管理端点](/tidb-cloud/data-service-manage-endpoint.md)。
+更多信息请参见 [Manage an endpoint](/tidb-cloud/data-service-manage-endpoint.md)。
## 管理 SQL 编辑器设置
在 SQL 编辑器中,你可以更改以下设置:
-- 查询结果中的最大行数
-- 是否在**架构**标签上显示系统数据库架构
+- 查询结果的最大行数
+- 是否在 **Schemas** 标签页显示系统数据库 schema
-要更改设置,请执行以下步骤:
+更改设置的步骤如下:
-1. 在 **SQL 编辑器**右上角,点击 **...** 并选择**设置**。
+1. 在 **SQL Editor** 右上角点击 **...** 并选择 **Settings**。
2. 根据需要更改设置。
-3. 点击**保存**。
+3. 点击 **Save**。
\ No newline at end of file
diff --git a/tidb-cloud/get-started-with-cli.md b/tidb-cloud/get-started-with-cli.md
index f30c09ddb83d1..261b28fc84342 100644
--- a/tidb-cloud/get-started-with-cli.md
+++ b/tidb-cloud/get-started-with-cli.md
@@ -5,26 +5,26 @@ summary: 了解如何通过 TiDB Cloud CLI 管理 TiDB Cloud 资源。
# TiDB Cloud CLI 快速入门
-TiDB Cloud 提供命令行界面(CLI)[`ticloud`](https://github.com/tidbcloud/tidbcloud-cli),让你可以通过几行命令在终端中与 TiDB Cloud 交互。例如,你可以使用 `ticloud` 轻松执行以下操作:
+TiDB Cloud 提供了一个命令行界面(CLI)[`ticloud`](https://github.com/tidbcloud/tidbcloud-cli),你可以通过在终端输入几行命令与 TiDB Cloud 进行交互。例如,你可以使用 `ticloud` 轻松完成以下操作:
- 创建、删除和列出你的集群。
-- 向集群导入数据。
-- 从集群导出数据。
+- 向你的集群导入数据。
+- 从你的集群导出数据。
-> **注意:**
+> **Note:**
>
> TiDB Cloud CLI 目前处于 beta 阶段。
## 开始之前
-- 拥有 TiDB Cloud 账户。如果没有,请[注册免费试用](https://tidbcloud.com/free-trial)。
+- 拥有一个 TiDB Cloud 账号。如果你还没有账号,请[注册免费试用](https://tidbcloud.com/free-trial)。
## 安装
-对于 macOS 或 Linux,你可以使用以下任一方法安装 `ticloud`:
+对于 macOS 或 Linux,你可以通过以下任意一种方式安装 `ticloud`:
- 通过脚本安装(推荐)
@@ -40,13 +40,13 @@ TiDB Cloud 提供命令行界面(CLI)[`ticloud`](https://github.com/tidbclou
- 手动安装
- 从[发布页面](https://github.com/tidbcloud/tidbcloud-cli/releases/latest)下载预编译的二进制文件,并将其复制到所需的安装位置。
+ 从 [releases](https://github.com/tidbcloud/tidbcloud-cli/releases/latest) 页面下载预编译的二进制文件,并将其复制到你希望安装的位置。
- 在 GitHub Actions 中安装
- 要在 GitHub Action 中设置 `ticloud`,请使用 [`setup-tidbcloud-cli`](https://github.com/tidbcloud/setup-tidbcloud-cli)。
+ 如果需要在 GitHub Action 中设置 `ticloud`,请使用 [`setup-tidbcloud-cli`](https://github.com/tidbcloud/setup-tidbcloud-cli)。
-如果你没有 MySQL 命令行客户端,请安装它。你可以通过包管理器安装:
+如果你还没有安装 MySQL 命令行客户端,可以通过包管理器进行安装:
- 基于 Debian 的发行版:
@@ -70,54 +70,54 @@ TiDB Cloud 提供命令行界面(CLI)[`ticloud`](https://github.com/tidbclou
-对于 Windows,你可以使用以下任一方法安装 `ticloud`:
+对于 Windows,你可以通过以下任意一种方式安装 `ticloud`:
- 手动安装
- 从[发布页面](https://github.com/tidbcloud/tidbcloud-cli/releases/latest)下载预编译的二进制文件,并将其复制到所需的安装位置。
+ 从 [releases](https://github.com/tidbcloud/tidbcloud-cli/releases/latest) 页面下载预编译的二进制文件,并将其复制到你希望安装的位置。
- 在 GitHub Actions 中安装
- 要在 GitHub Actions 中设置 `ticloud`,请使用 [`setup-tidbcloud-cli`](https://github.com/tidbcloud/setup-tidbcloud-cli)。
+ 如果需要在 GitHub Actions 中设置 `ticloud`,请使用 [`setup-tidbcloud-cli`](https://github.com/tidbcloud/setup-tidbcloud-cli)。
-如果你没有 MySQL 命令行客户端,请安装它。你可以参考 [MySQL Installer for Windows](https://dev.mysql.com/doc/refman/8.0/en/mysql-installer.html) 中的安装说明。要在 Windows 上启动 `ticloud connect`,你需要将包含 `mysql.exe` 的目录添加到 PATH 环境变量中。
+如果你还没有安装 MySQL 命令行客户端,可以参考 [MySQL Installer for Windows](https://dev.mysql.com/doc/refman/8.0/en/mysql-installer.html) 中的安装说明。在 Windows 上启动 `ticloud connect` 时,你需要将包含 `mysql.exe` 的目录添加到 PATH 环境变量中。
## 快速入门
-[TiDB Cloud Serverless](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless) 是开始使用 TiDB Cloud 的最佳方式。在本节中,你将学习如何使用 TiDB Cloud CLI 创建 TiDB Cloud Serverless 集群。
+[TiDB Cloud Serverless](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless) 是体验 TiDB Cloud 的最佳方式。本节将介绍如何使用 TiDB Cloud CLI 创建一个 TiDB Cloud Serverless 集群。
### 创建用户配置文件或登录 TiDB Cloud
-在使用 TiDB Cloud CLI 创建集群之前,你需要创建用户配置文件或登录 TiDB Cloud。
+在使用 TiDB Cloud CLI 创建集群之前,你需要先创建用户配置文件或登录 TiDB Cloud。
-- 使用你的 [TiDB Cloud API 密钥](https://docs.pingcap.com/tidbcloud/api/v1beta#section/Authentication/API-Key-Management)创建用户配置文件:
+- 使用你的 [TiDB Cloud API key](https://docs.pingcap.com/tidbcloud/api/v1beta#section/Authentication/API-Key-Management) 创建用户配置文件:
```shell
ticloud config create
```
- > **警告:**
+ > **Warning:**
>
- > 配置文件名称**不能**包含 `.`。
+ > 配置文件名 **MUST NOT** 包含 `.`。
-- 通过身份验证登录 TiDB Cloud:
+- 通过认证登录 TiDB Cloud:
```shell
ticloud auth login
```
- 登录成功后,OAuth 令牌将分配给当前配置文件。如果不存在配置文件,令牌将分配给名为 `default` 的配置文件。
+ 登录成功后,OAuth token 会分配给当前配置文件。如果没有配置文件,token 会分配给名为 `default` 的配置文件。
-> **注意:**
+> **Note:**
>
-> 在上述两种方法中,TiDB Cloud API 密钥优先于 OAuth 令牌。如果两者都可用,将使用 API 密钥。
+> 在上述两种方式中,TiDB Cloud API key 的优先级高于 OAuth token。如果两者都存在,将优先使用 API key。
### 创建 TiDB Cloud Serverless 集群
-要创建 TiDB Cloud Serverless 集群,请输入以下命令,然后按照 CLI 提示提供所需信息:
+要创建 TiDB Cloud Serverless 集群,输入以下命令,并根据 CLI 提示填写所需信息:
```shell
ticloud serverless create
@@ -131,13 +131,13 @@ ticloud serverless create
ticloud --help
```
-验证你是否使用最新版本:
+验证你当前使用的是否为最新版本:
```shell
ticloud version
```
-如果不是,请更新到最新版本:
+如果不是最新版本,请更新到最新版:
```shell
ticloud update
@@ -159,16 +159,16 @@ tiup cloud --help
tiup cloud serverless create
```
-通过 TiUP 更新到最新版本:
+通过 TiUP 更新到最新版:
```shell
tiup update cloud
```
-## 下一步
+## 后续操作
-查看 [CLI 参考](/tidb-cloud/cli-reference.md)以探索 TiDB Cloud CLI 的更多功能。
+查阅 [CLI 参考](/tidb-cloud/cli-reference.md) 以探索 TiDB Cloud CLI 的更多功能。
## 反馈
-如果你对 TiDB Cloud CLI 有任何问题或建议,欢迎创建[议题](https://github.com/tidbcloud/tidbcloud-cli/issues/new/choose)。同时,我们也欢迎任何贡献。
+如果你对 TiDB Cloud CLI 有任何问题或建议,欢迎创建 [issue](https://github.com/tidbcloud/tidbcloud-cli/issues/new/choose)。同时也欢迎任何贡献。
\ No newline at end of file
diff --git a/tidb-cloud/import-csv-files-serverless.md b/tidb-cloud/import-csv-files-serverless.md
index 20867ed405d91..1ca4c6df5c9fc 100644
--- a/tidb-cloud/import-csv-files-serverless.md
+++ b/tidb-cloud/import-csv-files-serverless.md
@@ -1,61 +1,61 @@
---
title: 从 Amazon S3、GCS、Azure Blob Storage 或阿里云 OSS 导入 CSV 文件到 TiDB Cloud Serverless
-summary: 了解如何从 Amazon S3、GCS、Azure Blob Storage 或阿里云对象存储服务(OSS)导入 CSV 文件到 TiDB Cloud Serverless。
+summary: 了解如何将 CSV 文件从 Amazon S3、GCS、Azure Blob Storage 或阿里云对象存储服务(OSS)导入到 TiDB Cloud Serverless。
---
# 从 Amazon S3、GCS、Azure Blob Storage 或阿里云 OSS 导入 CSV 文件到 TiDB Cloud Serverless
-本文档描述如何从 Amazon Simple Storage Service (Amazon S3)、Google Cloud Storage (GCS)、Azure Blob Storage 或阿里云对象存储服务(OSS)导入 CSV 文件到 TiDB Cloud Serverless。
+本文档介绍如何将 CSV 文件从 Amazon Simple Storage Service(Amazon S3)、Google Cloud Storage(GCS)、Azure Blob Storage 或阿里云对象存储服务(OSS)导入到 TiDB Cloud Serverless。
## 限制
-- 为确保数据一致性,TiDB Cloud Serverless 仅允许将 CSV 文件导入到空表中。如果要将数据导入到已包含数据的现有表中,你可以按照本文档将数据导入到临时空表中,然后使用 `INSERT SELECT` 语句将数据复制到目标现有表中。
+- 为保证数据一致性,TiDB Cloud Serverless 仅允许将 CSV 文件导入到空表中。若需要将数据导入到已存在且包含数据的表中,你可以按照本文档的步骤,先将数据导入到一个临时空表中,然后使用 `INSERT SELECT` 语句将数据复制到目标表。
-## 步骤 1. 准备 CSV 文件
+## 第 1 步:准备 CSV 文件
-1. 如果 CSV 文件大于 256 MB,建议将其拆分为较小的文件,每个文件大小约为 256 MB。
+1. 如果单个 CSV 文件大于 256 MB,建议将其拆分为多个小文件,每个文件大小约为 256 MB。
- TiDB Cloud Serverless 支持导入非常大的 CSV 文件,但在处理大小约为 256 MB 的多个输入文件时性能最佳。这是因为 TiDB Cloud Serverless 可以并行处理多个文件,从而大大提高导入速度。
+ TiDB Cloud Serverless 支持导入非常大的 CSV 文件,但在多个约 256 MB 的输入文件时性能最佳。这是因为 TiDB Cloud Serverless 可以并行处理多个文件,从而大幅提升导入速度。
-2. 按以下方式命名 CSV 文件:
+2. 按如下方式命名 CSV 文件:
- - 如果 CSV 文件包含整个表的所有数据,请按 `${db_name}.${table_name}.csv` 格式命名文件,导入数据时将映射到 `${db_name}.${table_name}` 表。
- - 如果一个表的数据分散在多个 CSV 文件中,请在这些 CSV 文件后附加数字后缀。例如,`${db_name}.${table_name}.000001.csv` 和 `${db_name}.${table_name}.000002.csv`。数字后缀可以不连续但必须按升序排列。你还需要在数字前添加额外的零以确保所有后缀长度相同。
- - TiDB Cloud Serverless 支持导入以下格式的压缩文件:`.gzip`、`.gz`、`.zstd`、`.zst` 和 `.snappy`。如果要导入压缩的 CSV 文件,请按 `${db_name}.${table_name}.${suffix}.csv.${compress}` 格式命名文件,其中 `${suffix}` 是可选的,可以是任何整数,如 '000001'。例如,如果要将 `trips.000001.csv.gz` 文件导入到 `bikeshare.trips` 表,你需要将文件重命名为 `bikeshare.trips.000001.csv.gz`。
+ - 如果一个 CSV 文件包含了整个表的所有数据,文件名应采用 `${db_name}.${table_name}.csv` 格式,导入时会映射到 `${db_name}.${table_name}` 表。
+ - 如果一个表的数据被拆分为多个 CSV 文件,应在这些文件名后添加数字后缀。例如,`${db_name}.${table_name}.000001.csv` 和 `${db_name}.${table_name}.000002.csv`。数字后缀可以不连续,但必须递增,并且需要在数字前补零以保证所有后缀长度一致。
+ - TiDB Cloud Serverless 支持导入以下格式的压缩文件:`.gzip`、`.gz`、`.zstd`、`.zst` 和 `.snappy`。如果你需要导入压缩的 CSV 文件,文件名应采用 `${db_name}.${table_name}.${suffix}.csv.${compress}` 格式,其中 `${suffix}` 可选,可以是任意整数如 '000001'。例如,如果你想将 `trips.000001.csv.gz` 文件导入到 `bikeshare.trips` 表,需要将文件重命名为 `bikeshare.trips.000001.csv.gz`。
> **注意:**
>
- > - 为获得更好的性能,建议将每个压缩文件的大小限制在 100 MiB 以内。
- > - Snappy 压缩文件必须采用[官方 Snappy 格式](https://github.com/google/snappy)。不支持其他变体的 Snappy 压缩。
- > - 对于未压缩的文件,如果在某些情况下无法按照上述规则更新 CSV 文件名(例如,CSV 文件链接也被其他程序使用),你可以保持文件名不变,并在[步骤 4](#步骤-4-将-csv-文件导入到-tidb-cloud-serverless) 中使用**映射设置**将源数据导入到单个目标表。
+ > - 为获得更好的性能,建议每个压缩文件大小限制在 100 MiB。
+ > - Snappy 压缩文件必须为 [官方 Snappy 格式](https://github.com/google/snappy)。不支持其他 Snappy 压缩变体。
+ > - 对于未压缩的文件,如果你在某些场景下无法按照上述规则修改 CSV 文件名(例如,CSV 文件链接也被其他程序使用),可以保持文件名不变,并在 [第 4 步](#step-4-import-csv-files) 的 **Mapping Settings** 中将源数据导入到单一目标表。
-## 步骤 2. 创建目标表架构
+## 第 2 步:创建目标表结构
-由于 CSV 文件不包含架构信息,在将数据从 CSV 文件导入到 TiDB Cloud Serverless 之前,你需要使用以下任一方法创建表架构:
+由于 CSV 文件不包含表结构信息,在将 CSV 文件数据导入 TiDB Cloud Serverless 之前,你需要通过以下任一方式创建表结构:
-- 方法 1:在 TiDB Cloud Serverless 中,为源数据创建目标数据库和表。
+- 方式一:在 TiDB Cloud Serverless 中,为你的源数据创建目标数据库和数据表。
-- 方法 2:在存放 CSV 文件的 Amazon S3、GCS、Azure Blob Storage 或阿里云对象存储服务目录中,按以下方式为源数据创建目标表架构文件:
+- 方式二:在存放 CSV 文件的 Amazon S3、GCS、Azure Blob Storage 或阿里云对象存储服务目录下,为你的源数据创建目标表结构文件:
- 1. 为源数据创建数据库架构文件。
+ 1. 为你的源数据创建数据库结构文件。
- 如果你的 CSV 文件遵循[步骤 1](#步骤-1-准备-csv-文件) 中的命名规则,则数据库架构文件对数据导入是可选的。否则,数据库架构文件是必需的。
+ 如果你的 CSV 文件遵循 [第 1 步](#step-1-prepare-the-csv-files) 的命名规则,则数据库结构文件在数据导入时为可选项。否则,数据库结构文件为必需项。
- 每个数据库架构文件必须采用 `${db_name}-schema-create.sql` 格式,并包含一个 `CREATE DATABASE` DDL 语句。通过此文件,TiDB Cloud Serverless 将在导入数据时创建 `${db_name}` 数据库来存储数据。
+ 每个数据库结构文件必须采用 `${db_name}-schema-create.sql` 格式,并包含一个 `CREATE DATABASE` DDL 语句。通过该文件,TiDB Cloud Serverless 会在导入数据时创建 `${db_name}` 数据库以存储你的数据。
- 例如,如果你创建一个包含以下语句的 `mydb-scehma-create.sql` 文件,TiDB Cloud Serverless 将在导入数据时创建 `mydb` 数据库。
+ 例如,如果你创建了一个包含如下语句的 `mydb-scehma-create.sql` 文件,TiDB Cloud Serverless 会在导入数据时创建 `mydb` 数据库。
```sql
CREATE DATABASE mydb;
```
- 2. 为源数据创建表架构文件。
+ 2. 为你的源数据创建数据表结构文件。
- 如果你没有在存放 CSV 文件的 Amazon S3、GCS、Azure Blob Storage 或阿里云对象存储服务目录中包含表架构文件,TiDB Cloud Serverless 在导入数据时将不会为你创建相应的表。
+ 如果你没有在存放 CSV 文件的 Amazon S3、GCS、Azure Blob Storage 或阿里云对象存储服务目录下包含表结构文件,TiDB Cloud Serverless 在导入数据时不会为你创建相应的数据表。
- 每个表架构文件必须采用 `${db_name}.${table_name}-schema.sql` 格式,并包含一个 `CREATE TABLE` DDL 语句。通过此文件,TiDB Cloud Serverless 将在导入数据时在 `${db_name}` 数据库中创建 `${db_table}` 表。
+ 每个表结构文件必须采用 `${db_name}.${table_name}-schema.sql` 格式,并包含一个 `CREATE TABLE` DDL 语句。通过该文件,TiDB Cloud Serverless 会在导入数据时在 `${db_name}` 数据库中创建 `${db_table}` 表。
- 例如,如果你创建一个包含以下语句的 `mydb.mytable-schema.sql` 文件,TiDB Cloud Serverless 将在导入数据时在 `mydb` 数据库中创建 `mytable` 表。
+ 例如,如果你创建了一个包含如下语句的 `mydb.mytable-schema.sql` 文件,TiDB Cloud Serverless 会在导入数据时在 `mydb` 数据库中创建 `mytable` 表。
```sql
CREATE TABLE mytable (
@@ -66,248 +66,252 @@ summary: 了解如何从 Amazon S3、GCS、Azure Blob Storage 或阿里云对象
> **注意:**
>
- > 每个 `${db_name}.${table_name}-schema.sql` 文件应该只包含一个 DDL 语句。如果文件包含多个 DDL 语句,只有第一个语句会生效。
+ > 每个 `${db_name}.${table_name}-schema.sql` 文件只能包含一个 DDL 语句。如果文件中包含多个 DDL 语句,只有第一个会生效。
-## 步骤 3. 配置跨账户访问
+## 第 3 步:配置跨账号访问
-要允许 TiDB Cloud Serverless 访问 Amazon S3、GCS、Azure Blob Storage 或阿里云对象存储服务存储桶中的 CSV 文件,请执行以下操作之一:
+为了让 TiDB Cloud Serverless 能够访问 Amazon S3、GCS、Azure Blob Storage 或阿里云对象存储服务桶中的 CSV 文件,请按以下方式操作:
-- 如果你的 CSV 文件位于 Amazon S3 中,[为 TiDB Cloud Serverless 配置外部存储访问](/tidb-cloud/serverless-external-storage.md#配置-amazon-s3-访问)。
+- 如果你的 CSV 文件位于 Amazon S3,[为 TiDB Cloud Serverless 配置外部存储访问](/tidb-cloud/serverless-external-storage.md#configure-amazon-s3-access)。
- 你可以使用 AWS 访问密钥或 Role ARN 来访问存储桶。完成后,请记下访问密钥(包括访问密钥 ID 和密钥)或 Role ARN 值,因为你将在[步骤 4](#步骤-4-将-csv-文件导入到-tidb-cloud-serverless) 中需要它。
+ 你可以使用 AWS 访问密钥或 Role ARN 访问你的桶。配置完成后,请记录访问密钥(包括访问密钥 ID 和密钥访问密钥)或 Role ARN 值,后续在 [第 4 步](#step-4-import-csv-files) 中会用到。
-- 如果你的 CSV 文件位于 GCS 中,[为 TiDB Cloud Serverless 配置外部存储访问](/tidb-cloud/serverless-external-storage.md#配置-gcs-访问)。
+- 如果你的 CSV 文件位于 GCS,[为 TiDB Cloud Serverless 配置外部存储访问](/tidb-cloud/serverless-external-storage.md#configure-gcs-access)。
-- 如果你的 CSV 文件位于 Azure Blob Storage 中,[为 TiDB Cloud Serverless 配置外部存储访问](/tidb-cloud/serverless-external-storage.md#配置-azure-blob-storage-访问)。
+- 如果你的 CSV 文件位于 Azure Blob Storage,[为 TiDB Cloud Serverless 配置外部存储访问](/tidb-cloud/serverless-external-storage.md#configure-azure-blob-storage-access)。
-- 如果你的 CSV 文件位于阿里云对象存储服务(OSS)中,[为 TiDB Cloud Serverless 配置外部存储访问](/tidb-cloud/serverless-external-storage.md#配置阿里云对象存储服务-oss-访问)。
+- 如果你的 CSV 文件位于阿里云对象存储服务(OSS),[为 TiDB Cloud Serverless 配置外部存储访问](/tidb-cloud/serverless-external-storage.md#configure-alibaba-cloud-object-storage-service-oss-access)。
-## 步骤 4. 将 CSV 文件导入到 TiDB Cloud Serverless
+## 第 4 步:导入 CSV 文件
-要将 CSV 文件导入到 TiDB Cloud Serverless,请执行以下步骤:
+要将 CSV 文件导入到 TiDB Cloud Serverless,请按照以下步骤操作:
-1. 打开目标集群的**导入**页面。
+1. 打开目标集群的 **Import** 页面。
- 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),导航到项目的 [**集群**](https://tidbcloud.com/project/clusters) 页面。
+ 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),进入你的项目 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
> **提示:**
>
- > 你可以使用左上角的组合框在组织、项目和集群之间切换。
+ > 你可以使用左上角的下拉框在组织、项目和集群之间切换。
- 2. 点击目标集群的名称进入其概览页面,然后在左侧导航栏中点击**数据** > **导入**。
+ 2. 点击目标集群名称进入其概览页面,然后在左侧导航栏点击 **Data** > **Import**。
-2. 选择**从云存储导入数据**,然后点击 **Amazon S3**。
+2. 点击 **Import data from Cloud Storage**。
-3. 在**从 Amazon S3 导入数据**页面,为源 CSV 文件提供以下信息:
+3. 在 **Import Data from Cloud Storage** 页面,填写以下信息:
- - **导入文件数量**:根据需要选择**单个文件**或**多个文件**。
- - **包含架构文件**:此字段仅在导入多个文件时可见。如果源文件夹包含目标表架构,选择**是**。否则,选择**否**。
- - **数据格式**:选择 **CSV**。
- - **文件 URI** 或**文件夹 URI**:
- - 导入单个文件时,按以下格式输入源文件 URI 和名称 `s3://[bucket_name]/[data_source_folder]/[file_name].csv`。例如,`s3://sampledata/ingest/TableName.01.csv`。
- - 导入多个文件时,按以下格式输入源文件 URI 和名称 `s3://[bucket_name]/[data_source_folder]/`。例如,`s3://sampledata/ingest/`。
- - **存储桶访问**:你可以使用 AWS Role ARN 或 AWS 访问密钥来访问存储桶。更多信息,请参见[配置 Amazon S3 访问](/tidb-cloud/serverless-external-storage.md#配置-amazon-s3-访问)。
+ - **Storage Provider**:选择 **Amazon S3**。
+ - **Source Files URI**:
+ - 导入单个文件时,输入源文件 URI,格式为 `s3://[bucket_name]/[data_source_folder]/[file_name].csv`。例如:`s3://sampledata/ingest/TableName.01.csv`。
+ - 导入多个文件时,输入源文件夹 URI,格式为 `s3://[bucket_name]/[data_source_folder]/`。例如:`s3://sampledata/ingest/`。
+ - **Credential**:你可以使用 AWS Role ARN 或 AWS 访问密钥访问你的桶。更多信息参见 [Configure Amazon S3 access](/tidb-cloud/serverless-external-storage.md#configure-amazon-s3-access)。
- **AWS Role ARN**:输入 AWS Role ARN 值。
- - **AWS 访问密钥**:输入 AWS 访问密钥 ID 和 AWS 密钥。
+ - **AWS Access Key**:输入 AWS 访问密钥 ID 和 AWS 密钥访问密钥。
-4. 点击**连接**。
+4. 点击 **Next**。
-5. 在**目标**部分,选择目标数据库和表。
+5. 在 **Destination Mapping** 部分,指定源文件与目标表的映射方式。
- 导入多个文件时,你可以使用**高级设置** > **映射设置**为每个目标表及其对应的 CSV 文件定义自定义映射规则。之后,将使用提供的自定义映射规则重新扫描数据源文件。
+ 当 **Source Files URI** 指定为目录时,默认勾选 **Use [File naming conventions](/tidb-cloud/naming-conventions-for-data-import.md) for automatic mapping** 选项。
- 在**源文件 URI 和名称**中输入源文件 URI 和名称时,确保其格式为 `s3://[bucket_name]/[data_source_folder]/[file_name].csv`。例如,`s3://sampledata/ingest/TableName.01.csv`。
+ > **注意:**
+ >
+ > 当 **Source Files URI** 指定为单个文件时,不显示 **Use [File naming conventions](/tidb-cloud/naming-conventions-for-data-import.md) for automatic mapping** 选项,TiDB Cloud 会自动将 **Source** 字段填充为文件名。此时你只需选择目标数据库和表进行数据导入。
- 你还可以使用通配符来匹配源文件。例如:
+ - 若希望 TiDB Cloud 自动将所有遵循 [File naming conventions](/tidb-cloud/naming-conventions-for-data-import.md) 的源文件映射到对应表,保持该选项勾选,并选择 **CSV** 作为数据格式。
- - `s3://[bucket_name]/[data_source_folder]/my-data?.csv`:该文件夹中以 `my-data` 开头后跟一个字符的所有 CSV 文件(如 `my-data1.csv` 和 `my-data2.csv`)将导入到同一个目标表中。
+ - 若需手动配置映射规则,将你的源 CSV 文件与目标数据库和表关联,取消勾选该选项,然后填写以下字段:
- - `s3://[bucket_name]/[data_source_folder]/my-data*.csv`:该文件夹中以 `my-data` 开头的所有 CSV 文件将导入到同一个目标表中。
+ - **Source**:输入文件名模式,格式为 `[file_name].csv`。例如:`TableName.01.csv`。你也可以使用通配符匹配多个文件,仅支持 `*` 和 `?` 通配符。
- 注意,仅支持 `?` 和 `*`。
+ - `my-data?.csv`:匹配所有以 `my-data` 开头,后跟单个字符的 CSV 文件,如 `my-data1.csv` 和 `my-data2.csv`。
+ - `my-data*.csv`:匹配所有以 `my-data` 开头的 CSV 文件,如 `my-data-2023.csv` 和 `my-data-final.csv`。
- > **注意:**
- >
- > URI 必须包含数据源文件夹。
+ - **Target Database** 和 **Target Table**:选择要导入数据的目标数据库和表。
+
+6. 点击 **Next**。TiDB Cloud 会相应扫描源文件。
-6. 点击**开始导入**。
+7. 审查扫描结果,检查发现的数据文件及其对应的目标表,然后点击 **Start Import**。
-7. 当导入进度显示**已完成**时,检查导入的表。
+8. 当导入进度显示 **Completed** 时,检查已导入的数据表。
-1. 打开目标集群的**导入**页面。
+1. 打开目标集群的 **Import** 页面。
- 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),导航到项目的 [**集群**](https://tidbcloud.com/project/clusters) 页面。
+ 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),进入你的项目 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
> **提示:**
>
- > 你可以使用左上角的组合框在组织、项目和集群之间切换。
+ > 你可以使用左上角的下拉框在组织、项目和集群之间切换。
- 2. 点击目标集群的名称进入其概览页面,然后在左侧导航栏中点击**数据** > **导入**。
+ 2. 点击目标集群名称进入其概览页面,然后在左侧导航栏点击 **Data** > **Import**。
-2. 选择**从云存储导入数据**,然后点击 **Google Cloud Storage**。
+2. 点击 **Import data from Cloud Storage**。
-3. 在**从 Google Cloud Storage 导入数据**页面,为源 CSV 文件提供以下信息:
+3. 在 **Import Data from Cloud Storage** 页面,填写以下信息:
- - **导入文件数量**:根据需要选择**单个文件**或**多个文件**。
- - **包含架构文件**:此字段仅在导入多个文件时可见。如果源文件夹包含目标表架构,选择**是**。否则,选择**否**。
- - **数据格式**:选择 **CSV**。
- - **文件 URI** 或**文件夹 URI**:
- - 导入单个文件时,按以下格式输入源文件 URI 和名称 `[gcs|gs]://[bucket_name]/[data_source_folder]/[file_name].csv`。例如,`[gcs|gs]://sampledata/ingest/TableName.01.csv`。
- - 导入多个文件时,按以下格式输入源文件 URI 和名称 `[gcs|gs]://[bucket_name]/[data_source_folder]/`。例如,`[gcs|gs]://sampledata/ingest/`。
- - **存储桶访问**:你可以使用服务账号密钥来访问存储桶。更多信息,请参见[配置 GCS 访问](/tidb-cloud/serverless-external-storage.md#配置-gcs-访问)。
+ - **Storage Provider**:选择 **Google Cloud Storage**。
+ - **Source Files URI**:
+ - 导入单个文件时,输入源文件 URI,格式为 `[gcs|gs]://[bucket_name]/[data_source_folder]/[file_name].csv`。例如:`[gcs|gs]://sampledata/ingest/TableName.01.csv`。
+ - 导入多个文件时,输入源文件夹 URI,格式为 `[gcs|gs]://[bucket_name]/[data_source_folder]/`。例如:`[gcs|gs]://sampledata/ingest/`。
+ - **Credential**:你可以使用 GCS IAM Role Service Account key 访问你的桶。更多信息参见 [Configure GCS access](/tidb-cloud/serverless-external-storage.md#configure-gcs-access)。
-4. 点击**连接**。
+4. 点击 **Next**。
-5. 在**目标**部分,选择目标数据库和表。
+5. 在 **Destination Mapping** 部分,指定源文件与目标表的映射方式。
- 导入多个文件时,你可以使用**高级设置** > **映射设置**为每个目标表及其对应的 CSV 文件定义自定义映射规则。之后,将使用提供的自定义映射规则重新扫描数据源文件。
+ 当 **Source Files URI** 指定为目录时,默认勾选 **Use [File naming conventions](/tidb-cloud/naming-conventions-for-data-import.md) for automatic mapping** 选项。
- 在**源文件 URI 和名称**中输入源文件 URI 和名称时,确保其格式为 `[gcs|gs]://[bucket_name]/[data_source_folder]/[file_name].csv`。例如,`[gcs|gs]://sampledata/ingest/TableName.01.csv`。
+ > **注意:**
+ >
+ > 当 **Source Files URI** 指定为单个文件时,不显示 **Use [File naming conventions](/tidb-cloud/naming-conventions-for-data-import.md) for automatic mapping** 选项,TiDB Cloud 会自动将 **Source** 字段填充为文件名。此时你只需选择目标数据库和表进行数据导入。
- 你还可以使用通配符来匹配源文件。例如:
+ - 若希望 TiDB Cloud 自动将所有遵循 [File naming conventions](/tidb-cloud/naming-conventions-for-data-import.md) 的源文件映射到对应表,保持该选项勾选,并选择 **CSV** 作为数据格式。
- - `[gcs|gs]://[bucket_name]/[data_source_folder]/my-data?.csv`:该文件夹中以 `my-data` 开头后跟一个字符的所有 CSV 文件(如 `my-data1.csv` 和 `my-data2.csv`)将导入到同一个目标表中。
+ - 若需手动配置映射规则,将你的源 CSV 文件与目标数据库和表关联,取消勾选该选项,然后填写以下字段:
- - `[gcs|gs]://[bucket_name]/[data_source_folder]/my-data*.csv`:该文件夹中以 `my-data` 开头的所有 CSV 文件将导入到同一个目标表中。
+ - **Source**:输入文件名模式,格式为 `[file_name].csv`。例如:`TableName.01.csv`。你也可以使用通配符匹配多个文件,仅支持 `*` 和 `?` 通配符。
- 注意,仅支持 `?` 和 `*`。
+ - `my-data?.csv`:匹配所有以 `my-data` 开头,后跟单个字符的 CSV 文件,如 `my-data1.csv` 和 `my-data2.csv`。
+ - `my-data*.csv`:匹配所有以 `my-data` 开头的 CSV 文件,如 `my-data-2023.csv` 和 `my-data-final.csv`。
- > **注意:**
- >
- > URI 必须包含数据源文件夹。
+ - **Target Database** 和 **Target Table**:选择要导入数据的目标数据库和表。
+
+6. 点击 **Next**。TiDB Cloud 会相应扫描源文件。
-6. 点击**开始导入**。
+7. 审查扫描结果,检查发现的数据文件及其对应的目标表,然后点击 **Start Import**。
-7. 当导入进度显示**已完成**时,检查导入的表。
+8. 当导入进度显示 **Completed** 时,检查已导入的数据表。
-1. 打开目标集群的**导入**页面。
+1. 打开目标集群的 **Import** 页面。
- 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),导航到项目的 [**集群**](https://tidbcloud.com/project/clusters) 页面。
+ 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),进入你的项目 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
> **提示:**
>
- > 你可以使用左上角的组合框在组织、项目和集群之间切换。
+ > 你可以使用左上角的下拉框在组织、项目和集群之间切换。
- 2. 点击目标集群的名称进入其概览页面,然后在左侧导航栏中点击**数据** > **导入**。
+ 2. 点击目标集群名称进入其概览页面,然后在左侧导航栏点击 **Data** > **Import**。
-2. 选择**从云存储导入数据**,然后点击 **Azure Blob Storage**。
+2. 点击 **Import data from Cloud Storage**。
-3. 在**从 Azure Blob Storage 导入数据**页面,为源 CSV 文件提供以下信息:
+3. 在 **Import Data from Cloud Storage** 页面,填写以下信息:
- - **导入文件数量**:根据需要选择**单个文件**或**多个文件**。
- - **包含架构文件**:此字段仅在导入多个文件时可见。如果源文件夹包含目标表架构,选择**是**。否则,选择**否**。
- - **数据格式**:选择 **CSV**。
- - **文件 URI** 或**文件夹 URI**:
- - 导入单个文件时,按以下格式输入源文件 URI 和名称 `[azure|https]://[bucket_name]/[data_source_folder]/[file_name].csv`。例如,`[azure|https]://sampledata/ingest/TableName.01.csv`。
- - 导入多个文件时,按以下格式输入源文件 URI 和名称 `[azure|https]://[bucket_name]/[data_source_folder]/`。例如,`[azure|https]://sampledata/ingest/`。
- - **存储桶访问**:你可以使用共享访问签名(SAS)令牌来访问存储桶。更多信息,请参见[配置 Azure Blob Storage 访问](/tidb-cloud/serverless-external-storage.md#配置-azure-blob-storage-访问)。
+ - **Storage Provider**:选择 **Azure Blob Storage**。
+ - **Source Files URI**:
+ - 导入单个文件时,输入源文件 URI,格式为 `[azure|https]://[bucket_name]/[data_source_folder]/[file_name].csv`。例如:`[azure|https]://sampledata/ingest/TableName.01.csv`。
+ - 导入多个文件时,输入源文件夹 URI,格式为 `[azure|https]://[bucket_name]/[data_source_folder]/`。例如:`[azure|https]://sampledata/ingest/`。
+ - **Credential**:你可以使用共享访问签名(SAS)令牌访问你的桶。更多信息参见 [Configure Azure Blob Storage access](/tidb-cloud/serverless-external-storage.md#configure-azure-blob-storage-access)。
-4. 点击**连接**。
+4. 点击 **Next**。
-5. 在**目标**部分,选择目标数据库和表。
+5. 在 **Destination Mapping** 部分,指定源文件与目标表的映射方式。
- 导入多个文件时,你可以使用**高级设置** > **映射设置**为每个目标表及其对应的 CSV 文件定义自定义映射规则。之后,将使用提供的自定义映射规则重新扫描数据源文件。
+ 当 **Source Files URI** 指定为目录时,默认勾选 **Use [File naming conventions](/tidb-cloud/naming-conventions-for-data-import.md) for automatic mapping** 选项。
- 在**源文件 URI 和名称**中输入源文件 URI 和名称时,确保其格式为 `[azure|https]://[bucket_name]/[data_source_folder]/[file_name].csv`。例如,`[azure|https]://sampledata/ingest/TableName.01.csv`。
+ > **注意:**
+ >
+ > 当 **Source Files URI** 指定为单个文件时,不显示 **Use [File naming conventions](/tidb-cloud/naming-conventions-for-data-import.md) for automatic mapping** 选项,TiDB Cloud 会自动将 **Source** 字段填充为文件名。此时你只需选择目标数据库和表进行数据导入。
- 你还可以使用通配符来匹配源文件。例如:
+ - 若希望 TiDB Cloud 自动将所有遵循 [File naming conventions](/tidb-cloud/naming-conventions-for-data-import.md) 的源文件映射到对应表,保持该选项勾选,并选择 **CSV** 作为数据格式。
- - `[azure|https]://[bucket_name]/[data_source_folder]/my-data?.csv`:该文件夹中以 `my-data` 开头后跟一个字符的所有 CSV 文件(如 `my-data1.csv` 和 `my-data2.csv`)将导入到同一个目标表中。
+ - 若需手动配置映射规则,将你的源 CSV 文件与目标数据库和表关联,取消勾选该选项,然后填写以下字段:
- - `[azure|https]://[bucket_name]/[data_source_folder]/my-data*.csv`:该文件夹中以 `my-data` 开头的所有 CSV 文件将导入到同一个目标表中。
+ - **Source**:输入文件名模式,格式为 `[file_name].csv`。例如:`TableName.01.csv`。你也可以使用通配符匹配多个文件,仅支持 `*` 和 `?` 通配符。
- 注意,仅支持 `?` 和 `*`。
+ - `my-data?.csv`:匹配所有以 `my-data` 开头,后跟单个字符的 CSV 文件,如 `my-data1.csv` 和 `my-data2.csv`。
+ - `my-data*.csv`:匹配所有以 `my-data` 开头的 CSV 文件,如 `my-data-2023.csv` 和 `my-data-final.csv`。
- > **注意:**
- >
- > URI 必须包含数据源文件夹。
+ - **Target Database** 和 **Target Table**:选择要导入数据的目标数据库和表。
+
+6. 点击 **Next**。TiDB Cloud 会相应扫描源文件。
-6. 点击**开始导入**。
+7. 审查扫描结果,检查发现的数据文件及其对应的目标表,然后点击 **Start Import**。
-7. 当导入进度显示**已完成**时,检查导入的表。
+8. 当导入进度显示 **Completed** 时,检查已导入的数据表。
-
+
-1. 打开目标集群的**导入**页面。
+1. 打开目标集群的 **Import** 页面。
- 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),导航到项目的 [**集群**](https://tidbcloud.com/project/clusters) 页面。
+ 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),进入你的项目 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
> **提示:**
>
- > 你可以使用左上角的组合框在组织、项目和集群之间切换。
+ > 你可以使用左上角的下拉框在组织、项目和集群之间切换。
- 2. 点击目标集群的名称进入其概览页面,然后在左侧导航栏中点击**数据** > **导入**。
+ 2. 点击目标集群名称进入其概览页面,然后在左侧导航栏点击 **Data** > **Import**。
-2. 选择**从云存储导入数据**,然后点击**阿里云 OSS**。
+2. 点击 **Import data from Cloud Storage**。
-3. 在**从阿里云 OSS 导入数据**页面,为源 CSV 文件提供以下信息:
+3. 在 **Import Data from Cloud Storage** 页面,填写以下信息:
- - **导入文件数量**:根据需要选择**单个文件**或**多个文件**。
- - **包含架构文件**:此字段仅在导入多个文件时可见。如果源文件夹包含目标表架构,选择**是**。否则,选择**否**。
- - **数据格式**:选择 **CSV**。
- - **文件 URI** 或**文件夹 URI**:
- - 导入单个文件时,按以下格式输入源文件 URI 和名称 `oss://[bucket_name]/[data_source_folder]/[file_name].csv`。例如,`oss://sampledata/ingest/TableName.01.csv`。
- - 导入多个文件时,按以下格式输入源文件 URI 和名称 `oss://[bucket_name]/[data_source_folder]/`。例如,`oss://sampledata/ingest/`。
- - **存储桶访问**:你可以使用 AccessKey 对来访问存储桶。更多信息,请参见[配置阿里云对象存储服务(OSS)访问](/tidb-cloud/serverless-external-storage.md#配置阿里云对象存储服务-oss-访问)。
+ - **Storage Provider**:选择 **Alibaba Cloud OSS**。
+ - **Source Files URI**:
+ - 导入单个文件时,输入源文件 URI,格式为 `oss://[bucket_name]/[data_source_folder]/[file_name].csv`。例如:`oss://sampledata/ingest/TableName.01.csv`。
+ - 导入多个文件时,输入源文件夹 URI,格式为 `oss://[bucket_name]/[data_source_folder]/`。例如:`oss://sampledata/ingest/`。
+ - **Credential**:你可以使用 AccessKey 对访问你的桶。更多信息参见 [Configure Alibaba Cloud Object Storage Service (OSS) access](/tidb-cloud/serverless-external-storage.md#configure-alibaba-cloud-object-storage-service-oss-access)。
-4. 点击**连接**。
+4. 点击 **Next**。
-5. 在**目标**部分,选择目标数据库和表。
+5. 在 **Destination Mapping** 部分,指定源文件与目标表的映射方式。
- 导入多个文件时,你可以使用**高级设置** > **映射设置**为每个目标表及其对应的 CSV 文件定义自定义映射规则。之后,将使用提供的自定义映射规则重新扫描数据源文件。
+ 当 **Source Files URI** 指定为目录时,默认勾选 **Use [File naming conventions](/tidb-cloud/naming-conventions-for-data-import.md) for automatic mapping** 选项。
- 在**源文件 URI 和名称**中输入源文件 URI 和名称时,确保其格式为 `oss://[bucket_name]/[data_source_folder]/[file_name].csv`。例如,`oss://sampledata/ingest/TableName.01.csv`。
+ > **注意:**
+ >
+ > 当 **Source Files URI** 指定为单个文件时,不显示 **Use [File naming conventions](/tidb-cloud/naming-conventions-for-data-import.md) for automatic mapping** 选项,TiDB Cloud 会自动将 **Source** 字段填充为文件名。此时你只需选择目标数据库和表进行数据导入。
- 你还可以使用通配符来匹配源文件。例如:
+ - 若希望 TiDB Cloud 自动将所有遵循 [File naming conventions](/tidb-cloud/naming-conventions-for-data-import.md) 的源文件映射到对应表,保持该选项勾选,并选择 **CSV** 作为数据格式。
- - `oss://[bucket_name]/[data_source_folder]/my-data?.csv`:该文件夹中以 `my-data` 开头后跟一个字符的所有 CSV 文件(如 `my-data1.csv` 和 `my-data2.csv`)将导入到同一个目标表中。
+ - 若需手动配置映射规则,将你的源 CSV 文件与目标数据库和表关联,取消勾选该选项,然后填写以下字段:
- - `oss://[bucket_name]/[data_source_folder]/my-data*.csv`:该文件夹中以 `my-data` 开头的所有 CSV 文件将导入到同一个目标表中。
+ - **Source**:输入文件名模式,格式为 `[file_name].csv`。例如:`TableName.01.csv`。你也可以使用通配符匹配多个文件,仅支持 `*` 和 `?` 通配符。
- 注意,仅支持 `?` 和 `*`。
+ - `my-data?.csv`:匹配所有以 `my-data` 开头,后跟单个字符的 CSV 文件,如 `my-data1.csv` 和 `my-data2.csv`。
+ - `my-data*.csv`:匹配所有以 `my-data` 开头的 CSV 文件,如 `my-data-2023.csv` 和 `my-data-final.csv`。
- > **注意:**
- >
- > URI 必须包含数据源文件夹。
+ - **Target Database** 和 **Target Table**:选择要导入数据的目标数据库和表。
+
+6. 点击 **Next**。TiDB Cloud 会相应扫描源文件。
-6. 点击**开始导入**。
+7. 审查扫描结果,检查发现的数据文件及其对应的目标表,然后点击 **Start Import**。
-7. 当导入进度显示**已完成**时,检查导入的表。
+8. 当导入进度显示 **Completed** 时,检查已导入的数据表。
-运行导入任务时,如果检测到任何不支持或无效的转换,TiDB Cloud Serverless 会自动终止导入作业并报告导入错误。
+当你运行导入任务时,如果检测到任何不支持或无效的转换,TiDB Cloud Serverless 会自动终止导入任务并报告导入错误。
-如果遇到导入错误,请执行以下操作:
+如果你遇到导入错误,请按以下步骤操作:
1. 删除部分导入的表。
-2. 检查表架构文件。如果有任何错误,请更正表架构文件。
+2. 检查表结构文件,如有错误请修正。
3. 检查 CSV 文件中的数据类型。
4. 重新尝试导入任务。
-## 故障排除
+## 故障排查
### 解决数据导入过程中的警告
-点击**开始导入**后,如果看到类似 `can't find the corresponding source files` 的警告消息,请通过提供正确的源文件、根据[数据导入命名约定](/tidb-cloud/naming-conventions-for-data-import.md)重命名现有文件或使用**高级设置**进行更改来解决此问题。
+点击 **Start Import** 后,如果你看到类似 `can't find the corresponding source files` 的警告信息,请通过提供正确的源文件、根据 [Naming Conventions for Data Import](/tidb-cloud/naming-conventions-for-data-import.md) 重命名现有文件,或使用 **Advanced Settings** 进行调整来解决。
解决这些问题后,你需要重新导入数据。
-### 导入的表中行数为零
+### 导入表中行数为零
-导入进度显示**已完成**后,检查导入的表。如果行数为零,表示没有数据文件与你输入的存储桶 URI 匹配。在这种情况下,请通过提供正确的源文件、根据[数据导入命名约定](/tidb-cloud/naming-conventions-for-data-import.md)重命名现有文件或使用**高级设置**进行更改来解决此问题。之后,重新导入这些表。
+当导入进度显示 **Completed** 后,检查已导入的数据表。如果行数为零,说明没有数据文件匹配你输入的 Bucket URI。此时,请通过提供正确的源文件、根据 [Naming Conventions for Data Import](/tidb-cloud/naming-conventions-for-data-import.md) 重命名现有文件,或使用 **Advanced Settings** 进行调整来解决。之后,重新导入这些表。
\ No newline at end of file
diff --git a/tidb-cloud/import-csv-files.md b/tidb-cloud/import-csv-files.md
index 65eff146427f0..225e123aee3a3 100644
--- a/tidb-cloud/import-csv-files.md
+++ b/tidb-cloud/import-csv-files.md
@@ -1,70 +1,68 @@
---
-title: 从云存储将 CSV 文件导入到 TiDB Cloud Dedicated
-summary: 了解如何从 Amazon S3、GCS 或 Azure Blob Storage 将 CSV 文件导入到 TiDB Cloud Dedicated。
+title: 从云存储导入 CSV 文件到 TiDB Cloud 专属集群
+summary: 了解如何将 CSV 文件从 Amazon S3、GCS 或 Azure Blob Storage 导入到 TiDB Cloud 专属集群。
aliases: ['/tidbcloud/migrate-from-amazon-s3-or-gcs','/tidbcloud/migrate-from-aurora-bulk-import']
---
-# 从云存储将 CSV 文件导入到 TiDB Cloud Dedicated
+# 从云存储导入 CSV 文件到 TiDB Cloud 专属集群
-本文档介绍如何从 Amazon Simple Storage Service (Amazon S3)、Google Cloud Storage (GCS) 或 Azure Blob Storage 将 CSV 文件导入到 TiDB Cloud Dedicated。
+本文档介绍如何将 CSV 文件从 Amazon Simple Storage Service(Amazon S3)、Google Cloud Storage(GCS)或 Azure Blob Storage 导入到 TiDB Cloud 专属集群。
## 限制
-- 为确保数据一致性,TiDB Cloud 仅允许将 CSV 文件导入到空表中。如果要将数据导入到已包含数据的现有表中,你可以按照本文档将数据导入到临时空表中,然后使用 `INSERT SELECT` 语句将数据复制到目标现有表中。
+- 为确保数据一致性,TiDB Cloud 仅允许将 CSV 文件导入到空表中。若需将数据导入已存在且包含数据的表,可以按照本文档将数据导入到一个临时空表中,然后使用 `INSERT SELECT` 语句将数据复制到目标已存在的表中。
-- 如果 TiDB Cloud Dedicated 集群有[变更数据捕获](/tidb-cloud/changefeed-overview.md)或启用了[时间点恢复](/tidb-cloud/backup-and-restore.md#turn-on-point-in-time-restore),则无法向该集群导入数据(**导入数据**按钮将被禁用),因为当前的数据导入功能使用[物理导入模式](https://docs.pingcap.com/tidb/stable/tidb-lightning-physical-import-mode)。在此模式下,导入的数据不会生成变更日志,因此变更数据捕获和时间点恢复无法检测到导入的数据。
+- 如果 TiDB Cloud 专属集群已开启 [changefeed](/tidb-cloud/changefeed-overview.md) 或已启用 [Point-in-time Restore](/tidb-cloud/backup-and-restore.md#turn-on-point-in-time-restore),则无法向该集群导入数据(**Import Data** 按钮会被禁用),因为当前数据导入功能使用的是 [物理导入模式](https://docs.pingcap.com/tidb/stable/tidb-lightning-physical-import-mode)。在该模式下,导入的数据不会生成变更日志,因此 changefeed 和 Point-in-time Restore 无法检测到导入的数据。
-## 步骤 1. 准备 CSV 文件
+## 第 1 步:准备 CSV 文件
-1. 如果 CSV 文件大于 256 MB,建议将其拆分为较小的文件,每个文件大小约为 256 MB。
+1. 如果单个 CSV 文件大于 256 MB,建议将其拆分为更小的文件,每个文件大小约为 256 MB。
- TiDB Cloud 支持导入非常大的 CSV 文件,但对于大小约为 256 MB 的多个输入文件性能最佳。这是因为 TiDB Cloud 可以并行处理多个文件,这可以大大提高导入速度。
+ TiDB Cloud 支持导入非常大的 CSV 文件,但在多个约 256 MB 的输入文件下性能最佳。这是因为 TiDB Cloud 可以并行处理多个文件,从而大幅提升导入速度。
-2. 按以下方式命名 CSV 文件:
+2. 按如下方式命名 CSV 文件:
- - 如果 CSV 文件包含整个表的所有数据,请按 `${db_name}.${table_name}.csv` 格式命名文件,该文件在导入数据时会映射到 `${db_name}.${table_name}` 表。
- - 如果一个表的数据分散在多个 CSV 文件中,请在这些 CSV 文件后面添加数字后缀。例如,`${db_name}.${table_name}.000001.csv` 和 `${db_name}.${table_name}.000002.csv`。数字后缀可以不连续,但必须按升序排列。你还需要在数字前添加额外的零,以确保所有后缀的长度相同。
- - TiDB Cloud 支持导入以下格式的压缩文件:`.gzip`、`.gz`、`.zstd`、`.zst` 和 `.snappy`。如果你想导入压缩的 CSV 文件,请按 `${db_name}.${table_name}.${suffix}.csv.${compress}` 格式命名文件,其中 `${suffix}` 是可选的,可以是任何整数,如 '000001'。例如,如果你想将 `trips.000001.csv.gz` 文件导入到 `bikeshare.trips` 表,你需要将文件重命名为 `bikeshare.trips.000001.csv.gz`。
+ - 如果一个 CSV 文件包含整个表的所有数据,文件名应采用 `${db_name}.${table_name}.csv` 格式,导入时会映射到 `${db_name}.${table_name}` 表。
+ - 如果一个表的数据被拆分到多个 CSV 文件中,应为这些文件添加数字后缀。例如,`${db_name}.${table_name}.000001.csv` 和 `${db_name}.${table_name}.000002.csv`。数字后缀可以不连续,但必须递增,并且需要在数字前补零以保证所有后缀长度一致。
+ - TiDB Cloud 支持导入以下格式的压缩文件:`.gzip`、`.gz`、`.zstd`、`.zst` 和 `.snappy`。如果需要导入压缩的 CSV 文件,文件名应采用 `${db_name}.${table_name}.${suffix}.csv.${compress}` 格式,其中 `${suffix}` 可选,可以是任意整数如 '000001'。例如,若要将 `trips.000001.csv.gz` 文件导入到 `bikeshare.trips` 表,需要将文件重命名为 `bikeshare.trips.000001.csv.gz`。
> **注意:**
>
- > - 你只需要压缩数据文件,不需要压缩数据库或表结构文件。
- > - 为了获得更好的性能,建议将每个压缩文件的大小限制在 100 MiB。
- > - Snappy 压缩文件必须采用[官方 Snappy 格式](https://github.com/google/snappy)。不支持其他变体的 Snappy 压缩。
- > - 对于未压缩的文件,如果在某些情况下无法按照上述规则更新 CSV 文件名(例如,CSV 文件链接也被你的其他程序使用),你可以保持文件名不变,并使用[步骤 4](#步骤-4-将-csv-文件导入到-tidb-cloud) 中的**映射设置**将源数据导入到单个目标表。
+ > - 只需压缩数据文件,无需压缩数据库或表结构文件。
+ > - 为获得更好的性能,建议每个压缩文件大小限制在 100 MiB。
+ > - Snappy 压缩文件必须为 [官方 Snappy 格式](https://github.com/google/snappy),不支持其他变体的 Snappy 压缩格式。
+ > - 对于未压缩的文件,如果在某些情况下无法按照上述规则修改 CSV 文件名(例如,CSV 文件链接也被其他程序使用),可以保持文件名不变,并在 [第 4 步](#step-4-import-csv-files-to-tidb-cloud) 的 **Mapping Settings** 中将源数据导入到单个目标表。
-## 步骤 2. 创建目标表结构
+## 第 2 步:创建目标表结构
-由于 CSV 文件不包含结构信息,在将数据从 CSV 文件导入到 TiDB Cloud 之前,你需要使用以下任一方法创建表结构:
+由于 CSV 文件不包含表结构信息,在将 CSV 文件中的数据导入 TiDB Cloud 之前,需要通过以下任一方式创建表结构:
-- 方法 1:在 TiDB Cloud 中,为你的源数据创建目标数据库和表。
+- 方法一:在 TiDB Cloud 中为源数据创建目标数据库和数据表。
-- 方法 2:在存放 CSV 文件的 Amazon S3、GCS 或 Azure Blob Storage 目录中,为你的源数据创建目标表结构文件,如下所示:
+- 方法二:在存放 CSV 文件的 Amazon S3、GCS 或 Azure Blob Storage 目录下,为源数据创建目标表结构文件,具体如下:
- 1. 为你的源数据创建数据库结构文件。
+ 1. 为源数据创建数据库结构文件。
- 如果你的 CSV 文件遵循[步骤 1](#步骤-1-准备-csv-文件) 中的命名规则,则数据库结构文件对于数据导入是可选的。否则,数据库结构文件是必需的。
+ 如果你的 CSV 文件遵循 [第 1 步](#step-1-prepare-the-csv-files) 的命名规则,则数据库结构文件为可选项,否则为必需项。
- 每个数据库结构文件必须采用 `${db_name}-schema-create.sql` 格式,并包含一个 `CREATE DATABASE` DDL 语句。通过此文件,TiDB Cloud 将在导入数据时创建 `${db_name}` 数据库来存储你的数据。
+ 每个数据库结构文件必须采用 `${db_name}-schema-create.sql` 格式,并包含一个 `CREATE DATABASE` DDL 语句。通过该文件,TiDB Cloud 会在导入数据时创建 `${db_name}` 数据库以存储你的数据。
- 例如,如果你创建一个包含以下语句的 `mydb-scehma-create.sql` 文件,TiDB Cloud 将在导入数据时创建 `mydb` 数据库。
-
- {{< copyable "sql" >}}
+ 例如,若你创建了一个包含如下语句的 `mydb-scehma-create.sql` 文件,TiDB Cloud 会在导入数据时创建 `mydb` 数据库。
+
```sql
CREATE DATABASE mydb;
```
- 2. 为你的源数据创建表结构文件。
-
- 如果你没有在存放 CSV 文件的 Amazon S3、GCS 或 Azure Blob Storage 目录中包含表结构文件,TiDB Cloud 在导入数据时将不会为你创建相应的表。
+ 2. 为源数据创建表结构文件。
- 每个表结构文件必须采用 `${db_name}.${table_name}-schema.sql` 格式,并包含一个 `CREATE TABLE` DDL 语句。通过此文件,TiDB Cloud 将在导入数据时在 `${db_name}` 数据库中创建 `${db_table}` 表。
+ 如果你未在存放 CSV 文件的 Amazon S3、GCS 或 Azure Blob Storage 目录下包含表结构文件,TiDB Cloud 在导入数据时不会为你创建相应的数据表。
- 例如,如果你创建一个包含以下语句的 `mydb.mytable-schema.sql` 文件,TiDB Cloud 将在 `mydb` 数据库中创建 `mytable` 表。
+ 每个表结构文件必须采用 `${db_name}.${table_name}-schema.sql` 格式,并包含一个 `CREATE TABLE` DDL 语句。通过该文件,TiDB Cloud 会在导入数据时于 `${db_name}` 数据库中创建 `${db_table}` 表。
- {{< copyable "sql" >}}
+ 例如,若你创建了一个包含如下语句的 `mydb.mytable-schema.sql` 文件,TiDB Cloud 会在导入数据时于 `mydb` 数据库中创建 `mytable` 表。
+
```sql
CREATE TABLE mytable (
ID INT,
@@ -74,170 +72,170 @@ aliases: ['/tidbcloud/migrate-from-amazon-s3-or-gcs','/tidbcloud/migrate-from-au
> **注意:**
>
- > 每个 `${db_name}.${table_name}-schema.sql` 文件应该只包含一个 DDL 语句。如果文件包含多个 DDL 语句,只有第一个语句生效。
+ > 每个 `${db_name}.${table_name}-schema.sql` 文件只能包含一个 DDL 语句。如果文件中包含多个 DDL 语句,仅第一个生效。
-## 步骤 3. 配置跨账户访问
+## 第 3 步:配置跨账号访问
-要允许 TiDB Cloud 访问 Amazon S3 存储桶、GCS 存储桶或 Azure Blob Storage 容器中的 CSV 文件,请执行以下操作之一:
+为了让 TiDB Cloud 能够访问 Amazon S3、GCS 或 Azure Blob Storage 容器中的 CSV 文件,请按以下方式操作:
-- 如果你的 CSV 文件位于 Amazon S3 中,[配置 Amazon S3 访问](/tidb-cloud/dedicated-external-storage.md#configure-amazon-s3-access)。
+- 如果你的 CSV 文件位于 Amazon S3,请[配置 Amazon S3 访问权限](/tidb-cloud/dedicated-external-storage.md#configure-amazon-s3-access)。
- 你可以使用 AWS 访问密钥或角色 ARN 来访问你的存储桶。完成后,请记下访问密钥(包括访问密钥 ID 和密钥)或角色 ARN 值,因为你将在[步骤 4](#步骤-4-将-csv-文件导入到-tidb-cloud) 中需要它。
+ 你可以使用 AWS 访问密钥或 Role ARN 访问你的存储桶。完成后,请记录访问密钥(包括访问密钥 ID 和密钥)或 Role ARN 值,后续在 [第 4 步](#step-4-import-csv-files-to-tidb-cloud) 中会用到。
-- 如果你的 CSV 文件位于 GCS 中,[配置 GCS 访问](/tidb-cloud/dedicated-external-storage.md#configure-gcs-access)。
+- 如果你的 CSV 文件位于 GCS,请[配置 GCS 访问权限](/tidb-cloud/dedicated-external-storage.md#configure-gcs-access)。
-- 如果你的 CSV 文件位于 Azure Blob Storage 中,[配置 Azure Blob Storage 访问](/tidb-cloud/dedicated-external-storage.md#configure-azure-blob-storage-access)。
+- 如果你的 CSV 文件位于 Azure Blob Storage,请[配置 Azure Blob Storage 访问权限](/tidb-cloud/dedicated-external-storage.md#configure-azure-blob-storage-access)。
-## 步骤 4. 将 CSV 文件导入到 TiDB Cloud
+## 第 4 步:将 CSV 文件导入 TiDB Cloud
-要将 CSV 文件导入到 TiDB Cloud,请执行以下步骤:
+要将 CSV 文件导入 TiDB Cloud,请按照以下步骤操作:
-1. 打开目标集群的**导入**页面。
+1. 打开目标集群的 **Import** 页面。
- 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),导航到项目的[**集群**](https://tidbcloud.com/project/clusters)页面。
+ 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),进入项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
> **提示:**
>
- > 你可以使用左上角的组合框在组织、项目和集群之间切换。
+ > 你可以使用左上角的下拉框在组织、项目和集群之间切换。
- 2. 点击目标集群的名称进入其概览页面,然后在左侧导航栏中点击**数据** > **导入**。
+ 2. 点击目标集群名称进入其概览页面,然后在左侧导航栏点击 **Data** > **Import**。
-2. 选择**从云存储导入数据**。
+2. 选择 **Import data from Cloud Storage**。
-3. 在**从 Amazon S3 导入数据**页面,提供以下信息:
+3. 在 **Import Data from Amazon S3** 页面,填写以下信息:
- - **包含结构文件**:如果源文件夹包含目标表结构文件(如 `${db_name}-schema-create.sql`),选择**是**。否则,选择**否**。
- - **数据格式**:选择 **CSV**。
- - **编辑 CSV 配置**:如有必要,根据你的 CSV 文件配置选项。你可以设置分隔符和定界符字符,指定是否使用反斜杠作为转义字符,以及指定你的文件是否包含标题行。
- - **文件夹 URI**:以 `s3://[bucket_name]/[data_source_folder]/` 格式输入源文件夹 URI。路径必须以 `/` 结尾。例如,`s3://mybucket/myfolder/`。
- - **存储桶访问**:你可以使用 AWS IAM 角色 ARN 或 AWS 访问密钥来访问你的存储桶。
- - **AWS 角色 ARN**(推荐):输入 AWS IAM 角色 ARN 值。如果你还没有存储桶的 IAM 角色,可以通过点击**点击此处使用 AWS CloudFormation 创建新角色**并按照屏幕上的说明使用提供的 AWS CloudFormation 模板创建。或者,你可以手动为存储桶创建 IAM 角色 ARN。
- - **AWS 访问密钥**:输入 AWS 访问密钥 ID 和 AWS 密钥。
- - 有关两种方法的详细说明,请参见[配置 Amazon S3 访问](/tidb-cloud/dedicated-external-storage.md#configure-amazon-s3-access)。
+ - **Included Schema Files**:如果源文件夹包含目标表结构文件(如 `${db_name}-schema-create.sql`),请选择 **Yes**,否则选择 **No**。
+ - **Data Format**:选择 **CSV**。
+ - **Edit CSV Configuration**:如有需要,根据你的 CSV 文件配置选项。你可以设置分隔符和定界符字符,指定是否使用反斜杠转义字符,以及文件是否包含表头行。
+ - **Folder URI**:以 `s3://[bucket_name]/[data_source_folder]/` 格式输入源文件夹 URI,路径必须以 `/` 结尾。例如,`s3://mybucket/myfolder/`。
+ - **Bucket Access**:你可以使用 AWS IAM role ARN 或 AWS 访问密钥访问存储桶。
+ - **AWS Role ARN**(推荐):输入 AWS IAM role ARN。如果还没有为存储桶创建 IAM role,可以点击 **Click here to create new one with AWS CloudFormation**,按照屏幕提示使用提供的 AWS CloudFormation 模板创建。也可以手动为存储桶创建 IAM role ARN。
+ - **AWS Access Key**:输入 AWS 访问密钥 ID 和 AWS 密钥。
+ - 两种方式的详细说明请参见 [配置 Amazon S3 访问权限](/tidb-cloud/dedicated-external-storage.md#configure-amazon-s3-access)。
-4. 点击**连接**。
+4. 点击 **Connect**。
-5. 在**目标**部分,选择目标数据库和表。
+5. 在 **Destination** 部分,选择目标数据库和数据表。
- 导入多个文件时,你可以使用**高级设置** > **映射设置**来自定义各个目标表与其对应 CSV 文件的映射。对于每个目标数据库和表:
+ 当导入多个文件时,可以通过 **Advanced Settings** > **Mapping Settings** 自定义各目标表与其对应 CSV 文件的映射。对于每个目标数据库和表:
- - **目标数据库**:从列表中选择相应的数据库名称。
- - **目标表**:从列表中选择相应的表名称。
- - **源文件 URI 和名称**:输入源文件的完整 URI,包括文件夹和文件名,确保其格式为 `s3://[bucket_name]/[data_source_folder]/[file_name].csv`。你也可以使用通配符(`?` 和 `*`)来匹配多个文件。例如:
- - `s3://mybucket/myfolder/my-data1.csv`:`myfolder` 中名为 `my-data1.csv` 的单个 CSV 文件将导入到目标表中。
- - `s3://mybucket/myfolder/my-data?.csv`:`myfolder` 中以 `my-data` 开头后跟一个字符的所有 CSV 文件(如 `my-data1.csv` 和 `my-data2.csv`)将导入到同一个目标表中。
- - `s3://mybucket/myfolder/my-data*.csv`:`myfolder` 中以 `my-data` 开头的所有 CSV 文件(如 `my-data10.csv` 和 `my-data100.csv`)将导入到同一个目标表中。
+ - **Target Database**:从列表中选择对应的数据库名。
+ - **Target Table**:从列表中选择对应的表名。
+ - **Source File URIs and Names**:输入源文件的完整 URI,包括文件夹和文件名,确保格式为 `s3://[bucket_name]/[data_source_folder]/[file_name].csv`。也可以使用通配符(`?` 和 `*`)匹配多个文件。例如:
+ - `s3://mybucket/myfolder/my-data1.csv`:`myfolder` 下名为 `my-data1.csv` 的单个 CSV 文件将被导入到目标表。
+ - `s3://mybucket/myfolder/my-data?.csv`:`myfolder` 下所有以 `my-data` 开头、后跟一个字符(如 `my-data1.csv` 和 `my-data2.csv`)的 CSV 文件将被导入到同一个目标表。
+ - `s3://mybucket/myfolder/my-data*.csv`:`myfolder` 下所有以 `my-data` 开头(如 `my-data10.csv` 和 `my-data100.csv`)的 CSV 文件将被导入到同一个目标表。
-6. 点击**开始导入**。
+6. 点击 **Start Import**。
-7. 当导入进度显示**已完成**时,检查导入的表。
+7. 当导入进度显示 **Completed** 时,检查已导入的数据表。
-1. 打开目标集群的**导入**页面。
+1. 打开目标集群的 **Import** 页面。
- 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),导航到项目的[**集群**](https://tidbcloud.com/project/clusters)页面。
+ 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),进入项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
> **提示:**
>
- > 你可以使用左上角的组合框在组织、项目和集群之间切换。
+ > 你可以使用左上角的下拉框在组织、项目和集群之间切换。
- 2. 点击目标集群的名称进入其概览页面,然后在左侧导航栏中点击**数据** > **导入**。
+ 2. 点击目标集群名称进入其概览页面,然后在左侧导航栏点击 **Data** > **Import**。
-2. 选择**从云存储导入数据**。
+2. 选择 **Import data from Cloud Storage**。
-3. 在**从 Google Cloud Storage 导入数据**页面,为源 CSV 文件提供以下信息:
+3. 在 **Import Data from Cloud Storage** 页面,为源 CSV 文件填写以下信息:
- - **包含结构文件**:如果源文件夹包含目标表结构文件(如 `${db_name}-schema-create.sql`),选择**是**。否则,选择**否**。
- - **数据格式**:选择 **CSV**。
- - **编辑 CSV 配置**:如有必要,根据你的 CSV 文件配置选项。你可以设置分隔符和定界符字符,指定是否使用反斜杠作为转义字符,以及指定你的文件是否包含标题行。
- - **文件夹 URI**:以 `gs://[bucket_name]/[data_source_folder]/` 格式输入源文件夹 URI。路径必须以 `/` 结尾。例如,`gs://sampledata/ingest/`。
- - **Google Cloud 服务账号 ID**:TiDB Cloud 在此页面上提供了一个唯一的服务账号 ID(如 `example-service-account@your-project.iam.gserviceaccount.com`)。你必须在 Google Cloud 项目中为你的 GCS 存储桶授予此服务账号 ID 必要的 IAM 权限(如"Storage Object Viewer")。更多信息,请参见[配置 GCS 访问](/tidb-cloud/dedicated-external-storage.md#configure-gcs-access)。
+ - **Included Schema Files**:如果源文件夹包含目标表结构文件(如 `${db_name}-schema-create.sql`),请选择 **Yes**,否则选择 **No**。
+ - **Data Format**:选择 **CSV**。
+ - **Edit CSV Configuration**:如有需要,根据你的 CSV 文件配置选项。你可以设置分隔符和定界符字符,指定是否使用反斜杠转义字符,以及文件是否包含表头行。
+ - **Folder URI**:以 `gs://[bucket_name]/[data_source_folder]/` 格式输入源文件夹 URI,路径必须以 `/` 结尾。例如,`gs://sampledata/ingest/`。
+ - **Google Cloud Service Account ID**:TiDB Cloud 会在此页面提供一个唯一的 Service Account ID(如 `example-service-account@your-project.iam.gserviceaccount.com`)。你必须在 Google Cloud 项目中为该 Service Account ID 授予所需的 IAM 权限(如 "Storage Object Viewer")以访问你的 GCS 存储桶。更多信息请参见 [配置 GCS 访问权限](/tidb-cloud/dedicated-external-storage.md#configure-gcs-access)。
-4. 点击**连接**。
+4. 点击 **Connect**。
-5. 在**目标**部分,选择目标数据库和表。
+5. 在 **Destination** 部分,选择目标数据库和数据表。
- 导入多个文件时,你可以使用**高级设置** > **映射设置**来自定义各个目标表与其对应 CSV 文件的映射。对于每个目标数据库和表:
+ 当导入多个文件时,可以通过 **Advanced Settings** > **Mapping Settings** 自定义各目标表与其对应 CSV 文件的映射。对于每个目标数据库和表:
- - **目标数据库**:从列表中选择相应的数据库名称。
- - **目标表**:从列表中选择相应的表名称。
- - **源文件 URI 和名称**:输入源文件的完整 URI,包括文件夹和文件名,确保其格式为 `gs://[bucket_name]/[data_source_folder]/[file_name].csv`。你也可以使用通配符(`?` 和 `*`)来匹配多个文件。例如:
- - `gs://mybucket/myfolder/my-data1.csv`:`myfolder` 中名为 `my-data1.csv` 的单个 CSV 文件将导入到目标表中。
- - `gs://mybucket/myfolder/my-data?.csv`:`myfolder` 中以 `my-data` 开头后跟一个字符的所有 CSV 文件(如 `my-data1.csv` 和 `my-data2.csv`)将导入到同一个目标表中。
- - `gs://mybucket/myfolder/my-data*.csv`:`myfolder` 中以 `my-data` 开头的所有 CSV 文件(如 `my-data10.csv` 和 `my-data100.csv`)将导入到同一个目标表中。
+ - **Target Database**:从列表中选择对应的数据库名。
+ - **Target Table**:从列表中选择对应的表名。
+ - **Source File URIs and Names**:输入源文件的完整 URI,包括文件夹和文件名,确保格式为 `gs://[bucket_name]/[data_source_folder]/[file_name].csv`。也可以使用通配符(`?` 和 `*`)匹配多个文件。例如:
+ - `gs://mybucket/myfolder/my-data1.csv`:`myfolder` 下名为 `my-data1.csv` 的单个 CSV 文件将被导入到目标表。
+ - `gs://mybucket/myfolder/my-data?.csv`:`myfolder` 下所有以 `my-data` 开头、后跟一个字符(如 `my-data1.csv` 和 `my-data2.csv`)的 CSV 文件将被导入到同一个目标表。
+ - `gs://mybucket/myfolder/my-data*.csv`:`myfolder` 下所有以 `my-data` 开头(如 `my-data10.csv` 和 `my-data100.csv`)的 CSV 文件将被导入到同一个目标表。
-6. 点击**开始导入**。
+6. 点击 **Start Import**。
-7. 当导入进度显示**已完成**时,检查导入的表。
+7. 当导入进度显示 **Completed** 时,检查已导入的数据表。
-1. 打开目标集群的**导入**页面。
+1. 打开目标集群的 **Import** 页面。
- 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),导航到项目的[**集群**](https://tidbcloud.com/project/clusters)页面。
+ 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),进入项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
> **提示:**
>
- > 你可以使用左上角的组合框在组织、项目和集群之间切换。
+ > 你可以使用左上角的下拉框在组织、项目和集群之间切换。
- 2. 点击目标集群的名称进入其概览页面,然后在左侧导航栏中点击**数据** > **导入**。
+ 2. 点击目标集群名称进入其概览页面,然后在左侧导航栏点击 **Data** > **Import**。
-2. 选择**从云存储导入数据**。
+2. 选择 **Import data from Cloud Storage**。
-3. 在**从 Azure Blob Storage 导入数据**页面,提供以下信息:
+3. 在 **Import Data from Azure Blob Storage** 页面,填写以下信息:
- - **包含结构文件**:如果源文件夹包含目标表结构文件(如 `${db_name}-schema-create.sql`),选择**是**。否则,选择**否**。
- - **数据格式**:选择 **CSV**。
- - **编辑 CSV 配置**:如有必要,根据你的 CSV 文件配置选项。你可以设置分隔符和定界符字符,指定是否使用反斜杠作为转义字符,以及指定你的文件是否包含标题行。
- - **文件夹 URI**:使用格式 `https://[account_name].blob.core.windows.net/[container_name]/[data_source_folder]/` 输入源文件所在的 Azure Blob Storage URI。路径必须以 `/` 结尾。例如,`https://myaccount.blob.core.windows.net/mycontainer/myfolder/`。
- - **SAS 令牌**:输入账户 SAS 令牌,以允许 TiDB Cloud 访问你的 Azure Blob Storage 容器中的源文件。如果你还没有,可以通过点击**点击此处使用 Azure ARM 模板创建新令牌**并按照屏幕上的说明使用提供的 Azure ARM 模板创建。或者,你可以手动创建账户 SAS 令牌。更多信息,请参见[配置 Azure Blob Storage 访问](/tidb-cloud/dedicated-external-storage.md#configure-azure-blob-storage-access)。
+ - **Included Schema Files**:如果源文件夹包含目标表结构文件(如 `${db_name}-schema-create.sql`),请选择 **Yes**,否则选择 **No**。
+ - **Data Format**:选择 **CSV**。
+ - **Edit CSV Configuration**:如有需要,根据你的 CSV 文件配置选项。你可以设置分隔符和定界符字符,指定是否使用反斜杠转义字符,以及文件是否包含表头行。
+ - **Folder URI**:以 `https://[account_name].blob.core.windows.net/[container_name]/[data_source_folder]/` 格式输入存放源文件的 Azure Blob Storage URI,路径必须以 `/` 结尾。例如,`https://myaccount.blob.core.windows.net/mycontainer/myfolder/`。
+ - **SAS Token**:输入账户 SAS token,以允许 TiDB Cloud 访问 Azure Blob Storage 容器中的源文件。如果还没有 SAS token,可以点击 **Click here to create a new one with Azure ARM template**,按照屏幕提示使用提供的 Azure ARM 模板创建。也可以手动创建账户 SAS token。更多信息请参见 [配置 Azure Blob Storage 访问权限](/tidb-cloud/dedicated-external-storage.md#configure-azure-blob-storage-access)。
-4. 点击**连接**。
+4. 点击 **Connect**。
-5. 在**目标**部分,选择目标数据库和表。
+5. 在 **Destination** 部分,选择目标数据库和数据表。
- 导入多个文件时,你可以使用**高级设置** > **映射设置**来自定义各个目标表与其对应 CSV 文件的映射。对于每个目标数据库和表:
+ 当导入多个文件时,可以通过 **Advanced Settings** > **Mapping Settings** 自定义各目标表与其对应 CSV 文件的映射。对于每个目标数据库和表:
- - **目标数据库**:从列表中选择相应的数据库名称。
- - **目标表**:从列表中选择相应的表名称。
- - **源文件 URI 和名称**:输入源文件的完整 URI,包括文件夹和文件名,确保其格式为 `https://[account_name].blob.core.windows.net/[container_name]/[data_source_folder]/[file_name].csv`。你也可以使用通配符(`?` 和 `*`)来匹配多个文件。例如:
- - `https://myaccount.blob.core.windows.net/mycontainer/myfolder/my-data1.csv`:`myfolder` 中名为 `my-data1.csv` 的单个 CSV 文件将导入到目标表中。
- - `https://myaccount.blob.core.windows.net/mycontainer/myfolder/my-data?.csv`:`myfolder` 中以 `my-data` 开头后跟一个字符的所有 CSV 文件(如 `my-data1.csv` 和 `my-data2.csv`)将导入到同一个目标表中。
- - `https://myaccount.blob.core.windows.net/mycontainer/myfolder/my-data*.csv`:`myfolder` 中以 `my-data` 开头的所有 CSV 文件(如 `my-data10.csv` 和 `my-data100.csv`)将导入到同一个目标表中。
+ - **Target Database**:从列表中选择对应的数据库名。
+ - **Target Table**:从列表中选择对应的表名。
+ - **Source File URIs and Names**:输入源文件的完整 URI,包括文件夹和文件名,确保格式为 `https://[account_name].blob.core.windows.net/[container_name]/[data_source_folder]/[file_name].csv`。也可以使用通配符(`?` 和 `*`)匹配多个文件。例如:
+ - `https://myaccount.blob.core.windows.net/mycontainer/myfolder/my-data1.csv`:`myfolder` 下名为 `my-data1.csv` 的单个 CSV 文件将被导入到目标表。
+ - `https://myaccount.blob.core.windows.net/mycontainer/myfolder/my-data?.csv`:`myfolder` 下所有以 `my-data` 开头、后跟一个字符(如 `my-data1.csv` 和 `my-data2.csv`)的 CSV 文件将被导入到同一个目标表。
+ - `https://myaccount.blob.core.windows.net/mycontainer/myfolder/my-data*.csv`:`myfolder` 下所有以 `my-data` 开头(如 `my-data10.csv` 和 `my-data100.csv`)的 CSV 文件将被导入到同一个目标表。
-6. 点击**开始导入**。
+6. 点击 **Start Import**。
-7. 当导入进度显示**已完成**时,检查导入的表。
+7. 当导入进度显示 **Completed** 时,检查已导入的数据表。
-当你运行导入任务时,如果检测到任何不支持或无效的转换,TiDB Cloud 会自动终止导入作业并报告导入错误。你可以在**状态**字段中查看详细信息。
+当你运行导入任务时,如果检测到任何不支持或无效的类型转换,TiDB Cloud 会自动终止导入作业并报告导入错误。你可以在 **Status** 字段查看详细信息。
-如果遇到导入错误,请执行以下操作:
+如果遇到导入错误,请按以下步骤操作:
1. 删除部分导入的表。
-2. 检查表结构文件。如果有任何错误,请更正表结构文件。
+2. 检查表结构文件,如有错误请修正。
3. 检查 CSV 文件中的数据类型。
-4. 重试导入任务。
+4. 重新尝试导入任务。
-## 故障排除
+## 故障排查
### 解决数据导入过程中的警告
-点击**开始导入**后,如果看到类似 `can't find the corresponding source files` 的警告消息,请通过提供正确的源文件、根据[数据导入的命名规范](/tidb-cloud/naming-conventions-for-data-import.md)重命名现有文件,或使用**高级设置**进行更改来解决此问题。
+点击 **Start Import** 后,如果看到如 `can't find the corresponding source files` 的警告信息,请通过提供正确的源文件、根据 [数据导入命名规范](/tidb-cloud/naming-conventions-for-data-import.md) 重命名现有文件,或使用 **Advanced Settings** 进行调整来解决。
-解决这些问题后,你需要重新导入数据。
+解决后需要重新导入数据。
-### 导入的表中行数为零
+### 导入表中行数为零
-当导入进度显示**已完成**后,检查导入的表。如果行数为零,这意味着没有数据文件与你输入的存储桶 URI 匹配。在这种情况下,请通过提供正确的源文件、根据[数据导入的命名规范](/tidb-cloud/naming-conventions-for-data-import.md)重命名现有文件,或使用**高级设置**进行更改来解决此问题。之后,重新导入这些表。
+当导入进度显示 **Completed** 后,检查已导入的数据表。如果行数为零,说明没有数据文件匹配你输入的 Bucket URI。此时,请通过提供正确的源文件、根据 [数据导入命名规范](/tidb-cloud/naming-conventions-for-data-import.md) 重命名现有文件,或使用 **Advanced Settings** 进行调整来解决。之后请重新导入这些表。
\ No newline at end of file
diff --git a/tidb-cloud/import-parquet-files-serverless.md b/tidb-cloud/import-parquet-files-serverless.md
index bf4a8f21f0129..cca45f06e12b7 100644
--- a/tidb-cloud/import-parquet-files-serverless.md
+++ b/tidb-cloud/import-parquet-files-serverless.md
@@ -1,22 +1,22 @@
---
title: 从 Amazon S3、GCS、Azure Blob Storage 或阿里云 OSS 导入 Apache Parquet 文件到 TiDB Cloud Serverless
-summary: 了解如何从 Amazon S3、GCS、Azure Blob Storage 或阿里云对象存储服务(OSS)导入 Apache Parquet 文件到 TiDB Cloud Serverless。
+summary: 了解如何将 Apache Parquet 文件从 Amazon S3、GCS、Azure Blob Storage 或阿里云对象存储服务(OSS)导入到 TiDB Cloud Serverless。
---
# 从 Amazon S3、GCS、Azure Blob Storage 或阿里云 OSS 导入 Apache Parquet 文件到 TiDB Cloud Serverless
-你可以将未压缩和 Snappy 压缩的 [Apache Parquet](https://parquet.apache.org/) 格式数据文件导入到 TiDB Cloud Serverless。本文档描述了如何从 Amazon Simple Storage Service (Amazon S3)、Google Cloud Storage (GCS)、Azure Blob Storage 或阿里云对象存储服务(OSS)将 Parquet 文件导入到 TiDB Cloud Serverless。
+你可以将未压缩和 Snappy 压缩的 [Apache Parquet](https://parquet.apache.org/) 格式数据文件导入到 TiDB Cloud Serverless。本文档介绍如何将 Parquet 文件从 Amazon Simple Storage Service(Amazon S3)、Google Cloud Storage(GCS)、Azure Blob Storage 或阿里云对象存储服务(OSS)导入到 TiDB Cloud Serverless。
-> **注意:**
+> **Note:**
>
-> - TiDB Cloud Serverless 仅支持将 Parquet 文件导入到空表中。要将数据导入到已包含数据的现有表中,你可以按照本文档将数据导入到临时空表中,然后使用 `INSERT SELECT` 语句将数据复制到目标现有表中。
-> - Snappy 压缩文件必须采用[官方 Snappy 格式](https://github.com/google/snappy)。不支持其他变体的 Snappy 压缩。
+> - TiDB Cloud Serverless 仅支持将 Parquet 文件导入到空表中。如果需要将数据导入到已存在且包含数据的表中,你可以按照本文档的步骤,先将数据导入到一个临时空表中,然后使用 `INSERT SELECT` 语句将数据复制到目标表。
+> - Snappy 压缩文件必须采用 [官方 Snappy 格式](https://github.com/google/snappy)。不支持其他变体的 Snappy 压缩格式。
-## 步骤 1. 准备 Parquet 文件
+## 第 1 步:准备 Parquet 文件
-> **注意:**
+> **Note:**
>
-> 目前,TiDB Cloud Serverless 不支持导入包含以下任何数据类型的 Parquet 文件。如果要导入的 Parquet 文件包含此类数据类型,你需要首先使用[支持的数据类型](#支持的数据类型)(例如 `STRING`)重新生成 Parquet 文件。或者,你可以使用 AWS Glue 等服务轻松转换数据类型。
+> 目前,TiDB Cloud Serverless 不支持导入包含以下任意数据类型的 Parquet 文件。如果待导入的 Parquet 文件包含这些数据类型,你需要先使用 [支持的数据类型](#supported-data-types)(例如 `STRING`)重新生成 Parquet 文件。或者,你也可以使用如 AWS Glue 等服务轻松转换数据类型。
>
> - `LIST`
> - `NEST STRUCT`
@@ -24,46 +24,46 @@ summary: 了解如何从 Amazon S3、GCS、Azure Blob Storage 或阿里云对象
> - `ARRAY`
> - `MAP`
-1. 如果 Parquet 文件大于 256 MB,建议将其拆分为较小的文件,每个文件大小约为 256 MB。
+1. 如果单个 Parquet 文件大于 256 MB,建议将其拆分为多个较小的文件,每个文件大小约为 256 MB。
- TiDB Cloud Serverless 支持导入非常大的 Parquet 文件,但对于大小约为 256 MB 的多个输入文件性能最佳。这是因为 TiDB Cloud Serverless 可以并行处理多个文件,从而大大提高导入速度。
+ TiDB Cloud Serverless 支持导入非常大的 Parquet 文件,但在多个约 256 MB 的输入文件并行导入时性能最佳。这是因为 TiDB Cloud Serverless 可以并行处理多个文件,从而大幅提升导入速度。
-2. 按照以下方式命名 Parquet 文件:
+2. 按如下方式命名 Parquet 文件:
- - 如果 Parquet 文件包含整个表的所有数据,请按 `${db_name}.${table_name}.parquet` 格式命名文件,导入数据时将映射到 `${db_name}.${table_name}` 表。
- - 如果一个表的数据分散在多个 Parquet 文件中,请在这些 Parquet 文件后面添加数字后缀。例如,`${db_name}.${table_name}.000001.parquet` 和 `${db_name}.${table_name}.000002.parquet`。数字后缀可以不连续,但必须按升序排列。你还需要在数字前添加额外的零,以确保所有后缀长度相同。
+ - 如果一个 Parquet 文件包含整个表的所有数据,文件名应采用 `${db_name}.${table_name}.parquet` 格式,导入时会映射到 `${db_name}.${table_name}` 表。
+ - 如果一个表的数据被拆分为多个 Parquet 文件,应在这些文件名后添加数字后缀。例如,`${db_name}.${table_name}.000001.parquet` 和 `${db_name}.${table_name}.000002.parquet`。数字后缀可以不连续,但必须递增,并且需要在数字前补零以保证所有后缀长度一致。
- > **注意:**
+ > **Note:**
>
- > 如果在某些情况下无法按照上述规则更新 Parquet 文件名(例如,Parquet 文件链接也被其他程序使用),你可以保持文件名不变,并在[步骤 4](#步骤-4-将-parquet-文件导入到-tidb-cloud-serverless) 中使用**映射设置**将源数据导入到单个目标表。
+ > 如果在某些情况下无法按照上述规则修改 Parquet 文件名(例如,这些 Parquet 文件链接也被其他程序使用),你可以保持文件名不变,并在 [第 4 步](#step-4-import-parquet-files) 的 **Mapping Settings** 中将源数据导入到单一目标表。
-## 步骤 2. 创建目标表架构
+## 第 2 步:创建目标表结构
-由于 Parquet 文件不包含架构信息,在将数据从 Parquet 文件导入到 TiDB Cloud Serverless 之前,你需要使用以下任一方法创建表架构:
+由于 Parquet 文件不包含表结构信息,在将 Parquet 文件中的数据导入 TiDB Cloud Serverless 之前,你需要通过以下任一方式创建表结构:
-- 方法 1:在 TiDB Cloud Serverless 中,为源数据创建目标数据库和表。
+- 方法 1:在 TiDB Cloud Serverless 中,为你的源数据创建目标数据库和数据表。
-- 方法 2:在存放 Parquet 文件的 Amazon S3、GCS、Azure Blob Storage 或阿里云对象存储服务目录中,按以下方式为源数据创建目标表架构文件:
+- 方法 2:在存放 Parquet 文件的 Amazon S3、GCS、Azure Blob Storage 或阿里云对象存储服务目录下,为你的源数据创建目标表结构文件:
- 1. 为源数据创建数据库架构文件。
+ 1. 为你的源数据创建数据库结构文件。
- 如果你的 Parquet 文件遵循[步骤 1](#步骤-1-准备-parquet-文件) 中的命名规则,则数据库架构文件对于数据导入是可选的。否则,数据库架构文件是必需的。
+ 如果你的 Parquet 文件遵循 [第 1 步](#step-1-prepare-the-parquet-files) 的命名规则,则数据库结构文件在数据导入时为可选项。否则,数据库结构文件为必需项。
- 每个数据库架构文件必须采用 `${db_name}-schema-create.sql` 格式,并包含一个 `CREATE DATABASE` DDL 语句。使用此文件,TiDB Cloud Serverless 将在导入数据时创建 `${db_name}` 数据库来存储你的数据。
+ 每个数据库结构文件必须采用 `${db_name}-schema-create.sql` 格式,并包含一个 `CREATE DATABASE` DDL 语句。通过该文件,TiDB Cloud Serverless 会在导入数据时创建 `${db_name}` 数据库以存储你的数据。
- 例如,如果你创建一个包含以下语句的 `mydb-scehma-create.sql` 文件,TiDB Cloud Serverless 将在导入数据时创建 `mydb` 数据库。
+ 例如,如果你创建了一个包含如下语句的 `mydb-scehma-create.sql` 文件,TiDB Cloud Serverless 会在导入数据时创建 `mydb` 数据库。
```sql
CREATE DATABASE mydb;
```
- 2. 为源数据创建表架构文件。
+ 2. 为你的源数据创建数据表结构文件。
- 如果你没有在存放 Parquet 文件的 Amazon S3、GCS、Azure Blob Storage 或阿里云对象存储服务目录中包含表架构文件,TiDB Cloud Serverless 在导入数据时将不会为你创建相应的表。
+ 如果你没有在存放 Parquet 文件的 Amazon S3、GCS、Azure Blob Storage 或阿里云对象存储服务目录下包含表结构文件,TiDB Cloud Serverless 在导入数据时不会为你创建相应的数据表。
- 每个表架构文件必须采用 `${db_name}.${table_name}-schema.sql` 格式,并包含一个 `CREATE TABLE` DDL 语句。使用此文件,TiDB Cloud Serverless 将在导入数据时在 `${db_name}` 数据库中创建 `${db_table}` 表。
+ 每个表结构文件必须采用 `${db_name}.${table_name}-schema.sql` 格式,并包含一个 `CREATE TABLE` DDL 语句。通过该文件,TiDB Cloud Serverless 会在导入数据时在 `${db_name}` 数据库中创建 `${db_table}` 表。
- 例如,如果你创建一个包含以下语句的 `mydb.mytable-schema.sql` 文件,TiDB Cloud Serverless 将在导入数据时在 `mydb` 数据库中创建 `mytable` 表。
+ 例如,如果你创建了一个包含如下语句的 `mydb.mytable-schema.sql` 文件,TiDB Cloud Serverless 会在 `mydb` 数据库中创建 `mytable` 表。
```sql
CREATE TABLE mytable (
@@ -72,250 +72,254 @@ summary: 了解如何从 Amazon S3、GCS、Azure Blob Storage 或阿里云对象
COUNT INT );
```
- > **注意:**
+ > **Note:**
>
- > 每个 `${db_name}.${table_name}-schema.sql` 文件应该只包含一个 DDL 语句。如果文件包含多个 DDL 语句,只有第一个语句生效。
+ > 每个 `${db_name}.${table_name}-schema.sql` 文件只能包含一个 DDL 语句。如果文件中包含多个 DDL 语句,只有第一个会生效。
-## 步骤 3. 配置跨账户访问
+## 第 3 步:配置跨账号访问
-要允许 TiDB Cloud Serverless 访问 Amazon S3、GCS、Azure Blob Storage 或阿里云对象存储服务存储桶中的 Parquet 文件,请执行以下操作之一:
+为了让 TiDB Cloud Serverless 能够访问 Amazon S3、GCS、Azure Blob Storage 或阿里云对象存储服务桶中的 Parquet 文件,请按以下方式操作:
-- 如果你的 Parquet 文件位于 Amazon S3 中,[为 TiDB Cloud Serverless 配置外部存储访问](/tidb-cloud/serverless-external-storage.md#configure-amazon-s3-access)。
+- 如果你的 Parquet 文件位于 Amazon S3,[为 TiDB Cloud Serverless 配置外部存储访问](/tidb-cloud/serverless-external-storage.md#configure-amazon-s3-access)。
- 你可以使用 AWS 访问密钥或 Role ARN 访问存储桶。完成后,请记下访问密钥(包括访问密钥 ID 和密钥)或 Role ARN 值,因为你将在[步骤 4](#步骤-4-将-parquet-文件导入到-tidb-cloud-serverless) 中需要它。
+ 你可以使用 AWS 访问密钥或 Role ARN 访问你的桶。配置完成后,请记录访问密钥(包括访问密钥 ID 和密钥)或 Role ARN 值,在 [第 4 步](#step-4-import-parquet-files) 中会用到。
-- 如果你的 Parquet 文件位于 GCS 中,[为 TiDB Cloud Serverless 配置外部存储访问](/tidb-cloud/serverless-external-storage.md#configure-gcs-access)。
+- 如果你的 Parquet 文件位于 GCS,[为 TiDB Cloud Serverless 配置外部存储访问](/tidb-cloud/serverless-external-storage.md#configure-gcs-access)。
-- 如果你的 Parquet 文件位于 Azure Blob Storage 中,[为 TiDB Cloud Serverless 配置外部存储访问](/tidb-cloud/serverless-external-storage.md#configure-azure-blob-storage-access)。
+- 如果你的 Parquet 文件位于 Azure Blob Storage,[为 TiDB Cloud Serverless 配置外部存储访问](/tidb-cloud/serverless-external-storage.md#configure-azure-blob-storage-access)。
-- 如果你的 Parquet 文件位于阿里云对象存储服务(OSS)中,[为 TiDB Cloud Serverless 配置外部存储访问](/tidb-cloud/serverless-external-storage.md#configure-alibaba-cloud-object-storage-service-oss-access)。
+- 如果你的 Parquet 文件位于阿里云对象存储服务(OSS),[为 TiDB Cloud Serverless 配置外部存储访问](/tidb-cloud/serverless-external-storage.md#configure-alibaba-cloud-object-storage-service-oss-access)。
-## 步骤 4. 将 Parquet 文件导入到 TiDB Cloud Serverless
+## 第 4 步:导入 Parquet 文件
-要将 Parquet 文件导入到 TiDB Cloud Serverless,请执行以下步骤:
+要将 Parquet 文件导入到 TiDB Cloud Serverless,请按照以下步骤操作:
-1. 打开目标集群的**导入**页面。
+1. 打开目标集群的 **Import** 页面。
- 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),导航到项目的[**集群**](https://tidbcloud.com/project/clusters)页面。
+ 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),进入你的项目 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
- > **提示:**
+ > **Tip:**
>
- > 你可以使用左上角的组合框在组织、项目和集群之间切换。
+ > 你可以使用左上角的下拉框在组织、项目和集群之间切换。
- 2. 点击目标集群的名称进入其概览页面,然后在左侧导航栏中点击**数据** > **导入**。
+ 2. 点击目标集群名称进入其概览页面,然后在左侧导航栏点击 **Data** > **Import**。
-2. 选择**从云存储导入数据**,然后点击 **Amazon S3**。
+2. 点击 **Import data from Cloud Storage**。
-3. 在**从 Amazon S3 导入数据**页面,为源 Parquet 文件提供以下信息:
+3. 在 **Import Data from Cloud Storage** 页面,填写以下信息:
- - **导入文件数量**:根据需要选择**单个文件**或**多个文件**。
- - **包含架构文件**:此字段仅在导入多个文件时可见。如果源文件夹包含目标表架构,选择**是**。否则,选择**否**。
- - **数据格式**:选择 **Parquet**。
- - **文件 URI** 或**文件夹 URI**:
- - 导入单个文件时,按以下格式输入源文件 URI 和名称 `s3://[bucket_name]/[data_source_folder]/[file_name].parquet`。例如,`s3://sampledata/ingest/TableName.01.parquet`。
- - 导入多个文件时,按以下格式输入源文件 URI 和名称 `s3://[bucket_name]/[data_source_folder]/`。例如,`s3://sampledata/ingest/`。
- - **存储桶访问**:你可以使用 AWS Role ARN 或 AWS 访问密钥访问存储桶。更多信息,请参阅[配置 Amazon S3 访问](/tidb-cloud/serverless-external-storage.md#configure-amazon-s3-access)。
+ - **Storage Provider**:选择 **Amazon S3**。
+ - **Source Files URI**:
+ - 导入单个文件时,输入源文件 URI,格式为 `s3://[bucket_name]/[data_source_folder]/[file_name].parquet`。例如,`s3://sampledata/ingest/TableName.01.parquet`。
+ - 导入多个文件时,输入源文件夹 URI,格式为 `s3://[bucket_name]/[data_source_folder]/`。例如,`s3://sampledata/ingest/`。
+ - **Credential**:你可以使用 AWS Role ARN 或 AWS 访问密钥访问你的桶。更多信息参见 [Configure Amazon S3 access](/tidb-cloud/serverless-external-storage.md#configure-amazon-s3-access)。
- **AWS Role ARN**:输入 AWS Role ARN 值。
- - **AWS 访问密钥**:输入 AWS 访问密钥 ID 和 AWS 密钥。
+ - **AWS Access Key**:输入 AWS 访问密钥 ID 和 AWS 密钥。
-4. 点击**连接**。
+4. 点击 **Next**。
-5. 在**目标**部分,选择目标数据库和表。
+5. 在 **Destination Mapping** 部分,指定源文件与目标表的映射方式。
- 导入多个文件时,你可以使用**高级设置** > **映射设置**为每个目标表及其对应的 Parquet 文件定义自定义映射规则。之后,将使用提供的自定义映射规则重新扫描数据源文件。
+ 当 **Source Files URI** 指定为目录时,默认选中 **Use [File naming conventions](/tidb-cloud/naming-conventions-for-data-import.md) for automatic mapping** 选项。
- 在**源文件 URI 和名称**中输入源文件 URI 和名称时,确保使用以下格式 `s3://[bucket_name]/[data_source_folder]/[file_name].parquet`。例如,`s3://sampledata/ingest/TableName.01.parquet`。
+ > **Note:**
+ >
+ > 当 **Source Files URI** 指定为单个文件时,不显示 **Use [File naming conventions](/tidb-cloud/naming-conventions-for-data-import.md) for automatic mapping** 选项,TiDB Cloud 会自动将 **Source** 字段填充为文件名。此时你只需选择目标数据库和表进行数据导入。
- 你还可以使用通配符匹配源文件。例如:
+ - 若希望 TiDB Cloud 自动将所有遵循 [File naming conventions](/tidb-cloud/naming-conventions-for-data-import.md) 的源文件映射到对应表,保持该选项选中,并选择 **Parquet** 作为数据格式。
- - `s3://[bucket_name]/[data_source_folder]/my-data?.parquet`:该文件夹中以 `my-data` 开头后跟一个字符的所有 Parquet 文件(如 `my-data1.parquet` 和 `my-data2.parquet`)将导入到同一个目标表中。
+ - 若需手动配置映射规则,将你的源 Parquet 文件与目标数据库和表关联,取消选中该选项,然后填写以下字段:
- - `s3://[bucket_name]/[data_source_folder]/my-data*.parquet`:该文件夹中以 `my-data` 开头的所有 Parquet 文件将导入到同一个目标表中。
+ - **Source**:输入文件名模式,格式为 `[file_name].parquet`。例如:`TableName.01.parquet`。你也可以使用通配符匹配多个文件,仅支持 `*` 和 `?` 通配符。
- 注意,仅支持 `?` 和 `*`。
+ - `my-data?.parquet`:匹配所有以 `my-data` 开头,后跟单个字符的 Parquet 文件,如 `my-data1.parquet` 和 `my-data2.parquet`。
+ - `my-data*.parquet`:匹配所有以 `my-data` 开头的 Parquet 文件,如 `my-data-2023.parquet` 和 `my-data-final.parquet`。
- > **注意:**
- >
- > URI 必须包含数据源文件夹。
+ - **Target Database** 和 **Target Table**:选择要导入数据的目标数据库和表。
+
+6. 点击 **Next**。TiDB Cloud 会相应扫描源文件。
-6. 点击**开始导入**。
+7. 审查扫描结果,检查找到的数据文件及其对应的目标表,然后点击 **Start Import**。
-7. 当导入进度显示**已完成**时,检查导入的表。
+8. 当导入进度显示 **Completed** 时,检查已导入的数据表。
-1. 打开目标集群的**导入**页面。
+1. 打开目标集群的 **Import** 页面。
- 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),导航到项目的[**集群**](https://tidbcloud.com/project/clusters)页面。
+ 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),进入你的项目 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
- > **提示:**
+ > **Tip:**
>
- > 你可以使用左上角的组合框在组织、项目和集群之间切换。
+ > 你可以使用左上角的下拉框在组织、项目和集群之间切换。
- 2. 点击目标集群的名称进入其概览页面,然后在左侧导航栏中点击**数据** > **导入**。
+ 2. 点击目标集群名称进入其概览页面,然后在左侧导航栏点击 **Data** > **Import**。
-2. 选择**从云存储导入数据**,然后点击 **Google Cloud Storage**。
+2. 点击 **Import data from Cloud Storage**。
-3. 在**从 Google Cloud Storage 导入数据**页面,为源 Parquet 文件提供以下信息:
+3. 在 **Import Data from Cloud Storage** 页面,填写以下信息:
- - **导入文件数量**:根据需要选择**单个文件**或**多个文件**。
- - **包含架构文件**:此字段仅在导入多个文件时可见。如果源文件夹包含目标表架构,选择**是**。否则,选择**否**。
- - **数据格式**:选择 **Parquet**。
- - **文件 URI** 或**文件夹 URI**:
- - 导入单个文件时,按以下格式输入源文件 URI 和名称 `[gcs|gs]://[bucket_name]/[data_source_folder]/[file_name].parquet`。例如,`[gcs|gs]://sampledata/ingest/TableName.01.parquet`。
- - 导入多个文件时,按以下格式输入源文件 URI 和名称 `[gcs|gs]://[bucket_name]/[data_source_folder]/`。例如,`[gcs|gs]://sampledata/ingest/`。
- - **存储桶访问**:你可以使用 GCS IAM 角色访问存储桶。更多信息,请参阅[配置 GCS 访问](/tidb-cloud/serverless-external-storage.md#configure-gcs-access)。
+ - **Storage Provider**:选择 **Google Cloud Storage**。
+ - **Source Files URI**:
+ - 导入单个文件时,输入源文件 URI,格式为 `[gcs|gs]://[bucket_name]/[data_source_folder]/[file_name].parquet`。例如,`[gcs|gs]://sampledata/ingest/TableName.01.parquet`。
+ - 导入多个文件时,输入源文件夹 URI,格式为 `[gcs|gs]://[bucket_name]/[data_source_folder]/`。例如,`[gcs|gs]://sampledata/ingest/`。
+ - **Credential**:你可以使用 GCS IAM Role Service Account key 访问你的桶。更多信息参见 [Configure GCS access](/tidb-cloud/serverless-external-storage.md#configure-gcs-access)。
-4. 点击**连接**。
+4. 点击 **Next**。
-5. 在**目标**部分,选择目标数据库和表。
+5. 在 **Destination Mapping** 部分,指定源文件与目标表的映射方式。
- 导入多个文件时,你可以使用**高级设置** > **映射设置**为每个目标表及其对应的 Parquet 文件定义自定义映射规则。之后,将使用提供的自定义映射规则重新扫描数据源文件。
+ 当 **Source Files URI** 指定为目录时,默认选中 **Use [File naming conventions](/tidb-cloud/naming-conventions-for-data-import.md) for automatic mapping** 选项。
- 在**源文件 URI 和名称**中输入源文件 URI 和名称时,确保使用以下格式 `[gcs|gs]://[bucket_name]/[data_source_folder]/[file_name].parquet`。例如,`[gcs|gs]://sampledata/ingest/TableName.01.parquet`。
+ > **Note:**
+ >
+ > 当 **Source Files URI** 指定为单个文件时,不显示 **Use [File naming conventions](/tidb-cloud/naming-conventions-for-data-import.md) for automatic mapping** 选项,TiDB Cloud 会自动将 **Source** 字段填充为文件名。此时你只需选择目标数据库和表进行数据导入。
- 你还可以使用通配符匹配源文件。例如:
+ - 若希望 TiDB Cloud 自动将所有遵循 [File naming conventions](/tidb-cloud/naming-conventions-for-data-import.md) 的源文件映射到对应表,保持该选项选中,并选择 **Parquet** 作为数据格式。
- - `[gcs|gs]://[bucket_name]/[data_source_folder]/my-data?.parquet`:该文件夹中以 `my-data` 开头后跟一个字符的所有 Parquet 文件(如 `my-data1.parquet` 和 `my-data2.parquet`)将导入到同一个目标表中。
+ - 若需手动配置映射规则,将你的源 Parquet 文件与目标数据库和表关联,取消选中该选项,然后填写以下字段:
- - `[gcs|gs]://[bucket_name]/[data_source_folder]/my-data*.parquet`:该文件夹中以 `my-data` 开头的所有 Parquet 文件将导入到同一个目标表中。
+ - **Source**:输入文件名模式,格式为 `[file_name].parquet`。例如:`TableName.01.parquet`。你也可以使用通配符匹配多个文件,仅支持 `*` 和 `?` 通配符。
- 注意,仅支持 `?` 和 `*`。
+ - `my-data?.parquet`:匹配所有以 `my-data` 开头,后跟单个字符的 Parquet 文件,如 `my-data1.parquet` 和 `my-data2.parquet`。
+ - `my-data*.parquet`:匹配所有以 `my-data` 开头的 Parquet 文件,如 `my-data-2023.parquet` 和 `my-data-final.parquet`。
- > **注意:**
- >
- > URI 必须包含数据源文件夹。
+ - **Target Database** 和 **Target Table**:选择要导入数据的目标数据库和表。
+
+6. 点击 **Next**。TiDB Cloud 会相应扫描源文件。
-6. 点击**开始导入**。
+7. 审查扫描结果,检查找到的数据文件及其对应的目标表,然后点击 **Start Import**。
-7. 当导入进度显示**已完成**时,检查导入的表。
+8. 当导入进度显示 **Completed** 时,检查已导入的数据表。
-1. 打开目标集群的**导入**页面。
+1. 打开目标集群的 **Import** 页面。
- 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),导航到项目的[**集群**](https://tidbcloud.com/project/clusters)页面。
+ 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),进入你的项目 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
- > **提示:**
+ > **Tip:**
>
- > 你可以使用左上角的组合框在组织、项目和集群之间切换。
+ > 你可以使用左上角的下拉框在组织、项目和集群之间切换。
- 2. 点击目标集群的名称进入其概览页面,然后在左侧导航栏中点击**数据** > **导入**。
+ 2. 点击目标集群名称进入其概览页面,然后在左侧导航栏点击 **Data** > **Import**。
-2. 选择**从云存储导入数据**,然后点击 **Azure Blob Storage**。
+2. 点击 **Import data from Cloud Storage**。
-3. 在**从 Azure Blob Storage 导入数据**页面,为源 Parquet 文件提供以下信息:
+3. 在 **Import Data from Cloud Storage** 页面,填写以下信息:
- - **导入文件数量**:根据需要选择**单个文件**或**多个文件**。
- - **包含架构文件**:此字段仅在导入多个文件时可见。如果源文件夹包含目标表架构,选择**是**。否则,选择**否**。
- - **数据格式**:选择 **Parquet**。
- - **文件 URI** 或**文件夹 URI**:
- - 导入单个文件时,按以下格式输入源文件 URI 和名称 `[azure|https]://[bucket_name]/[data_source_folder]/[file_name].parquet`。例如,`[azure|https]://sampledata/ingest/TableName.01.parquet`。
- - 导入多个文件时,按以下格式输入源文件 URI 和名称 `[azure|https]://[bucket_name]/[data_source_folder]/`。例如,`[azure|https]://sampledata/ingest/`。
- - **存储桶访问**:你可以使用共享访问签名(SAS)令牌访问存储桶。更多信息,请参阅[配置 Azure Blob Storage 访问](/tidb-cloud/serverless-external-storage.md#configure-azure-blob-storage-access)。
+ - **Storage Provider**:选择 **Azure Blob Storage**。
+ - **Source Files URI**:
+ - 导入单个文件时,输入源文件 URI,格式为 `[azure|https]://[bucket_name]/[data_source_folder]/[file_name].parquet`。例如,`[azure|https]://sampledata/ingest/TableName.01.parquet`。
+ - 导入多个文件时,输入源文件夹 URI,格式为 `[azure|https]://[bucket_name]/[data_source_folder]/`。例如,`[azure|https]://sampledata/ingest/`。
+ - **Credential**:你可以使用共享访问签名(SAS)令牌访问你的桶。更多信息参见 [Configure Azure Blob Storage access](/tidb-cloud/serverless-external-storage.md#configure-azure-blob-storage-access)。
-4. 点击**连接**。
+4. 点击 **Next**。
-5. 在**目标**部分,选择目标数据库和表。
+5. 在 **Destination Mapping** 部分,指定源文件与目标表的映射方式。
- 导入多个文件时,你可以使用**高级设置** > **映射设置**为每个目标表及其对应的 Parquet 文件定义自定义映射规则。之后,将使用提供的自定义映射规则重新扫描数据源文件。
+ 当 **Source Files URI** 指定为目录时,默认选中 **Use [File naming conventions](/tidb-cloud/naming-conventions-for-data-import.md) for automatic mapping** 选项。
- 在**源文件 URI 和名称**中输入源文件 URI 和名称时,确保使用以下格式 `[azure|https]://[bucket_name]/[data_source_folder]/[file_name].parquet`。例如,`[azure|https]://sampledata/ingest/TableName.01.parquet`。
+ > **Note:**
+ >
+ > 当 **Source Files URI** 指定为单个文件时,不显示 **Use [File naming conventions](/tidb-cloud/naming-conventions-for-data-import.md) for automatic mapping** 选项,TiDB Cloud 会自动将 **Source** 字段填充为文件名。此时你只需选择目标数据库和表进行数据导入。
- 你还可以使用通配符匹配源文件。例如:
+ - 若希望 TiDB Cloud 自动将所有遵循 [File naming conventions](/tidb-cloud/naming-conventions-for-data-import.md) 的源文件映射到对应表,保持该选项选中,并选择 **Parquet** 作为数据格式。
- - `[azure|https]://[bucket_name]/[data_source_folder]/my-data?.parquet`:该文件夹中以 `my-data` 开头后跟一个字符的所有 Parquet 文件(如 `my-data1.parquet` 和 `my-data2.parquet`)将导入到同一个目标表中。
+ - 若需手动配置映射规则,将你的源 Parquet 文件与目标数据库和表关联,取消选中该选项,然后填写以下字段:
- - `[azure|https]://[bucket_name]/[data_source_folder]/my-data*.parquet`:该文件夹中以 `my-data` 开头的所有 Parquet 文件将导入到同一个目标表中。
+ - **Source**:输入文件名模式,格式为 `[file_name].parquet`。例如:`TableName.01.parquet`。你也可以使用通配符匹配多个文件,仅支持 `*` 和 `?` 通配符。
- 注意,仅支持 `?` 和 `*`。
+ - `my-data?.parquet`:匹配所有以 `my-data` 开头,后跟单个字符的 Parquet 文件,如 `my-data1.parquet` 和 `my-data2.parquet`。
+ - `my-data*.parquet`:匹配所有以 `my-data` 开头的 Parquet 文件,如 `my-data-2023.parquet` 和 `my-data-final.parquet`。
- > **注意:**
- >
- > URI 必须包含数据源文件夹。
+ - **Target Database** 和 **Target Table**:选择要导入数据的目标数据库和表。
+
+6. 点击 **Next**。TiDB Cloud 会相应扫描源文件。
-6. 点击**开始导入**。
+7. 审查扫描结果,检查找到的数据文件及其对应的目标表,然后点击 **Start Import**。
-7. 当导入进度显示**已完成**时,检查导入的表。
+8. 当导入进度显示 **Completed** 时,检查已导入的数据表。
-
+
-1. 打开目标集群的**导入**页面。
+1. 打开目标集群的 **Import** 页面。
- 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),导航到项目的[**集群**](https://tidbcloud.com/project/clusters)页面。
+ 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),进入你的项目 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
- > **提示:**
+ > **Tip:**
>
- > 你可以使用左上角的组合框在组织、项目和集群之间切换。
+ > 你可以使用左上角的下拉框在组织、项目和集群之间切换。
- 2. 点击目标集群的名称进入其概览页面,然后在左侧导航栏中点击**数据** > **导入**。
+ 2. 点击目标集群名称进入其概览页面,然后在左侧导航栏点击 **Data** > **Import**。
-2. 选择**从云存储导入数据**,然后点击**阿里云 OSS**。
+2. 点击 **Import data from Cloud Storage**。
-3. 在**从阿里云 OSS 导入数据**页面,为源 Parquet 文件提供以下信息:
+3. 在 **Import Data from Cloud Storage** 页面,填写以下信息:
- - **导入文件数量**:根据需要选择**单个文件**或**多个文件**。
- - **包含架构文件**:此字段仅在导入多个文件时可见。如果源文件夹包含目标表架构,选择**是**。否则,选择**否**。
- - **数据格式**:选择 **Parquet**。
- - **文件 URI** 或**文件夹 URI**:
- - 导入单个文件时,按以下格式输入源文件 URI 和名称 `oss://[bucket_name]/[data_source_folder]/[file_name].parquet`。例如,`oss://sampledata/ingest/TableName.01.parquet`。
- - 导入多个文件时,按以下格式输入源文件 URI 和名称 `oss://[bucket_name]/[data_source_folder]/`。例如,`oss://sampledata/ingest/`。
- - **存储桶访问**:你可以使用 AccessKey 对访问存储桶。更多信息,请参阅[配置阿里云对象存储服务(OSS)访问](/tidb-cloud/serverless-external-storage.md#configure-alibaba-cloud-object-storage-service-oss-access)。
+ - **Storage Provider**:选择 **Alibaba Cloud OSS**。
+ - **Source Files URI**:
+ - 导入单个文件时,输入源文件 URI,格式为 `oss://[bucket_name]/[data_source_folder]/[file_name].parquet`。例如,`oss://sampledata/ingest/TableName.01.parquet`。
+ - 导入多个文件时,输入源文件夹 URI,格式为 `oss://[bucket_name]/[data_source_folder]/`。例如,`oss://sampledata/ingest/`。
+ - **Credential**:你可以使用 AccessKey 对访问你的桶。更多信息参见 [Configure Alibaba Cloud Object Storage Service (OSS) access](/tidb-cloud/serverless-external-storage.md#configure-alibaba-cloud-object-storage-service-oss-access)。
-4. 点击**连接**。
+4. 点击 **Next**。
-5. 在**目标**部分,选择目标数据库和表。
+5. 在 **Destination Mapping** 部分,指定源文件与目标表的映射方式。
- 导入多个文件时,你可以使用**高级设置** > **映射设置**为每个目标表及其对应的 Parquet 文件定义自定义映射规则。之后,将使用提供的自定义映射规则重新扫描数据源文件。
+ 当 **Source Files URI** 指定为目录时,默认选中 **Use [File naming conventions](/tidb-cloud/naming-conventions-for-data-import.md) for automatic mapping** 选项。
- 在**源文件 URI 和名称**中输入源文件 URI 和名称时,确保使用以下格式 `oss://[bucket_name]/[data_source_folder]/[file_name].parquet`。例如,`oss://sampledata/ingest/TableName.01.parquet`。
+ > **Note:**
+ >
+ > 当 **Source Files URI** 指定为单个文件时,不显示 **Use [File naming conventions](/tidb-cloud/naming-conventions-for-data-import.md) for automatic mapping** 选项,TiDB Cloud 会自动将 **Source** 字段填充为文件名。此时你只需选择目标数据库和表进行数据导入。
- 你还可以使用通配符匹配源文件。例如:
+ - 若希望 TiDB Cloud 自动将所有遵循 [File naming conventions](/tidb-cloud/naming-conventions-for-data-import.md) 的源文件映射到对应表,保持该选项选中,并选择 **Parquet** 作为数据格式。
- - `oss://[bucket_name]/[data_source_folder]/my-data?.parquet`:该文件夹中以 `my-data` 开头后跟一个字符的所有 Parquet 文件(如 `my-data1.parquet` 和 `my-data2.parquet`)将导入到同一个目标表中。
+ - 若需手动配置映射规则,将你的源 Parquet 文件与目标数据库和表关联,取消选中该选项,然后填写以下字段:
- - `oss://[bucket_name]/[data_source_folder]/my-data*.parquet`:该文件夹中以 `my-data` 开头的所有 Parquet 文件将导入到同一个目标表中。
+ - **Source**:输入文件名模式,格式为 `[file_name].parquet`。例如:`TableName.01.parquet`。你也可以使用通配符匹配多个文件,仅支持 `*` 和 `?` 通配符。
- 注意,仅支持 `?` 和 `*`。
+ - `my-data?.parquet`:匹配所有以 `my-data` 开头,后跟单个字符的 Parquet 文件,如 `my-data1.parquet` 和 `my-data2.parquet`。
+ - `my-data*.parquet`:匹配所有以 `my-data` 开头的 Parquet 文件,如 `my-data-2023.parquet` 和 `my-data-final.parquet`。
- > **注意:**
- >
- > URI 必须包含数据源文件夹。
+ - **Target Database** 和 **Target Table**:选择要导入数据的目标数据库和表。
+
+6. 点击 **Next**。TiDB Cloud 会相应扫描源文件。
-6. 点击**开始导入**。
+7. 审查扫描结果,检查找到的数据文件及其对应的目标表,然后点击 **Start Import**。
-7. 当导入进度显示**已完成**时,检查导入的表。
+8. 当导入进度显示 **Completed** 时,检查已导入的数据表。
-运行导入任务时,如果检测到任何不支持或无效的转换,TiDB Cloud Serverless 会自动终止导入作业并报告导入错误。
+当你运行导入任务时,如果检测到任何不支持或无效的类型转换,TiDB Cloud Serverless 会自动终止导入任务并报告导入错误。
-如果遇到导入错误,请执行以下操作:
+如果你遇到导入错误,请按以下步骤操作:
1. 删除部分导入的表。
-2. 检查表架构文件。如果有任何错误,请更正表架构文件。
+2. 检查表结构文件,如有错误请修正表结构文件。
3. 检查 Parquet 文件中的数据类型。
- 如果 Parquet 文件包含任何不支持的数据类型(例如 `NEST STRUCT`、`ARRAY` 或 `MAP`),你需要使用[支持的数据类型](#支持的数据类型)(例如 `STRING`)重新生成 Parquet 文件。
+ 如果 Parquet 文件包含任何不支持的数据类型(如 `NEST STRUCT`、`ARRAY` 或 `MAP`),你需要使用 [支持的数据类型](#supported-data-types)(如 `STRING`)重新生成 Parquet 文件。
-4. 重试导入任务。
+4. 重新尝试导入任务。
## 支持的数据类型
-下表列出了可以导入到 TiDB Cloud Serverless 的支持的 Parquet 数据类型。
+下表列出了可导入到 TiDB Cloud Serverless 的 Parquet 支持数据类型。
-| Parquet 基本类型 | Parquet 逻辑类型 | TiDB 或 MySQL 中的类型 |
+| Parquet Primitive Type | Parquet Logical Type | Types in TiDB or MySQL |
|---|---|---|
| DOUBLE | DOUBLE | DOUBLE
FLOAT |
| FIXED_LEN_BYTE_ARRAY(9) | DECIMAL(20,0) | BIGINT UNSIGNED |
@@ -332,14 +336,14 @@ summary: 了解如何从 Amazon S3、GCS、Azure Blob Storage 或阿里云对象
| TINYINT | N/A | INT32 |
| TINYINT UNSIGNED | N/A | INT32 |
-## 故障排除
+## 故障排查
### 解决数据导入过程中的警告
-点击**开始导入**后,如果看到类似 `can't find the corresponding source files` 的警告消息,请通过提供正确的源文件、根据[数据导入命名约定](/tidb-cloud/naming-conventions-for-data-import.md)重命名现有文件或使用**高级设置**进行更改来解决此问题。
+点击 **Start Import** 后,如果你看到类似 `can't find the corresponding source files` 的警告信息,可以通过提供正确的源文件、按照 [Naming Conventions for Data Import](/tidb-cloud/naming-conventions-for-data-import.md) 重命名现有文件,或使用 **Advanced Settings** 进行调整来解决。
解决这些问题后,你需要重新导入数据。
-### 导入的表中行数为零
+### 导入表中数据行为 0
-导入进度显示**已完成**后,检查导入的表。如果行数为零,则表示没有数据文件与你输入的存储桶 URI 匹配。在这种情况下,请通过提供正确的源文件、根据[数据导入命名约定](/tidb-cloud/naming-conventions-for-data-import.md)重命名现有文件或使用**高级设置**进行更改来解决此问题。之后,重新导入这些表。
+当导入进度显示 **Completed** 后,检查已导入的数据表。如果行数为 0,说明没有数据文件匹配你输入的 Bucket URI。此时,请通过提供正确的源文件、按照 [Naming Conventions for Data Import](/tidb-cloud/naming-conventions-for-data-import.md) 重命名现有文件,或使用 **Advanced Settings** 进行调整来解决。之后,重新导入这些表。
\ No newline at end of file
diff --git a/tidb-cloud/import-parquet-files.md b/tidb-cloud/import-parquet-files.md
index bb056d9cb5ccf..9245864fc4128 100644
--- a/tidb-cloud/import-parquet-files.md
+++ b/tidb-cloud/import-parquet-files.md
@@ -1,23 +1,23 @@
---
-title: 从云存储导入 Apache Parquet 文件到 TiDB Cloud Dedicated
-summary: 了解如何从 Amazon S3、GCS 或 Azure Blob Storage 导入 Apache Parquet 文件到 TiDB Cloud Dedicated。
+title: 从云存储导入 Apache Parquet 文件到 TiDB Cloud 专属集群
+summary: 了解如何将 Apache Parquet 文件从 Amazon S3、GCS 或 Azure Blob Storage 导入到 TiDB Cloud 专属集群。
---
-# 从云存储导入 Apache Parquet 文件到 TiDB Cloud Dedicated
+# 从云存储导入 Apache Parquet 文件到 TiDB Cloud 专属集群
-本文介绍如何从 Amazon Simple Storage Service (Amazon S3)、Google Cloud Storage (GCS) 或 Azure Blob Storage 导入 Apache Parquet 文件到 TiDB Cloud Dedicated。你可以导入未压缩的 Parquet 文件或使用 [Google Snappy](https://github.com/google/snappy) 压缩的 Parquet 文件。不支持其他 Parquet 压缩编解码器。
+本文档介绍如何将 Apache Parquet 文件从 Amazon Simple Storage Service(Amazon S3)、Google Cloud Storage(GCS)或 Azure Blob Storage 导入到 TiDB Cloud 专属集群。你可以导入未压缩的 Parquet 文件或使用 [Google Snappy](https://github.com/google/snappy) 压缩的 Parquet 文件。不支持其他 Parquet 压缩编解码器。
## 限制
-- 为确保数据一致性,TiDB Cloud 只允许将 Parquet 文件导入到空表中。要将数据导入到已包含数据的现有表中,你可以按照本文档将数据导入到临时空表中,然后使用 `INSERT SELECT` 语句将数据复制到目标现有表中。
+- 为确保数据一致性,TiDB Cloud 仅允许将 Parquet 文件导入到空表中。若需将数据导入到已存在数据的表中,你可以按照本文档的步骤,先将数据导入到一个临时空表中,然后使用 `INSERT SELECT` 语句将数据复制到目标表。
-- 如果 TiDB Cloud Dedicated 集群有 [changefeed](/tidb-cloud/changefeed-overview.md) 或启用了[时间点恢复](/tidb-cloud/backup-and-restore.md#turn-on-point-in-time-restore),则无法向该集群导入数据(**导入数据**按钮将被禁用),因为当前的数据导入功能使用[物理导入模式](https://docs.pingcap.com/tidb/stable/tidb-lightning-physical-import-mode)。在此模式下,导入的数据不会生成变更日志,因此 changefeed 和时间点恢复无法检测到导入的数据。
+- 如果 TiDB Cloud 专属集群已开启 [changefeed](/tidb-cloud/changefeed-overview.md) 或 [时间点恢复](/tidb-cloud/backup-and-restore.md#turn-on-point-in-time-restore),则无法向该集群导入数据(**Import Data** 按钮会被禁用),因为当前数据导入功能使用的是 [物理导入模式](https://docs.pingcap.com/tidb/stable/tidb-lightning-physical-import-mode)。在该模式下,导入的数据不会生成变更日志,因此 changefeed 和时间点恢复无法检测到导入的数据。
-## 步骤 1. 准备 Parquet 文件
+## 第 1 步:准备 Parquet 文件
> **注意:**
>
-> 目前,TiDB Cloud 不支持导入包含以下任何数据类型的 Parquet 文件。如果要导入的 Parquet 文件包含此类数据类型,你需要首先使用[支持的数据类型](#支持的数据类型)(例如 `STRING`)重新生成 Parquet 文件。或者,你可以使用 AWS Glue 等服务轻松转换数据类型。
+> 目前,TiDB Cloud 不支持导入包含以下任意数据类型的 Parquet 文件。如果待导入的 Parquet 文件包含这些数据类型,你需要先使用 [支持的数据类型](#supported-data-types)(例如 `STRING`)重新生成 Parquet 文件。或者,你也可以使用如 AWS Glue 等服务轻松转换数据类型。
>
> - `LIST`
> - `NEST STRUCT`
@@ -25,52 +25,50 @@ summary: 了解如何从 Amazon S3、GCS 或 Azure Blob Storage 导入 Apache Pa
> - `ARRAY`
> - `MAP`
-1. 如果 Parquet 文件大于 256 MB,建议将其拆分为较小的文件,每个文件大小约为 256 MB。
+1. 如果单个 Parquet 文件大于 256 MB,建议将其拆分为多个小文件,每个文件大小约为 256 MB。
- TiDB Cloud 支持导入非常大的 Parquet 文件,但在处理大小约为 256 MB 的多个输入文件时性能最佳。这是因为 TiDB Cloud 可以并行处理多个文件,从而大大提高导入速度。
+ TiDB Cloud 支持导入非常大的 Parquet 文件,但在多个约 256 MB 的输入文件时性能最佳。这是因为 TiDB Cloud 可以并行处理多个文件,从而大幅提升导入速度。
-2. 按以下方式命名 Parquet 文件:
+2. 按如下方式命名 Parquet 文件:
- - 如果 Parquet 文件包含整个表的所有数据,请按 `${db_name}.${table_name}.parquet` 格式命名文件,该文件在导入数据时会映射到 `${db_name}.${table_name}` 表。
- - 如果一个表的数据分散在多个 Parquet 文件中,请在这些 Parquet 文件后附加数字后缀。例如,`${db_name}.${table_name}.000001.parquet` 和 `${db_name}.${table_name}.000002.parquet`。数字后缀可以不连续,但必须按升序排列。你还需要在数字前添加额外的零,以确保所有后缀长度相同。
+ - 如果一个 Parquet 文件包含整个表的所有数据,文件名应采用 `${db_name}.${table_name}.parquet` 格式,导入时会映射到 `${db_name}.${table_name}` 表。
+ - 如果一个表的数据被拆分为多个 Parquet 文件,应为这些文件添加数字后缀。例如,`${db_name}.${table_name}.000001.parquet` 和 `${db_name}.${table_name}.000002.parquet`。数字后缀可以不连续,但必须递增,并且需要在数字前补零以保证所有后缀长度一致。
> **注意:**
>
- > - 如果在某些情况下无法按照上述规则更新 Parquet 文件名(例如,Parquet 文件链接也被你的其他程序使用),你可以保持文件名不变,并在[步骤 4](#步骤-4-将-parquet-文件导入到-tidb-cloud) 中使用**映射设置**将源数据导入到单个目标表中。
- > - Snappy 压缩文件必须采用[官方 Snappy 格式](https://github.com/google/snappy)。不支持其他变体的 Snappy 压缩。
+ > - 如果在某些情况下无法按照上述规则修改 Parquet 文件名(例如,Parquet 文件链接也被其他程序使用),你可以保持文件名不变,并在 [第 4 步](#step-4-import-parquet-files-to-tidb-cloud) 的 **Mapping Settings** 中将源数据导入到单一目标表。
+ > - Snappy 压缩文件必须采用 [官方 Snappy 格式](https://github.com/google/snappy)。不支持其他 Snappy 压缩变体。
-## 步骤 2. 创建目标表架构
+## 第 2 步:创建目标表结构
-由于 Parquet 文件不包含架构信息,在将数据从 Parquet 文件导入到 TiDB Cloud 之前,你需要使用以下任一方法创建表架构:
+由于 Parquet 文件不包含表结构信息,在将 Parquet 文件中的数据导入 TiDB Cloud 之前,你需要通过以下任一方式创建表结构:
-- 方法 1:在 TiDB Cloud 中,为源数据创建目标数据库和表。
+- 方法一:在 TiDB Cloud 中为源数据创建目标数据库和数据表。
-- 方法 2:在存放 Parquet 文件的 Amazon S3、GCS 或 Azure Blob Storage 目录中,按以下方式为源数据创建目标表架构文件:
+- 方法二:在存放 Parquet 文件的 Amazon S3、GCS 或 Azure Blob Storage 目录下,为源数据创建目标表结构文件,具体如下:
- 1. 为源数据创建数据库架构文件。
+ 1. 为源数据创建数据库结构文件。
- 如果你的 Parquet 文件遵循[步骤 1](#步骤-1-准备-parquet-文件) 中的命名规则,则数据导入时数据库架构文件是可选的。否则,数据库架构文件是必需的。
+ 如果你的 Parquet 文件遵循 [第 1 步](#step-1-prepare-the-parquet-files) 的命名规则,则数据库结构文件为可选项,否则为必需项。
- 每个数据库架构文件必须采用 `${db_name}-schema-create.sql` 格式,并包含一个 `CREATE DATABASE` DDL 语句。通过此文件,TiDB Cloud 将在导入数据时创建 `${db_name}` 数据库来存储你的数据。
+ 每个数据库结构文件必须采用 `${db_name}-schema-create.sql` 格式,并包含一个 `CREATE DATABASE` DDL 语句。通过该文件,TiDB Cloud 会在导入数据时创建 `${db_name}` 数据库以存储你的数据。
- 例如,如果你创建一个包含以下语句的 `mydb-scehma-create.sql` 文件,TiDB Cloud 将在导入数据时创建 `mydb` 数据库。
-
- {{< copyable "sql" >}}
+ 例如,如果你创建了一个包含如下语句的 `mydb-scehma-create.sql` 文件,TiDB Cloud 会在导入数据时创建 `mydb` 数据库。
+
```sql
CREATE DATABASE mydb;
```
- 2. 为源数据创建表架构文件。
-
- 如果你没有在存放 Parquet 文件的 Amazon S3、GCS 或 Azure Blob Storage 目录中包含表架构文件,TiDB Cloud 在导入数据时将不会为你创建相应的表。
+ 2. 为源数据创建表结构文件。
- 每个表架构文件必须采用 `${db_name}.${table_name}-schema.sql` 格式,并包含一个 `CREATE TABLE` DDL 语句。通过此文件,TiDB Cloud 将在导入数据时在 `${db_name}` 数据库中创建 `${db_table}` 表。
+ 如果你未在 Parquet 文件所在的 Amazon S3、GCS 或 Azure Blob Storage 目录下包含表结构文件,TiDB Cloud 在导入数据时不会为你创建相应的数据表。
- 例如,如果你创建一个包含以下语句的 `mydb.mytable-schema.sql` 文件,TiDB Cloud 将在 `mydb` 数据库中创建 `mytable` 表。
+ 每个表结构文件必须采用 `${db_name}.${table_name}-schema.sql` 格式,并包含一个 `CREATE TABLE` DDL 语句。通过该文件,TiDB Cloud 会在导入数据时于 `${db_name}` 数据库中创建 `${db_table}` 表。
- {{< copyable "sql" >}}
+ 例如,如果你创建了一个包含如下语句的 `mydb.mytable-schema.sql` 文件,TiDB Cloud 会在 `mydb` 数据库中创建 `mytable` 表。
+
```sql
CREATE TABLE mytable (
ID INT,
@@ -80,167 +78,167 @@ summary: 了解如何从 Amazon S3、GCS 或 Azure Blob Storage 导入 Apache Pa
> **注意:**
>
- > 每个 `${db_name}.${table_name}-schema.sql` 文件应该只包含一个 DDL 语句。如果文件包含多个 DDL 语句,只有第一个语句会生效。
+ > 每个 `${db_name}.${table_name}-schema.sql` 文件只能包含一个 DDL 语句。如果文件中包含多个 DDL 语句,仅第一个生效。
-## 步骤 3. 配置跨账户访问
+## 第 3 步:配置跨账号访问
-要允许 TiDB Cloud 访问 Amazon S3 存储桶、GCS 存储桶或 Azure Blob Storage 容器中的 Parquet 文件,请执行以下操作之一:
+为了让 TiDB Cloud 能够访问 Amazon S3、GCS 或 Azure Blob Storage 中的 Parquet 文件,请按以下方式操作:
-- 如果你的 Parquet 文件位于 Amazon S3 中,[配置 Amazon S3 访问](/tidb-cloud/dedicated-external-storage.md#configure-amazon-s3-access)。
+- 如果 Parquet 文件位于 Amazon S3,[配置 Amazon S3 访问权限](/tidb-cloud/dedicated-external-storage.md#configure-amazon-s3-access)。
- 你可以使用 AWS 访问密钥或 Role ARN 访问你的存储桶。完成后,请记下访问密钥(包括访问密钥 ID 和密钥)或 Role ARN 值,因为你将在[步骤 4](#步骤-4-将-parquet-文件导入到-tidb-cloud) 中需要它。
+ 你可以使用 AWS 访问密钥或 Role ARN 访问你的存储桶。完成后,请记录访问密钥(包括访问密钥 ID 和密钥)或 Role ARN 值,后续在 [第 4 步](#step-4-import-parquet-files-to-tidb-cloud) 中会用到。
-- 如果你的 Parquet 文件位于 GCS 中,[配置 GCS 访问](/tidb-cloud/dedicated-external-storage.md#configure-gcs-access)。
+- 如果 Parquet 文件位于 GCS,[配置 GCS 访问权限](/tidb-cloud/dedicated-external-storage.md#configure-gcs-access)。
-- 如果你的 Parquet 文件位于 Azure Blob Storage 中,[配置 Azure Blob Storage 访问](/tidb-cloud/dedicated-external-storage.md#configure-azure-blob-storage-access)。
+- 如果 Parquet 文件位于 Azure Blob Storage,[配置 Azure Blob Storage 访问权限](/tidb-cloud/dedicated-external-storage.md#configure-azure-blob-storage-access)。
-## 步骤 4. 将 Parquet 文件导入到 TiDB Cloud
+## 第 4 步:将 Parquet 文件导入 TiDB Cloud
-要将 Parquet 文件导入到 TiDB Cloud,请执行以下步骤:
+要将 Parquet 文件导入 TiDB Cloud,请按以下步骤操作:
-1. 打开目标集群的**导入**页面。
+1. 打开目标集群的 **Import** 页面。
- 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/)并导航到项目的[**集群**](https://tidbcloud.com/project/clusters)页面。
+ 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),进入项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
> **提示:**
>
- > 你可以使用左上角的组合框在组织、项目和集群之间切换。
+ > 你可以使用左上角的下拉框切换组织、项目和集群。
- 2. 点击目标集群的名称进入其概览页面,然后在左侧导航栏中点击**数据** > **导入**。
+ 2. 点击目标集群名称进入概览页面,然后在左侧导航栏点击 **Data** > **Import**。
-2. 选择**从云存储导入数据**。
+2. 选择 **Import data from Cloud Storage**。
-3. 在**从 Amazon S3 导入数据**页面上,提供以下信息:
+3. 在 **Import Data from Amazon S3** 页面,填写以下信息:
- - **包含架构文件**:如果源文件夹包含目标表架构文件(如 `${db_name}-schema-create.sql`),选择**是**。否则,选择**否**。
- - **数据格式**:选择 **Parquet**。
- - **文件夹 URI**:以 `s3://[bucket_name]/[data_source_folder]/` 格式输入源文件夹 URI。路径必须以 `/` 结尾。例如,`s3://sampledata/ingest/`。
- - **存储桶访问**:你可以使用 AWS IAM 角色 ARN 或 AWS 访问密钥访问你的存储桶。
- - **AWS Role ARN**(推荐):输入 AWS IAM 角色 ARN 值。如果你还没有存储桶的 IAM 角色,可以通过点击**点击此处使用 AWS CloudFormation 创建新角色**并按照屏幕上的说明使用提供的 AWS CloudFormation 模板创建。或者,你可以手动为存储桶创建 IAM 角色 ARN。
- - **AWS 访问密钥**:输入 AWS 访问密钥 ID 和 AWS 密钥。
- - 有关两种方法的详细说明,请参见[配置 Amazon S3 访问](/tidb-cloud/dedicated-external-storage.md#configure-amazon-s3-access)。
+ - **Included Schema Files**:如果源文件夹包含目标表结构文件(如 `${db_name}-schema-create.sql`),请选择 **Yes**,否则选择 **No**。
+ - **Data Format**:选择 **Parquet**。
+ - **Folder URI**:输入源文件夹的 URI,格式为 `s3://[bucket_name]/[data_source_folder]/`,路径必须以 `/` 结尾。例如,`s3://sampledata/ingest/`。
+ - **Bucket Access**:你可以使用 AWS IAM Role ARN 或 AWS 访问密钥访问存储桶。
+ - **AWS Role ARN**(推荐):输入 AWS IAM Role ARN。如果还没有为存储桶创建 IAM 角色,可以点击 **Click here to create new one with AWS CloudFormation**,按照屏幕提示使用提供的 AWS CloudFormation 模板创建。也可以手动为存储桶创建 IAM Role ARN。
+ - **AWS Access Key**:输入 AWS 访问密钥 ID 和 AWS 密钥。
+ - 两种方式的详细说明见 [配置 Amazon S3 访问权限](/tidb-cloud/dedicated-external-storage.md#configure-amazon-s3-access)。
-4. 点击**连接**。
+4. 点击 **Connect**。
-5. 在**目标**部分,选择目标数据库和表。
+5. 在 **Destination** 部分,选择目标数据库和数据表。
- 导入多个文件时,你可以使用**高级设置** > **映射设置**来自定义各个目标表与其对应 Parquet 文件的映射。对于每个目标数据库和表:
+ 当导入多个文件时,可以通过 **Advanced Settings** > **Mapping Settings** 自定义每个目标表与其对应 Parquet 文件的映射。对于每个目标数据库和表:
- - **目标数据库**:从列表中选择相应的数据库名称。
- - **目标表**:从列表中选择相应的表名称。
- - **源文件 URI 和名称**:输入源文件的完整 URI,包括文件夹和文件名,确保其格式为 `s3://[bucket_name]/[data_source_folder]/[file_name].parquet`。例如,`s3://sampledata/ingest/TableName.01.parquet`。你也可以使用通配符(`?` 和 `*`)匹配多个文件。例如:
- - `s3://[bucket_name]/[data_source_folder]/my-data1.parquet`:`[data_source_folder]` 中名为 `my-data1.parquet` 的单个 Parquet 文件将被导入到目标表中。
- - `s3://[bucket_name]/[data_source_folder]/my-data?.parquet`:`[data_source_folder]` 中以 `my-data` 开头后跟一个字符的所有 Parquet 文件(如 `my-data1.parquet` 和 `my-data2.parquet`)将被导入到同一个目标表中。
- - `s3://[bucket_name]/[data_source_folder]/my-data*.parquet`:`[data_source_folder]` 中以 `my-data` 开头的所有 Parquet 文件(如 `my-data10.parquet` 和 `my-data100.parquet`)将被导入到同一个目标表中。
+ - **Target Database**:从列表中选择对应的数据库名。
+ - **Target Table**:从列表中选择对应的表名。
+ - **Source File URIs and Names**:输入源文件的完整 URI,包括文件夹和文件名,格式为 `s3://[bucket_name]/[data_source_folder]/[file_name].parquet`。例如,`s3://sampledata/ingest/TableName.01.parquet`。你也可以使用通配符(`?` 和 `*`)匹配多个文件。例如:
+ - `s3://[bucket_name]/[data_source_folder]/my-data1.parquet`:将 `[data_source_folder]` 下名为 `my-data1.parquet` 的单个 Parquet 文件导入目标表。
+ - `s3://[bucket_name]/[data_source_folder]/my-data?.parquet`:将 `[data_source_folder]` 下所有以 `my-data` 开头、后跟一个字符(如 `my-data1.parquet` 和 `my-data2.parquet`)的 Parquet 文件导入同一目标表。
+ - `s3://[bucket_name]/[data_source_folder]/my-data*.parquet`:将 `[data_source_folder]` 下所有以 `my-data` 开头(如 `my-data10.parquet` 和 `my-data100.parquet`)的 Parquet 文件导入同一目标表。
-6. 点击**开始导入**。
+6. 点击 **Start Import**。
-7. 当导入进度显示**已完成**时,检查导入的表。
+7. 当导入进度显示 **Completed** 时,检查已导入的数据表。
-1. 打开目标集群的**导入**页面。
+1. 打开目标集群的 **Import** 页面。
- 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/)并导航到项目的[**集群**](https://tidbcloud.com/project/clusters)页面。
+ 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),进入项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
> **提示:**
>
- > 你可以使用左上角的组合框在组织、项目和集群之间切换。
+ > 你可以使用左上角的下拉框切换组织、项目和集群。
- 2. 点击目标集群的名称进入其概览页面,然后在左侧导航栏中点击**数据** > **导入**。
+ 2. 点击目标集群名称进入概览页面,然后在左侧导航栏点击 **Data** > **Import**。
-2. 选择**从云存储导入数据**。
+2. 选择 **Import data from Cloud Storage**。
-3. 在**从 GCS 导入数据**页面上,为源 Parquet 文件提供以下信息:
+3. 在 **Import Data from Cloud Storage** 页面,为源 Parquet 文件填写以下信息:
- - **包含架构文件**:如果源文件夹包含目标表架构文件(如 `${db_name}-schema-create.sql`),选择**是**。否则,选择**否**。
- - **数据格式**:选择 **Parquet**。
- - **文件夹 URI**:以 `gs://[bucket_name]/[data_source_folder]/` 格式输入源文件夹 URI。路径必须以 `/` 结尾。例如,`gs://sampledata/ingest/`。
- - **Google Cloud 服务账号 ID**:TiDB Cloud 在此页面上提供唯一的服务账号 ID(如 `example-service-account@your-project.iam.gserviceaccount.com`)。你必须在 Google Cloud 项目中为你的 GCS 存储桶授予此服务账号 ID 必要的 IAM 权限(如 "Storage Object Viewer")。更多信息,请参见[配置 GCS 访问](/tidb-cloud/dedicated-external-storage.md#configure-gcs-access)。
+ - **Included Schema Files**:如果源文件夹包含目标表结构文件(如 `${db_name}-schema-create.sql`),请选择 **Yes**,否则选择 **No**。
+ - **Data Format**:选择 **Parquet**。
+ - **Folder URI**:输入源文件夹的 URI,格式为 `gs://[bucket_name]/[data_source_folder]/`,路径必须以 `/` 结尾。例如,`gs://sampledata/ingest/`。
+ - **Google Cloud Service Account ID**:TiDB Cloud 会在此页面提供一个唯一的 Service Account ID(如 `example-service-account@your-project.iam.gserviceaccount.com`)。你必须在 Google Cloud 项目中为该 Service Account ID 授予所需的 IAM 权限(如 “Storage Object Viewer”)以访问你的 GCS 存储桶。更多信息见 [配置 GCS 访问权限](/tidb-cloud/dedicated-external-storage.md#configure-gcs-access)。
-4. 点击**连接**。
+4. 点击 **Connect**。
-5. 在**目标**部分,选择目标数据库和表。
+5. 在 **Destination** 部分,选择目标数据库和数据表。
- 导入多个文件时,你可以使用**高级设置** > **映射设置**来自定义各个目标表与其对应 Parquet 文件的映射。对于每个目标数据库和表:
+ 当导入多个文件时,可以通过 **Advanced Settings** > **Mapping Settings** 自定义每个目标表与其对应 Parquet 文件的映射。对于每个目标数据库和表:
- - **目标数据库**:从列表中选择相应的数据库名称。
- - **目标表**:从列表中选择相应的表名称。
- - **源文件 URI 和名称**:输入源文件的完整 URI,包括文件夹和文件名,确保其格式为 `gs://[bucket_name]/[data_source_folder]/[file_name].parquet`。例如,`gs://sampledata/ingest/TableName.01.parquet`。你也可以使用通配符(`?` 和 `*`)匹配多个文件。例如:
- - `gs://[bucket_name]/[data_source_folder]/my-data1.parquet`:`[data_source_folder]` 中名为 `my-data1.parquet` 的单个 Parquet 文件将被导入到目标表中。
- - `gs://[bucket_name]/[data_source_folder]/my-data?.parquet`:`[data_source_folder]` 中以 `my-data` 开头后跟一个字符的所有 Parquet 文件(如 `my-data1.parquet` 和 `my-data2.parquet`)将被导入到同一个目标表中。
- - `gs://[bucket_name]/[data_source_folder]/my-data*.parquet`:`[data_source_folder]` 中以 `my-data` 开头的所有 Parquet 文件(如 `my-data10.parquet` 和 `my-data100.parquet`)将被导入到同一个目标表中。
+ - **Target Database**:从列表中选择对应的数据库名。
+ - **Target Table**:从列表中选择对应的表名。
+ - **Source File URIs and Names**:输入源文件的完整 URI,包括文件夹和文件名,格式为 `gs://[bucket_name]/[data_source_folder]/[file_name].parquet`。例如,`gs://sampledata/ingest/TableName.01.parquet`。你也可以使用通配符(`?` 和 `*`)匹配多个文件。例如:
+ - `gs://[bucket_name]/[data_source_folder]/my-data1.parquet`:将 `[data_source_folder]` 下名为 `my-data1.parquet` 的单个 Parquet 文件导入目标表。
+ - `gs://[bucket_name]/[data_source_folder]/my-data?.parquet`:将 `[data_source_folder]` 下所有以 `my-data` 开头、后跟一个字符(如 `my-data1.parquet` 和 `my-data2.parquet`)的 Parquet 文件导入同一目标表。
+ - `gs://[bucket_name]/[data_source_folder]/my-data*.parquet`:将 `[data_source_folder]` 下所有以 `my-data` 开头(如 `my-data10.parquet` 和 `my-data100.parquet`)的 Parquet 文件导入同一目标表。
-6. 点击**开始导入**。
+6. 点击 **Start Import**。
-7. 当导入进度显示**已完成**时,检查导入的表。
+7. 当导入进度显示 **Completed** 时,检查已导入的数据表。
-1. 打开目标集群的**导入**页面。
+1. 打开目标集群的 **Import** 页面。
- 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/)并导航到项目的[**集群**](https://tidbcloud.com/project/clusters)页面。
+ 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),进入项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
> **提示:**
>
- > 你可以使用左上角的组合框在组织、项目和集群之间切换。
+ > 你可以使用左上角的下拉框切换组织、项目和集群。
- 2. 点击目标集群的名称进入其概览页面,然后在左侧导航栏中点击**数据** > **导入**。
+ 2. 点击目标集群名称进入概览页面,然后在左侧导航栏点击 **Data** > **Import**。
-2. 选择**从云存储导入数据**。
+2. 选择 **Import data from Cloud Storage**。
-3. 在**从 Azure Blob Storage 导入数据**页面上,提供以下信息:
+3. 在 **Import Data from Azure Blob Storage** 页面,填写以下信息:
- - **包含架构文件**:如果源文件夹包含目标表架构文件(如 `${db_name}-schema-create.sql`),选择**是**。否则,选择**否**。
- - **数据格式**:选择 **Parquet**。
- - **文件夹 URI**:使用格式 `https://[account_name].blob.core.windows.net/[container_name]/[data_source_folder]/` 输入源文件所在的 Azure Blob Storage URI。路径必须以 `/` 结尾。例如,`https://myaccount.blob.core.windows.net/mycontainer/data-ingestion/`。
- - **SAS 令牌**:输入账户 SAS 令牌以允许 TiDB Cloud 访问你的 Azure Blob Storage 容器中的源文件。如果你还没有,可以通过点击**点击此处使用 Azure ARM 模板创建新令牌**并按照屏幕上的说明使用提供的 Azure ARM 模板创建。或者,你可以手动创建账户 SAS 令牌。更多信息,请参见[配置 Azure Blob Storage 访问](/tidb-cloud/dedicated-external-storage.md#configure-azure-blob-storage-access)。
+ - **Included Schema Files**:如果源文件夹包含目标表结构文件(如 `${db_name}-schema-create.sql`),请选择 **Yes**,否则选择 **No**。
+ - **Data Format**:选择 **Parquet**。
+ - **Folder URI**:输入源文件所在的 Azure Blob Storage URI,格式为 `https://[account_name].blob.core.windows.net/[container_name]/[data_source_folder]/`,路径必须以 `/` 结尾。例如,`https://myaccount.blob.core.windows.net/mycontainer/data-ingestion/`。
+ - **SAS Token**:输入账户 SAS token,以允许 TiDB Cloud 访问 Azure Blob Storage 容器中的源文件。如果还没有 SAS token,可以点击 **Click here to create a new one with Azure ARM template**,按照屏幕提示使用提供的 Azure ARM 模板创建。也可以手动创建账户 SAS token。更多信息见 [配置 Azure Blob Storage 访问权限](/tidb-cloud/dedicated-external-storage.md#configure-azure-blob-storage-access)。
-4. 点击**连接**。
+4. 点击 **Connect**。
-5. 在**目标**部分,选择目标数据库和表。
+5. 在 **Destination** 部分,选择目标数据库和数据表。
- 导入多个文件时,你可以使用**高级设置** > **映射设置**来自定义各个目标表与其对应 Parquet 文件的映射。对于每个目标数据库和表:
+ 当导入多个文件时,可以通过 **Advanced Settings** > **Mapping Settings** 自定义每个目标表与其对应 Parquet 文件的映射。对于每个目标数据库和表:
- - **目标数据库**:从列表中选择相应的数据库名称。
- - **目标表**:从列表中选择相应的表名称。
- - **源文件 URI 和名称**:输入源文件的完整 URI,包括文件夹和文件名,确保其格式为 `https://[account_name].blob.core.windows.net/[container_name]/[data_source_folder]/[file_name].parquet`。例如,`https://myaccount.blob.core.windows.net/mycontainer/data-ingestion/TableName.01.parquet`。你也可以使用通配符(`?` 和 `*`)匹配多个文件。例如:
- - `https://[account_name].blob.core.windows.net/[container_name]/[data_source_folder]/my-data1.parquet`:`[data_source_folder]` 中名为 `my-data1.parquet` 的单个 Parquet 文件将被导入到目标表中。
- - `https://[account_name].blob.core.windows.net/[container_name]/[data_source_folder]/my-data?.parquet`:`[data_source_folder]` 中以 `my-data` 开头后跟一个字符的所有 Parquet 文件(如 `my-data1.parquet` 和 `my-data2.parquet`)将被导入到同一个目标表中。
- - `https://[account_name].blob.core.windows.net/[container_name]/[data_source_folder]/my-data*.parquet`:`[data_source_folder]` 中以 `my-data` 开头的所有 Parquet 文件(如 `my-data10.parquet` 和 `my-data100.parquet`)将被导入到同一个目标表中。
+ - **Target Database**:从列表中选择对应的数据库名。
+ - **Target Table**:从列表中选择对应的表名。
+ - **Source File URIs and Names**:输入源文件的完整 URI,包括文件夹和文件名,格式为 `https://[account_name].blob.core.windows.net/[container_name]/[data_source_folder]/[file_name].parquet`。例如,`https://myaccount.blob.core.windows.net/mycontainer/data-ingestion/TableName.01.parquet`。你也可以使用通配符(`?` 和 `*`)匹配多个文件。例如:
+ - `https://[account_name].blob.core.windows.net/[container_name]/[data_source_folder]/my-data1.parquet`:将 `[data_source_folder]` 下名为 `my-data1.parquet` 的单个 Parquet 文件导入目标表。
+ - `https://[account_name].blob.core.windows.net/[container_name]/[data_source_folder]/my-data?.parquet`:将 `[data_source_folder]` 下所有以 `my-data` 开头、后跟一个字符(如 `my-data1.parquet` 和 `my-data2.parquet`)的 Parquet 文件导入同一目标表。
+ - `https://[account_name].blob.core.windows.net/[container_name]/[data_source_folder]/my-data*.parquet`:将 `[data_source_folder]` 下所有以 `my-data` 开头(如 `my-data10.parquet` 和 `my-data100.parquet`)的 Parquet 文件导入同一目标表。
-6. 点击**开始导入**。
+6. 点击 **Start Import**。
-7. 当导入进度显示**已完成**时,检查导入的表。
+7. 当导入进度显示 **Completed** 时,检查已导入的数据表。
-运行导入任务时,如果检测到任何不支持或无效的转换,TiDB Cloud 会自动终止导入作业并报告导入错误。你可以在**状态**字段中查看详细信息。
+当你运行导入任务时,如果检测到任何不支持或无效的类型转换,TiDB Cloud 会自动终止导入任务并报告导入错误。你可以在 **Status** 字段查看详细信息。
-如果遇到导入错误,请执行以下操作:
+如果遇到导入错误,请按以下步骤操作:
1. 删除部分导入的表。
-2. 检查表架构文件。如果有任何错误,请更正表架构文件。
+2. 检查表结构文件,如有错误请修正。
3. 检查 Parquet 文件中的数据类型。
- 如果 Parquet 文件包含任何不支持的数据类型(例如 `NEST STRUCT`、`ARRAY` 或 `MAP`),你需要使用[支持的数据类型](#支持的数据类型)(例如 `STRING`)重新生成 Parquet 文件。
+ 如果 Parquet 文件包含任何不支持的数据类型(如 `NEST STRUCT`、`ARRAY` 或 `MAP`),你需要使用 [支持的数据类型](#supported-data-types)(如 `STRING`)重新生成 Parquet 文件。
-4. 重试导入任务。
+4. 重新尝试导入任务。
## 支持的数据类型
-下表列出了可以导入到 TiDB Cloud 的支持的 Parquet 数据类型。
+下表列出了可导入到 TiDB Cloud 的 Parquet 支持数据类型。
-| Parquet 基本类型 | Parquet 逻辑类型 | TiDB 或 MySQL 中的类型 |
+| Parquet Primitive Type | Parquet Logical Type | Types in TiDB or MySQL |
|---|---|---|
| DOUBLE | DOUBLE | DOUBLE
FLOAT |
| FIXED_LEN_BYTE_ARRAY(9) | DECIMAL(20,0) | BIGINT UNSIGNED |
@@ -257,14 +255,14 @@ summary: 了解如何从 Amazon S3、GCS 或 Azure Blob Storage 导入 Apache Pa
| TINYINT | N/A | INT32 |
| TINYINT UNSIGNED | N/A | INT32 |
-## 故障排除
+## 故障排查
-### 解决数据导入期间的警告
+### 解决数据导入过程中的警告
-点击**开始导入**后,如果看到类似 `can't find the corresponding source files` 的警告消息,请通过提供正确的源文件、按照[数据导入命名约定](/tidb-cloud/naming-conventions-for-data-import.md)重命名现有文件或使用**高级设置**进行更改来解决此问题。
+点击 **Start Import** 后,如果看到类似 `can't find the corresponding source files` 的警告信息,可以通过提供正确的源文件、按照 [数据导入命名规范](/tidb-cloud/naming-conventions-for-data-import.md)重命名现有文件,或使用 **Advanced Settings** 进行调整来解决。
-解决这些问题后,你需要重新导入数据。
+解决后需要重新导入数据。
-### 导入的表中行数为零
+### 导入表中数据行为零
-导入进度显示**已完成**后,检查导入的表。如果行数为零,则表示没有数据文件与你输入的存储桶 URI 匹配。在这种情况下,请通过提供正确的源文件、按照[数据导入命名约定](/tidb-cloud/naming-conventions-for-data-import.md)重命名现有文件或使用**高级设置**进行更改来解决此问题。之后,重新导入这些表。
+导入进度显示 **Completed** 后,检查已导入的数据表。如果行数为零,说明没有数据文件匹配你输入的 Bucket URI。此时,可以通过提供正确的源文件、按照 [数据导入命名规范](/tidb-cloud/naming-conventions-for-data-import.md)重命名现有文件,或使用 **Advanced Settings** 进行调整来解决。之后请重新导入这些表。
\ No newline at end of file
diff --git a/tidb-cloud/import-sample-data-serverless.md b/tidb-cloud/import-sample-data-serverless.md
index 1eaa1d5a89559..e4ea4194001f0 100644
--- a/tidb-cloud/import-sample-data-serverless.md
+++ b/tidb-cloud/import-sample-data-serverless.md
@@ -1,45 +1,49 @@
---
-title: 导入示例数据到 TiDB Cloud Serverless
-summary: 了解如何通过 UI 将示例数据导入到 TiDB Cloud Serverless。
+title: 将示例数据导入 TiDB Cloud Serverless
+summary: 了解如何通过 UI 将示例数据导入 TiDB Cloud Serverless。
---
-# 导入示例数据到 TiDB Cloud Serverless
+# 将示例数据导入 TiDB Cloud Serverless
-本文介绍如何通过 UI 将示例数据导入到 TiDB Cloud Serverless。使用的示例数据是 Capital Bikeshare 的系统数据,根据 Capital Bikeshare 数据许可协议发布。在导入示例数据之前,你需要有一个 TiDB 集群。
+本文档介绍了如何通过 UI 将示例数据导入 TiDB Cloud Serverless。所使用的示例数据为 Capital Bikeshare 的系统数据,根据 Capital Bikeshare 数据许可协议发布。在导入示例数据之前,你需要拥有一个 TiDB 集群。
> **注意:**
>
> TiDB Cloud Serverless 目前仅支持从 Amazon S3 导入示例数据。
-1. 打开目标集群的**导入**页面。
+1. 打开目标集群的 **Import** 页面。
- 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/)并导航到项目的[**集群**](https://tidbcloud.com/project/clusters)页面。
+ 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),并进入你项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
> **提示:**
>
- > 你可以使用左上角的组合框在组织、项目和集群之间切换。
+ > 你可以使用左上角的下拉框在组织、项目和集群之间切换。
- 2. 点击目标集群的名称进入其概览页面,然后在左侧导航栏中点击**数据** > **导入**。
+ 2. 点击目标集群的名称进入其概览页面,然后在左侧导航栏点击 **Data** > **Import**。
-2. 选择**从云存储导入数据**,然后点击 **Amazon S3**。
+2. 点击 **Import data from Cloud Storage**。
-3. 在**从 Amazon S3 导入数据**页面上,配置以下源数据信息:
+3. 在 **Import Data from Cloud Storage** 页面,填写以下信息:
- - **导入文件数量**:对于示例数据,选择**多个文件**。
- - **包含架构文件**:对于示例数据,选择**是**。
- - **数据格式**:选择 **SQL**。
- - **文件夹 URI** 或**文件 URI**:输入示例数据 URI `s3://tidbcloud-sample-data/data-ingestion/`。
- - **存储桶访问**:对于示例数据,你只能使用 Role ARN 访问其存储桶。对于你自己的数据,你可以使用 AWS 访问密钥或 Role ARN 访问你的存储桶。
- - **AWS Role ARN**:输入 `arn:aws:iam::801626783489:role/import-sample-access`。
- - **AWS 访问密钥**:对于示例数据,跳过此选项。
+ - **Storage Provider**:选择 **Amazon S3**。
+ - **Source Files URI**:输入示例数据 URI `s3://tidbcloud-sample-data/data-ingestion/`。
+ - **Credential**:
+ - **AWS Role ARN**:输入 `arn:aws:iam::801626783489:role/import-sample-access`。
+ - **AWS Access Key**:对于示例数据可跳过此项。
-4. 点击**连接** > **开始导入**。
+4. 点击 **Next**。
-当数据导入进度显示**已完成**时,你已成功将示例数据和数据库架构导入到 TiDB Cloud Serverless 中的数据库。
+5. 在 **Destination Mapping** 部分,保持选中 **Use [File naming conventions](/tidb-cloud/naming-conventions-for-data-import.md) for automatic mapping** 选项,并选择 **SQL** 作为数据格式。
+
+6. 点击 **Next**。
+
+7. 查看扫描结果,检查发现的数据文件及其对应的目标表,然后点击 **Start Import**。
+
+8. 当导入进度显示为 **Completed** 时,检查已导入的表。
连接到集群后,你可以在终端中运行一些查询来检查结果,例如:
-1. 获取起始站为 "12th & U St NW" 的行程记录:
+1. 获取起点为 "12th & U St NW" 的骑行记录:
```sql
use bikeshare;
@@ -66,7 +70,7 @@ summary: 了解如何通过 UI 将示例数据导入到 TiDB Cloud Serverless。
+-----------------+---------------+---------------------+---------------------+--------------------+------------------+-------------------------------------------+----------------+-----------+------------+-----------+------------+---------------+
```
-2. 获取电动自行车的行程记录:
+2. 获取使用电动自行车的骑行记录:
```sql
use bikeshare;
@@ -91,4 +95,4 @@ summary: 了解如何通过 UI 将示例数据导入到 TiDB Cloud Serverless。
| 211D449363FB7EE3 | electric_bike | 2021-01-15 17:22:02 | 2021-01-15 17:35:49 | 7th & K St NW | 31653 | 15th & East Capitol St NE | 31630 | 38.90216 | -77.0211 | 38.88 | 76.98357 | casual |
| CE667578A7291701 | electric_bike | 2021-01-15 16:55:12 | 2021-01-15 17:38:26 | East West Hwy & 16th St | 32056 | East West Hwy & Blair Mill Rd | 32019 | 38.995674 | -77.03868 | 38.990 | 77.02953 | casual |
+------------------+---------------+---------------------+---------------------+----------------------------------------+------------------+-------------------------------------------------------+----------------+-----------+------------+-----------+------------+---------------+
- ```
+ ```
\ No newline at end of file
diff --git a/tidb-cloud/import-with-mysql-cli-serverless.md b/tidb-cloud/import-with-mysql-cli-serverless.md
index e48214eed080c..177e3b02f6bca 100644
--- a/tidb-cloud/import-with-mysql-cli-serverless.md
+++ b/tidb-cloud/import-with-mysql-cli-serverless.md
@@ -1,52 +1,52 @@
---
-title: 通过 MySQL CLI 导入数据到 TiDB Cloud Serverless
-summary: 了解如何通过 MySQL CLI 导入数据到 TiDB Cloud Serverless。
+title: 通过 MySQL CLI 向 TiDB Cloud Serverless 导入数据
+summary: 学习如何通过 MySQL CLI 向 TiDB Cloud Serverless 导入数据。
---
-# 通过 MySQL CLI 导入数据到 TiDB Cloud Serverless
+# 通过 MySQL CLI 向 TiDB Cloud Serverless 导入数据
-本文介绍如何通过 [MySQL 命令行客户端](https://dev.mysql.com/doc/refman/8.0/en/mysql.html)将数据导入到 TiDB Cloud Serverless。你可以从 SQL 文件或 CSV 文件导入数据。以下各节提供从每种类型文件导入数据的分步说明。
+本文档介绍了如何通过 [MySQL 命令行客户端](https://dev.mysql.com/doc/refman/8.0/en/mysql.html) 向 TiDB Cloud Serverless 导入数据。你可以从 SQL 文件或 CSV 文件导入数据。以下章节将分别提供从每种文件类型导入数据的分步说明。
-## 前提条件
+## 前置条件
-在通过 MySQL CLI 导入数据到 TiDB Cloud Serverless 之前,你需要满足以下前提条件:
+在你通过 MySQL CLI 向 TiDB Cloud Serverless 导入数据之前,需要满足以下前置条件:
-- 你可以访问你的 TiDB Cloud Serverless 集群。如果没有,请按照[构建 TiDB Cloud Serverless 集群](/develop/dev-guide-build-cluster-in-cloud.md)中的说明创建一个。
+- 你可以访问自己的 TiDB Cloud Serverless 集群。如果还没有集群,请按照 [构建 TiDB Cloud Serverless 集群](/develop/dev-guide-build-cluster-in-cloud.md) 的说明创建一个。
- 在本地计算机上安装 MySQL CLI。
## 步骤 1. 连接到你的 TiDB Cloud Serverless 集群
连接到你的 TiDB 集群。
-1. 导航到[**集群**](https://tidbcloud.com/project/clusters)页面,然后点击目标集群的名称进入其概览页面。
+1. 进入 [**Clusters**](https://tidbcloud.com/project/clusters) 页面,然后点击目标集群的名称,进入其概览页面。
-2. 点击右上角的**连接**。此时会显示连接对话框。
+2. 点击右上角的 **Connect**。此时会弹出连接对话框。
-3. 确保连接对话框中的配置与你的操作环境匹配。
+3. 确保连接对话框中的配置与你的操作环境一致。
- - **连接类型**设置为 `Public`。
- - **连接方式**设置为 `MySQL CLI`。
- - **操作系统**与你的环境匹配。
+ - **Connection Type** 设置为 `Public`。
+ - **Connect With** 设置为 `MySQL CLI`。
+ - **Operating System** 与你的环境一致。
-4. 点击**生成密码**创建随机密码。
+4. 点击 **Generate Password** 生成一个随机密码。
> **提示:**
>
- > 如果你之前已经创建了密码,可以使用原始密码或点击**重置密码**生成新密码。
+ > 如果你之前已经创建过密码,可以继续使用原有密码,或者点击 **Reset Password** 生成新密码。
-## 步骤 2. 定义表并插入示例数据
+## 步骤 2. 定义数据表并插入示例数据
-在导入数据之前,你需要准备表结构并向其中插入实际的示例数据。以下是一个可用于创建表和插入示例数据的 SQL 文件(`product_data.sql`)示例:
+在导入数据之前,你需要准备好表结构,并向表中插入真实的示例数据。以下是一个 SQL 文件(`product_data.sql`)的示例,你可以用它来创建数据表并插入示例数据:
```sql
--- 在你的 TiDB 数据库中创建表
+-- Create a table in your TiDB database
CREATE TABLE products (
product_id INT PRIMARY KEY,
product_name VARCHAR(255),
price DECIMAL(10, 2)
);
--- 向表中插入示例数据
+-- Insert sample data into the table
INSERT INTO products (product_id, product_name, price) VALUES
(1, 'Laptop', 999.99),
(2, 'Smartphone', 499.99),
@@ -55,14 +55,14 @@ INSERT INTO products (product_id, product_name, price) VALUES
## 步骤 3. 从 SQL 或 CSV 文件导入数据
-你可以从 SQL 文件或 CSV 文件导入数据。以下各节提供从每种类型文件导入数据的分步说明。
+你可以从 SQL 文件或 CSV 文件导入数据。以下章节将分别提供从每种文件类型导入数据的分步说明。
-
+
-执行以下操作从 SQL 文件导入数据:
+按照以下步骤从 SQL 文件导入数据:
-1. 提供包含要导入数据的实际 SQL 文件(例如 `product_data.sql`)。此 SQL 文件必须包含带有实际数据的 `INSERT` 语句。
+1. 准备一个真实的 SQL 文件(例如 `product_data.sql`),其中包含你需要导入的数据。该 SQL 文件必须包含带有真实数据的 `INSERT` 语句。
2. 使用以下命令从 SQL 文件导入数据:
@@ -72,16 +72,16 @@ INSERT INTO products (product_id, product_name, price) VALUES
> **注意:**
>
-> 此处使用的默认数据库名称是 `test`,你可以手动创建自己的数据库或在 SQL 文件中使用 `CREATE DATABASE` 命令。
+> 这里默认使用的数据库名称为 `test`,你可以手动创建自己的数据库,或者在 SQL 文件中使用 `CREATE DATABASE` 命令。
-
+
-执行以下操作从 CSV 文件导入数据:
+按照以下步骤从 CSV 文件导入数据:
-1. 在 TiDB 中创建与你的数据导入需求相匹配的数据库和架构。
+1. 在 TiDB 中创建数据库和表结构,以满足你的数据导入需求。
-2. 提供包含要导入数据的示例 CSV 文件(例如 `product_data.csv`)。以下是 CSV 文件的示例:
+2. 准备一个示例 CSV 文件(例如 `product_data.csv`),其中包含你需要导入的数据。以下是一个 CSV 文件的示例:
**product_data.csv:**
@@ -101,11 +101,11 @@ INSERT INTO products (product_id, product_name, price) VALUES
IGNORE 1 LINES (product_id, product_name, price);"
```
- 确保将路径、表名(本例中为 `products`)、``、``、``、``、`` 和其他占位符替换为你的实际信息,并根据需要将示例 CSV 数据替换为你的实际数据集。
+ 请确保将路径、表名(本例中为 `products`)、``、``、``、``、`` 以及其他占位符替换为你的实际信息,并根据需要将示例 CSV 数据替换为你的真实数据集。
> **注意:**
>
-> 有关 `LOAD DATA LOCAL INFILE` 的更多语法详情,请参见 [`LOAD DATA`](/sql-statements/sql-statement-load-data.md)。
+> 有关 `LOAD DATA LOCAL INFILE` 的更多语法细节,请参见 [`LOAD DATA`](/sql-statements/sql-statement-load-data.md)。
-
+
\ No newline at end of file
diff --git a/tidb-cloud/integrate-tidbcloud-with-airbyte.md b/tidb-cloud/integrate-tidbcloud-with-airbyte.md
index b2a634b5acf7d..cc6f7abeb0262 100644
--- a/tidb-cloud/integrate-tidbcloud-with-airbyte.md
+++ b/tidb-cloud/integrate-tidbcloud-with-airbyte.md
@@ -1,17 +1,17 @@
---
-title: 将 TiDB Cloud 与 Airbyte 集成
+title: 集成 TiDB Cloud 与 Airbyte
summary: 了解如何使用 Airbyte TiDB 连接器。
---
-# 将 TiDB Cloud 与 Airbyte 集成
+# 集成 TiDB Cloud 与 Airbyte
-[Airbyte](https://airbyte.com/) 是一个开源的数据集成引擎,用于构建提取、加载、转换(ELT)管道,并将你的数据整合到数据仓库、数据湖和数据库中。本文介绍如何将 Airbyte 作为源或目标连接到 TiDB Cloud。
+[Airbyte](https://airbyte.com/) 是一个开源的数据集成引擎,用于构建提取、加载、转换(ELT)流程,并将你的数据整合到数据仓库、数据湖和数据库中。本文档介绍了如何将 Airbyte 连接到 TiDB Cloud,作为数据源或目标端。
## 部署 Airbyte
-你只需几个步骤就可以在本地部署 Airbyte。
+你可以通过几个简单的步骤在本地部署 Airbyte。
-1. 在你的工作空间上安装 [Docker](https://www.docker.com/products/docker-desktop)。
+1. 在你的工作环境中安装 [Docker](https://www.docker.com/products/docker-desktop)。
2. 克隆 Airbyte 源代码。
@@ -20,13 +20,13 @@ summary: 了解如何使用 Airbyte TiDB 连接器。
cd airbyte
```
-3. 使用 docker-compose 运行 Docker 镜像。
+3. 通过 docker-compose 运行 Docker 镜像。
```shell
docker-compose up
```
-当你看到 Airbyte 横幅时,你可以使用用户名(`airbyte`)和密码(`password`)访问 [http://localhost:8000](http://localhost:8000) 来访问用户界面。
+当你看到 Airbyte 的横幅时,可以使用用户名(`airbyte`)和密码(`password`)访问 [http://localhost:8000](http://localhost:8000) 的 UI。
```
airbyte-server | ___ _ __ __
@@ -42,70 +42,70 @@ airbyte-server | --------------------------------------
## 设置 TiDB 连接器
-无论将 TiDB 设置为源还是目标,步骤都是相同的。
+方便的是,将 TiDB 作为数据源和目标端的设置步骤是相同的。
-1. 在侧边栏中点击**源**或**目标**,然后选择 TiDB 类型以创建新的 TiDB 连接器。
+1. 在侧边栏点击 **Sources** 或 **Destinations**,选择 TiDB 类型以创建新的 TiDB 连接器。
2. 填写以下参数。
- - 主机:TiDB Cloud 集群的端点
- - 端口:数据库的端口
- - 数据库:你想要同步数据的数据库
- - 用户名:访问数据库的用户名
- - 密码:用户名的密码
+ - Host: 你的 TiDB Cloud 集群的 endpoint
+ - Port: 数据库的端口
+ - Database: 你想要同步数据的数据库
+ - Username: 访问数据库的用户名
+ - Password: 用户名对应的密码
- 你可以从集群的连接对话框中获取参数值。要打开对话框,请转到项目的[**集群**](https://tidbcloud.com/project/clusters)页面,点击目标集群的名称以进入其概览页面,然后点击右上角的**连接**。
+ 你可以在集群的连接对话框中获取这些参数值。要打开该对话框,请进入项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面,点击目标集群名称进入其概览页,然后点击右上角的 **Connect**。
-3. 启用 **SSL 连接**,并在 **JDBC URL 参数**中将 TLS 协议设置为 **TLSv1.2** 或 **TLSv1.3**。
+3. 启用 **SSL Connection**,并在 **JDBC URL Params** 中将 TLS 协议设置为 **TLSv1.2** 或 **TLSv1.3**。
> 注意:
>
> - TiDB Cloud 支持 TLS 连接。你可以在 **TLSv1.2** 和 **TLSv1.3** 中选择 TLS 协议,例如,`enabledTLSProtocols=TLSv1.2`。
- > - 如果你想通过 JDBC 禁用与 TiDB Cloud 的 TLS 连接,你需要在 JDBC URL 参数中特别将 useSSL 设置为 `false` 并关闭 SSL 连接,例如,`useSSL=false`。
+ > - 如果你希望通过 JDBC 禁用到 TiDB Cloud 的 TLS 连接,需要在 JDBC URL Params 中专门设置 useSSL 为 `false` 并关闭 SSL 连接,例如,`useSSL=false`。
> - TiDB Cloud Serverless 仅支持 TLS 连接。
-4. 点击**设置源**或**目标**以完成创建连接器。以下截图显示了将 TiDB 设置为源的配置。
+4. 点击 **Set up source** 或 **destination** 完成连接器的创建。下图展示了将 TiDB 作为数据源的配置示例。
-
+
-你可以使用任何源和目标的组合,例如从 TiDB 到 Snowflake,或从 CSV 文件到 TiDB。
+你可以使用任意组合的数据源和目标端,例如 TiDB 到 Snowflake,或 CSV 文件到 TiDB。
-有关 TiDB 连接器的更多详细信息,请参见 [TiDB 源](https://docs.airbyte.com/integrations/sources/tidb)和 [TiDB 目标](https://docs.airbyte.com/integrations/destinations/tidb)。
+关于 TiDB 连接器的更多细节,请参阅 [TiDB Source](https://docs.airbyte.com/integrations/sources/tidb) 和 [TiDB Destination](https://docs.airbyte.com/integrations/destinations/tidb)。
## 设置连接
-设置好源和目标后,你可以构建和配置连接。
+在设置好数据源和目标端后,你可以构建并配置连接。
-以下步骤使用 TiDB 作为源和目标。其他连接器可能有不同的参数。
+以下步骤以 TiDB 同时作为数据源和目标端为例。其他连接器可能有不同的参数。
-1. 在侧边栏中点击**连接**,然后点击**新建连接**。
-2. 选择之前建立的源和目标。
-3. 转到**设置**连接面板,为连接创建一个名称,例如 `${source_name} - ${destination-name}`。
-4. 将**复制频率**设置为**每 24 小时**,这意味着连接每天复制一次数据。
-5. 将**目标命名空间**设置为**自定义格式**,并将**命名空间自定义格式**设置为 **test**,以将所有数据存储在 `test` 数据库中。
-6. 选择**同步模式**为**完全刷新 | 覆盖**。
+1. 在侧边栏点击 **Connections**,然后点击 **New Connection**。
+2. 选择之前建立的数据源和目标端。
+3. 进入 **Set up** 连接面板,并为连接创建一个名称,例如 `${source_name} - ${destination-name}`。
+4. 将 **Replication frequency** 设置为 **Every 24 hours**,表示该连接每天同步一次数据。
+5. 将 **Destination Namespace** 设置为 **Custom format**,并将 **Namespace Custom Format** 设置为 **test**,以将所有数据存储在 `test` 数据库中。
+6. 选择 **Sync mode** 为 **Full refresh | Overwrite**。
> **提示:**
>
- > TiDB 连接器支持[增量和完全刷新同步](https://airbyte.com/blog/understanding-data-replication-modes)。
+ > TiDB 连接器支持 [增量同步和全量刷新同步](https://airbyte.com/blog/understanding-data-replication-modes)。
>
- > - 在增量模式下,Airbyte 只读取自上次同步任务以来添加到源的记录。使用增量模式的第一次同步相当于完全刷新模式。
- > - 在完全刷新模式下,Airbyte 在每次同步任务中读取源中的所有记录并复制到目标。你可以在 Airbyte 中为每个名为**命名空间**的表单独设置同步模式。
+ > - 在增量模式下,Airbyte 只读取自上次同步作业以来新增的源端记录。首次使用增量模式同步等同于全量刷新模式。
+ > - 在全量刷新模式下,Airbyte 每次同步任务都会读取源端的所有记录并复制到目标端。你可以为 Airbyte 中每个名为 **Namespace** 的表单独设置同步模式。
- 
+ 
-7. 将**规范化和转换**设置为**规范化表格数据**以使用默认规范化模式,或者你可以为你的任务设置 dbt 文件。有关规范化的更多信息,请参见[转换和规范化](https://docs.airbyte.com/operator-guides/transformation-and-normalization/transformations-with-dbt)。
-8. 点击**设置连接**。
-9. 建立连接后,点击**启用**以激活同步任务。你也可以点击**立即同步**立即同步。
+7. 将 **Normalization & Transformation** 设置为 **Normalized tabular data** 以使用默认的标准化模式,或者你也可以为你的作业设置 dbt 文件。关于标准化的更多信息,请参考 [Transformations and Normalization](https://docs.airbyte.com/operator-guides/transformation-and-normalization/transformations-with-dbt)。
+8. 点击 **Set up connection**。
+9. 连接建立后,点击 **ENABLED** 激活同步任务。你也可以点击 **Sync now** 立即同步。
-
+
## 限制
-- TiDB 连接器无法使用 TiCDC 提供的变更数据捕获(CDC)功能。增量同步基于游标机制执行。
-- TiDB 目标在默认规范化模式下将 `timestamp` 类型转换为 `varchar` 类型。这是因为 Airbyte 在传输过程中将时间戳类型转换为字符串,而 TiDB 不支持 `cast ('2020-07-28 14:50:15+1:00' as timestamp)`。
-- 对于一些大型 ELT 任务,你需要增加 TiDB 中[事务限制](/develop/dev-guide-transaction-restraints.md#large-transaction-restrictions)的参数。
+- TiDB 连接器无法使用 TiCDC 提供的变更数据捕获(CDC)功能。增量同步是基于游标机制实现的。
+- 在默认标准化模式下,TiDB 目标端会将 `timestamp` 类型转换为 `varchar` 类型。这是因为 Airbyte 在传输过程中将 timestamp 类型转换为字符串,而 TiDB 不支持 `cast ('2020-07-28 14:50:15+1:00' as timestamp)`。
+- 对于某些大型 ELT 任务,你需要在 TiDB 中增加 [事务限制](/develop/dev-guide-transaction-restraints.md#large-transaction-restrictions) 的相关参数。
-## 另请参阅
+## 参见
-[使用 Airbyte 将数据从 TiDB Cloud 迁移到 Snowflake](https://www.pingcap.com/blog/using-airbyte-to-migrate-data-from-tidb-cloud-to-snowflake/)。
+[使用 Airbyte 将数据从 TiDB Cloud 迁移到 Snowflake](https://www.pingcap.com/blog/using-airbyte-to-migrate-data-from-tidb-cloud-to-snowflake/)。
\ No newline at end of file
diff --git a/tidb-cloud/integrate-tidbcloud-with-aws-lambda.md b/tidb-cloud/integrate-tidbcloud-with-aws-lambda.md
index d3ec3b42baddf..be6b46b0e1305 100644
--- a/tidb-cloud/integrate-tidbcloud-with-aws-lambda.md
+++ b/tidb-cloud/integrate-tidbcloud-with-aws-lambda.md
@@ -1,69 +1,69 @@
---
-title: 使用 AWS CloudFormation 将 TiDB Cloud Serverless 与 Amazon Lambda 集成
-summary: 逐步介绍如何将 TiDB Cloud Serverless 与 Amazon Lambda 和 CloudFormation 集成。
+title: 使用 AWS CloudFormation 集成 TiDB Cloud Serverless 与 Amazon Lambda
+summary: 逐步介绍如何将 TiDB Cloud Serverless 与 Amazon Lambda 及 CloudFormation 集成。
---
-# 使用 AWS CloudFormation 将 TiDB Cloud Serverless 与 Amazon Lambda 集成
+# 使用 AWS CloudFormation 集成 TiDB Cloud Serverless 与 Amazon Lambda
-本文档提供了一个分步指南,介绍如何使用 [AWS CloudFormation](https://aws.amazon.com/cloudformation/) 将云原生分布式 SQL 数据库 [TiDB Cloud Serverless](https://www.pingcap.com/tidb-cloud/) 与无服务器和事件驱动的计算服务 [AWS Lambda](https://aws.amazon.com/lambda/) 集成。通过将 TiDB Cloud Serverless 与 Amazon Lambda 集成,你可以通过 TiDB Cloud Serverless 和 AWS Lambda 利用微服务的可扩展性和成本效益。AWS CloudFormation 自动化了 AWS 资源的创建和管理,包括 Lambda 函数、API Gateway 和 Secrets Manager。
+本文档提供了一个分步指南,介绍如何使用 [AWS CloudFormation](https://aws.amazon.com/cloudformation/) 将 [TiDB Cloud Serverless](https://www.pingcap.com/tidb-cloud/),一款云原生分布式 SQL 数据库,与 [AWS Lambda](https://aws.amazon.com/lambda/),一项无服务器、事件驱动的计算服务集成。通过将 TiDB Cloud Serverless 与 Amazon Lambda 集成,你可以利用 TiDB Cloud Serverless 和 AWS Lambda 的微服务架构,实现高扩展性和成本效益。AWS CloudFormation 可自动化创建和管理 AWS 资源,包括 Lambda 函数、API Gateway 和 Secrets Manager。
-## 解决方案概述
+## 方案概述
-在本指南中,你将创建一个包含以下组件的功能完整的在线书店:
+在本指南中,你将创建一个功能完整的在线书店项目,包含以下组件:
-- AWS Lambda 函数:使用 Sequelize ORM 和 Fastify API 框架处理请求并从 TiDB Cloud Serverless 集群查询数据。
-- AWS Secrets Manager SDK:检索和管理 TiDB Cloud Serverless 集群的连接配置。
+- AWS Lambda Function:使用 Sequelize ORM 和 Fastify API 框架处理请求并查询 TiDB Cloud Serverless 集群中的数据。
+- AWS Secrets Manager SDK:获取并管理 TiDB Cloud Serverless 集群的连接配置信息。
- AWS API Gateway:处理 HTTP 请求路由。
- TiDB Cloud Serverless:云原生分布式 SQL 数据库。
-AWS CloudFormation 用于创建项目所需的资源,包括 Secrets Manager、API Gateway 和 Lambda 函数。
+AWS CloudFormation 用于为该项目创建所需的资源,包括 Secrets Manager、API Gateway 和 Lambda Functions。
-书店项目的结构如下:
+书店项目的结构如下所示:
-
+
-## 前提条件
+## 前置条件
在开始之前,请确保你具备以下条件:
-- 一个可以访问以下 AWS 服务的 AWS 账户:
+- 一个 AWS 账号,并有权限访问以下 AWS 服务:
- [AWS CloudFormation](https://aws.amazon.com/cloudformation/)
- [Secrets Manager](https://aws.amazon.com/secrets-manager/)
- [API Gateway](https://aws.amazon.com/api-gateway/)
- [Lambda services](https://aws.amazon.com/lambda/)
- [S3](https://aws.amazon.com/s3/)
- [IAM Roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)
-- 一个 [TiDB Cloud](https://tidbcloud.com) 账户和一个 TiDB Cloud Serverless 集群。获取 TiDB Cloud Serverless 集群的连接信息:
+- 一个 [TiDB Cloud](https://tidbcloud.com) 账号和一个 TiDB Cloud Serverless 集群。获取你的 TiDB Cloud Serverless 集群的连接信息:
- 
+ 
-- API 测试工具,如 [Postman](https://www.postman.com/) 和 [cURL](https://curl.se/)。本文档中的大多数示例使用 cURL。对于 Windows 用户,建议使用 Postman。
-- 将项目的[最新发布资产](https://github.com/pingcap/TiDB-Lambda-integration/releases/latest)下载到本地计算机,其中包括 `cloudformation_template.yml` 和 `cloudformation_template.json` 文件。
+- API 测试工具,如 [Postman](https://www.postman.com/) 和 [cURL](https://curl.se/)。本文档中的大多数示例使用 cURL。对于 Windows 用户,推荐使用 Postman。
+- 下载项目的 [最新发布资源](https://github.com/pingcap/TiDB-Lambda-integration/releases/latest) 到本地,包括 `cloudformation_template.yml` 和 `cloudformation_template.json` 文件。
> **注意:**
>
-> - 创建 AWS 资源时,建议使用 `us-east-1` 作为集群区域。这是因为此演示中的 Lambda 函数代码将区域硬编码为 `us-east-1`,并且代码包存储在 `us-east-1` 区域。
-> - 如果你使用不同的区域,需要按照以下说明修改 Lambda 函数代码,重新构建它,并将代码包上传到你自己的 S3 存储桶。
+> - 创建 AWS 资源时,建议将集群区域选择为 `us-east-1`。这是因为本示例中的 Lambda 函数代码将区域硬编码为 `us-east-1`,且代码包存储在 `us-east-1` 区域。
+> - 如果你使用其他区域,需要按照以下说明修改 Lambda 函数代码,重新构建并将代码包上传到你自己的 S3 bucket。
-如果使用 us-east-1
以外的区域,请修改并重新构建 Lambda 函数代码
+如果你使用的区域不是 us-east-1
,请修改并重新构建 Lambda 函数代码
-如果你使用 `us-east-1` 作为集群区域,请跳过本节并转到[步骤 1:使用 AWS CloudFormation 设置项目](#步骤-1-使用-aws-cloudformation-设置书店项目)。
+如果你将集群区域设置为 `us-east-1`,请跳过本节,直接前往 [步骤 1:使用 AWS CloudFormation 搭建书店项目](#step-1-set-up-the-bookshop-project-using-aws-cloudformation)。
-如果你使用 `us-east-1` 以外的其他 AWS 区域来创建 AWS 资源,则需要修改 Lambda 函数代码,重新构建它,并将代码包上传到你自己的 S3 存储桶。
+如果你在 `us-east-1` 以外的 AWS 区域创建 AWS 资源,则需要修改 Lambda 函数代码,重新构建,并将代码包上传到你自己的 S3 bucket。
-为避免本地开发环境问题,建议使用云原生开发环境,如 [Gitpod](https://www.gitpod.io/)。
+为避免本地开发环境问题,建议你使用云原生开发环境,如 [Gitpod](https://www.gitpod.io/)。
-要重新构建代码包并将其上传到你自己的 S3 存储桶,请执行以下操作:
+要重新构建并上传代码包到你自己的 S3 bucket,请执行以下操作:
1. 初始化开发环境。
- - 打开 [Gitpod](https://gitpod.io/#/https://github.com/pingcap/TiDB-Lambda-integration) 工作区并使用你的 GitHub 账户登录。
+ - 打开 [Gitpod](https://gitpod.io/#/https://github.com/pingcap/TiDB-Lambda-integration) 工作区,并使用你的 GitHub 账号登录。
2. 修改 Lambda 函数代码。
- 1. 在左侧边栏中打开 `aws-lambda-cloudformation/src/secretManager.ts` 文件。
- 2. 找到第 22 行,然后修改 `region` 变量以匹配你自己的区域。
+ 1. 在左侧边栏打开 `aws-lambda-cloudformation/src/secretManager.ts` 文件。
+ 2. 定位到第 22 行,修改 `region` 变量为你自己的区域。
3. 重新构建代码包。
@@ -76,7 +76,7 @@ AWS CloudFormation 用于创建项目所需的资源,包括 Secrets Manager、
cd aws-lambda-cloudformation
```
- 3. 安装依赖项:
+ 3. 安装依赖:
```shell
yarn
@@ -91,104 +91,104 @@ AWS CloudFormation 用于创建项目所需的资源,包括 Secrets Manager、
```
2. 检查 `aws-lambda-cloudformation/dist/index.zip` 文件。
- 3. 右键点击 `index.zip` 文件并选择**下载**。
+ 3. 右键点击 `index.zip` 文件并选择 **Download**。
-4. 将重新构建的代码包上传到你自己的 S3 存储桶。
+4. 将重新构建的代码包上传到你自己的 S3 bucket。
1. 访问 AWS 管理控制台中的 [S3 服务](https://console.aws.amazon.com/s3)。
- 2. 在你选择的区域中创建一个新的存储桶。
- 3. 将 `index.zip` 文件上传到存储桶。
- 4. 记下 S3 存储桶名称和区域,以供后续使用。
+ 2. 在你选择的区域创建一个新的 bucket。
+ 3. 将 `index.zip` 文件上传到该 bucket。
+ 4. 记录 S3 bucket 名称和区域,后续会用到。
-## 步骤 1. 使用 AWS CloudFormation 设置书店项目
+## 步骤 1. 使用 AWS CloudFormation 搭建书店项目
-要使用 AWS CloudFormation 设置书店项目,请执行以下操作:
+要使用 AWS CloudFormation 搭建书店项目,请执行以下操作:
-1. 导航到 AWS 管理控制台并访问 [AWS CloudFormation 服务](https://console.aws.amazon.com/cloudformation)。
-2. 点击**创建堆栈** > **使用新资源(标准)**。
-3. 在**创建堆栈**页面,完成堆栈创建过程。
+1. 进入 AWS 管理控制台,访问 [AWS CloudFormation 服务](https://console.aws.amazon.com/cloudformation)。
+2. 点击 **Create Stack** > **With new resources (standard)**。
+3. 在 **Create Stack** 页面,完成堆栈创建流程。
- 1. 在**前提条件**区域,选择**选择现有模板**。
- 2. 在**指定模板**区域,选择**上传模板文件**,点击**选择文件**上传模板文件(YAML 或 JSON),然后点击**下一步**。
+ 1. 在 **Prerequisite** 区域,选择 **Choose an existing template**。
+ 2. 在 **Specify template** 区域,选择 **Upload a template file**,点击 **Choose file** 上传模板文件(YAML 或 JSON 格式),然后点击 **Next**。
如果你还没有该文件,请从 [GitHub](https://github.com/pingcap/TiDB-Lambda-integration/releases/latest) 下载。该文件包含用于创建项目所需资源的 AWS CloudFormation 模板。
- 
+ 
3. 指定堆栈详细信息。
- - 如果你使用 `us-east-1` 作为集群区域,请按照以下截图填写字段:
+ - 如果你使用 `us-east-1` 作为集群区域,请按照下图填写各项字段:
- 
+ 
- **Stack name**:输入堆栈名称。
- - **S3Bucket**:输入存储 zip 文件的 S3 存储桶。
- - **S3Key**:输入 S3 密钥。
+ - **S3Bucket**:输入存放 zip 文件的 S3 bucket 名称。
+ - **S3Key**:输入 S3 key。
- **TiDBDatabase**:输入 TiDB Cloud 集群名称。
- - **TiDBHost**:输入用于访问 TiDB Cloud 数据库的主机 URL。输入 `localhost`。
- - **TiDBPassword**:输入用于访问 TiDB Cloud 数据库的密码。
- - **TiDBPort**:输入用于访问 TiDB Cloud 数据库的端口。
- - **TiDBUser**:输入用于访问 TiDB Cloud 数据库的用户名。
+ - **TiDBHost**:输入 TiDB Cloud 数据库访问的主机 URL。请填写 `localhost`。
+ - **TiDBPassword**:输入 TiDB Cloud 数据库访问密码。
+ - **TiDBPort**:输入 TiDB Cloud 数据库访问端口。
+ - **TiDBUser**:输入 TiDB Cloud 数据库访问用户名。
- - 如果你使用 `us-east-1` 以外的其他 AWS 区域,请按照以下步骤操作:
+ - 如果你使用的 AWS 区域不是 `us-east-1`,请按照以下步骤操作:
- 1. 参考[如果使用 `us-east-1` 以外的区域,请修改并重新构建 Lambda 函数代码](#前提条件)修改 Lambda 函数代码,重新构建它,并将代码包上传到你自己的 S3 存储桶。
- 2. 在堆栈详细信息字段中,根据你自己的配置在 `S3Bucket` 和 `S3Key` 参数中指定 S3 存储桶名称和区域。
- 3. 按照上述截图填写其他字段。
+ 1. 参考 [如果你使用的区域不是 `us-east-1`,请修改并重新构建 Lambda 函数代码](#prerequisites) 修改 Lambda 函数代码,重新构建并上传代码包到你自己的 S3 bucket。
+ 2. 在堆栈详细信息字段中,根据你的配置填写 `S3Bucket` 和 `S3Key` 参数。
+ 3. 其他字段按照上图填写。
4. 配置堆栈选项。你可以使用默认配置。
- 
+ 
- 5. 检查并创建堆栈。
+ 5. 审核并创建堆栈。
- 
+ 
## 步骤 2. 使用书店项目
-堆栈创建完成后,你可以按照以下方式使用项目:
+堆栈创建完成后,你可以按如下方式使用该项目:
-1. 在 AWS 管理控制台中访问 [API Gateway 服务](https://console.aws.amazon.com/apigateway),点击 `TiDBCloudApiGatewayV2` API,然后在左侧窗格中点击 **API: TiDBCloudApiGatewayV2**。
+1. 访问 AWS 管理控制台中的 [API Gateway 服务](https://console.aws.amazon.com/apigateway),点击 `TiDBCloudApiGatewayV2` API,然后在左侧点击 **API: TiDBCloudApiGatewayV2**。
-2. 从**概览**页面复制 `调用 URL`。此 URL 作为 API 端点。
+2. 在 **Overview** 页面复制 `Invoke URL`。该 URL 即为 API 端点。
- 
+ 
-3. 使用 API 测试工具(如 Postman 和 cURL)测试 API:
+3. 使用 Postman 或 cURL 等 API 测试工具测试 API:
- - 初始化模拟图书:
+ - 初始化模拟书籍:
```shell
curl -X POST -H "Content-Type: application/json" -d '{"count":100}' https://
/book/init
```
- - 获取所有图书:
+ - 获取所有书籍:
```shell
curl https:///book
```
- - 通过图书 ID 获取图书:
+ - 根据书籍 ID 获取书籍:
```shell
curl https:///book/
```
- - 创建图书:
+ - 创建书籍:
```shell
- curl -X POST -H "Content-Type: application/json" -d '{ "title": "Book Title", "type": "Test", "publishAt": "2022-12-15T21:01:49.000Z", "stock": 123, "price": 12.34, "authors": "Test Test" }' https:///book
+ curl -X POST -H "Content-Type: application/json" -d '{ "title": "Book Title", "type": "Test", "publishAt": "2022-12-15T21:01:49.000Z", "stock": 123, "price": 12.34, "authors": "Test Test" }' https:// /book
```
- - 更新图书:
+ - 更新书籍:
```shell
curl -X PUT -H "Content-Type: application/json" -d '{ "title": "Book Title(updated)" }' https:///book/
```
- - 删除图书:
+ - 删除书籍:
```shell
curl -X DELETE https:///book/
@@ -196,7 +196,7 @@ AWS CloudFormation 用于创建项目所需的资源,包括 Secrets Manager、
## 步骤 3. 清理资源
-为避免不必要的费用,请清理所有已创建的资源。
+为避免产生不必要的费用,请清理所有已创建的资源。
1. 访问 [AWS 管理控制台](https://console.aws.amazon.com/cloudformation)。
-2. 删除你创建的 AWS CloudFormation 堆栈。
+2. 删除你创建的 AWS CloudFormation 堆栈。
\ No newline at end of file
diff --git a/tidb-cloud/integrate-tidbcloud-with-cloudflare.md b/tidb-cloud/integrate-tidbcloud-with-cloudflare.md
index 79cad65a6227c..509167920d9f6 100644
--- a/tidb-cloud/integrate-tidbcloud-with-cloudflare.md
+++ b/tidb-cloud/integrate-tidbcloud-with-cloudflare.md
@@ -1,31 +1,31 @@
---
-title: 将 TiDB Cloud 与 Cloudflare 集成
-summary: 了解如何将 Cloudflare Workers 与 TiDB Cloud 一起部署。
+title: 集成 TiDB Cloud 与 Cloudflare
+summary: 了解如何将 Cloudflare Workers 与 TiDB Cloud 部署集成。
---
-# 将 TiDB Cloud 与 Cloudflare Workers 集成
+# 集成 TiDB Cloud 与 Cloudflare Workers
-[Cloudflare Workers](https://workers.cloudflare.com/) 是一个允许你响应特定事件(如 HTTP 请求或数据库更改)运行代码的平台。Cloudflare Workers 易于使用,可用于构建各种应用程序,包括自定义 API、无服务器函数和微服务。它特别适用于需要低延迟性能或需要快速扩展的应用程序。
+[Cloudflare Workers](https://workers.cloudflare.com/) 是一个平台,允许你在特定事件发生时运行代码,例如 HTTP 请求或数据库变更。Cloudflare Workers 易于使用,可用于构建各种应用,包括自定义 API、无服务器函数和微服务。它对于需要低延迟性能或需要快速扩展的应用尤其有用。
-由于 Cloudflare Workers 运行在 V8 引擎上,无法直接建立 TCP 连接,你可能会发现从 Cloudflare Workers 连接到 TiDB Cloud 比较困难。你可以使用 [TiDB Cloud 无服务器驱动](/tidb-cloud/serverless-driver.md)通过 HTTP 连接帮助你连接到 Cloudflare Workers。
+你可能会发现从 Cloudflare Workers 连接到 TiDB Cloud 有一定难度,因为 Cloudflare Workers 运行在 V8 引擎上,无法直接建立 TCP 连接。你可以使用 [TiDB Cloud serverless driver](/tidb-cloud/serverless-driver.md) 通过 HTTP 连接帮助你连接到 Cloudflare Workers。
-本文档将逐步说明如何使用 TiDB Cloud 无服务器驱动连接到 Cloudflare Workers。
+本文档将逐步演示如何使用 TiDB Cloud serverless driver 连接到 Cloudflare Workers。
> **注意:**
>
-> TiDB Cloud 无服务器驱动只能在 TiDB Cloud Serverless 中使用。
+> TiDB Cloud serverless driver 只能用于 TiDB Cloud Serverless。
## 开始之前
-在尝试本文中的步骤之前,你需要准备以下内容:
+在尝试本文步骤之前,你需要准备以下内容:
-- TiDB Cloud 账号和 TiDB Cloud 上的 TiDB Cloud Serverless 集群。更多详情,请参阅 [TiDB Cloud 快速入门](/tidb-cloud/tidb-cloud-quickstart.md#step-1-create-a-tidb-cluster)。
-- [Cloudflare Workers 账号](https://dash.cloudflare.com/login)。
+- 一个 TiDB Cloud 账号,以及在 TiDB Cloud 上创建的 TiDB Cloud Serverless 集群。详情请参见 [TiDB Cloud 快速入门](/tidb-cloud/tidb-cloud-quickstart.md#step-1-create-a-tidb-cluster)。
+- 一个 [Cloudflare Workers 账号](https://dash.cloudflare.com/login)。
- 已安装 [npm](https://docs.npmjs.com/about-npm)。
## 步骤 1:设置 Wrangler
-[Wrangler](https://developers.cloudflare.com/workers/wrangler/) 是官方的 Cloudflare Worker CLI。你可以使用它来生成、构建、预览和发布你的 Workers。
+[Wrangler](https://developers.cloudflare.com/workers/wrangler/) 是官方的 Cloudflare Worker CLI。你可以用它来生成、构建、预览和发布你的 Workers。
1. 安装 Wrangler:
@@ -33,7 +33,7 @@ summary: 了解如何将 Cloudflare Workers 与 TiDB Cloud 一起部署。
npm install wrangler
```
-2. 要验证 Wrangler,请运行 wrangler login:
+2. 认证 Wrangler,运行 wrangler login:
```
wrangler login
@@ -45,9 +45,9 @@ summary: 了解如何将 Cloudflare Workers 与 TiDB Cloud 一起部署。
wrangler init tidb-cloud-cloudflare
```
-4. 在终端中,你将被问到一系列与项目相关的问题。对所有问题选择默认值。
+4. 在终端中,你会被询问一系列与项目相关的问题。所有问题均选择默认值即可。
-## 步骤 2:安装无服务器驱动
+## 步骤 2:安装 serverless driver
1. 进入你的项目目录:
@@ -55,19 +55,19 @@ summary: 了解如何将 Cloudflare Workers 与 TiDB Cloud 一起部署。
cd tidb-cloud-cloudflare
```
-2. 使用 npm 安装无服务器驱动:
+2. 使用 npm 安装 serverless driver:
```
npm install @tidbcloud/serverless
```
- 这会在 `package.json` 中添加无服务器驱动依赖。
+ 这会在 `package.json` 中添加 serverless driver 依赖。
## 步骤 3:开发 Cloudflare Worker 函数
-你需要根据需要修改 `src/index.ts`。
+你需要根据需求修改 `src/index.ts`。
-例如,如果你想显示所有数据库,可以使用以下代码:
+例如,如果你想展示所有数据库,可以使用如下代码:
```ts
import { connect } from '@tidbcloud/serverless'
@@ -94,24 +94,24 @@ export default {
wrangler secret put
```
-你也可以通过 Cloudflare Workers 仪表板编辑 `DATABASE_URL` 密钥。
+你也可以通过 Cloudflare Workers 控制台编辑 `DATABASE_URL` secret。
## 步骤 5:发布到 Cloudflare Workers
-现在你已准备好部署到 Cloudflare Workers。
+现在你已经可以部署到 Cloudflare Workers 了。
-在你的项目目录中,运行以下命令:
+在你的项目目录下,运行以下命令:
```
npx wrangler publish
```
-## 步骤 6:尝试你的 Cloudflare Workers
+## 步骤 6:测试你的 Cloudflare Workers
-1. 转到 [Cloudflare 仪表板](https://dash.cloudflare.com)找到你的 worker。你可以在概览页面上找到你的 worker 的 URL。
+1. 前往 [Cloudflare 控制台](https://dash.cloudflare.com) 查找你的 worker。你可以在概览页面找到 worker 的 URL。
2. 访问该 URL,你将获得结果。
## 示例
-请参阅 [Cloudflare Workers 示例](https://github.com/tidbcloud/car-sales-insight/tree/main/examples/cloudflare-workers)。
+参见 [Cloudflare Workers 示例](https://github.com/tidbcloud/car-sales-insight/tree/main/examples/cloudflare-workers)。
\ No newline at end of file
diff --git a/tidb-cloud/integrate-tidbcloud-with-n8n.md b/tidb-cloud/integrate-tidbcloud-with-n8n.md
index 0fd99896cfef9..7ca4ce38728a5 100644
--- a/tidb-cloud/integrate-tidbcloud-with-n8n.md
+++ b/tidb-cloud/integrate-tidbcloud-with-n8n.md
@@ -1,32 +1,32 @@
---
-title: 将 TiDB Cloud 与 n8n 集成
+title: 集成 TiDB Cloud 与 n8n
summary: 了解如何在 n8n 中使用 TiDB Cloud 节点。
---
-# 将 TiDB Cloud 与 n8n 集成
+# 集成 TiDB Cloud 与 n8n
-[n8n](https://n8n.io/) 是一个可扩展的工作流自动化工具。通过 [fair-code](https://faircode.io/) 分发模式,n8n 将始终保持源代码可见,支持自托管,并允许你添加自定义函数、逻辑和应用程序。
+[n8n](https://n8n.io/) 是一款可扩展的工作流自动化工具。采用 [fair-code](https://faircode.io/) 分发模式,n8n 始终保持源代码可见、支持自托管,并允许你添加自定义函数、逻辑和应用。
-本文介绍如何构建一个自动工作流:创建 TiDB Cloud Serverless 集群,收集 Hacker News RSS,将其存储到 TiDB 并发送简报邮件。
+本文档介绍如何构建一个自动化工作流:创建 TiDB Cloud Serverless 集群,收集 Hacker News RSS,将其存储到 TiDB,并发送简报邮件。
-## 前提条件:获取 TiDB Cloud API 密钥
+## 前置条件:获取 TiDB Cloud API 密钥
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,使用左上角的组合框切换到目标组织。
-2. 在左侧导航栏中,点击**组织设置** > **API 密钥**。
-3. 在 **API 密钥**页面,点击**创建 API 密钥**。
-4. 输入 API 密钥的描述,然后点击**下一步**。
-5. 复制创建的 API 密钥以供后续在 n8n 中使用,然后点击**完成**。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com) 中,使用左上角的下拉框切换到你的目标组织。
+2. 在左侧导航栏,点击 **Organization Settings** > **API Keys**。
+3. 在 **API Keys** 页面,点击 **Create API Key**。
+4. 输入 API 密钥的描述,然后点击 **Next**。
+5. 复制创建的 API 密钥,稍后在 n8n 中使用,然后点击 **Done**。
-更多信息,请参阅 [TiDB Cloud API 概览](/tidb-cloud/api-overview.md)。
+更多信息请参见 [TiDB Cloud API Overview](/tidb-cloud/api-overview.md)。
## 步骤 1:安装 n8n
-有两种方式可以安装自托管的 n8n。选择适合你的方式即可。
+你可以通过两种方式安装自托管的 n8n。任选其一即可。
-1. 在你的工作空间安装 [node.js](https://nodejs.org/en/download/)。
+1. 在你的工作环境中安装 [node.js](https://nodejs.org/en/download/)。
2. 通过 `npx` 下载并启动 n8n。
```shell
@@ -36,7 +36,7 @@ summary: 了解如何在 n8n 中使用 TiDB Cloud 节点。
-1. 在你的工作空间安装 [Docker](https://www.docker.com/products/docker-desktop)。
+1. 在你的工作环境中安装 [Docker](https://www.docker.com/products/docker-desktop)。
2. 通过 `docker` 下载并启动 n8n。
```shell
@@ -46,25 +46,25 @@ summary: 了解如何在 n8n 中使用 TiDB Cloud 节点。
-启动 n8n 后,你可以访问 [localhost:5678](http://localhost:5678) 来试用 n8n。
+启动 n8n 后,你可以访问 [localhost:5678](http://localhost:5678) 体验 n8n。
## 步骤 2:在 n8n 中安装 TiDB Cloud 节点
-TiDB Cloud 节点在 npm 仓库中的名称为 `n8n-nodes-tidb-cloud`。你需要手动安装此节点才能使用 n8n 控制 TiDB Cloud。
+TiDB Cloud 节点在 npm 仓库中名为 `n8n-nodes-tidb-cloud`。你需要手动安装该节点,以便通过 n8n 控制 TiDB Cloud。
-1. 在 [localhost:5678](http://localhost:5678) 页面,为自托管的 n8n 创建一个所有者账户。
-2. 转到**设置** > **社区节点**。
-3. 点击**安装社区节点**。
-4. 在 **npm 包名称**字段中,输入 `n8n-nodes-tidb-cloud`。
-5. 点击**安装**。
+1. 在 [localhost:5678](http://localhost:5678) 页面,为自托管的 n8n 创建 owner 账号。
+2. 进入 **Settings** > **Community nodes**。
+3. 点击 **Install a community node**。
+4. 在 **npm Package Name** 字段中输入 `n8n-nodes-tidb-cloud`。
+5. 点击 **Install**。
-然后,你可以在**工作流** > 搜索栏中搜索 **TiDB Cloud** 节点,并通过将其拖动到工作区来使用 TiDB Cloud 节点。
+随后你可以在 **Workflow** > 搜索栏中搜索 **TiDB Cloud** 节点,并将其拖拽到工作区使用。
-## 步骤 3:构建工作流
+## 步骤 3:构建你的工作流
-在此步骤中,你将创建一个新的工作流,当你点击**执行**按钮时,它会向 TiDB 插入一些数据。
+在此步骤中,你将创建一个新的工作流,在点击 **Execute** 按钮时向 TiDB 插入一些数据。
-此示例工作流将使用以下节点:
+本示例工作流将使用以下节点:
- [Schedule Trigger](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/)
- [RSS Read](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.rssfeedread/)
@@ -78,20 +78,20 @@ TiDB Cloud 节点在 npm 仓库中的名称为 `n8n-nodes-tidb-cloud`。你需
### (可选)创建 TiDB Cloud Serverless 集群
-如果你还没有 TiDB Cloud Serverless 集群,可以使用此节点创建一个。否则,可以跳过此操作。
+如果你还没有 TiDB Cloud Serverless 集群,可以使用该节点创建一个。否则可以跳过此操作。
-1. 导航到**工作流**面板,点击**添加工作流**。
-2. 在新的工作流工作区中,点击右上角的 **+** 并选择**全部**字段。
-3. 搜索 `TiDB Cloud` 并将其拖动到工作区。
-4. 为 TiDB Cloud 节点输入凭据,即 TiDB Cloud API 密钥。
-5. 在**项目**列表中,选择你的项目。
-6. 在**操作**列表中,选择 `Create Serverless Cluster`。
-7. 在**集群名称**框中,输入集群名称。
-8. 在**区域**列表中,选择一个区域。
-9. 在**密码**框中,输入用于登录 TiDB 集群的密码。
-10. 点击**执行节点**以运行节点。
+1. 进入 **Workflows** 面板,点击 **Add workflow**。
+2. 在新的工作流工作区,点击右上角的 **+** 并选择 **All** 字段。
+3. 搜索 `TiDB Cloud` 并将其拖拽到工作区。
+4. 为 TiDB Cloud 节点输入凭证,即 TiDB Cloud API 密钥。
+5. 在 **Project** 列表中选择你的项目。
+6. 在 **Operation** 列表中选择 `Create Serverless Cluster`。
+7. 在 **Cluster Name** 框中输入集群名称。
+8. 在 **Region** 列表中选择一个区域。
+9. 在 **Password** 框中输入用于登录 TiDB 集群的密码。
+10. 点击 **Execute Node** 运行该节点。
-> **注意:**
+> **Note:**
>
> 创建新的 TiDB Cloud Serverless 集群需要几秒钟时间。
@@ -99,60 +99,60 @@ TiDB Cloud 节点在 npm 仓库中的名称为 `n8n-nodes-tidb-cloud`。你需
#### 使用手动触发器作为工作流的起点
-1. 如果你还没有工作流,请导航到**工作流**面板,然后点击**从头开始**。否则,请跳过此步骤。
+1. 如果你还没有工作流,进入 **Workflows** 面板,点击 **Start from scratch**。否则跳过此步。
2. 点击右上角的 **+** 并搜索 `schedule trigger`。
-3. 将手动触发器节点拖动到工作区,然后双击该节点。此时会显示**参数**对话框。
+3. 将手动触发器节点拖拽到工作区,并双击该节点。此时会显示 **Parameters** 对话框。
4. 按如下方式配置规则:
- - **触发间隔**:`天`
- - **触发间隔天数**:`1`
- - **触发小时**:`8am`
- - **触发分钟**:`0`
+ - **Trigger Interval**: `Days`
+ - **Days Between Triggers**: `1`
+ - **Trigger at Hour**: `8am`
+ - **Trigger at Minute**: `0`
-此触发器将在每天早上 8 点执行你的工作流。
+该触发器会在每天早上 8 点执行你的工作流。
#### 创建用于插入数据的表
1. 点击手动触发器节点右侧的 **+**。
-2. 搜索 `TiDB Cloud` 并将其添加到工作区。
-3. 在**参数**对话框中,输入 TiDB Cloud 节点的凭据。凭据是你的 TiDB Cloud API 密钥。
-4. 在**项目**列表中,选择你的项目。
-5. 在**操作**列表中,选择 `Execute SQL`。
-6. 选择集群。如果你在列表中看不到新集群,需要等待几分钟,直到集群创建完成。
-7. 在**用户**列表中,选择一个用户。TiDB Cloud 始终创建一个默认用户,因此你不必手动创建。
-8. 在**数据库**框中,输入 `test`。
+2. 搜索 `TiDB Cloud` 并添加到工作区。
+3. 在 **Parameters** 对话框中输入 TiDB Cloud 节点的凭证,即你的 TiDB Cloud API 密钥。
+4. 在 **Project** 列表中选择你的项目。
+5. 在 **Operation** 列表中选择 `Execute SQL`。
+6. 选择集群。如果你还未在列表中看到新集群,需要等待几分钟直到集群创建完成。
+7. 在 **User** 列表中选择用户。TiDB Cloud 总会创建一个默认用户,无需手动创建。
+8. 在 **Database** 框中输入 `test`。
9. 输入你的数据库密码。
-10. 在 **SQL** 框中,输入以下 SQL:
+10. 在 **SQL** 框中输入以下 SQL:
```sql
CREATE TABLE IF NOT EXISTS hacker_news_briefing (creator VARCHAR (200), title TEXT, link VARCHAR(200), pubdate VARCHAR(200), comments VARCHAR(200), content TEXT, guid VARCHAR (200), isodate VARCHAR(200));
```
-11. 点击**执行节点**以创建表。
+11. 点击 **Execute node** 创建表。
#### 获取 Hacker News RSS
1. 点击 TiDB Cloud 节点右侧的 **+**。
-2. 搜索 `RSS Read` 并将其添加到工作区。
-3. 在 **URL** 框中,输入 `https://hnrss.org/frontpage`。
+2. 搜索 `RSS Read` 并添加到工作区。
+3. 在 **URL** 框中输入 `https://hnrss.org/frontpage`。
-#### 将数据插入 TiDB
+#### 向 TiDB 插入数据
1. 点击 RSS Read 节点右侧的 **+**。
-2. 搜索 `TiDB Cloud` 并将其添加到工作区。
-3. 选择你在前面的 TiDB Cloud 节点中输入的凭据。
-4. 在**项目**列表中,选择你的项目。
-5. 在**操作**列表中,选择 `Insert`。
-6. 在**集群**、**用户**、**数据库**和**密码**框中,输入相应的值。
-7. 在**表**框中,输入 `hacker_news_briefing` 表。
-8. 在**列**框中,输入 `creator, title, link, pubdate, comments, content, guid, isodate`。
+2. 搜索 `TiDB Cloud` 并添加到工作区。
+3. 选择你在前一个 TiDB Cloud 节点中输入的凭证。
+4. 在 **Project** 列表中选择你的项目。
+5. 在 **Operation** 列表中选择 `Insert`。
+6. 在 **Cluster**、**User**、**Database** 和 **Password** 框中输入相应的值。
+7. 在 **Table** 框中输入 `hacker_news_briefing` 表名。
+8. 在 **Columns** 框中输入 `creator, title, link, pubdate, comments, content, guid, isodate`。
-#### 构建消息
+#### 构建消息内容
1. 点击 RSS Feed Read 节点右侧的 **+**。
-2. 搜索 `code` 并将其添加到工作区。
+2. 搜索 `code` 并添加到工作区。
3. 选择 `Run Once for All Items` 模式。
-4. 在 **JavaScript** 框中,复制并粘贴以下代码。
+4. 在 **JavaScript** 框中复制并粘贴以下代码。
```javascript
let message = "";
@@ -185,61 +185,61 @@ TiDB Cloud 节点在 npm 仓库中的名称为 `n8n-nodes-tidb-cloud`。你需
#### 通过 Gmail 发送消息
-1. 点击代码节点右侧的 **+**。
-2. 搜索 `gmail` 并将其添加到工作区。
-3. 为 Gmail 节点输入凭据。有关详细说明,请参阅 [n8n 文档](https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/)。
-4. 在**资源**列表中,选择 `Message`。
-5. 在**操作**列表中,选择 `Send`。
-6. 在**收件人**框中,输入你的电子邮件。
-7. 在**主题**框中,输入 `Hacker News Briefing`。
-8. 在**邮件类型**框中,选择 `HTML`。
-9. 在**消息**框中,点击 `Expression` 并输入 `{{ $json["response"] }}`。
-
- > **注意:**
+1. 点击 code 节点右侧的 **+**。
+2. 搜索 `gmail` 并添加到工作区。
+3. 输入 Gmail 节点的凭证。详细说明请参考 [n8n documentation](https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/)。
+4. 在 **Resource** 列表中选择 `Message`。
+5. 在 **Operation** 列表中选择 `Send`。
+6. 在 **To** 框中输入你的邮箱。
+7. 在 **Subject** 框中输入 `Hacker News Briefing`。
+8. 在 **Email Type** 框中选择 `HTML`。
+9. 在 **Message** 框中点击 `Expression` 并输入 `{{ $json["response"] }}`。
+
+ > **Note:**
>
- > 你必须将鼠标悬停在**消息**框上并选择 **Expression** 模式。
+ > 你必须将鼠标悬停在 **Message** 框上并选择 **Expression** 模式。
-## 步骤 4:运行工作流
+## 步骤 4:运行你的工作流
-构建完工作流后,你可以点击**执行工作流**进行测试运行。
+构建好工作流后,你可以点击 **Execute Workflow** 进行测试运行。
-如果工作流按预期运行,你将收到 Hacker News 简报邮件。这些新闻内容将记录到你的 TiDB Cloud Serverless 集群中,因此你不必担心丢失它们。
+如果工作流按预期运行,你将收到 Hacker News 简报邮件。这些新闻内容会被记录到你的 TiDB Cloud Serverless 集群中,因此无需担心丢失。
-现在你可以在**工作流**面板中激活此工作流。这个工作流将帮助你每天获取 Hacker News 的头版文章。
+现在你可以在 **Workflows** 面板激活该工作流。此工作流将帮助你每天获取 Hacker News 的头条文章。
## TiDB Cloud 节点核心
### 支持的操作
-TiDB Cloud 节点作为[常规节点](https://docs.n8n.io/workflows/nodes/#regular-nodes)运行,仅支持以下五种操作:
+TiDB Cloud 节点作为一个 [regular node](https://docs.n8n.io/workflows/nodes/#regular-nodes),仅支持以下五种操作:
- **Create Serverless Cluster**:创建 TiDB Cloud Serverless 集群。
- **Execute SQL**:在 TiDB 中执行 SQL 语句。
-- **Delete**:在 TiDB 中删除行。
-- **Insert**:在 TiDB 中插入行。
-- **Update**:在 TiDB 中更新行。
+- **Delete**:删除 TiDB 中的行。
+- **Insert**:向 TiDB 插入行。
+- **Update**:更新 TiDB 中的行。
-### 字段
+### 字段说明
-要使用不同的操作,你需要填写不同的必填字段。以下显示了相应操作的字段说明。
+使用不同操作时,你需要填写不同的必填字段。以下为各操作对应的字段说明。
-- **Credential for TiDB Cloud API**:仅支持 TiDB Cloud API 密钥。有关如何创建 API 密钥,请参阅[获取 TiDB Cloud API 密钥](#前提条件获取-tidb-cloud-api-密钥)。
+- **Credential for TiDB Cloud API**:仅支持 TiDB Cloud API 密钥。如何创建 API 密钥请参考 [Get TiDB Cloud API Key](#prerequisites-get-tidb-cloud-api-key)。
- **Project**:TiDB Cloud 项目名称。
-- **Operation**:此节点的操作。有关所有支持的操作,请参阅[支持的操作](#支持的操作)。
-- **Cluster**:TiDB Cloud 集群名称。为你的新集群输入名称。
-- **Region**:区域名称。选择将部署集群的区域。通常选择离应用程序部署最近的区域。
+- **Operation**:该节点的操作。所有支持的操作请参考 [Supported operations](#supported-operations)。
+- **Cluster**:TiDB Cloud 集群名称。输入你的新集群名称。
+- **Region**:区域名称。选择你的集群将要部署的区域。通常选择离你的应用部署最近的区域。
- **Password**:root 密码。为你的新集群设置密码。
-- **Credential for TiDB Cloud API**:仅支持 TiDB Cloud API 密钥。有关如何创建 API 密钥,请参阅[获取 TiDB Cloud API 密钥](#前提条件获取-tidb-cloud-api-密钥)。
+- **Credential for TiDB Cloud API**:仅支持 TiDB Cloud API 密钥。如何创建 API 密钥请参考 [Get TiDB Cloud API Key](#prerequisites-get-tidb-cloud-api-key)。
- **Project**:TiDB Cloud 项目名称。
-- **Operation**:此节点的操作。有关所有支持的操作,请参阅[支持的操作](#支持的操作)。
-- **Cluster**:TiDB Cloud 集群名称。你应该选择一个现有集群。
+- **Operation**:该节点的操作。所有支持的操作请参考 [Supported operations](#supported-operations)。
+- **Cluster**:TiDB Cloud 集群名称。你应选择一个已有集群。
- **Password**:TiDB Cloud 集群的密码。
- **User**:TiDB Cloud 集群的用户名。
- **Database**:数据库名称。
@@ -248,48 +248,48 @@ TiDB Cloud 节点作为[常规节点](https://docs.n8n.io/workflows/nodes/#regul
-- **Credential for TiDB Cloud API**:仅支持 TiDB Cloud API 密钥。有关如何创建 API 密钥,请参阅[获取 TiDB Cloud API 密钥](#前提条件获取-tidb-cloud-api-密钥)。
+- **Credential for TiDB Cloud API**:仅支持 TiDB Cloud API 密钥。如何创建 API 密钥请参考 [Get TiDB Cloud API Key](#prerequisites-get-tidb-cloud-api-key)。
- **Project**:TiDB Cloud 项目名称。
-- **Operation**:此节点的操作。有关所有支持的操作,请参阅[支持的操作](#支持的操作)。
-- **Cluster**:TiDB Cloud 集群名称。你应该选择一个现有集群。
+- **Operation**:该节点的操作。所有支持的操作请参考 [Support Operation](#supported-operations)。
+- **Cluster**:TiDB Cloud 集群名称。你应选择一个已有集群。
- **Password**:TiDB Cloud 集群的密码。
- **User**:TiDB Cloud 集群的用户名。
- **Database**:数据库名称。
-- **Table**:表名。你可以使用 `From list` 模式选择一个,或使用 `Name` 模式手动输入表名。
-- **Delete Key**:决定数据库中哪些行被删除的项目属性名称。项目是从一个节点发送到另一个节点的数据。节点对传入数据的每个项目执行其操作。有关 n8n 中项目的更多信息,请参阅 [n8n 文档](https://docs.n8n.io/workflows/items/)。
+- **Table**:表名。你可以使用 `From list` 模式选择一个表,或使用 `Name` 模式手动输入表名。
+- **Delete Key**:决定数据库中哪些行被删除的项属性名。item 是从一个节点发送到另一个节点的数据。节点会对每个输入数据项执行操作。关于 n8n 中的 item 更多信息,请参见 [n8n documentation](https://docs.n8n.io/workflows/items/)。
-- **Credential for TiDB Cloud API**:仅支持 TiDB Cloud API 密钥。有关如何创建 API 密钥,请参阅[获取 TiDB Cloud API 密钥](#前提条件获取-tidb-cloud-api-密钥)。
+- **Credential for TiDB Cloud API**:仅支持 TiDB Cloud API 密钥。如何创建 API 密钥请参考 [Get TiDB Cloud API Key](#prerequisites-get-tidb-cloud-api-key)。
- **Project**:TiDB Cloud 项目名称。
-- **Operation**:此节点的操作。有关所有支持的操作,请参阅[支持的操作](#支持的操作)。
-- **Cluster**:TiDB Cloud 集群名称。你应该选择一个现有集群。
+- **Operation**:该节点的操作。所有支持的操作请参考 [Support Operation](#supported-operations)。
+- **Cluster**:TiDB Cloud 集群名称。你应选择一个已有集群。
- **Password**:TiDB Cloud 集群的密码。
- **User**:TiDB Cloud 集群的用户名。
- **Database**:数据库名称。
-- **Table**:表名。你可以使用 `From list` 模式选择一个,或使用 `Name` 模式手动输入表名。
-- **Columns**:用作新行列的输入项目属性的逗号分隔列表。项目是从一个节点发送到另一个节点的数据。节点对传入数据的每个项目执行其操作。有关 n8n 中项目的更多信息,请参阅 [n8n 文档](https://docs.n8n.io/workflows/items/)。
+- **Table**:表名。你可以使用 `From list` 模式选择一个表,或使用 `Name` 模式手动输入表名。
+- **Columns**:以逗号分隔的输入项属性列表,这些属性将作为新行的列。item 是从一个节点发送到另一个节点的数据。节点会对每个输入数据项执行操作。关于 n8n 中的 item 更多信息,请参见 [n8n documentation](https://docs.n8n.io/workflows/items/)。
-- **Credential for TiDB Cloud API**:仅支持 TiDB Cloud API 密钥。有关如何创建 API 密钥,请参阅[获取 TiDB Cloud API 密钥](#前提条件获取-tidb-cloud-api-密钥)。
+- **Credential for TiDB Cloud API**:仅支持 TiDB Cloud API 密钥。如何创建 API 密钥请参考 [Get TiDB Cloud API Key](#prerequisites-get-tidb-cloud-api-key)。
- **Project**:TiDB Cloud 项目名称。
-- **Operation**:此节点的操作。有关所有支持的操作,请参阅[支持的操作](#支持的操作)。
-- **Cluster**:TiDB Cloud 集群名称。你应该选择一个现有集群。
+- **Operation**:该节点的操作。所有支持的操作请参考 [Support Operation](#supported-operations)。
+- **Cluster**:TiDB Cloud 集群名称。你应选择一个已有集群。
- **Password**:TiDB Cloud 集群的密码。
- **User**:TiDB Cloud 集群的用户名。
- **Database**:数据库名称。
-- **Table**:表名。你可以使用 `From list` 模式选择一个,或使用 `Name` 模式手动输入表名。
-- **Update Key**:决定数据库中哪些行被更新的项目属性名称。项目是从一个节点发送到另一个节点的数据。节点对传入数据的每个项目执行其操作。有关 n8n 中项目的更多信息,请参阅 [n8n 文档](https://docs.n8n.io/workflows/items/)。
-- **Columns**:用作要更新行的列的输入项目属性的逗号分隔列表。
+- **Table**:表名。你可以使用 `From list` 模式选择一个表,或使用 `Name` 模式手动输入表名。
+- **Update Key**:决定数据库中哪些行被更新的项属性名。item 是从一个节点发送到另一个节点的数据。节点会对每个输入数据项执行操作。关于 n8n 中的 item 更多信息,请参见 [n8n documentation](https://docs.n8n.io/workflows/items/)。
+- **Columns**:以逗号分隔的输入项属性列表,这些属性将作为要更新行的列。
### 限制
-- 通常在 **Execute SQL** 操作中只允许执行一条 SQL 语句。如果你想在单个操作中执行多条语句,需要手动启用 [`tidb_multi_statement_mode`](https://docs.pingcap.com/tidbcloud/system-variables#tidb_multi_statement_mode-new-in-v4011)。
-- 对于 **Delete** 和 **Update** 操作,你需要指定一个字段作为键。例如,`Delete Key` 设置为 `id`,相当于执行 `DELETE FROM table WHERE id = ${item.id}`。目前,**Delete** 和 **Update** 操作仅支持指定一个键。
-- 对于 **Insert** 和 **Update** 操作,你需要在 **Columns** 字段中指定逗号分隔的列表,并且字段名称必须与输入项目的属性相同。
+- **Execute SQL** 操作通常只允许执行一条 SQL 语句。如果你希望在一次操作中执行多条语句,需要手动开启 [`tidb_multi_statement_mode`](https://docs.pingcap.com/tidbcloud/system-variables#tidb_multi_statement_mode-new-in-v4011)。
+- 对于 **Delete** 和 **Update** 操作,你需要指定一个字段作为 key。例如,`Delete Key` 设置为 `id`,等价于执行 `DELETE FROM table WHERE id = ${item.id}`。目前 **Delete** 和 **Update** 操作仅支持指定一个 key。
+- 对于 **Insert** 和 **Update** 操作,你需要在 **Columns** 字段中指定以逗号分隔的列表,且字段名必须与输入项的属性名一致。
\ No newline at end of file
diff --git a/tidb-cloud/integrate-tidbcloud-with-netlify.md b/tidb-cloud/integrate-tidbcloud-with-netlify.md
index 75a28e7f87346..7fc323585d230 100644
--- a/tidb-cloud/integrate-tidbcloud-with-netlify.md
+++ b/tidb-cloud/integrate-tidbcloud-with-netlify.md
@@ -1,49 +1,49 @@
---
-title: 将 TiDB Cloud 与 Netlify 集成
-summary: 了解如何将 TiDB Cloud 集群连接到 Netlify 项目。
+title: 集成 TiDB Cloud 与 Netlify
+summary: 了解如何将你的 TiDB Cloud 集群连接到 Netlify 项目。
---
-# 将 TiDB Cloud 与 Netlify 集成
+# 集成 TiDB Cloud 与 Netlify
-[Netlify](https://netlify.com/) 是一个用于自动化现代 Web 项目的一体化平台。它用单一工作流替代了你的托管基础设施、持续集成和部署流程,并随着项目的增长集成了无服务器函数、用户认证和表单处理等动态功能。
+[Netlify](https://netlify.com/) 是一个一体化平台,用于自动化现代 Web 项目。它用单一的工作流替代了你的托管基础设施、持续集成和部署流水线,并在项目发展过程中集成了如无服务器函数、用户认证和表单处理等动态功能。
-本文档描述如何在 Netlify 上部署一个以 TiDB Cloud 作为数据库后端的全栈应用。你还可以了解如何将 Netlify 边缘函数与我们的 TiDB Cloud 无服务器驱动程序一起使用。
+本文档介绍了如何在 Netlify 上部署一个以 TiDB Cloud 作为数据库后端的全栈应用。你还可以学习如何将 Netlify edge function 与我们的 TiDB Cloud serverless driver 一起使用。
-## 前提条件
+## 前置条件
-在部署之前,请确保满足以下前提条件。
+在部署之前,请确保满足以下前置条件。
-### Netlify 账号和 CLI
+### 一个 Netlify 账号和 CLI
-你需要有一个 Netlify 账号和 CLI。如果你没有,请参考以下链接创建:
+你需要拥有一个 Netlify 账号和 CLI。如果还没有,请参考以下链接创建:
-* [注册 Netlify 账号](https://app.netlify.com/signup)。
-* [获取 Netlify CLI](https://docs.netlify.com/cli/get-started/)。
+* [注册 Netlify 账号](https://app.netlify.com/signup)
+* [获取 Netlify CLI](https://docs.netlify.com/cli/get-started/)
-### TiDB Cloud 账号和 TiDB 集群
+### 一个 TiDB Cloud 账号和 TiDB 集群
-你需要在 TiDB Cloud 中拥有一个账号和一个集群。如果你没有,请参考以下内容创建:
+你需要在 TiDB Cloud 中拥有一个账号和一个集群。如果还没有,请参考以下内容创建:
- [创建 TiDB Cloud Serverless 集群](/tidb-cloud/create-tidb-cluster-serverless.md)
- [创建 TiDB Cloud Dedicated 集群](/tidb-cloud/create-tidb-cluster.md)
一个 TiDB Cloud 集群可以连接到多个 Netlify 站点。
-### TiDB Cloud 中允许所有 IP 地址的流量过滤器
+### TiDB Cloud 中流量过滤器允许所有 IP 地址
-对于 TiDB Cloud Dedicated 集群,确保集群的流量过滤器允许所有 IP 地址(设置为 `0.0.0.0/0`)进行连接。这是因为 Netlify 部署使用动态 IP 地址。
+对于 TiDB Cloud Dedicated 集群,请确保集群的流量过滤器允许所有 IP 地址(设置为 `0.0.0.0/0`)进行连接。这是因为 Netlify 部署使用动态 IP 地址。
-TiDB Cloud Serverless 集群默认允许所有 IP 地址连接,因此你不需要配置任何流量过滤器。
+TiDB Cloud Serverless 集群默认允许所有 IP 地址连接,因此无需配置任何流量过滤器。
## 步骤 1. 获取示例项目和连接字符串
-为了帮助你快速入门,TiDB Cloud 提供了一个使用 React 和 Prisma Client 的 Next.js TypeScript 全栈示例应用。这是一个简单的博客站点,你可以发布和删除自己的博客。所有内容都通过 Prisma 存储在 TiDB Cloud 中。
+为了帮助你快速上手,TiDB Cloud 提供了一个基于 TypeScript、Next.js、React 和 Prisma Client 的全栈示例应用。它是一个简单的博客站点,你可以在其中发布和删除自己的博客。所有内容都通过 Prisma 存储在 TiDB Cloud 中。
-### Fork 示例项目并将其克隆到你自己的空间
+### Fork 示例项目并克隆到你的空间
1. 将 [Fullstack Example with Next.js and Prisma](https://github.com/tidbcloud/nextjs-prisma-example) 仓库 fork 到你自己的 GitHub 仓库。
-2. 将 fork 的仓库克隆到你自己的空间:
+2. 将 fork 后的仓库克隆到你的本地空间:
```shell
git clone https://github.com/${your_username}/nextjs-prisma-example.git
@@ -52,24 +52,24 @@ TiDB Cloud Serverless 集群默认允许所有 IP 地址连接,因此你不需
### 获取 TiDB Cloud 连接字符串
-对于 TiDB Cloud Serverless 集群,你可以从 [TiDB Cloud CLI](/tidb-cloud/cli-reference.md) 或 [TiDB Cloud 控制台](https://tidbcloud.com/) 获取连接字符串。
+对于 TiDB Cloud Serverless 集群,你可以通过 [TiDB Cloud CLI](/tidb-cloud/cli-reference.md) 或 [TiDB Cloud 控制台](https://tidbcloud.com/) 获取连接字符串。
-对于 TiDB Cloud Dedicated 集群,你只能从 TiDB Cloud 控制台获取连接字符串。
+对于 TiDB Cloud Dedicated 集群,你只能通过 TiDB Cloud 控制台获取连接字符串。
> **提示:**
>
-> 如果你尚未安装 Cloud CLI,请在执行以下步骤之前参考 [TiDB Cloud CLI 快速入门](/tidb-cloud/get-started-with-cli.md) 进行快速安装。
+> 如果你还没有安装 Cloud CLI,请参考 [TiDB Cloud CLI 快速入门](/tidb-cloud/get-started-with-cli.md) 进行快速安装,然后再执行以下步骤。
-1. 在交互模式下获取集群的连接字符串:
+1. 以交互模式获取集群的连接字符串:
```shell
ticloud cluster connect-info
```
-2. 按照提示选择你的集群、客户端和操作系统。注意,本文档使用的客户端是 `Prisma`。
+2. 按提示选择你的集群、客户端和操作系统。注意,本教程使用的客户端为 `Prisma`。
```
Choose the cluster
@@ -80,7 +80,7 @@ TiDB Cloud Serverless 集群默认允许所有 IP 地址连接,因此你不需
> [x] macOS/Alpine (Detected)
```
- 输出如下,你可以在 `url` 值中找到 Prisma 的连接字符串。
+ 输出如下,你可以在 `url` 字段中找到 Prisma 的连接字符串。
```shell
datasource db {
@@ -91,22 +91,22 @@ TiDB Cloud Serverless 集群默认允许所有 IP 地址连接,因此你不需
> **注意:**
>
- > 在稍后使用连接字符串时,请注意以下事项:
+ > 在后续使用连接字符串时,请注意以下事项:
>
> - 将连接字符串中的参数替换为实际值。
> - 本文档中的示例应用需要一个新数据库,因此你需要将 `` 替换为一个唯一的新名称。
-
+
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com/)中,转到项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面,点击目标集群的名称进入其概览页面,然后点击右上角的 **Connect**。在显示的对话框中,你可以从连接字符串中获取以下连接参数。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com/) 中,进入你的项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面,点击目标集群名称进入其概览页,然后点击右上角的 **Connect**。在弹出的对话框中,你可以从连接字符串中获取以下连接参数:
- `${host}`
- `${port}`
- `${user}`
- `${password}`
-2. 在以下连接字符串中填入连接参数:
+2. 将连接参数填入以下连接字符串:
```shell
mysql://
:@:/?sslaccept=strict
@@ -114,7 +114,7 @@ TiDB Cloud Serverless 集群默认允许所有 IP 地址连接,因此你不需
> **注意:**
>
- > 在稍后使用连接字符串时,请注意以下事项:
+ > 在后续使用连接字符串时,请注意以下事项:
>
> - 将连接字符串中的参数替换为实际值。
> - 本文档中的示例应用需要一个新数据库,因此你需要将 `` 替换为一个唯一的新名称。
@@ -124,24 +124,24 @@ TiDB Cloud Serverless 集群默认允许所有 IP 地址连接,因此你不需
## 步骤 2. 将示例应用部署到 Netlify
-1. 在 Netlify CLI 中,验证你的 Netlify 账号并获取访问令牌。
+1. 在 Netlify CLI 中,认证你的 Netlify 账号并获取访问令牌。
```shell
netlify login
```
-2. 启动自动设置。此步骤将你的仓库连接到持续部署,因此 Netlify CLI 需要访问权限来在仓库中创建部署密钥和 webhook。
+2. 启动自动化设置。此步骤会连接你的仓库以实现持续部署,因此 Netlify CLI 需要访问权限以在仓库中创建 deploy key 和 webhook。
```shell
netlify init
```
- 当出现提示时,选择 **Create & configure a new site**,并授予 GitHub 访问权限。对于所有其他选项,使用默认值。
+ 当出现提示时,选择 **Create & configure a new site**,并授权 GitHub 访问。其他选项均使用默认值。
```shell
Adding local .netlify folder to .gitignore file...
? What would you like to do? + Create & configure a new site
- ? Team: your_username's team
+ ? Team: your_username’s team
? Site name (leave blank for a random name; you can change it later):
Site Created
@@ -177,10 +177,10 @@ TiDB Cloud Serverless 集群默认允许所有 IP 地址连接,因此你不需
netlify open Open the Netlify admin URL of your site
```
-3. 设置环境变量。要从你自己的空间和 Netlify 空间连接到你的 TiDB Cloud 集群,你需要将 `DATABASE_URL` 设置为从[步骤 1](#步骤-1-获取示例项目和连接字符串)获取的连接字符串。
+3. 设置环境变量。为了让你的本地空间和 Netlify 空间都能连接到 TiDB Cloud 集群,你需要将 `DATABASE_URL` 设置为在 [步骤 1](#step-1-get-the-example-project-and-the-connection-string) 获取到的连接字符串。
```shell
- # 为你自己的空间设置环境变量
+ # 为你的本地空间设置环境变量
export DATABASE_URL='mysql://:@:/?sslaccept=strict'
# 为 Netlify 空间设置环境变量
@@ -190,49 +190,49 @@ TiDB Cloud Serverless 集群默认允许所有 IP 地址连接,因此你不需
检查你的环境变量。
```shell
- # 检查你自己空间的环境变量
+ # 检查本地空间的环境变量
env | grep DATABASE_URL
# 检查 Netlify 空间的环境变量
netlify env:list
```
-4. 在本地构建应用并将架构迁移到你的 TiDB Cloud 集群。
+4. 在本地构建应用并将 schema 迁移到你的 TiDB Cloud 集群。
> **提示:**
>
- > 如果你想跳过本地部署直接将应用部署到 Netlify,只需转到步骤 6。
+ > 如果你想跳过本地部署,直接将应用部署到 Netlify,请直接跳到第 6 步。
```shell
npm install .
npm run netlify-build
```
-5. 在本地运行应用。你可以启动本地开发服务器来预览你的站点。
+5. 在本地运行应用。你可以启动本地开发服务器预览你的站点。
```shell
netlify dev
```
- 然后,在浏览器中访问 `http://localhost:3000/` 来探索其用户界面。
+ 然后在浏览器中访问 `http://localhost:3000/`,体验其界面。
-6. 将应用部署到 Netlify。一旦你对本地预览满意,就可以使用以下命令将你的站点部署到 Netlify。`--trigger` 表示不上传本地文件进行部署。如果你进行了任何本地更改,请确保已将它们提交到你的 GitHub 仓库。
+6. 将应用部署到 Netlify。当你对本地预览满意后,可以使用以下命令将站点部署到 Netlify。`--trigger` 表示不上传本地文件进行部署。如果你有本地更改,请确保已提交到你的 GitHub 仓库。
```shell
netlify deploy --prod --trigger
```
- 转到你的 Netlify 控制台检查部署状态。部署完成后,应用的站点将有一个由 Netlify 提供的公共 IP 地址,以便所有人都可以访问它。
+ 前往你的 Netlify 控制台查看部署状态。部署完成后,应用的站点将拥有 Netlify 提供的公网 IP 地址,所有人都可以访问。
-## 使用边缘函数
+## 使用 edge function
-上述部分提到的示例应用在 Netlify 无服务器函数上运行。本节向你展示如何将边缘函数与 [TiDB Cloud 无服务器驱动程序](/tidb-cloud/serverless-driver.md)一起使用。边缘函数是 Netlify 提供的一个功能,它允许你在 Netlify CDN 的边缘运行无服务器函数。
+上文提到的示例应用运行在 Netlify 的无服务器函数上。本节将介绍如何将 [TiDB Cloud serverless driver](/tidb-cloud/serverless-driver.md) 与 edge function 一起使用。edge function 是 Netlify 提供的一项功能,允许你在 Netlify CDN 的边缘运行无服务器函数。
-要使用边缘函数,请执行以下步骤:
+要使用 edge function,请按以下步骤操作:
-1. 在项目的根目录下创建一个名为 `netlify/edge-functions` 的目录。
+1. 在项目根目录下创建名为 `netlify/edge-functions` 的目录。
-2. 在该目录中创建一个名为 `hello.ts` 的文件,并添加以下代码:
+2. 在该目录下创建名为 `hello.ts` 的文件,并添加以下代码:
```typescript
import { connect } from 'https://esm.sh/@tidbcloud/serverless'
@@ -246,16 +246,16 @@ TiDB Cloud Serverless 集群默认允许所有 IP 地址连接,因此你不需
export const config = { path: "/api/hello" };
```
-3. 设置 `DATABASE_URL` 环境变量。你可以从 [TiDB Cloud 控制台](https://tidbcloud.com/)获取连接信息。
+3. 设置 `DATABASE_URL` 环境变量。你可以从 [TiDB Cloud 控制台](https://tidbcloud.com/) 获取连接信息。
```shell
netlify env:set DATABASE_URL 'mysql://:@/'
```
-4. 将边缘函数部署到 Netlify。
+4. 将 edge function 部署到 Netlify。
```shell
netlify deploy --prod --trigger
```
-然后你可以转到你的 Netlify 控制台检查部署状态。部署完成后,你可以通过 `https:///api/hello` URL 访问边缘函数。
+然后你可以前往 Netlify 控制台查看部署状态。部署完成后,你可以通过 `https:///api/hello` URL 访问 edge function。
\ No newline at end of file
diff --git a/tidb-cloud/integrate-tidbcloud-with-vercel.md b/tidb-cloud/integrate-tidbcloud-with-vercel.md
index eacebdcf2aab3..644ee3777be82 100644
--- a/tidb-cloud/integrate-tidbcloud-with-vercel.md
+++ b/tidb-cloud/integrate-tidbcloud-with-vercel.md
@@ -1,107 +1,107 @@
---
-title: 将 TiDB Cloud 与 Vercel 集成
-summary: 了解如何将 TiDB Cloud 集群连接到 Vercel 项目。
+title: 集成 TiDB Cloud 与 Vercel
+summary: 了解如何将你的 TiDB Cloud 集群连接到 Vercel 项目。
---
-# 将 TiDB Cloud 与 Vercel 集成
+# 集成 TiDB Cloud 与 Vercel
-[Vercel](https://vercel.com/) 是一个面向前端开发者的平台,为创新者提供灵感迸发时所需的速度和可靠性。
+[Vercel](https://vercel.com/) 是一个面向前端开发者的平台,提供创新者在灵感迸发时所需的速度与可靠性。
-将 TiDB Cloud 与 Vercel 结合使用,可以让你使用 MySQL 兼容的关系模型更快地构建新的前端应用程序,并借助为弹性、可扩展性以及最高级别的数据隐私和安全性而构建的平台,让你的应用程序充满信心地成长。
+将 TiDB Cloud 与 Vercel 结合使用,可以让你基于兼容 MySQL 的关系模型更快地构建新的前端应用,并借助具备高可用性、可扩展性以及最高级别数据隐私和安全的平台,放心地扩展你的应用。
-本指南描述了如何使用以下方法之一将 TiDB Cloud 集群连接到 Vercel 项目:
+本指南介绍了如何通过以下任一方式将你的 TiDB Cloud 集群连接到 Vercel 项目:
-* [通过 TiDB Cloud Vercel 集成连接](#通过-tidb-cloud-vercel-集成连接)
-* [通过手动配置环境变量连接](#通过手动设置环境变量连接)
+* [通过 TiDB Cloud Vercel 集成连接](#connect-via-the-tidb-cloud-vercel-integration)
+* [通过手动配置环境变量连接](#connect-via-manually-setting-environment-variables)
-对于上述两种方法,TiDB Cloud 提供以下选项用于以编程方式连接到你的数据库:
+对于上述两种方式,TiDB Cloud 都提供了以下可编程连接数据库的选项:
-- 集群:通过直接连接或[无服务器驱动](/tidb-cloud/serverless-driver.md)将你的 TiDB Cloud 集群连接到你的 Vercel 项目。
-- [数据应用](/tidb-cloud/data-service-manage-data-app.md):通过一组 HTTP 端点访问你的 TiDB Cloud 集群的数据。
+- 集群:通过直连或 [serverless driver](/tidb-cloud/serverless-driver.md) 将你的 TiDB Cloud 集群连接到 Vercel 项目。
+- [数据应用(Data App)](/tidb-cloud/data-service-manage-data-app.md):通过一组 HTTP 端点访问 TiDB Cloud 集群的数据。
-## 前提条件
+## 前置条件
-在连接之前,请确保满足以下前提条件。
+在连接前,请确保满足以下前置条件。
-### Vercel 账号和 Vercel 项目
+### 一个 Vercel 账号和一个 Vercel 项目
-你需要在 Vercel 中拥有一个账号和一个项目。如果你没有,请参考以下 Vercel 文档创建:
+你需要在 Vercel 中拥有一个账号和一个项目。如果还没有,请参考以下 Vercel 文档创建:
-* [创建新的个人账号](https://vercel.com/docs/teams-and-accounts#creating-a-personal-account)或[创建新的团队](https://vercel.com/docs/teams-and-accounts/create-or-join-a-team#creating-a-team)。
-* 在 Vercel 中[创建项目](https://vercel.com/docs/concepts/projects/overview#creating-a-project),或者如果你没有要部署的应用程序,可以使用 [TiDB Cloud 入门模板](https://vercel.com/templates/next.js/tidb-cloud-starter)进行尝试。
+* [创建个人账号](https://vercel.com/docs/teams-and-accounts#creating-a-personal-account) 或 [创建团队](https://vercel.com/docs/teams-and-accounts/create-or-join-a-team#creating-a-team)。
+* 在 Vercel 中[创建项目](https://vercel.com/docs/concepts/projects/overview#creating-a-project),如果你还没有可部署的应用,可以使用 [TiDB Cloud Starter Template](https://vercel.com/templates/next.js/tidb-cloud-starter) 进行体验。
-一个 Vercel 项目只能连接到一个 TiDB Cloud 集群。要更改集成,你需要先断开当前集群的连接,然后再连接到新集群。
+一个 Vercel 项目只能连接一个 TiDB Cloud 集群。如需更换集成,需先断开当前集群,再连接新集群。
-### TiDB Cloud 账号和 TiDB 集群
+### 一个 TiDB Cloud 账号和一个 TiDB 集群
-你需要在 TiDB Cloud 中拥有一个账号和一个集群。如果你没有,请参考以下内容创建:
+你需要在 TiDB Cloud 中拥有一个账号和一个集群。如果还没有,请参考以下内容创建:
- [创建 TiDB Cloud Serverless 集群](/tidb-cloud/create-tidb-cluster-serverless.md)
> **注意:**
>
- > TiDB Cloud Vercel 集成支持创建 TiDB Cloud Serverless 集群。你也可以在集成过程中稍后创建。
+ > TiDB Cloud Vercel 集成支持创建 TiDB Cloud Serverless 集群。你也可以在集成过程中创建。
-- [创建 TiDB Cloud Dedicated 集群](/tidb-cloud/create-tidb-cluster.md)
+- [创建 TiDB Cloud 专属集群(Dedicated)](/tidb-cloud/create-tidb-cluster.md)
> **注意:**
>
- > 对于 TiDB Cloud Dedicated 集群,请确保集群的流量过滤器允许所有 IP 地址(设置为 `0.0.0.0/0`)进行连接,因为 Vercel 部署使用[动态 IP 地址](https://vercel.com/guides/how-to-allowlist-deployment-ip-address)。
+ > 对于 TiDB Cloud 专属集群,请确保集群的流量过滤器允许所有 IP 地址(设置为 `0.0.0.0/0`)进行连接,因为 Vercel 部署使用 [动态 IP 地址](https://vercel.com/guides/how-to-allowlist-deployment-ip-address)。
-要[通过 TiDB Cloud Vercel 集成进行集成](#通过-tidb-cloud-vercel-集成连接),你需要在 TiDB Cloud 中拥有组织的`组织所有者`角色或目标项目的`项目所有者`角色。更多信息,请参阅[用户角色](/tidb-cloud/manage-user-access.md#user-roles)。
+要[通过 TiDB Cloud Vercel 集成与 Vercel 集成](#connect-via-the-tidb-cloud-vercel-integration),你需要是 TiDB Cloud 组织的 `Organization Owner` 角色,或目标项目的 `Project Owner` 角色。更多信息参见 [用户角色](/tidb-cloud/manage-user-access.md#user-roles)。
-一个 TiDB Cloud 集群可以连接到多个 Vercel 项目。
+一个 TiDB Cloud 集群可以连接多个 Vercel 项目。
-### 数据应用和端点
+### 一个数据应用(Data App)及其端点
-如果你想通过[数据应用](/tidb-cloud/data-service-manage-data-app.md)连接到你的 TiDB Cloud 集群,你需要预先在 TiDB Cloud 中拥有目标数据应用和端点。如果你没有,请参考以下步骤创建:
+如果你希望通过 [数据应用(Data App)](/tidb-cloud/data-service-manage-data-app.md) 连接 TiDB Cloud 集群,需要提前在 TiDB Cloud 中准备好目标 Data App 及其端点。如果还没有,请参考以下步骤创建:
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,转到项目的[**数据服务**](https://tidbcloud.com/project/data-service)页面。
-2. 为你的项目[创建数据应用](/tidb-cloud/data-service-manage-data-app.md#create-a-data-app)。
-3. [将数据应用链接](/tidb-cloud/data-service-manage-data-app.md#manage-linked-data-sources)到目标 TiDB Cloud 集群。
-4. [管理端点](/tidb-cloud/data-service-manage-endpoint.md),以便你可以自定义它们来执行 SQL 语句。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,进入项目的 [**数据服务**](https://tidbcloud.com/project/data-service) 页面。
+2. [为项目创建 Data App](/tidb-cloud/data-service-manage-data-app.md#create-a-data-app)。
+3. [将 Data App 关联到目标 TiDB Cloud 集群](/tidb-cloud/data-service-manage-data-app.md#manage-linked-data-sources)。
+4. [管理端点](/tidb-cloud/data-service-manage-endpoint.md),以便自定义执行 SQL 语句。
-一个 Vercel 项目只能连接到一个 TiDB Cloud 数据应用。要更改 Vercel 项目的数据应用,你需要先断开当前应用的连接,然后再连接到新应用。
+一个 Vercel 项目只能连接一个 TiDB Cloud Data App。如需更换 Data App,需先断开当前 App,再连接新 App。
## 通过 TiDB Cloud Vercel 集成连接
-要通过 TiDB Cloud Vercel 集成进行连接,请从 [Vercel 的集成市场](https://vercel.com/integrations)转到 [TiDB Cloud 集成](https://vercel.com/integrations/tidb-cloud)页面。使用此方法,你可以选择要连接的集群,TiDB Cloud 将自动为你的 Vercel 项目生成所有必要的环境变量。
+要通过 TiDB Cloud Vercel 集成连接,请前往 [Vercel 的集成市场](https://vercel.com/integrations)中的 [TiDB Cloud 集成](https://vercel.com/integrations/tidb-cloud) 页面。使用此方法,你可以选择要连接的集群,TiDB Cloud 会自动为你的 Vercel 项目生成所有必要的环境变量。
> **注意:**
>
-> 此方法仅适用于 TiDB Cloud Serverless 集群。如果你想连接到 TiDB Cloud Dedicated 集群,请使用[手动方法](#通过手动设置环境变量连接)。
+> 此方法仅适用于 TiDB Cloud Serverless 集群。如果你需要连接 TiDB Cloud 专属集群,请使用[手动方法](#connect-via-manually-setting-environment-variables)。
-### 集成工作流程
+### 集成流程
详细步骤如下:
-
+
-1. 在 [TiDB Cloud Vercel 集成](https://vercel.com/integrations/tidb-cloud)页面的右上角点击**添加集成**。将显示**添加 TiDB Cloud**对话框。
-2. 在下拉列表中选择集成范围,然后点击**继续**。
-3. 选择要添加集成的 Vercel 项目,然后点击**继续**。
-4. 确认集成所需的权限,然后点击**添加集成**。然后你将被引导到 TiDB Cloud 控制台的集成页面。
-5. 在集成页面上,执行以下操作:
+1. 在 [TiDB Cloud Vercel 集成](https://vercel.com/integrations/tidb-cloud) 页面右上角点击 **Add Integration**,弹出 **Add TiDB Cloud** 对话框。
+2. 在下拉列表中选择集成范围,点击 **Continue**。
+3. 选择要添加集成的 Vercel 项目,点击 **Continue**。
+4. 确认集成所需权限,点击 **Add Integration**。随后会跳转到 TiDB Cloud 控制台的集成页面。
+5. 在集成页面,按以下步骤操作:
- 1. 选择你的目标 Vercel 项目,然后点击**下一步**。
- 2. 选择你的目标 TiDB Cloud 组织和项目。
- 3. 选择**集群**作为你的连接类型。
- 4. 选择你的目标 TiDB Cloud 集群。如果**集群**下拉列表为空或你想选择新的 TiDB Cloud Serverless 集群,请在列表中点击**+ 创建集群**来创建一个。
- 5. 选择你要连接的数据库。如果**数据库**下拉列表为空或你想选择新的数据库,请在列表中点击**+ 创建数据库**来创建一个。
- 6. 选择你的 Vercel 项目使用的框架。如果目标框架未列出,请选择**通用**。不同的框架决定了不同的环境变量。
- 7. 选择是否启用**分支**以为预览环境创建新分支。
- 8. 点击**添加集成并返回 Vercel**。
+ 1. 选择目标 Vercel 项目,点击 **Next**。
+ 2. 选择目标 TiDB Cloud 组织和项目。
+ 3. 选择 **Cluster** 作为连接类型。
+ 4. 选择目标 TiDB Cloud 集群。如果 **Cluster** 下拉列表为空,或你想选择新的 TiDB Cloud Serverless 集群,可点击列表中的 **+ Create Cluster** 创建。
+ 5. 选择要连接的数据库。如果 **Database** 下拉列表为空,或你想选择新的数据库,可点击列表中的 **+ Create Database** 创建。
+ 6. 选择 Vercel 项目所用的框架。如果目标框架未列出,选择 **General**。不同框架会生成不同的环境变量。
+ 7. 选择是否启用 **Branching**,以为预览环境创建新分支。
+ 8. 点击 **Add Integration and Return to Vercel**。
-
+
-6. 返回到你的 Vercel 仪表板,转到你的 Vercel 项目,点击**设置** > **环境变量**,检查是否已自动添加目标 TiDB 集群的环境变量。
+6. 返回 Vercel 控制台,进入你的 Vercel 项目,点击 **Settings** > **Environment Variables**,检查目标 TiDB 集群的环境变量是否已自动添加。
- 如果已添加以下变量,则集成完成。
+ 如果以下变量已添加,说明集成完成。
- **通用**
+ **General**
```shell
TIDB_HOST
@@ -117,7 +117,7 @@ summary: 了解如何将 TiDB Cloud 集群连接到 Vercel 项目。
DATABASE_URL
```
- **TiDB Cloud 无服务器驱动**
+ **TiDB Cloud Serverless Driver**
```
DATABASE_URL
@@ -125,25 +125,25 @@ summary: 了解如何将 TiDB Cloud 集群连接到 Vercel 项目。
-
+
-1. 在 [TiDB Cloud Vercel 集成](https://vercel.com/integrations/tidb-cloud)页面的右上角点击**添加集成**。将显示**添加 TiDB Cloud**对话框。
-2. 在下拉列表中选择集成范围,然后点击**继续**。
-3. 选择要添加集成的 Vercel 项目,然后点击**继续**。
-4. 确认集成所需的权限,然后点击**添加集成**。然后你将被引导到 TiDB Cloud 控制台的集成页面。
-5. 在集成页面上,执行以下操作:
+1. 在 [TiDB Cloud Vercel 集成](https://vercel.com/integrations/tidb-cloud) 页面右上角点击 **Add Integration**,弹出 **Add TiDB Cloud** 对话框。
+2. 在下拉列表中选择集成范围,点击 **Continue**。
+3. 选择要添加集成的 Vercel 项目,点击 **Continue**。
+4. 确认集成所需权限,点击 **Add Integration**。随后会跳转到 TiDB Cloud 控制台的集成页面。
+5. 在集成页面,按以下步骤操作:
- 1. 选择你的目标 Vercel 项目,然后点击**下一步**。
- 2. 选择你的目标 TiDB Cloud 组织和项目。
- 3. 选择**数据应用**作为你的连接类型。
- 4. 选择你的目标 TiDB 数据应用。
- 6. 点击**添加集成并返回 Vercel**。
+ 1. 选择目标 Vercel 项目,点击 **Next**。
+ 2. 选择目标 TiDB Cloud 组织和项目。
+ 3. 选择 **Data App** 作为连接类型。
+ 4. 选择目标 TiDB Data App。
+ 6. 点击 **Add Integration and Return to Vercel**。
-
+
-6. 返回到你的 Vercel 仪表板,转到你的 Vercel 项目,点击**设置** > **环境变量**,检查是否已自动添加目标数据应用的环境变量。
+6. 返回 Vercel 控制台,进入你的 Vercel 项目,点击 **Settings** > **Environment Variables**,检查目标 Data App 的环境变量是否已自动添加。
- 如果已添加以下变量,则集成完成。
+ 如果以下变量已添加,说明集成完成。
```shell
DATA_APP_BASE_URL
@@ -156,77 +156,77 @@ summary: 了解如何将 TiDB Cloud 集群连接到 Vercel 项目。
### 配置连接
-如果你已安装 [TiDB Cloud Vercel 集成](https://vercel.com/integrations/tidb-cloud),你可以在集成内添加或删除连接。
+如果你已安装 [TiDB Cloud Vercel 集成](https://vercel.com/integrations/tidb-cloud),可以在集成内添加或移除连接。
-1. 在你的 Vercel 仪表板中,点击**集成**。
-2. 在 TiDB Cloud 条目中点击**管理**。
-3. 点击**配置**。
-4. 点击**添加链接**或**删除**以添加或删除连接。
+1. 在 Vercel 控制台点击 **Integrations**。
+2. 在 TiDB Cloud 条目中点击 **Manage**。
+3. 点击 **Configure**。
+4. 点击 **Add Link** 或 **Remove** 以添加或移除连接。
- 
+ 
- 当你删除连接时,集成工作流程设置的环境变量也会从 Vercel 项目中删除。但是,此操作不会影响 TiDB Cloud Serverless 集群的数据。
+ 当你移除连接时,集成流程设置的环境变量也会从 Vercel 项目中移除。但此操作不会影响 TiDB Cloud Serverless 集群中的数据。
-### 使用 TiDB Cloud Serverless 分支连接
+### 使用 TiDB Cloud Serverless 分支功能连接 {#connect-with-branching}
-Vercel 的[预览部署](https://vercel.com/docs/deployments/preview-deployments)功能允许你在不将更改合并到 Git 项目的生产分支的情况下,在实时部署中预览应用程序的更改。使用 [TiDB Cloud Serverless 分支](/tidb-cloud/branch-overview.md),你可以为 Vercel 项目的每个分支创建一个新实例。这允许你在实时部署中预览应用程序更改,而不会影响你的生产数据。
+Vercel 的 [Preview Deployments](https://vercel.com/docs/deployments/preview-deployments) 功能允许你在不合并到 Git 项目的生产分支的情况下,在实时部署中预览应用变更。结合 [TiDB Cloud Serverless 分支](/tidb-cloud/branch-overview.md),你可以为 Vercel 项目的每个分支创建一个新的实例,从而在不影响生产数据的情况下预览应用变更。
> **注意:**
>
-> 目前,TiDB Cloud Serverless 分支仅支持[与 GitHub 仓库关联的 Vercel 项目](https://vercel.com/docs/deployments/git/vercel-for-github)。
+> 目前,TiDB Cloud Serverless 分支仅支持 [关联 GitHub 仓库的 Vercel 项目](https://vercel.com/docs/deployments/git/vercel-for-github)。
-要启用 TiDB Cloud Serverless 分支,你需要在 [TiDB Cloud Vercel 集成工作流程](#集成工作流程)中确保以下内容:
+要启用 TiDB Cloud Serverless 分支功能,需要在 [TiDB Cloud Vercel 集成流程](#integration-workflow)中确保:
-1. 选择**集群**作为你的连接类型。
-2. 启用**分支**以为预览环境创建新分支。
+1. 选择 **Cluster** 作为连接类型。
+2. 启用 **Branching**,为预览环境创建新分支。
-在你将更改推送到 Git 仓库后,Vercel 将触发预览部署。TiDB Cloud 集成将自动为 Git 分支创建一个 TiDB Cloud Serverless 分支并设置环境变量。详细步骤如下:
+在你将变更推送到 Git 仓库后,Vercel 会触发预览部署。TiDB Cloud 集成会自动为该 Git 分支创建 TiDB Cloud Serverless 分支并设置环境变量。详细步骤如下:
-1. 在你的 Git 仓库中创建一个新分支。
+1. 在你的 Git 仓库中创建新分支。
```shell
cd tidb-prisma-vercel-demo1
git checkout -b new-branch
```
-2. 添加一些更改并将更改推送到远程仓库。
-3. Vercel 将为新分支触发预览部署。
+2. 添加一些变更并推送到远程仓库。
+3. Vercel 会为新分支触发预览部署。
- 
+ 
- 1. 在部署过程中,TiDB Cloud 集成将自动创建一个与 Git 分支同名的 TiDB Cloud Serverless 分支。如果 TiDB Cloud Serverless 分支已存在,TiDB Cloud 集成将跳过此步骤。
+ 1. 部署过程中,TiDB Cloud 集成会自动创建与 Git 分支同名的 TiDB Cloud Serverless 分支。如果该分支已存在,则跳过此步骤。
- 
+ 
- 2. TiDB Cloud Serverless 分支就绪后,TiDB Cloud 集成将在 Vercel 项目的预览部署中设置环境变量。
+ 2. 当 TiDB Cloud Serverless 分支就绪后,TiDB Cloud 集成会在 Vercel 项目的预览部署中设置环境变量。
- 
+ 
- 3. TiDB Cloud 集成还将注册一个阻塞检查,以等待 TiDB Cloud Serverless 分支就绪。你可以手动重新运行检查。
-4. 检查通过后,你可以访问预览部署以查看更改。
+ 3. TiDB Cloud 集成还会注册一个阻塞检查,等待 TiDB Cloud Serverless 分支就绪。你可以手动重新运行该检查。
+4. 检查通过后,你可以访问预览部署查看变更效果。
> **注意:**
>
-> 由于 Vercel 部署工作流程的限制,无法确保在部署中设置环境变量。在这种情况下,你需要重新部署。
+> 由于 Vercel 部署流程的限制,无法保证环境变量一定会在部署中设置。如遇此情况,请重新部署。
> **注意:**
>
-> 对于 TiDB Cloud 中的每个组织,默认情况下最多可以创建五个 TiDB Cloud Serverless 分支。为避免超过限制,你可以删除不再需要的 TiDB Cloud Serverless 分支。更多信息,请参阅[管理 TiDB Cloud Serverless 分支](/tidb-cloud/branch-manage.md)。
+> 每个 TiDB Cloud 组织默认最多可创建 5 个 TiDB Cloud Serverless 分支。为避免超出限制,可删除不再需要的分支。更多信息参见 [管理 TiDB Cloud Serverless 分支](/tidb-cloud/branch-manage.md)。
## 通过手动设置环境变量连接
-
+
-1. 获取你的 TiDB 集群的连接信息。
+1. 获取 TiDB 集群的连接信息。
- 你可以从集群的连接对话框中获取连接信息。要打开对话框,请转到项目的[**集群**](https://tidbcloud.com/project/clusters)页面,点击目标集群的名称以进入其概览页面,然后点击右上角的**连接**。
+ 你可以在集群的连接对话框中获取连接信息。进入项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面,点击目标集群名称进入概览页,然后点击右上角的 **Connect**。
-2. 转到你的 Vercel 仪表板 > Vercel 项目 > **设置** > **环境变量**,然后根据你的 TiDB 集群的连接信息[声明每个环境变量值](https://vercel.com/docs/concepts/projects/environment-variables#declare-an-environment-variable)。
+2. 进入 Vercel 控制台 > Vercel 项目 > **Settings** > **Environment Variables**,根据 TiDB 集群的连接信息[声明每个环境变量的值](https://vercel.com/docs/concepts/projects/environment-variables#declare-an-environment-variable)。
- 
+ 
-这里我们以 Prisma 应用程序为例。以下是 Prisma schema 文件中针对 TiDB Cloud Serverless 集群的数据源设置:
+这里以 Prisma 应用为例,以下是 TiDB Cloud Serverless 集群在 Prisma schema 文件中的 datasource 配置:
```
datasource db {
@@ -235,23 +235,23 @@ datasource db {
}
```
-在 Vercel 中,你可以按如下方式声明环境变量:
+在 Vercel 中,你可以这样声明环境变量:
- **Key** = `DATABASE_URL`
- **Value** = `mysql://
:@:/?sslaccept=strict`
-你可以在 TiDB Cloud 控制台中获取 ``、``、``、`` 和 `` 的信息。
+你可以在 TiDB Cloud 控制台获取 ``、``、``、`` 和 `` 的信息。
-
+
-1. 如果你尚未创建数据应用及其端点,请按照[管理数据应用](/tidb-cloud/data-service-manage-data-app.md)和[管理端点](/tidb-cloud/data-service-manage-endpoint.md)中的步骤进行操作。
+1. 按照 [管理 Data APP](/tidb-cloud/data-service-manage-data-app.md) 和 [管理 Endpoint](/tidb-cloud/data-service-manage-endpoint.md) 的步骤创建 Data App 及其端点(如尚未创建)。
-2. 转到你的 Vercel 仪表板 > Vercel 项目 > **设置** > **环境变量**,然后根据你的数据应用的连接信息[声明每个环境变量值](https://vercel.com/docs/concepts/projects/environment-variables#declare-an-environment-variable)。
+2. 进入 Vercel 控制台 > Vercel 项目 > **Settings** > **Environment Variables**,根据 Data App 的连接信息[声明每个环境变量的值](https://vercel.com/docs/concepts/projects/environment-variables#declare-an-environment-variable)。
- 
+ 
- 在 Vercel 中,你可以按如下方式声明环境变量:
+ 在 Vercel 中,你可以这样声明环境变量:
- **Key** = `DATA_APP_BASE_URL`
- **Value** = ``
@@ -260,7 +260,7 @@ datasource db {
- **Key** = `DATA_APP_PRIVATE_KEY`
- **Value** = ``
- 你可以从 TiDB Cloud 控制台的[数据服务](https://tidbcloud.com/project/data-service)页面获取 ``、`` 和 `` 的信息。
+ 你可以在 TiDB Cloud 控制台的 [Data Service](https://tidbcloud.com/project/data-service) 页面获取 ``、``、`` 的信息。
-
+
\ No newline at end of file
diff --git a/tidb-cloud/integrate-tidbcloud-with-zapier.md b/tidb-cloud/integrate-tidbcloud-with-zapier.md
index 8fe33f2d785a5..61c8d78faa988 100644
--- a/tidb-cloud/integrate-tidbcloud-with-zapier.md
+++ b/tidb-cloud/integrate-tidbcloud-with-zapier.md
@@ -1,123 +1,123 @@
---
-title: 将 TiDB Cloud 与 Zapier 集成
-summary: 了解如何通过 Zapier 将 TiDB Cloud 连接到 5000+ 个应用。
+title: 将 TiDB Cloud 集成到 Zapier
+summary: 了解如何通过 Zapier 将 TiDB Cloud 连接到 5000+ 应用。
---
-# 将 TiDB Cloud 与 Zapier 集成
+# 将 TiDB Cloud 集成到 Zapier
-[Zapier](https://zapier.com) 是一个无代码自动化工具,可让你轻松创建涉及数千个应用和服务的工作流。
+[Zapier](https://zapier.com) 是一款无代码自动化工具,可以让你轻松创建涉及数千个应用和服务的工作流。
-使用 Zapier 上的 [TiDB Cloud 应用](https://zapier.com/apps/tidb-cloud/integrations)可以让你:
+在 Zapier 上使用 [TiDB Cloud app](https://zapier.com/apps/tidb-cloud/integrations) 可以让你:
-- 使用 TiDB,一个兼容 MySQL 的 HTAP 数据库。无需本地构建。
-- 更轻松地管理你的 TiDB Cloud。
-- 将 TiDB Cloud 连接到 5000+ 个应用并自动化你的工作流。
+- 使用 TiDB,这是一款兼容 MySQL 的 HTAP 数据库。无需本地搭建。
+- 更便捷地管理你的 TiDB Cloud。
+- 将 TiDB Cloud 连接到 5000+ 应用,实现工作流自动化。
-本指南对 Zapier 上的 TiDB Cloud 应用进行高级介绍,并提供一个使用示例。
+本指南将对 Zapier 上的 TiDB Cloud app 进行高层次介绍,并提供一个使用示例。
## 使用模板快速开始
-[Zap 模板](https://platform.zapier.com/partners/zap-templates)是预制的集成或 Zap,已预先选择了应用和核心字段,适用于公开可用的 Zapier 集成。
+[Zap Templates](https://platform.zapier.com/partners/zap-templates) 是为公开可用的 Zapier 集成预先选定应用和核心字段的现成集成或 Zap。
-在本节中,我们将使用**将新的 Github 全局事件添加到 TiDB 行**模板作为示例来创建工作流。在此工作流中,每当你的 GitHub 账户创建新的全局事件(在任何仓库中发生的任何 [GitHub 事件](https://docs.github.com/en/developers/webhooks-and-events/events/github-event-types))时,Zapier 都会在你的 TiDB Cloud 集群中添加一个新行。
+本节将以 **Add new Github global events to TiDB rows** 模板为例,创建一个工作流。在该工作流中,每当你的 GitHub 账户产生新的全局事件(任何 [GitHub event](https://docs.github.com/en/developers/webhooks-and-events/events/github-event-types) 发生在你或与你有关的任何仓库上),Zapier 会向你的 TiDB Cloud 集群添加一行新数据。
-### 前提条件
+### 前置条件
在开始之前,你需要:
- 一个 [Zapier 账户](https://zapier.com/app/login)。
- 一个 [GitHub 账户](https://github.com/login)。
-- 一个 [TiDB Cloud 账户](https://tidbcloud.com/signup)和 TiDB Cloud 上的 TiDB Cloud Serverless 集群。更多详情,请参阅 [TiDB Cloud 快速入门](https://docs.pingcap.com/tidbcloud/tidb-cloud-quickstart#step-1-create-a-tidb-cluster)。
+- 一个 [TiDB Cloud 账户](https://tidbcloud.com/signup) 以及在 TiDB Cloud 上的 TiDB Cloud Serverless 集群。更多详情请参见 [TiDB Cloud 快速入门](https://docs.pingcap.com/tidbcloud/tidb-cloud-quickstart#step-1-create-a-tidb-cluster)。
### 步骤 1:获取模板
-转到 [Zapier 上的 TiDB Cloud 应用](https://zapier.com/apps/tidb-cloud/integrations)。选择**将新的 Github 全局事件添加到 TiDB 行**模板,然后点击**试用**。之后你将进入编辑器页面。
+访问 [TiDB Cloud App on Zapier](https://zapier.com/apps/tidb-cloud/integrations)。选择 **Add new Github global events to TiDB rows** 模板并点击 **Try it**。随后你将进入编辑页面。
### 步骤 2:设置触发器
-在编辑器页面,你可以看到触发器和操作。点击触发器进行设置。
+在编辑页面,你可以看到触发器和动作。点击触发器进行设置。
1. 选择应用和事件
- 模板已默认设置了应用和事件,因此你无需在此处进行任何操作。点击**继续**。
+ 模板已默认设置好应用和事件,因此此处无需操作。点击 **Continue**。
2. 选择账户
- 选择你想要与 TiDB Cloud 连接的 GitHub 账户。你可以连接新账户或选择现有账户。设置完成后,点击**继续**。
+ 选择你想要与 TiDB Cloud 连接的 GitHub 账户。你可以连接新账户或选择已有账户。设置完成后,点击 **Continue**。
3. 设置触发器
- 模板已默认设置了触发器。点击**继续**。
+ 模板已默认设置好触发器。点击 **Continue**。
4. 测试触发器
- 点击**测试触发器**。如果触发器设置成功,你可以看到来自 GitHub 账户的新全局事件数据。点击**继续**。
+ 点击 **Test trigger**。如果触发器设置成功,你可以看到来自 GitHub 账户的新全局事件数据。点击 **Continue**。
-### 步骤 3:设置 `在 TiDB Cloud 中查找表` 操作
+### 步骤 3:设置 `Find Table in TiDB Cloud` 动作
1. 选择应用和事件
- 保持模板设置的默认值 `查找表`。点击**继续**。
+ 保持模板默认设置的 `Find Table`。点击 **Continue**。
2. 选择账户
- 1. 点击**登录**按钮,你将被重定向到新的登录页面。
- 2. 在登录页面,填写你的公钥和私钥。要获取 TiDB Cloud API 密钥,请按照 [TiDB Cloud API 文档](https://docs.pingcap.com/tidbcloud/api/v1beta#section/Authentication/API-Key-Management)中的说明操作。
- 3. 点击**继续**。
+ 1. 点击 **Sign in** 按钮,你将被重定向到新的登录页面。
+ 2. 在登录页面,填写你的公钥和私钥。获取 TiDB Cloud API key 的方法请参见 [TiDB Cloud API 文档](https://docs.pingcap.com/tidbcloud/api/v1beta#section/Authentication/API-Key-Management)。
+ 3. 点击 **Continue**。
- 
+ 
-3. 设置操作
+3. 设置动作
- 在此步骤中,你需要指定 TiDB Cloud 集群中的一个表来存储事件数据。如果你还没有表,可以通过此步骤创建一个。
+ 在此步骤,你需要指定 TiDB Cloud 集群中的某个表来存储事件数据。如果你还没有表,可以在此步骤创建。
- 1. 从下拉列表中选择项目名称和集群名称。你的集群的连接信息将自动显示。
+ 1. 在下拉列表中选择项目名称和集群名称。你的集群连接信息会自动显示。
- 
+ 
2. 输入你的密码。
- 3. 从下拉列表中选择数据库。
+ 3. 在下拉列表中选择数据库。
- 
+ 
- Zapier 使用你输入的密码从 TiDB Cloud 查询数据库。如果在你的集群中找不到数据库,请重新输入密码并刷新页面。
+ Zapier 会使用你输入的密码从 TiDB Cloud 查询数据库。如果在集群中未找到数据库,请重新输入密码并刷新页面。
- 4. 在**你想要搜索的表**框中,填入 `github_global_event`。如果表不存在,模板将使用以下 DDL 创建表。点击**继续**。
+ 4. 在 **The table you want to search** 框中填写 `github_global_event`。如果该表不存在,模板会使用以下 DDL 创建表。点击 **Continue**。
- 
+ 
-4. 测试操作
+4. 测试动作
- 点击**测试操作**,Zapier 将创建表。你也可以跳过测试,表将在此工作流首次运行时创建。
+ 点击 **Test action**,Zapier 会创建该表。你也可以跳过测试,首次运行该工作流时表会被创建。
-### 步骤 4:设置 `在 TiDB Cloud 中创建行` 操作
+### 步骤 4:设置 `Create Row in TiDB Cloud` 动作
1. 选择应用和事件
- 保持模板设置的默认值。点击**继续**。
+ 保持模板默认设置。点击 **Continue**。
2. 选择账户
- 选择你在设置 `在 TiDB Cloud 中查找表` 操作时选择的账户。点击**继续**。
+ 选择你在设置 `Find Table in TiDB Cloud` 动作时选择的账户。点击 **Continue**。
- 
+ 
-3. 设置操作
+3. 设置动作
- 1. 按照前面的步骤填写**项目名称**、**集群名称**、**TiDB 密码**和**数据库名称**。
+ 1. 按照上一步填写 **Project Name**、**Cluster Name**、**TiDB Password** 和 **Database Name**。
- 2. 在**表名**中,从下拉列表中选择 **github_global_event** 表。表的列将显示出来。
+ 2. 在 **Table Name** 中,从下拉列表选择 **github_global_event** 表。表的列会显示出来。
- 
+ 
- 3. 在**列**框中,从触发器中选择相应的数据。填写所有列,然后点击**继续**。
+ 3. 在 **Columns** 框中,从触发器中选择对应的数据。填写所有列后,点击 **Continue**。
- 
+ 
-4. 测试操作
+4. 测试动作
- 点击**测试操作**在表中创建新行。如果你检查你的 TiDB Cloud 集群,你可以发现数据已成功写入。
+ 点击 **Test action**,即可在表中创建一行新数据。如果你检查 TiDB Cloud 集群,可以发现数据已成功写入。
```sql
mysql> SELECT * FROM test.github_global_event;
@@ -131,106 +131,106 @@ summary: 了解如何通过 Zapier 将 TiDB Cloud 连接到 5000+ 个应用。
### 步骤 5:发布你的 zap
-点击**发布**来发布你的 zap。你可以在[主页](https://zapier.com/app/zaps)上看到 zap 正在运行。
+点击 **Publish** 发布你的 zap。你可以在 [主页](https://zapier.com/app/zaps) 看到 zap 正在运行。
-
+
-现在,这个 zap 将自动将你的 GitHub 账户的所有全局事件记录到 TiDB Cloud 中。
+现在,该 zap 会自动将你 GitHub 账户的所有全局事件记录到 TiDB Cloud。
-## 触发器和操作
+## 触发器与动作
-[触发器和操作](https://zapier.com/how-it-works)是 Zapier 中的关键概念。通过组合不同的触发器和操作,你可以创建各种自动化工作流。
+[Triggers and actions](https://zapier.com/how-it-works) 是 Zapier 的核心概念。通过组合不同的触发器和动作,你可以创建各种自动化工作流。
-本节介绍 Zapier 上的 TiDB Cloud 应用提供的触发器和操作。
+本节介绍 TiDB Cloud App 在 Zapier 上提供的触发器和动作。
### 触发器
-下表列出了 TiDB Cloud 应用支持的触发器。
+下表列出了 TiDB Cloud App 支持的触发器。
-| 触发器 | 描述 |
+| Trigger | Description |
| ---------------------- |-----------------------------------------------------------------------------|
-| 新集群 | 在创建新集群时触发。 |
-| 新表 | 在创建新表时触发。 |
-| 新行 | 在创建新行时触发。仅获取最近的 10000 个新行。 |
-| 新行(自定义查询) | 在你提供的自定义查询返回新行时触发。 |
+| New Cluster | 当新集群被创建时触发。 |
+| New Table | 当新表被创建时触发。 |
+| New Row | 当新行被创建时触发。仅获取最近 10000 条新行。 |
+| New Row (Custom Query) | 当你提供的自定义查询返回新行时触发。 |
-### 操作
+### 动作
-下表列出了 TiDB Cloud 应用支持的操作。注意,某些操作需要额外的资源,你需要在使用操作之前准备相应的资源。
+下表列出了 TiDB Cloud App 支持的动作。注意部分动作需要额外资源,你需要提前准备好相应资源。
-| 操作 | 描述 | 资源 |
+| Action | Description | Resource |
|---|---|---|
-| 查找集群 | 查找现有的 TiDB Cloud Serverless 或 TiDB Cloud Dedicated 集群。 | 无 |
-| 创建集群 | 创建新集群。仅支持创建 TiDB Cloud Serverless 集群。 | 无 |
-| 查找数据库 | 查找现有数据库。 | TiDB Cloud Serverless 集群 |
-| 创建数据库 | 创建新数据库。 | TiDB Cloud Serverless 集群 |
-| 查找表 | 查找现有表。 | TiDB Cloud Serverless 集群和数据库 |
-| 创建表 | 创建新表。 | TiDB Cloud Serverless 集群和数据库 |
-| 创建行 | 创建新行。 | TiDB Cloud Serverless 集群、数据库和表 |
-| 更新行 | 更新现有行。 | TiDB Cloud Serverless 集群、数据库和表 |
-| 查找行 | 通过查找列在表中查找行。 | TiDB Cloud Serverless 集群、数据库和表 |
-| 查找行(自定义查询) | 通过你提供的自定义查询在表中查找行。 | TiDB Cloud Serverless 集群、数据库和表 |
+| Find Cluster | 查找已存在的 TiDB Cloud Serverless 或 TiDB Cloud Dedicated 集群。 | None |
+| Create Cluster | 创建新集群。仅支持创建 TiDB Cloud Serverless 集群。 | None |
+| Find Database | 查找已存在的数据库。 | 一个 TiDB Cloud Serverless 集群 |
+| Create Database | 创建新数据库。 | 一个 TiDB Cloud Serverless 集群 |
+| Find Table | 查找已存在的表。 | 一个 TiDB Cloud Serverless 集群和一个数据库 |
+| Create Table | 创建新表。 | 一个 TiDB Cloud Serverless 集群和一个数据库 |
+| Create Row | 创建新行。 | 一个 TiDB Cloud Serverless 集群、一个数据库和一个表 |
+| Update Row | 更新已存在的行。 | 一个 TiDB Cloud Serverless 集群、一个数据库和一个表 |
+| Find Row | 通过查找列在表中查找行。 | 一个 TiDB Cloud Serverless 集群、一个数据库和一个表 |
+| Find Row (Custom Query) | 通过你提供的自定义查询在表中查找行。 | 一个 TiDB Cloud Serverless 集群、一个数据库和一个表 |
-## TiDB Cloud 应用模板
+## TiDB Cloud App 模板
-TiDB Cloud 在 Zapier 上提供了一些可直接使用的模板。你可以在 [TiDB Cloud 应用](https://zapier.com/apps/tidb-cloud/integrations)页面找到所有模板。
+TiDB Cloud 提供了一些可直接在 Zapier 使用的模板。你可以在 [TiDB Cloud App](https://zapier.com/apps/tidb-cloud/integrations) 页面找到所有模板。
以下是一些示例:
-- [在 Google Sheets 中复制新的 TiDB Cloud 行](https://zapier.com/apps/google-sheets/integrations/tidb-cloud/1134881/duplicate-new-tidb-cloud-rows-in-google-sheets)
-- [从新的自定义 TiDB 查询通过 Gmail 发送邮件](https://zapier.com/apps/gmail/integrations/tidb-cloud/1134903/send-emails-via-gmail-from-new-custom-tidb-queries)
-- [从新捕获的 webhook 向 TiDB Cloud 添加行](https://zapier.com/apps/tidb-cloud/integrations/webhook/1134955/add-rows-to-tidb-cloud-from-newly-caught-webhooks)
-- [将新的 Salesforce 联系人存储在 TiDB 行中](https://zapier.com/apps/salesforce/integrations/tidb-cloud/1134923/store-new-salesforce-contacts-on-tidb-rows)
-- [为带有简历的新 Gmail 邮件创建 TiDB 行并发送直接 Slack 通知](https://zapier.com/apps/gmail/integrations/slack/1135456/create-tidb-rows-for-new-gmail-emails-with-resumes-and-send-direct-slack-notifications)
+- [Duplicate new TiDB Cloud rows in Google Sheets](https://zapier.com/apps/google-sheets/integrations/tidb-cloud/1134881/duplicate-new-tidb-cloud-rows-in-google-sheets)。
+- [Send emails via Gmail from new custom TiDB queries](https://zapier.com/apps/gmail/integrations/tidb-cloud/1134903/send-emails-via-gmail-from-new-custom-tidb-queries)。
+- [Add rows to TiDB Cloud from newly caught webhooks](https://zapier.com/apps/tidb-cloud/integrations/webhook/1134955/add-rows-to-tidb-cloud-from-newly-caught-webhooks)。
+- [Store new Salesforce contacts on TiDB rows](https://zapier.com/apps/salesforce/integrations/tidb-cloud/1134923/store-new-salesforce-contacts-on-tidb-rows)。
+- [Create TiDB rows for new Gmail emails with resumes and send direct Slack notifications](https://zapier.com/apps/gmail/integrations/slack/1135456/create-tidb-rows-for-new-gmail-emails-with-resumes-and-send-direct-slack-notifications)
## 常见问题
### 如何在 Zapier 中设置 TiDB Cloud 账户?
-Zapier 需要你的 **TiDB Cloud API 密钥**来连接你的 TiDB Cloud 账户。Zapier 不需要你的 TiDB Cloud 登录账户。
+Zapier 需要你的 **TiDB Cloud API key** 来连接 TiDB Cloud 账户。Zapier 不需要你的 TiDB Cloud 登录账户。
-要获取你的 TiDB Cloud API 密钥,请按照 [TiDB Cloud API 文档](https://docs.pingcap.com/tidbcloud/api/v1beta#section/Authentication/API-Key-Management)操作。
+获取 TiDB Cloud API key 的方法请参见 [TiDB Cloud API 文档](https://docs.pingcap.com/tidbcloud/api/v1beta#section/Authentication/API-Key-Management)。
-### TiDB Cloud 触发器如何执行去重?
+### TiDB Cloud 触发器如何去重?
Zapier 触发器可以通过轮询 API 调用定期检查新数据(间隔取决于你的 Zapier 计划)。
-TiDB Cloud 触发器提供了一个返回大量结果的轮询 API 调用。然而,大多数结果都已被 Zapier 见过,也就是说,大多数结果都是重复的。
+TiDB Cloud 触发器提供了一个轮询 API 调用,会返回大量结果。但大多数结果 Zapier 之前已经见过,即大多数结果是重复的。
-由于我们不希望在 API 中的项目在多个不同的轮询中存在时多次触发操作,TiDB Cloud 触发器使用 `id` 字段对数据进行去重。
+由于我们不希望当某个项目在你的 API 中出现在多个不同轮询中时多次触发动作,TiDB Cloud 触发器会用 `id` 字段进行数据去重。
-`新集群`和`新表`触发器只是简单地使用 `cluster_id` 或 `table_id` 作为 `id` 字段来进行去重。你无需为这两个触发器做任何事情。
+`New Cluster` 和 `New Table` 触发器直接用 `cluster_id` 或 `table_id` 作为 `id` 字段进行去重。对于这两个触发器你无需做任何操作。
-**新行触发器**
+**New Row Trigger**
-`新行`触发器在每次获取时限制 10,000 个结果。因此,如果某些新行不包含在这 10,000 个结果中,它们就无法触发 Zapier。
+`New Row` 触发器每次最多获取 10000 条结果。因此,如果某些新行未包含在这 10000 条结果中,则无法触发 Zapier。
-避免这种情况的一种方法是在触发器中指定 `Order By` 配置。例如,一旦你按创建时间对行进行排序,新行将始终包含在 10,000 个结果中。
+避免这种情况的一种方式是在触发器中指定 `Order By` 配置。例如,一旦你按创建时间对行排序,新行总会包含在这 10000 条结果中。
-`新行`触发器还使用灵活的策略生成 `id` 字段来进行去重。触发器按以下顺序生成 `id` 字段:
+`New Row` 触发器还采用灵活策略生成 `id` 字段进行去重。生成 `id` 字段的顺序如下:
-1. 如果结果包含 `id` 列,使用 `id` 列。
-2. 如果你在触发器配置中指定了 `去重键`,使用 `去重键`。
-3. 如果表有主键,使用主键。如果有多个主键,使用第一列。
-4. 如果表有唯一键,使用唯一键。
+1. 如果结果包含 `id` 列,则使用 `id` 列。
+2. 如果你在触发器配置中指定了 `Dedupe Key`,则使用 `Dedupe Key`。
+3. 如果表有主键,则使用主键。如果有多个主键,使用第一个列。
+4. 如果表有唯一键,则使用唯一键。
5. 使用表的第一列。
-**新行(自定义查询)触发器**
+**New Row (Custom Query) Trigger**
-`新行(自定义查询)`触发器在每次获取时限制 1,000,000 个结果。1,000,000 是一个很大的数字,设置它只是为了保护整个系统。建议你的查询包含 `ORDER BY` 和 `LIMIT`。
+`New Row (Custom Query)` 触发器每次最多获取 1,000,000 条结果。1,000,000 是一个很大的数字,仅用于保护整个系统。建议你的查询包含 `ORDER BY` 和 `LIMIT`。
-要执行去重,你的查询结果必须有一个唯一的 id 字段。否则,你将收到 `你必须返回带有 id 字段的结果` 错误。
+为了去重,你的查询结果必须有唯一的 id 字段。否则会收到 `You must return the results with id field` 错误。
-确保你的自定义查询在 30 秒内执行完成。否则,你将收到超时错误。
+确保你的自定义查询在 30 秒内执行完毕。否则会收到超时错误。
-### 如何使用 `查找或创建` 操作?
+### 如何使用 `find or create` 动作?
-`查找或创建`操作使你能够在资源不存在时创建它。以下是一个示例:
+`Find or create` 动作允许你在资源不存在时创建资源。示例如下:
-1. 选择 `查找表` 操作
+1. 选择 `Find Table` 动作
-2. 在`设置操作`步骤中,勾选 `如果表不存在则创建 TiDB Cloud 表?` 框以启用 `查找并创建`。
+2. 在 `set up action` 步骤,勾选 `Create TiDB Cloud Table if it doesn’t exist yet?` 以启用 `find and create`。
- 
+ 
-此工作流将在表不存在时创建表。注意,如果你测试你的操作,表将直接创建。
+该工作流会在表不存在时自动创建表。注意,如果你测试动作,表会被直接创建。
\ No newline at end of file
diff --git a/tidb-cloud/key-concepts.md b/tidb-cloud/key-concepts.md
index 8010339754e27..bf5adda77d7f1 100644
--- a/tidb-cloud/key-concepts.md
+++ b/tidb-cloud/key-concepts.md
@@ -1,59 +1,59 @@
---
-title: 关键概念概述
-summary: 了解 TiDB Cloud 中的关键概念。
+title: 关键概念概览
+summary: 了解 TiDB Cloud 的关键概念。
---
-# 关键概念概述
+# 关键概念概览
-本文档提供了 [TiDB Cloud](https://www.pingcap.com/tidb-cloud/) 中关键概念的概述。理解这些概念有助于你更好地使用 TiDB Cloud 的功能和特性。
+本文档概述了 [TiDB Cloud](https://www.pingcap.com/tidb-cloud/) 的关键概念。理解这些概念有助于你更好地使用 TiDB Cloud 的功能和能力。
## 架构
-TiDB Cloud 基于云原生分布式架构构建,实现了计算与存储分离,从而支持弹性扩展和高可用性。[了解更多 TiDB Cloud 架构信息](/tidb-cloud/architecture-concepts.md)。
+TiDB Cloud 基于云原生分布式架构构建,实现了计算与存储分离,支持弹性扩展和高可用性。[了解更多 TiDB Cloud 架构相关内容](/tidb-cloud/architecture-concepts.md)。
## 数据库模式
-TiDB Cloud 使你能够使用数据库、表、列、索引和约束等对象来组织和构建数据。它还支持临时表、向量索引和缓存表等高级功能。[了解更多数据库模式信息](/tidb-cloud/database-schema-concepts.md)。
+TiDB Cloud 允许你通过数据库、数据表、列、索引和约束等对象来组织和结构化你的数据。同时还支持临时表、向量索引和缓存表等高级特性。[了解更多数据库模式相关内容](/tidb-cloud/database-schema-concepts.md)。
## 事务
-TiDB 提供完整的分布式事务支持,其模型在 [Google Percolator](https://research.google.com/pubs/pub36726.html) 的基础上进行了一些优化。[了解更多事务信息](/tidb-cloud/transaction-concepts.md)。
+TiDB 提供完整的分布式事务,并在 [Google Percolator](https://research.google.com/pubs/pub36726.html) 的基础上进行了部分优化。[了解更多事务相关内容](/tidb-cloud/transaction-concepts.md)。
## SQL
-TiDB 高度兼容 MySQL 协议以及 MySQL 5.7 和 MySQL 8.0 的常用功能和语法。[了解更多 TiDB Cloud 中的 SQL 信息](/tidb-cloud/sql-concepts.md)。
+TiDB 高度兼容 MySQL 协议,以及 MySQL 5.7 和 MySQL 8.0 的常用特性和语法。[了解更多 TiDB Cloud 中的 SQL 相关内容](/tidb-cloud/sql-concepts.md)。
-## AI 功能
+## AI 特性
-TiDB Cloud 中的 AI 功能使你能够充分利用先进技术进行数据探索、搜索和集成。[了解更多 AI 功能信息](/tidb-cloud/ai-feature-concepts.md)。
+TiDB Cloud 的 AI 特性使你能够充分利用先进技术进行数据探索、检索和集成。[了解更多 AI 特性相关内容](/tidb-cloud/ai-feature-concepts.md)。
## 数据服务(Beta)
-数据服务使你能够通过自定义 API 端点使用 HTTPS 请求访问 TiDB Cloud 数据。[了解更多数据服务信息](/tidb-cloud/data-service-concepts.md)。
+数据服务允许你通过自定义 API 端点,以 HTTPS 请求方式访问 TiDB Cloud 数据。[了解更多数据服务相关内容](/tidb-cloud/data-service-concepts.md)。
## 可扩展性
-TiDB Cloud Dedicated 让你可以根据数据量或工作负载的变化分别调整其计算和存储资源。[了解更多可扩展性信息](/tidb-cloud/scalability-concepts.md)。
+TiDB Cloud Dedicated 允许你分别调整计算和存储资源,以适应数据量或工作负载的变化。[了解更多可扩展性相关内容](/tidb-cloud/scalability-concepts.md)。
## 高可用性
-TiDB Cloud 在 TiDB Cloud Serverless 和 TiDB Cloud Dedicated 集群中都确保高可用性:
+TiDB Cloud 在 TiDB Cloud Serverless 和 TiDB Cloud Dedicated 集群中都能确保高可用性:
-- [TiDB Cloud Serverless 中的高可用性](/tidb-cloud/serverless-high-availability.md)
-- [TiDB Cloud Dedicated 中的高可用性](/tidb-cloud/high-availability-with-multi-az.md)
+- [TiDB Cloud Serverless 的高可用性](/tidb-cloud/serverless-high-availability.md)
+- [TiDB Cloud Dedicated 的高可用性](/tidb-cloud/high-availability-with-multi-az.md)
## 监控
-TiDB Cloud 为集群性能和健康状况提供全面的监控功能。[了解更多监控信息](/tidb-cloud/monitoring-concepts.md)。
+TiDB Cloud 提供了全面的集群性能和健康状况监控能力。[了解更多监控相关内容](/tidb-cloud/monitoring-concepts.md)。
## 数据流
-TiDB Cloud 允许你将数据变更从 TiDB 集群流式传输到 Kafka、MySQL 和对象存储等其他系统。[了解更多数据流信息](/tidb-cloud/data-streaming-concepts.md)。
+TiDB Cloud 允许你将 TiDB 集群中的数据变更流式传输到其他系统,如 Kafka、MySQL 和对象存储。[了解更多数据流相关内容](/tidb-cloud/data-streaming-concepts.md)。
-## 备份和恢复
+## 备份与恢复
-TiDB Cloud 提供自动备份解决方案和时间点恢复(PITR)功能。[了解更多备份和恢复信息](/tidb-cloud/backup-and-restore-concepts.md)。
+TiDB Cloud 提供自动化备份方案和时间点恢复(PITR)能力。[了解更多备份与恢复相关内容](/tidb-cloud/backup-and-restore-concepts.md)。
-## 安全性
+## 安全
-TiDB Cloud 提供了一个强大而灵活的安全框架,旨在保护数据、执行访问控制并满足现代合规标准。[了解更多安全性信息](/tidb-cloud/security-concepts.md)。
+TiDB Cloud 提供强大且灵活的安全框架,旨在保护数据、实施访问控制,并满足现代合规标准。[了解更多安全相关内容](/tidb-cloud/security-concepts.md)。
\ No newline at end of file
diff --git a/tidb-cloud/limited-sql-features.md b/tidb-cloud/limited-sql-features.md
index 3c89ea4c5cc2b..21315e606fa18 100644
--- a/tidb-cloud/limited-sql-features.md
+++ b/tidb-cloud/limited-sql-features.md
@@ -1,17 +1,17 @@
---
-title: TiDB Cloud 上的受限 SQL 功能
-summary: 了解 TiDB Cloud 上的受限 SQL 功能。
+title: TiDB Cloud 上受限的 SQL 功能
+summary: 了解 TiDB Cloud 上受限的 SQL 功能。
---
-# TiDB Cloud 上的受限 SQL 功能
+# TiDB Cloud 上受限的 SQL 功能
-TiDB Cloud 可以支持几乎所有 TiDB 支持的工作负载,但在 TiDB 自托管版本和 TiDB Cloud Dedicated/Serverless 版本之间存在一些功能差异。本文描述了 TiDB Cloud 上的 SQL 功能限制。我们正在不断填补 TiDB 自托管版本和 TiDB Cloud Dedicated/Serverless 版本之间的功能差距。如果你需要这些差距中的功能或能力,请[联系我们](/tidb-cloud/tidb-cloud-support.md)提出功能请求。
+TiDB Cloud 支持几乎所有 TiDB 支持的工作负载,但 TiDB 自建版与 TiDB Cloud 专属版/Serverless 之间存在一些功能差异。本文档描述了 TiDB Cloud 上 SQL 功能的限制。我们正在不断弥补 TiDB 自建版与 TiDB Cloud 专属版/Serverless 之间的功能差距。如果你需要这些尚未支持的功能或能力,请[联系我们](/tidb-cloud/tidb-cloud-support.md)提交功能需求。
## 语句
-### 放置和范围管理
+### 副本放置与范围管理
-| 语句 | TiDB Cloud Dedicated | TiDB Cloud Serverless |
+| 语句 | TiDB Cloud 专属版 | TiDB Cloud Serverless |
|:-|:-|:-|
| `ALTER PLACEMENT POLICY` | 支持 | 不支持 [^1] |
| `CREATE PLACEMENT POLICY` | 支持 | 不支持 [^1] |
@@ -25,7 +25,7 @@ TiDB Cloud 可以支持几乎所有 TiDB 支持的工作负载,但在 TiDB 自
### 资源组
-| 语句 | TiDB Cloud Dedicated | TiDB Cloud Serverless |
+| 语句 | TiDB Cloud 专属版 | TiDB Cloud Serverless |
|:-|:-|:-|
| `ALTER RESOURCE GROUP` | 支持 | 不支持 [^2] |
| `CALIBRATE RESOURCE` | 不支持 | 不支持 [^2] |
@@ -36,19 +36,19 @@ TiDB Cloud 可以支持几乎所有 TiDB 支持的工作负载,但在 TiDB 自
### 其他
-| 语句 | TiDB Cloud Dedicated | TiDB Cloud Serverless |
+| 语句 | TiDB Cloud 专属版 | TiDB Cloud Serverless |
|:-|:-|:-|
| `BACKUP` | 支持 | 不支持 [^3] |
| `SHOW BACKUPS` | 支持 | 不支持 [^3] |
| `RESTORE` | 支持 | 不支持 [^3] |
| `SHOW RESTORES` | 支持 | 不支持 [^3] |
-| `ADMIN RESET TELEMETRY_ID` | 支持 | TiDB Cloud Serverless 不支持遥测。 |
+| `ADMIN RESET TELEMETRY_ID` | 支持 | TiDB Cloud Serverless 不支持 Telemetry。 |
| `ADMIN SHOW TELEMETRY` | 不支持 [^4] | 不支持 [^4] |
| `ADMIN SHOW SLOW` | 支持 | 不支持 [^5] |
| `ADMIN PLUGINS ENABLE` | 支持 | 不支持 [^8] |
| `ADMIN PLUGINS DISABLE` | 支持 | 不支持 [^8] |
-| `ALTER INSTANCE RELOAD TLS` | 支持 | TiDB Cloud Serverless 自动刷新 TLS 证书。 |
-| `LOAD DATA INFILE` | 支持 `LOAD DATA LOCAL INFILE` 和从 Amazon S3 或 Google Cloud Storage 导入的 `LOAD DATA INFILE` | 仅支持 `LOAD DATA LOCAL INFILE` |
+| `ALTER INSTANCE RELOAD TLS` | 支持 | TiDB Cloud Serverless 会自动刷新 TLS 证书。 |
+| `LOAD DATA INFILE` | 支持 `LOAD DATA LOCAL INFILE`,以及从 Amazon S3 或 Google Cloud Storage 加载 `LOAD DATA INFILE` | 仅支持 `LOAD DATA LOCAL INFILE` |
| `CHANGE DRAINER` | 不支持 [^7] | 不支持 [^7] |
| `CHANGE PUMP` | 不支持 [^7] | 不支持 [^7] |
| `FLASHBACK CLUSTER` | 支持 | 不支持 [^3] |
@@ -60,17 +60,17 @@ TiDB Cloud 可以支持几乎所有 TiDB 支持的工作负载,但在 TiDB 自
| `SHOW PLUGINS` | 支持 | 不支持 [^8] |
| `SHOW PUMP STATUS` | 不支持 [^7] | 不支持 [^7] |
| `SHUTDOWN` | 不支持 [^4] | 不支持 [^4] |
-| `PLAN REPLAYER` | 支持 | 以不同方式支持[^11] |
+| `PLAN REPLAYER` | 支持 | 以不同方式支持 [^11] |
-## 函数和运算符
+## 函数与运算符
-| 函数和运算符 | TiDB Cloud Dedicated | TiDB Cloud Serverless |
+| 函数与运算符 | TiDB Cloud 专属版 | TiDB Cloud Serverless |
|:-|:-|:-|
-| `SLEEP` | 无限制 | [`SLEEP()` 函数](https://docs.pingcap.com/tidbcloud/miscellaneous-functions)有限制,最大睡眠时间为 300 秒。|
+| `SLEEP` | 无限制 | [`SLEEP()` 函数](https://docs.pingcap.com/tidbcloud/miscellaneous-functions) 有限制,最长仅支持 300 秒的休眠时间。|
## 系统表
-| 数据库 | 表 | TiDB Cloud Dedicated | TiDB Cloud Serverless |
+| 数据库 | 表 | TiDB Cloud 专属版 | TiDB Cloud Serverless |
|:-|:-|:-|:-|
| `information_schema` | `ATTRIBUTES` | 支持 | 不支持 [^1] |
| `information_schema` | `CLUSTER_CONFIG` | 不支持 [^4] | 不支持 [^4] |
@@ -94,7 +94,6 @@ TiDB Cloud 可以支持几乎所有 TiDB 支持的工作负载,但在 TiDB 自
| `information_schema` | `SLOW_QUERY` | 支持 | 不支持 [^5] |
| `information_schema` | `STATEMENTS_SUMMARY` | 支持 | 不支持 [^6] |
| `information_schema` | `STATEMENTS_SUMMARY_EVICTED` | 支持 | 不支持 [^6] |
-| `information_schema` | `STATEMENTS_SUMMARY_HISTORY` | 支持 | 不支持 [^6] |
| `information_schema` | `TIDB_HOT_REGIONS` | 不支持 [^4] | 不支持 [^4] |
| `information_schema` | `TIDB_HOT_REGIONS_HISTORY` | 支持 | 不支持 [^1] |
| `information_schema` | `TIDB_SERVERS_INFO` | 支持 | 不支持 [^1] |
@@ -122,7 +121,7 @@ TiDB Cloud 可以支持几乎所有 TiDB 支持的工作负载,但在 TiDB 自
## 系统变量
-| 变量 | TiDB Cloud Dedicated | TiDB Cloud Serverless |
+| 变量 | TiDB Cloud 专属版 | TiDB Cloud Serverless |
|:-|:-|:-|
| `datadir` | 无限制 | 不支持 [^1] |
| `interactive_timeout` | 无限制 | 只读 [^10] |
@@ -132,6 +131,7 @@ TiDB Cloud 可以支持几乎所有 TiDB 支持的工作负载,但在 TiDB 自
| `require_secure_transport` | 不支持 [^12] | 只读 [^10] |
| `skip_name_resolve` | 无限制 | 只读 [^10] |
| `sql_log_bin` | 无限制 | 只读 [^10] |
+| `tidb_analyze_skip_column_types` | 无限制 | 只读 [^10] |
| `tidb_cdc_write_source` | 无限制 | 只读 [^10] |
| `tidb_check_mb4_value_in_utf8` | 不支持 [^4] | 不支持 [^4] |
| `tidb_config` | 不支持 [^4] | 不支持 [^4] |
@@ -210,24 +210,24 @@ TiDB Cloud 可以支持几乎所有 TiDB 支持的工作负载,但在 TiDB 自
| `tidb_wait_split_region_timeout` | 无限制 | 只读 [^10] |
| `txn_scope` | 无限制 | 只读 [^10] |
| `validate_password.enable` | 无限制 | 始终启用 [^9] |
-| `validate_password.length` | 无限制 | 至少 `8` [^9] |
-| `validate_password.mixed_case_count` | 无限制 | 至少 `1` [^9] |
-| `validate_password.number_count` | 无限制 | 至少 `1` [^9] |
-| `validate_password.policy` | 无限制 | 只能是 `MEDIUM` 或 `STRONG` [^9] |
-| `validate_password.special_char_count` | 无限制 | 至少 `1` [^9] |
+| `validate_password.length` | 无限制 | 至少为 `8` [^9] |
+| `validate_password.mixed_case_count` | 无限制 | 至少为 `1` [^9] |
+| `validate_password.number_count` | 无限制 | 至少为 `1` [^9] |
+| `validate_password.policy` | 无限制 | 只能为 `MEDIUM` 或 `STRONG` [^9] |
+| `validate_password.special_char_count` | 无限制 | 至少为 `1` [^9] |
| `wait_timeout` | 无限制 | 只读 [^10] |
-[^1]: TiDB Cloud Serverless 不支持配置数据放置。
+[^1]: TiDB Cloud Serverless 不支持数据副本放置相关配置。
-[^2]: TiDB Cloud Serverless 不支持配置资源组。
+[^2]: TiDB Cloud Serverless 不支持资源组相关配置。
-[^3]: 要在 TiDB Cloud Serverless 上执行[备份和恢复](/tidb-cloud/backup-and-restore-serverless.md)操作,你可以使用 TiDB Cloud 控制台。
+[^3]: 在 TiDB Cloud Serverless 上进行 [备份与恢复](/tidb-cloud/backup-and-restore-serverless.md) 操作时,你可以使用 TiDB Cloud 控制台。
-[^4]: 该功能在[安全增强模式(SEM)](/system-variables.md#tidb_enable_enhanced_security)下不可用。
+[^4]: 该功能在 [安全增强模式(SEM)](/system-variables.md#tidb_enable_enhanced_security) 下不可用。
-[^5]: 要在 TiDB Cloud Serverless 上跟踪[慢查询](/tidb-cloud/tune-performance.md#slow-query),你可以使用 TiDB Cloud 控制台。
+[^5]: 在 TiDB Cloud Serverless 上追踪 [慢查询](/tidb-cloud/tune-performance.md#slow-query) 时,你可以使用 TiDB Cloud 控制台。
-[^6]: 要在 TiDB Cloud Serverless 上执行[语句分析](/tidb-cloud/tune-performance.md#statement-analysis),你可以使用 TiDB Cloud 控制台。
+[^6]: 在 TiDB Cloud Serverless 上进行 [SQL 语句分析](/tidb-cloud/tune-performance.md#statement-analysis) 时,你可以使用 TiDB Cloud 控制台。
[^7]: TiDB Cloud 不支持 Drainer 和 Pump。
@@ -237,6 +237,6 @@ TiDB Cloud 可以支持几乎所有 TiDB 支持的工作负载,但在 TiDB 自
[^10]: 该变量在 TiDB Cloud Serverless 上为只读。
-[^11]: TiDB Cloud Serverless 不支持像[示例](https://docs.pingcap.com/tidb/stable/sql-plan-replayer#examples-of-exporting-cluster-information)中那样通过 `${tidb-server-status-port}` 下载由 `PLAN REPLAYER` 导出的文件。相反,TiDB Cloud Serverless 会生成一个[预签名 URL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html)供你下载文件。请注意,此 URL 在生成后 10 小时内有效。
+[^11]: TiDB Cloud Serverless 不支持通过 `${tidb-server-status-port}` 下载 `PLAN REPLAYER` 导出的文件,如[示例](https://docs.pingcap.com/tidb/stable/sql-plan-replayer#examples-of-exporting-cluster-information)所示。相反,TiDB Cloud Serverless 会为你生成一个 [预签名 URL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html) 用于下载文件。请注意,该 URL 在生成后 10 小时内有效。
-[^12]: 不支持。为 TiDB Cloud Dedicated 集群启用 `require_secure_transport` 将导致 SQL 客户端连接失败。
+[^12]: 不支持。在 TiDB Cloud 专属集群上启用 `require_secure_transport` 会导致 SQL 客户端连接失败。
\ No newline at end of file
diff --git a/tidb-cloud/manage-serverless-spend-limit.md b/tidb-cloud/manage-serverless-spend-limit.md
index 29fc1e33facd1..eed914d16f720 100644
--- a/tidb-cloud/manage-serverless-spend-limit.md
+++ b/tidb-cloud/manage-serverless-spend-limit.md
@@ -1,47 +1,47 @@
---
-title: 管理 TiDB Cloud Serverless 可扩展集群的支出限额
-summary: 了解如何管理 TiDB Cloud Serverless 可扩展集群的支出限额。
+title: 管理 TiDB Cloud Serverless 可扩展集群的消费限额
+summary: 了解如何管理 TiDB Cloud Serverless 可扩展集群的消费限额。
---
-# 管理 TiDB Cloud Serverless 可扩展集群的支出限额
+# 管理 TiDB Cloud Serverless 可扩展集群的消费限额
-> **注意:**
+> **Note:**
>
-> 支出限额仅适用于 TiDB Cloud Serverless [可扩展集群](/tidb-cloud/select-cluster-tier.md#可扩展集群计划)。
+> 消费限额仅适用于 TiDB Cloud Serverless [scalable clusters](/tidb-cloud/select-cluster-tier.md#scalable-cluster-plan)。
-支出限额是指你愿意在一个月内为特定工作负载支付的最大金额。它是一种成本控制机制,允许你为 TiDB Cloud Serverless 可扩展集群设置预算。
+消费限额是指你每月愿意为某个特定工作负载支付的最大金额。它是一种成本控制机制,允许你为 TiDB Cloud Serverless 可扩展集群设置预算。
-对于 TiDB Cloud 中的每个组织,默认情况下你最多可以创建五个[免费集群](/tidb-cloud/select-cluster-tier.md#免费集群计划)。要创建更多的 TiDB Cloud Serverless 集群,你需要添加信用卡并创建可扩展集群以供使用。但是,如果你在创建更多集群之前删除了一些之前的集群,则无需信用卡也可以创建新集群。
+在 TiDB Cloud 的每个组织中,默认最多可以创建 5 个 [free clusters](/tidb-cloud/select-cluster-tier.md#free-cluster-plan)。如果你需要创建更多的 TiDB Cloud Serverless 集群,则需要添加信用卡并创建可扩展集群以进行使用。但如果你在创建更多集群之前删除了一些已有集群,则新集群仍然可以在无需信用卡的情况下创建。
## 使用配额
-对于你组织中的前五个 TiDB Cloud Serverless 集群,无论是免费还是可扩展集群,TiDB Cloud 都为每个集群提供以下免费使用配额:
+对于你所在组织的前 5 个 TiDB Cloud Serverless 集群,无论是免费集群还是可扩展集群,TiDB Cloud 都为每个集群提供如下免费使用配额:
- 行存储:5 GiB
- 列存储:5 GiB
-- [请求单元 (RUs)](/tidb-cloud/tidb-cloud-glossary.md#请求单元):每月 5000 万 RUs
+- [Request Units (RUs)](/tidb-cloud/tidb-cloud-glossary.md#request-unit):每月 5000 万 RU
-一旦集群达到其使用配额,它会立即拒绝任何新的连接尝试,直到你[增加配额](#更新支出限额)或在新月开始时重置使用量。在达到配额之前建立的现有连接将保持活动状态,但会经历限制。例如,当免费集群的行存储超过 5 GiB 时,集群会自动限制任何新的连接尝试。
+一旦某个集群达到其使用配额,将会立即拒绝任何新的连接尝试,直到你 [增加配额](#update-spending-limit) 或新月开始时用量被重置。已在达到配额前建立的连接会保持活跃,但会受到限流。例如,当免费集群的行存储超过 5 GiB 时,该集群会自动限制任何新的连接尝试。
-要了解不同资源(包括读取、写入、SQL CPU 和网络出口)的 RU 消耗、定价详情和限制信息,请参见 [TiDB Cloud Serverless 定价详情](https://www.pingcap.com/tidb-cloud-serverless-pricing-details)。
+如需了解不同资源(包括读、写、SQL CPU 和网络出口)的 RU 消耗、定价详情以及限流信息,请参见 [TiDB Cloud Serverless Pricing Details](https://www.pingcap.com/tidb-cloud-serverless-pricing-details)。
-如果你想创建具有额外配额的 TiDB Cloud Serverless 集群,可以在集群创建页面上编辑支出限额。更多信息,请参见[创建 TiDB Cloud Serverless 集群](/tidb-cloud/create-tidb-cluster-serverless.md)。
+如果你希望创建一个拥有额外配额的 TiDB Cloud Serverless 集群,可以在集群创建页面编辑消费限额。更多信息请参见 [Create a TiDB Cloud Serverless cluster](/tidb-cloud/create-tidb-cluster-serverless.md)。
-## 更新支出限额
+## 更新消费限额
-对于 TiDB Cloud Serverless 免费集群,你可以通过将其升级为可扩展集群来增加使用配额。对于现有的可扩展集群,你可以直接调整每月支出限额。
+对于 TiDB Cloud Serverless 免费集群,你可以通过升级为可扩展集群来提升使用配额。对于已有的可扩展集群,你可以直接调整每月消费限额。
-要更新 TiDB Cloud Serverless 集群的支出限额,请执行以下步骤:
+要为 TiDB Cloud Serverless 集群更新消费限额,请执行以下步骤:
-1. 在项目的[**集群**](https://tidbcloud.com/project/clusters)页面上,点击目标集群的名称进入其概览页面。
+1. 在项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面,点击目标集群名称进入其概览页面。
- > **提示:**
+ > **Tip:**
>
- > 你可以使用左上角的组合框在组织、项目和集群之间切换。
+ > 你可以使用左上角的下拉框在组织、项目和集群之间切换。
-2. 在**本月使用量**区域,点击**升级到可扩展集群**。
+2. 在 **Usage This Month** 区域,点击 **Upgrade to Scalable Cluster**。
- 要调整现有可扩展集群的支出限额,点击
**编辑**。
+ 若要调整已有可扩展集群的消费限额,点击
**Edit**。
-3. 根据需要编辑每月支出限额。如果你尚未添加付款方式,则在编辑限额后需要添加信用卡。
-4. 点击**更新集群计划**。
+3. 根据需要编辑每月消费限额。如果你尚未添加支付方式,编辑限额后需要添加信用卡。
+4. 点击 **Update Cluster Plan**。
\ No newline at end of file
diff --git a/tidb-cloud/manage-user-access.md b/tidb-cloud/manage-user-access.md
index fc0fdf3e4ee4f..c0fa53e791fc9 100644
--- a/tidb-cloud/manage-user-access.md
+++ b/tidb-cloud/manage-user-access.md
@@ -5,56 +5,56 @@ summary: 了解如何在 TiDB Cloud 中管理身份访问。
# 身份访问管理
-本文档介绍如何在 TiDB Cloud 中管理组织、项目、角色和用户配置文件的访问权限。
+本文档介绍如何在 TiDB Cloud 中管理对组织、项目、角色和用户资料的访问。
-在访问 TiDB Cloud 之前,请[创建 TiDB Cloud 账号](https://tidbcloud.com/free-trial)。你可以使用电子邮件和密码注册,这样就可以[使用 TiDB Cloud 管理密码](/tidb-cloud/tidb-cloud-password-authentication.md),或者选择使用 Google、GitHub 或 Microsoft 账号进行单点登录(SSO)到 TiDB Cloud。
+在访问 TiDB Cloud 之前,请先[创建一个 TiDB Cloud 账户](https://tidbcloud.com/free-trial)。你可以使用邮箱和密码注册,这样可以[通过 TiDB Cloud 管理你的密码](/tidb-cloud/tidb-cloud-password-authentication.md),也可以选择使用 Google、GitHub 或 Microsoft 账户进行单点登录(SSO)到 TiDB Cloud。
-## 组织和项目
+## 组织与项目
-TiDB Cloud 基于组织和项目提供层级结构,以便于管理 TiDB Cloud 用户和集群。如果你是组织所有者,你可以在组织中创建多个项目。
+TiDB Cloud 提供了基于组织和项目的分层结构,便于管理 TiDB Cloud 用户和集群。如果你是组织所有者,可以在你的组织下创建多个项目。
例如:
```
-- 你的组织
- - 项目 1
- - 集群 1
- - 集群 2
- - 项目 2
- - 集群 3
- - 集群 4
- - 项目 3
- - 集群 5
- - 集群 6
+- Your organization
+ - Project 1
+ - Cluster 1
+ - Cluster 2
+ - Project 2
+ - Cluster 3
+ - Cluster 4
+ - Project 3
+ - Cluster 5
+ - Cluster 6
```
-在此结构下:
+在该结构下:
-- 要访问组织,用户必须是该组织的成员。
-- 要访问组织中的项目,用户必须至少具有该组织中项目的读取权限。
-- 要管理项目中的集群,用户必须具有 `Project Owner` 角色。
+- 要访问某个组织,用户必须是该组织的成员。
+- 要访问组织中的某个项目,用户至少需要拥有该组织下该项目的只读权限。
+- 要管理项目中的集群,用户必须拥有 `Project Owner` 角色。
-有关用户角色和权限的更多信息,请参见[用户角色](#用户角色)。
+关于用户角色和权限的更多信息,请参见 [用户角色](#用户角色)。
### 组织
一个组织可以包含多个项目。
-TiDB Cloud 在组织级别计算账单,并提供每个项目的账单详情。
+TiDB Cloud 在组织层面进行计费,并为每个项目提供账单明细。
-如果你是组织所有者,你拥有组织中的最高权限。
+如果你是组织所有者,你在组织中拥有最高权限。
例如,你可以执行以下操作:
-- 为不同目的创建不同的项目(如开发、暂存和生产)。
+- 为不同目的创建不同的项目(如开发、测试和生产环境)。
- 为不同用户分配不同的组织角色和项目角色。
-- 配置组织设置。例如,为组织配置时区。
+- 配置组织设置。例如,为你的组织配置时区。
### 项目
一个项目可以包含多个集群。
-如果你是项目所有者,你可以管理项目的集群和项目设置。
+如果你是项目所有者,可以管理你项目下的集群和项目设置。
例如,你可以执行以下操作:
@@ -64,149 +64,149 @@ TiDB Cloud 在组织级别计算账单,并提供每个项目的账单详情。
## 用户角色
-TiDB Cloud 定义了不同的用户角色来管理组织、项目或两者中 TiDB Cloud 用户的不同权限。
+TiDB Cloud 定义了不同的用户角色,用于管理 TiDB Cloud 用户在组织、项目或两者中的不同权限。
-你可以在组织级别或项目级别为用户授予角色。出于安全考虑,请仔细规划组织和项目的层级结构。
+你可以在组织层面或项目层面为用户授予角色。请确保为安全考虑,合理规划你的组织和项目的层级结构。
### 组织角色
-在组织级别,TiDB Cloud 定义了四个角色,其中 `Organization Owner` 可以邀请成员并为成员授予组织角色。
+在组织层面,TiDB Cloud 定义了四种角色,其中 `Organization Owner` 可以邀请成员并为成员分配组织角色。
| 权限 | `Organization Owner` | `Organization Billing Manager` | `Organization Billing Viewer` | `Organization Console Audit Manager` | `Organization Viewer` |
|---|---|---|---|---|---|
| 管理组织设置,如项目、API 密钥和时区。 | ✅ | ❌ | ❌ | ❌ | ❌ |
-| 邀请用户加入组织或从组织中移除用户,并编辑用户的组织角色。 | ✅ | ❌ | ❌ | ❌ | ❌ |
-| 组织中所有项目的所有 `Project Owner` 权限。 | ✅ | ❌ | ❌ | ❌ | ❌ |
+| 邀请用户加入或移除用户出组织,并编辑用户的组织角色。 | ✅ | ❌ | ❌ | ❌ | ❌ |
+| 拥有该组织下所有项目的 `Project Owner` 权限。 | ✅ | ❌ | ❌ | ❌ | ❌ |
| 创建启用客户管理加密密钥(CMEK)的项目。 | ✅ | ❌ | ❌ | ❌ | ❌ |
| 编辑组织的支付信息。 | ✅ | ✅ | ❌ | ❌ | ❌ |
-| 查看账单并使用[成本分析器](/tidb-cloud/tidb-cloud-billing.md#cost-explorer)。 | ✅ | ✅ | ✅ | ❌ | ❌ |
+| 查看账单并使用 [成本分析器](/tidb-cloud/tidb-cloud-billing.md#cost-explorer)。 | ✅ | ✅ | ✅ | ❌ | ❌ |
| 管理组织的 TiDB Cloud [控制台审计日志](/tidb-cloud/tidb-cloud-console-auditing.md)。 | ✅ | ❌ | ❌ | ✅ | ❌ |
-| 查看组织中的用户和成员所属的项目。 | ✅ | ✅ | ✅ | ✅ | ✅ |
+| 查看组织内的用户及成员所属的项目。 | ✅ | ✅ | ✅ | ✅ | ✅ |
> **注意:**
>
-> - `Organization Console Audit Manager` 角色(从 `Organization Console Audit Admin` 重命名)用于管理 TiDB Cloud 控制台的审计日志,而不是数据库审计日志。要管理数据库审计,请使用项目级别的 `Project Owner` 角色。
-> - `Organization Billing Manager` 角色从 `Organization Billing Admin` 重命名,`Organization Viewer` 角色从 `Organization Member` 重命名。
+> - `Organization Console Audit Manager` 角色(由 `Organization Console Audit Admin` 重命名)用于管理 TiDB Cloud 控制台的审计日志,而非数据库审计日志。要管理数据库审计,请在项目层面使用 `Project Owner` 角色。
+> - `Organization Billing Manager` 角色由 `Organization Billing Admin` 重命名,`Organization Viewer` 角色由 `Organization Member` 重命名。
### 项目角色
-在项目级别,TiDB Cloud 定义了三个角色,其中 `Project Owner` 可以邀请成员并为成员授予项目角色。
+在项目层面,TiDB Cloud 定义了三种角色,其中 `Project Owner` 可以邀请成员并为成员分配项目角色。
> **注意:**
>
-> - `Organization Owner` 拥有所有项目的所有
Project Owner
权限,因此 `Organization Owner` 也可以邀请项目成员并为成员授予项目角色。
-> - 每个项目角色默认拥有所有
Organization Viewer
权限。
-> - 如果组织中的用户不属于任何项目,该用户没有任何项目权限。
+> - `Organization Owner` 拥有所有项目的
Project Owner
权限,因此 `Organization Owner` 也可以邀请项目成员并为成员分配项目角色。
+> - 每个项目角色默认拥有
Organization Viewer
的所有权限。
+> - 如果你组织中的某个用户不属于任何项目,则该用户没有任何项目权限。
| 权限 | `Project Owner` | `Project Data Access Read-Write` | `Project Data Access Read-Only` | `Project Viewer` |
|---|---|---|---|---|
| 管理项目设置 | ✅ | ❌ | ❌ | ❌ |
-| 邀请用户加入项目或从项目中移除用户,并编辑用户的项目角色。 | ✅ | ❌ | ❌ | ❌ |
-| 管理项目的[数据库审计日志](/tidb-cloud/tidb-cloud-auditing.md)。 | ✅ | ❌ | ❌ | ❌ |
-| 管理项目中所有 TiDB Cloud Serverless 集群的[支出限制](/tidb-cloud/manage-serverless-spend-limit.md)。 | ✅ | ❌ | ❌ | ❌ |
+| 邀请用户加入或移除用户出项目,并编辑用户的项目角色。 | ✅ | ❌ | ❌ | ❌ |
+| 管理项目的 [数据库审计日志](/tidb-cloud/tidb-cloud-auditing.md)。 | ✅ | ❌ | ❌ | ❌ |
+| 管理项目下所有 TiDB Cloud Serverless 集群的 [消费限额](/tidb-cloud/manage-serverless-spend-limit.md)。 | ✅ | ❌ | ❌ | ❌ |
| 管理项目中的集群操作,如集群创建、修改和删除。 | ✅ | ❌ | ❌ | ❌ |
-| 管理项目中 TiDB Cloud Serverless 集群的分支,如分支创建、连接和删除。 | ✅ | ❌ | ❌ | ❌ |
-| 管理项目中 TiDB Cloud Dedicated 集群的[恢复组](/tidb-cloud/recovery-group-overview.md),如恢复组创建和删除。 | ✅ | ❌ | ❌ | ❌ |
-| 管理集群数据,如数据导入、数据备份和恢复以及数据迁移。 | ✅ | ✅ | ❌ | ❌ |
-| 管理[数据服务](/tidb-cloud/data-service-overview.md)的数据只读操作,如使用或创建端点读取数据。 | ✅ | ✅ | ✅ | ❌ |
-| 管理[数据服务](/tidb-cloud/data-service-overview.md)的数据读写操作。 | ✅ | ✅ | ❌ | ❌ |
-| 使用 [SQL 编辑器](/tidb-cloud/explore-data-with-chat2query.md)查看集群数据。 | ✅ | ✅ | ✅ | ❌ |
-| 使用 [SQL 编辑器](/tidb-cloud/explore-data-with-chat2query.md)修改和删除集群数据。 | ✅ | ✅ | ❌ | ❌ |
-| 管理[变更数据捕获](/tidb-cloud/changefeed-overview.md)。 | ✅ | ✅ | ✅ | ❌ |
-| 查看和重置集群密码。 | ✅ | ❌ | ❌ | ❌ |
-| 查看项目中的集群概览、备份记录、指标、事件和[变更数据捕获](/tidb-cloud/changefeed-overview.md)。 | ✅ | ✅ | ✅ | ✅ |
+| 管理项目下 TiDB Cloud Serverless 集群的分支,如分支创建、连接和删除。 | ✅ | ❌ | ❌ | ❌ |
+| 管理项目下 TiDB Cloud Dedicated 集群的 [恢复组](/tidb-cloud/recovery-group-overview.md),如恢复组的创建和删除。 | ✅ | ❌ | ❌ | ❌ |
+| 管理集群数据,如数据导入、数据备份与恢复、数据迁移。 | ✅ | ✅ | ❌ | ❌ |
+| 管理 [Data Service](/tidb-cloud/data-service-overview.md) 的只读操作,如使用或创建端点读取数据。 | ✅ | ✅ | ✅ | ❌ |
+| 管理 [Data Service](/tidb-cloud/data-service-overview.md) 的读写操作。 | ✅ | ✅ | ❌ | ❌ |
+| 使用 [SQL Editor](/tidb-cloud/explore-data-with-chat2query.md) 查看集群数据。 | ✅ | ✅ | ✅ | ❌ |
+| 使用 [SQL Editor](/tidb-cloud/explore-data-with-chat2query.md) 修改和删除集群数据。 | ✅ | ✅ | ❌ | ❌ |
+| 管理 [changefeeds](/tidb-cloud/changefeed-overview.md)。 | ✅ | ✅ | ✅ | ❌ |
+| 审核和重置集群密码。 | ✅ | ❌ | ❌ | ❌ |
+| 查看项目中的集群概览、备份记录、监控指标、事件和 [changefeeds](/tidb-cloud/changefeed-overview.md)。 | ✅ | ✅ | ✅ | ✅ |
## 管理组织访问
-### 查看和切换组织
+### 查看并切换组织
-要查看和切换组织,请执行以下步骤:
+要查看并切换组织,请执行以下步骤:
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,点击左上角的组合框。显示你所属的组织和项目列表。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,点击左上角的下拉框,会显示你所属的组织和项目列表。
> **提示:**
>
- > - 如果你当前在特定集群的页面上,点击左上角的组合框后,还需要点击组合框中的 ← 返回组织和项目列表。
- > - 如果你是多个组织的成员,可以在组合框中点击目标组织名称,在组织之间切换账号。
+ > - 如果你当前在某个集群页面,点击左上角下拉框后,还需要在下拉框中点击 ← 返回到组织和项目列表。
+ > - 如果你属于多个组织,可以在下拉框中点击目标组织名称,在组织之间切换账户。
-2. 要查看组织的详细信息(如组织 ID 和时区),请点击组织名称,然后在左侧导航栏中点击 **Organization Settings** > **General**。
+2. 若要查看组织的详细信息(如组织 ID 和时区),点击组织名称,然后在左侧导航栏点击 **Organization Settings** > **General**。
### 设置组织时区
-如果你具有 `Organization Owner` 角色,你可以根据时区修改系统显示时间。
+如果你拥有 `Organization Owner` 角色,可以根据你的时区修改系统显示时间。
要更改本地时区设置,请执行以下步骤:
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,使用左上角的组合框切换到目标组织。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,使用左上角下拉框切换到目标组织。
-2. 在左侧导航栏中,点击 **Organization Settings** > **General**。
+2. 在左侧导航栏点击 **Organization Settings** > **General**。
-3. 在 **Time Zone** 部分,从下拉列表中选择你的时区。
+3. 在 **Time Zone** 区域,从下拉列表中选择你的时区。
4. 点击 **Update**。
### 邀请组织成员
-如果你具有 `Organization Owner` 角色,你可以邀请用户加入组织。
+如果你拥有 `Organization Owner` 角色,可以邀请用户加入你的组织。
> **注意:**
>
-> 你也可以根据需要直接[邀请用户加入项目](#邀请项目成员),这样用户也会成为组织成员。
+> 你也可以根据需要[直接邀请用户加入你的项目](#invite-a-project-member),这同样会使该用户成为你的组织成员。
要邀请成员加入组织,请执行以下步骤:
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,使用左上角的组合框切换到目标组织。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,使用左上角下拉框切换到目标组织。
-2. 在左侧导航栏中,点击 **Organization Settings** > **Users**。
+2. 在左侧导航栏点击 **Organization Settings** > **Users**。
3. 在 **Users** 页面,点击 **By Organization** 标签页。
4. 点击 **Invite**。
-5. 输入要邀请的用户的电子邮件地址,然后为该用户选择组织角色。
+5. 输入要邀请用户的邮箱地址,然后为该用户选择一个组织角色。
> **提示:**
>
- > - 如果你想一次邀请多个成员,可以输入多个电子邮件地址。
- > - 被邀请的用户默认不属于任何项目。要邀请用户加入项目,请参见[邀请项目成员](#邀请项目成员)。
+ > - 如果你想一次邀请多个成员,可以输入多个邮箱地址。
+ > - 被邀请用户默认不属于任何项目。要邀请用户加入项目,请参见 [邀请项目成员](#invite-a-project-member)。
-6. 点击 **Confirm**。然后新用户成功添加到用户列表中。同时,系统会向被邀请的电子邮件地址发送一封包含验证链接的邮件。
+6. 点击 **Confirm**。新用户会被成功添加到用户列表,同时会向被邀请邮箱发送一封带有验证链接的邮件。
-7. 收到此邮件后,用户需要点击邮件中的链接验证身份,然后会显示一个新页面。
+7. 用户收到邮件后,需要点击邮件中的链接进行身份验证,页面会显示新的内容。
-8. 如果被邀请的电子邮件地址尚未注册 TiDB Cloud 账号,用户将被引导到注册页面创建账号。如果该电子邮件地址已注册 TiDB Cloud 账号,用户将被引导到登录页面,登录后账号会自动加入组织。
+8. 如果被邀请邮箱尚未注册 TiDB Cloud 账户,用户会被引导至注册页面创建账户;如果邮箱已注册 TiDB Cloud 账户,用户会被引导至登录页面,登录后账户会自动加入组织。
> **注意:**
>
-> 邮件中的验证链接将在 24 小时后过期。如果你要邀请的用户没有收到邮件,请点击 **Resend**。
+> 邮件中的验证链接 24 小时内有效。如果你要邀请的用户未收到邮件,可点击 **Resend** 重新发送。
### 修改组织角色
-如果你具有 `Organization Owner` 角色,你可以修改组织中所有成员的组织角色。
+如果你拥有 `Organization Owner` 角色,可以修改组织内所有成员的组织角色。
要修改成员的组织角色,请执行以下步骤:
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,使用左上角的组合框切换到目标组织。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,使用左上角下拉框切换到目标组织。
-2. 在左侧导航栏中,点击 **Organization Settings** > **Users**。
+2. 在左侧导航栏点击 **Organization Settings** > **Users**。
3. 在 **Users** 页面,点击 **By Organization** 标签页。
-4. 点击目标成员的角色,然后修改角色。
+4. 点击目标成员的角色,然后进行修改。
### 移除组织成员
-如果你具有 `Organization Owner` 角色,你可以从组织中移除组织成员。
+如果你拥有 `Organization Owner` 角色,可以将组织成员从你的组织中移除。
-要从组织中移除成员,请执行以下步骤:
+要将成员从组织中移除,请执行以下步骤:
> **注意:**
>
-> 如果成员从组织中移除,该成员也会从所属的项目中移除。
+> 如果成员被移除出组织,该成员也会被移除出其所属的项目。
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,使用左上角的组合框切换到目标组织。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,使用左上角下拉框切换到目标组织。
-2. 在左侧导航栏中,点击 **Organization Settings** > **Users**。
+2. 在左侧导航栏点击 **Organization Settings** > **Users**。
3. 在 **Users** 页面,点击 **By Organization** 标签页。
@@ -214,48 +214,48 @@ TiDB Cloud 定义了不同的用户角色来管理组织、项目或两者中 Ti
## 管理项目访问
-### 查看和切换项目
+### 查看并切换项目
-要查看和切换项目,请执行以下步骤:
+要查看并切换项目,请执行以下步骤:
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,点击左上角的组合框。显示你所属的组织和项目列表。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,点击左上角的下拉框,会显示你所属的组织和项目列表。
> **提示:**
>
- > - 如果你当前在特定集群的页面上,点击左上角的组合框后,还需要点击组合框中的 ← 返回组织和项目列表。
- > - 如果你是多个项目的成员,可以在组合框中点击目标项目名称,在项目之间切换。
+ > - 如果你当前在某个集群页面,点击左上角下拉框后,还需要在下拉框中点击 ← 返回到组织和项目列表。
+ > - 如果你属于多个项目,可以在下拉框中点击目标项目名称,在项目之间切换。
-2. 要查看项目的详细信息,请点击项目名称,然后在左侧导航栏中点击 **Project Settings**。
+2. 若要查看项目的详细信息,点击项目名称,然后在左侧导航栏点击 **Project Settings**。
### 创建项目
> **注意:**
>
-> 对于免费试用用户,你不能创建新项目。
+> 免费试用用户无法创建新项目。
-如果你具有 `Organization Owner` 角色,你可以在组织中创建项目。
+如果你拥有 `Organization Owner` 角色,可以在你的组织下创建项目。
要创建新项目,请执行以下步骤:
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,使用左上角的组合框切换到目标组织。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,使用左上角下拉框切换到目标组织。
-2. 在左侧导航栏中,点击 **Projects**。
+2. 在左侧导航栏点击 **Projects**。
3. 在 **Projects** 页面,点击 **Create New Project**。
-4. 输入项目名称。
+4. 输入你的项目名称。
5. 点击 **Confirm**。
### 重命名项目
-如果你具有 `Organization Owner` 角色,你可以重命名组织中的任何项目。如果你具有 `Project Owner` 角色,你可以重命名你的项目。
+如果你拥有 `Organization Owner` 角色,可以重命名你组织下的任意项目。如果你拥有 `Project Owner` 角色,可以重命名你的项目。
要重命名项目,请执行以下步骤:
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,使用左上角的组合框切换到目标组织。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,使用左上角下拉框切换到目标组织。
-2. 在左侧导航栏中,点击 **Projects**。
+2. 在左侧导航栏点击 **Projects**。
3. 在要重命名的项目所在行,点击 **...** > **Rename**。
@@ -265,47 +265,47 @@ TiDB Cloud 定义了不同的用户角色来管理组织、项目或两者中 Ti
### 邀请项目成员
-如果你具有 `Organization Owner` 或 `Project Owner` 角色,你可以邀请成员加入项目。
+如果你拥有 `Organization Owner` 或 `Project Owner` 角色,可以邀请成员加入你的项目。
> **注意:**
>
-> 当不在组织中的用户加入项目时,该用户也会自动加入组织。
+> 当某个不在你组织内的用户加入你的项目时,该用户也会自动加入你的组织。
要邀请成员加入项目,请执行以下步骤:
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,使用左上角的组合框切换到目标组织。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,使用左上角下拉框切换到目标组织。
-2. 在左侧导航栏中,点击 **Organization Settings** > **Users**。
+2. 在左侧导航栏点击 **Organization Settings** > **Users**。
3. 在 **Users** 页面,点击 **By Project** 标签页,然后在下拉列表中选择你的项目。
4. 点击 **Invite**。
-5. 输入要邀请的用户的电子邮件地址,然后为该用户选择项目角色。
+5. 输入要邀请用户的邮箱地址,然后为该用户选择一个项目角色。
> **提示:**
>
- > 如果你想一次邀请多个成员,可以输入多个电子邮件地址。
+ > 如果你想一次邀请多个成员,可以输入多个邮箱地址。
-6. 点击 **Confirm**。然后新用户成功添加到用户列表中。同时,系统会向被邀请的电子邮件地址发送一封包含验证链接的邮件。
+6. 点击 **Confirm**。新用户会被成功添加到用户列表,同时会向被邀请邮箱发送一封带有验证链接的邮件。
-7. 收到此邮件后,用户需要点击邮件中的链接验证身份,然后会显示一个新页面。
+7. 用户收到邮件后,需要点击邮件中的链接进行身份验证,页面会显示新的内容。
-8. 如果被邀请的电子邮件地址尚未注册 TiDB Cloud 账号,用户将被引导到注册页面创建账号。如果该电子邮件地址已注册 TiDB Cloud 账号,用户将被引导到登录页面。登录后,账号会自动加入项目。
+8. 如果被邀请邮箱尚未注册 TiDB Cloud 账户,用户会被引导至注册页面创建账户;如果邮箱已注册 TiDB Cloud 账户,用户会被引导至登录页面,登录后账户会自动加入项目。
> **注意:**
>
-> 邮件中的验证链接将在 24 小时后过期。如果你的用户没有收到邮件,请点击 **Resend**。
+> 邮件中的验证链接 24 小时内有效。如果你的用户未收到邮件,可点击 **Resend** 重新发送。
### 修改项目角色
-如果你具有 `Organization Owner` 角色,你可以修改组织中所有项目成员的项目角色。如果你具有 `Project Owner` 角色,你可以修改项目中所有成员的项目角色。
+如果你拥有 `Organization Owner` 角色,可以修改你组织下所有项目成员的项目角色。如果你拥有 `Project Owner` 角色,可以修改你项目下所有成员的项目角色。
要修改成员的项目角色,请执行以下步骤:
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,使用左上角的组合框切换到目标组织。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,使用左上角下拉框切换到目标组织。
-2. 在左侧导航栏中,点击 **Organization Settings** > **Users**。
+2. 在左侧导航栏点击 **Organization Settings** > **Users**。
3. 在 **Users** 页面,点击 **By Project** 标签页,然后在下拉列表中选择你的项目。
@@ -313,24 +313,24 @@ TiDB Cloud 定义了不同的用户角色来管理组织、项目或两者中 Ti
### 移除项目成员
-如果你具有 `Organization Owner` 或 `Project Owner` 角色,你可以移除项目成员。
+如果你拥有 `Organization Owner` 或 `Project Owner` 角色,可以移除项目成员。
-要从项目中移除成员,请执行以下步骤:
+要将成员从项目中移除,请执行以下步骤:
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,使用左上角的组合框切换到目标组织。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,使用左上角下拉框切换到目标组织。
-2. 在左侧导航栏中,点击 **Organization Settings** > **Users**。
+2. 在左侧导航栏点击 **Organization Settings** > **Users**。
3. 在 **Users** 页面,点击 **By Project** 标签页,然后在下拉列表中选择你的项目。
4. 在目标成员所在行,点击 **...** > **Delete**。
-## 管理用户配置文件
+## 管理用户资料
-在 TiDB Cloud 中,你可以轻松管理你的配置文件,包括名字、姓氏和电话号码。
+在 TiDB Cloud 中,你可以轻松管理你的个人资料,包括名字、姓氏和手机号。
1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,点击左下角的
。
2. 点击 **Account Settings**。
-3. 在显示的对话框中,更新配置文件信息,然后点击 **Update**。
+3. 在弹出的对话框中,更新个人资料信息,然后点击 **Update**。
\ No newline at end of file
diff --git a/tidb-cloud/migrate-from-mysql-using-aws-dms.md b/tidb-cloud/migrate-from-mysql-using-aws-dms.md
index 40b5feab13b36..afc08a30db7df 100644
--- a/tidb-cloud/migrate-from-mysql-using-aws-dms.md
+++ b/tidb-cloud/migrate-from-mysql-using-aws-dms.md
@@ -1,187 +1,188 @@
---
-title: 使用 AWS DMS 将 MySQL 兼容数据库迁移至 TiDB Cloud
-summary: 了解如何使用 AWS Database Migration Service (AWS DMS) 将数据从 MySQL 兼容数据库迁移至 TiDB Cloud。
+title: 使用 AWS DMS 将 MySQL 兼容数据库迁移到 TiDB Cloud
+summary: 了解如何使用 AWS Database Migration Service (AWS DMS) 将数据从 MySQL 兼容数据库迁移到 TiDB Cloud。
---
-# 使用 AWS DMS 将 MySQL 兼容数据库迁移至 TiDB Cloud
+# 使用 AWS DMS 将 MySQL 兼容数据库迁移到 TiDB Cloud
-如果你想迁移异构数据库(如 PostgreSQL、Oracle 和 SQL Server)到 TiDB Cloud,建议使用 AWS Database Migration Service (AWS DMS)。
+如果你想将异构数据库(如 PostgreSQL、Oracle 和 SQL Server)迁移到 TiDB Cloud,推荐使用 AWS Database Migration Service (AWS DMS)。
-AWS DMS 是一项云服务,可以轻松迁移关系数据库、数据仓库、NoSQL 数据库和其他类型的数据存储。你可以使用 AWS DMS 将数据迁移到 TiDB Cloud。
+AWS DMS 是一项云服务,可以轻松迁移关系型数据库、数据仓库、NoSQL 数据库以及其他类型的数据存储。你可以使用 AWS DMS 将数据迁移到 TiDB Cloud。
-本文以 Amazon RDS 为例,展示如何使用 AWS DMS 将数据迁移到 TiDB Cloud。此过程也适用于将数据从自托管 MySQL 数据库或 Amazon Aurora 迁移到 TiDB Cloud。
+本文档以 Amazon RDS 为例,演示如何使用 AWS DMS 将数据迁移到 TiDB Cloud。该流程同样适用于将自建 MySQL 数据库或 Amazon Aurora 的数据迁移到 TiDB Cloud。
-在本例中,数据源是 Amazon RDS,数据目标是 TiDB Cloud 中的 TiDB Cloud Dedicated 集群。上游和下游数据库都在同一区域。
+在本示例中,数据源为 Amazon RDS,数据目标为 TiDB Cloud 中的 TiDB Cloud Dedicated 集群。上下游数据库均位于同一区域。
## 前提条件
在开始迁移之前,请确保你已阅读以下内容:
-- 如果源数据库是 Amazon RDS 或 Amazon Aurora,你需要将 `binlog_format` 参数设置为 `ROW`。如果数据库使用默认参数组,`binlog_format` 参数默认为 `MIXED` 且无法修改。在这种情况下,你需要[创建一个新的参数组](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Prerequisites.html#CHAP_GettingStarted.Prerequisites.params),例如 `newset`,并将其 `binlog_format` 设置为 `ROW`。然后,[修改默认参数组](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithDBInstanceParamGroups.html#USER_WorkingWithParamGroups.Modifying)为 `newset`。请注意,修改参数组将重启数据库。
-- 检查并确保源数据库使用与 TiDB 兼容的排序规则。TiDB 中 utf8mb4 字符集的默认排序规则是 `utf8mb4_bin`。但在 MySQL 8.0 中,默认排序规则是 `utf8mb4_0900_ai_ci`。如果上游 MySQL 使用默认排序规则,由于 TiDB 不兼容 `utf8mb4_0900_ai_ci`,AWS DMS 无法在 TiDB 中创建目标表并且无法迁移数据。要解决此问题,你需要在迁移前将源数据库的排序规则修改为 `utf8mb4_bin`。有关 TiDB 支持的字符集和排序规则的完整列表,请参见[字符集和排序规则](https://docs.pingcap.com/tidb/stable/character-set-and-collation)。
-- TiDB 默认包含以下系统数据库:`INFORMATION_SCHEMA`、`PERFORMANCE_SCHEMA`、`mysql`、`sys` 和 `test`。当你创建 AWS DMS 迁移任务时,你需要过滤掉这些系统数据库,而不是使用默认的 `%` 来选择迁移对象。否则,AWS DMS 将尝试将这些系统数据库从源数据库迁移到目标 TiDB,这将导致任务失败。为避免此问题,建议填写具体的数据库和表名。
-- 将 AWS DMS 的公网和私网 IP 地址添加到源数据库和目标数据库的 IP 访问列表中。否则,在某些情况下网络连接可能会失败。
-- 使用 [VPC 对等连接](/tidb-cloud/set-up-vpc-peering-connections.md#在-aws-上设置-vpc-对等连接)或[私有端点连接](/tidb-cloud/set-up-private-endpoint-connections.md)来连接 AWS DMS 和 TiDB 集群。
-- 建议将 AWS DMS 和 TiDB 集群使用相同的区域,以获得更好的数据写入性能。
-- 建议使用 AWS DMS `dms.t3.large`(2 个 vCPU 和 8 GiB 内存)或更高实例类型。较小的实例类型可能会导致内存不足(OOM)错误。
-- AWS DMS 将在目标数据库中自动创建 `awsdms_control` 数据库。
+- 如果源数据库为 Amazon RDS 或 Amazon Aurora,需要将 `binlog_format` 参数设置为 `ROW`。如果数据库使用的是默认参数组,则 `binlog_format` 参数默认为 `MIXED`,且无法修改。此时,你需要[创建一个新的参数组](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Prerequisites.html#CHAP_GettingStarted.Prerequisites.params),例如 `newset`,并将其 `binlog_format` 设置为 `ROW`。然后,[将默认参数组修改为 `newset`](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithDBInstanceParamGroups.html#USER_WorkingWithParamGroups.Modifying)。注意,修改参数组会重启数据库。
+- 检查并确保源数据库使用的排序规则(collation)与 TiDB 兼容。TiDB 中 utf8mb4 字符集的默认排序规则为 `utf8mb4_bin`,但在 MySQL 8.0 中,默认排序规则为 `utf8mb4_0900_ai_ci`。如果上游 MySQL 使用默认排序规则,由于 TiDB 不兼容 `utf8mb4_0900_ai_ci`,AWS DMS 无法在 TiDB 中创建目标表,也无法迁移数据。为解决此问题,你需要在迁移前将源数据库的排序规则修改为 `utf8mb4_bin`。TiDB 支持的字符集和排序规则完整列表请参见 [Character Set and Collation](https://docs.pingcap.com/tidb/stable/character-set-and-collation)。
+- TiDB 默认包含以下系统数据库:`INFORMATION_SCHEMA`、`PERFORMANCE_SCHEMA`、`mysql`、`sys` 和 `test`。创建 AWS DMS 迁移任务时,需要过滤掉这些系统数据库,不能使用默认的 `%` 选择迁移对象。否则,AWS DMS 会尝试将这些系统数据库从源数据库迁移到目标 TiDB,导致任务失败。为避免此问题,建议填写具体的数据库和表名。
+- 将 AWS DMS 的公网和私网 IP 地址添加到源数据库和目标数据库的 IP 访问列表中。否则,在某些场景下网络连接可能会失败。
+- 使用 [VPC Peerings](/tidb-cloud/set-up-vpc-peering-connections.md#set-up-vpc-peering-on-aws) 或 [Private Endpoint connections](/tidb-cloud/set-up-private-endpoint-connections.md) 连接 AWS DMS 和 TiDB 集群。
+- 建议 AWS DMS 和 TiDB 集群使用同一区域,以获得更好的数据写入性能。
+- 建议使用 AWS DMS `dms.t3.large`(2 vCPU 和 8 GiB 内存)或更高规格的实例。小规格实例可能会导致内存溢出(OOM)错误。
+- AWS DMS 会自动在目标数据库中创建 `awsdms_control` 数据库。
## 限制
- AWS DMS 不支持复制 `DROP TABLE`。
-- AWS DMS 支持基本的架构迁移,包括创建表和主键。但是,AWS DMS 不会自动在 TiDB Cloud 中创建二级索引、外键或用户账户。如果需要,你必须手动在 TiDB 中创建这些对象,包括带有二级索引的表。更多信息,请参见 [Migration planning for AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html#CHAP_SettingUp.MigrationPlanning)。
+- AWS DMS 支持基础的架构迁移,包括创建表和主键。但 AWS DMS 不会自动在 TiDB Cloud 中创建二级索引、外键或用户账户。你需要在 TiDB 中手动创建这些对象,包括带有二级索引的表(如有需要)。更多信息请参见 [Migration planning for AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html#CHAP_SettingUp.MigrationPlanning)。
-## 步骤 1. 创建 AWS DMS 复制实例
+## 第 1 步:创建 AWS DMS 复制实例
-1. 在 AWS DMS 控制台中转到[复制实例](https://console.aws.amazon.com/dms/v2/home#replicationInstances)页面,并切换到相应的区域。建议 AWS DMS 使用与 TiDB Cloud 相同的区域。在本文档中,上游和下游数据库以及 DMS 实例都在 **us-west-2** 区域。
+1. 进入 AWS DMS 控制台的 [Replication instances](https://console.aws.amazon.com/dms/v2/home#replicationInstances) 页面,并切换到对应区域。建议 AWS DMS 与 TiDB Cloud 使用同一区域。本文档中,上下游数据库及 DMS 实例均位于 **us-west-2** 区域。
-2. 点击**创建复制实例**。
+2. 点击 **Create replication instance**。
- 
+ 
3. 填写实例名称、ARN 和描述。
-4. 填写实例配置:
- - **实例类型**:选择适当的实例类型。建议使用 `dms.t3.large` 或更高实例类型以获得更好的性能。
- - **引擎版本**:使用默认配置。
- - **多可用区**:根据业务需求选择**单可用区**或**多可用区**。
+4. 配置实例参数:
+ - **Instance class**:选择合适的实例规格。建议使用 `dms.t3.large` 或更高规格以获得更好性能。
+ - **Engine version**:使用默认配置。
+ - **Multi-AZ**:根据业务需求选择 **Single-AZ** 或 **Multi-AZ**。
-5. 在**分配存储(GiB)**字段中配置存储。使用默认配置。
+5. 在 **Allocated storage (GiB)** 字段配置存储空间。使用默认配置即可。
-6. 配置连接和安全性。
- - **网络类型 - 新**:选择 **IPv4**。
- - **IPv4 的虚拟私有云(VPC)**:选择你需要的 VPC。建议使用与上游数据库相同的 VPC 以简化网络配置。
- - **复制子网组**:为你的复制实例选择一个子网组。
- - **公共可访问**:使用默认配置。
+6. 配置网络和安全性。
+ - **Network type - new**:选择 **IPv4**。
+ - **Virtual private cloud (VPC) for IPv4**:选择所需的 VPC。建议与上游数据库使用同一个 VPC,以简化网络配置。
+ - **Replication subnet group**:为复制实例选择一个子网组。
+ - **Public accessible**:使用默认配置。
-7. 根据需要配置**高级设置**、**维护**和**标签**。点击**创建复制实例**完成实例创建。
+7. 如有需要,配置 **Advanced settings**、**Maintenance** 和 **Tags**。点击 **Create replication instance** 完成实例创建。
-## 步骤 2. 创建源数据库端点
+## 第 2 步:创建源数据库端点
-1. 在 [AWS DMS 控制台](https://console.aws.amazon.com/dms/v2/home)中,点击你刚刚创建的复制实例。复制公网和私网 IP 地址,如下图所示。
+1. 在 [AWS DMS 控制台](https://console.aws.amazon.com/dms/v2/home) 中,点击刚刚创建的复制实例。复制如下截图所示的公网和私网 IP 地址。
- 
+ 
-2. 配置 Amazon RDS 的安全组规则。在本例中,将 AWS DMS 实例的公网和私网 IP 地址添加到安全组中。
+2. 配置 Amazon RDS 的安全组规则。本示例中,将 AWS DMS 实例的公网和私网 IP 地址添加到安全组中。
- 
+ 
-3. 点击**创建端点**以创建源数据库端点。
+3. 点击 **Create endpoint** 创建源数据库端点。
- 
+ 
-4. 在本例中,点击**选择 RDS DB 实例**,然后选择源 RDS 实例。如果源数据库是自托管 MySQL,你可以跳过此步骤,直接在后续步骤中填写信息。
+4. 本示例中,点击 **Select RDS DB instance**,然后选择源 RDS 实例。如果源数据库为自建 MySQL,可以跳过此步骤,在后续步骤中填写相关信息。
- 
+ 
5. 配置以下信息:
- - **端点标识符**:为源端点创建一个标签,以帮助你在后续任务配置中识别它。
- - **描述性 Amazon Resource Name (ARN) - 可选**:为默认 DMS ARN 创建一个友好名称。
- - **源引擎**:选择 **MySQL**。
- - **访问端点数据库**:选择**手动提供访问信息**。
- - **服务器名称**:填写数据提供者的数据服务器名称。你可以从数据库控制台复制它。如果上游是 Amazon RDS 或 Amazon Aurora,名称将自动填充。如果是没有域名的自托管 MySQL,你可以填写 IP 地址。
- - 填写源数据库的**端口**、**用户名**和**密码**。
- - **安全套接字层 (SSL) 模式**:你可以根据需要启用 SSL 模式。
+ - **Endpoint identifier**:为源端点创建一个标签,便于后续任务配置时识别。
+ - **Descriptive Amazon Resource Name (ARN) - optional**:为默认 DMS ARN 创建一个友好名称。
+ - **Source engine**:选择 **MySQL**。
+ - **Access to endpoint database**:选择 **Provide access information manually**。
+ - **Server name**:填写数据服务器的名称。可从数据库控制台复制。如果上游为 Amazon RDS 或 Amazon Aurora,名称会自动填写。如果是无域名的自建 MySQL,可填写 IP 地址。
+ - 填写源数据库的 **Port**、**Username** 和 **Password**。
+ - **Secure Socket Layer (SSL) mode**:可根据需要启用 SSL 模式。
- 
+ 
-6. 对于**端点设置**、**KMS 密钥**和**标签**,使用默认值。在**测试端点连接(可选)**部分,建议选择与源数据库相同的 VPC 以简化网络配置。选择相应的复制实例,然后点击**运行测试**。状态需要为**成功**。
+6. **Endpoint settings**、**KMS key** 和 **Tags** 使用默认值。在 **Test endpoint connection (optional)** 部分,建议选择与源数据库相同的 VPC,以简化网络配置。选择对应的复制实例,然后点击 **Run test**。状态需为 **successful**。
-7. 点击**创建端点**。
+7. 点击 **Create endpoint**。
- 
-## 步骤 3. 创建目标数据库端点
+ 
-1. 在 [AWS DMS 控制台](https://console.aws.amazon.com/dms/v2/home)中,点击你刚刚创建的复制实例。复制公网和私网 IP 地址,如下图所示。
+## 第 3 步:创建目标数据库端点
- 
+1. 在 [AWS DMS 控制台](https://console.aws.amazon.com/dms/v2/home) 中,点击刚刚创建的复制实例。复制如下截图所示的公网和私网 IP 地址。
-2. 在 TiDB Cloud 控制台中,转到[**集群**](https://tidbcloud.com/project/clusters)页面,点击目标集群的名称,然后点击右上角的**连接**以获取 TiDB Cloud 数据库连接信息。
+ 
-3. 在对话框中的**步骤 1:创建流量过滤器**下,点击**编辑**,输入你从 AWS DMS 控制台复制的公网和私网 IP 地址,然后点击**更新过滤器**。建议同时将 AWS DMS 复制实例的公网 IP 地址和私网 IP 地址添加到 TiDB 集群的流量过滤器中。否则,在某些情况下 AWS DMS 可能无法连接到 TiDB 集群。
+2. 在 TiDB Cloud 控制台,进入 [**Clusters**](https://tidbcloud.com/project/clusters) 页面,点击目标集群名称,然后点击右上角的 **Connect** 获取 TiDB Cloud 数据库连接信息。
-4. 点击**下载 CA 证书**以下载 CA 证书。在对话框中的**步骤 3:使用 SQL 客户端连接**下,记下连接字符串中的 `-u`、`-h` 和 `-P` 信息,以供后续使用。
+3. 在弹窗的 **Step 1: Create traffic filter** 下,点击 **Edit**,输入从 AWS DMS 控制台复制的公网和私网 IP 地址,然后点击 **Update Filter**。建议同时将 AWS DMS 复制实例的公网和私网 IP 地址添加到 TiDB 集群流量过滤器,否则在某些场景下 AWS DMS 可能无法连接 TiDB 集群。
-5. 在对话框中点击 **VPC 对等连接**选项卡,然后在**步骤 1:设置 VPC**下点击**添加**,为 TiDB 集群和 AWS DMS 创建 VPC 对等连接。
+4. 点击 **Download CA cert** 下载 CA 证书。在弹窗的 **Step 3: Connect with a SQL client** 下,记录连接串中的 `-u`、`-h` 和 `-P` 信息,后续会用到。
-6. 配置相应的信息。请参见[设置 VPC 对等连接](/tidb-cloud/set-up-vpc-peering-connections.md)。
+5. 点击弹窗中的 **VPC Peering** 标签页,在 **Step 1: Set up VPC** 下点击 **Add**,为 TiDB 集群和 AWS DMS 创建 VPC Peering 连接。
-7. 为 TiDB 集群配置目标端点。
- - **端点类型**:选择**目标端点**。
- - **端点标识符**:为端点填写一个名称。
- - **描述性 Amazon Resource Name (ARN) - 可选**:为默认 DMS ARN 创建一个友好名称。
- - **目标引擎**:选择 **MySQL**。
+6. 配置相关信息,详见 [Set Up VPC Peering Connections](/tidb-cloud/set-up-vpc-peering-connections.md)。
- 
+7. 配置 TiDB 集群的目标端点。
+ - **Endpoint type**:选择 **Target endpoint**。
+ - **Endpoint identifier**:填写端点名称。
+ - **Descriptive Amazon Resource Name (ARN) - optional**:为默认 DMS ARN 创建一个友好名称。
+ - **Target engine**:选择 **MySQL**。
-8. 在 [AWS DMS 控制台](https://console.aws.amazon.com/dms/v2/home)中,点击**创建端点**以创建目标数据库端点,然后配置以下信息:
- - **服务器名称**:填写你的 TiDB 集群的主机名,即你记录的 `-h` 信息。
- - **端口**:输入你的 TiDB 集群的端口,即你记录的 `-P` 信息。TiDB 集群的默认端口是 4000。
- - **用户名**:输入你的 TiDB 集群的用户名,即你记录的 `-u` 信息。
- - **密码**:输入你的 TiDB 集群的密码。
- - **安全套接字层 (SSL) 模式**:选择 **Verify-ca**。
- - 点击**添加新的 CA 证书**以导入之前从 TiDB Cloud 控制台下载的 CA 文件。
+ 
- 
+8. 在 [AWS DMS 控制台](https://console.aws.amazon.com/dms/v2/home) 中,点击 **Create endpoint** 创建目标数据库端点,并配置以下信息:
+ - **Server name**:填写 TiDB 集群的主机名,即你记录的 `-h` 信息。
+ - **Port**:填写 TiDB 集群的端口,即你记录的 `-P` 信息。TiDB 集群默认端口为 4000。
+ - **User name**:填写 TiDB 集群的用户名,即你记录的 `-u` 信息。
+ - **Password**:填写 TiDB 集群的密码。
+ - **Secure Socket Layer (SSL) mode**:选择 **Verify-ca**。
+ - 点击 **Add new CA certificate**,导入前面从 TiDB Cloud 控制台下载的 CA 文件。
+
+ 
9. 导入 CA 文件。
- 
+ 
-10. 对于**端点设置**、**KMS 密钥**和**标签**,使用默认值。在**测试端点连接(可选)**部分,选择与源数据库相同的 VPC。选择相应的复制实例,然后点击**运行测试**。状态需要为**成功**。
+10. **Endpoint settings**、**KMS key** 和 **Tags** 使用默认值。在 **Test endpoint connection (optional)** 部分,选择与源数据库相同的 VPC。选择对应的复制实例,然后点击 **Run test**。状态需为 **successful**。
-11. 点击**创建端点**。
+11. 点击 **Create endpoint**。
- 
+ 
-## 步骤 4. 创建数据库迁移任务
+## 第 4 步:创建数据库迁移任务
-1. 在 AWS DMS 控制台中,转到[数据迁移任务](https://console.aws.amazon.com/dms/v2/home#tasks)页面。切换到你的区域。然后点击窗口右上角的**创建任务**。
+1. 在 AWS DMS 控制台,进入 [Data migration tasks](https://console.aws.amazon.com/dms/v2/home#tasks) 页面。切换到你的区域,然后点击窗口右上角的 **Create task**。
- 
+ 
2. 配置以下信息:
- - **任务标识符**:为任务填写一个名称。建议使用容易记住的名称。
- - **描述性 Amazon Resource Name (ARN) - 可选**:为默认 DMS ARN 创建一个友好名称。
- - **复制实例**:选择你刚刚创建的 AWS DMS 实例。
- - **源数据库端点**:选择你刚刚创建的源数据库端点。
- - **目标数据库端点**:选择你刚刚创建的目标数据库端点。
- - **迁移类型**:根据需要选择迁移类型。在本例中,选择**迁移现有数据并复制持续变更**。
+ - **Task identifier**:填写任务名称。建议使用易于记忆的名称。
+ - **Descriptive Amazon Resource Name (ARN) - optional**:为默认 DMS ARN 创建一个友好名称。
+ - **Replication instance**:选择刚刚创建的 AWS DMS 实例。
+ - **Source database endpoint**:选择刚刚创建的源数据库端点。
+ - **Target database endpoint**:选择刚刚创建的目标数据库端点。
+ - **Migration type**:根据需要选择迁移类型。本示例选择 **Migrate existing data and replicate ongoing changes**。
- 
+ 
3. 配置以下信息:
- - **编辑模式**:选择**向导**。
- - **源事务的自定义 CDC 停止模式**:使用默认设置。
- - **目标表准备模式**:根据需要选择**不执行任何操作**或其他选项。在本例中,选择**不执行任何操作**。
- - **完成全量加载后停止任务**:使用默认设置。
- - **在复制中包含 LOB 列**:选择**有限 LOB 模式**。
- - **最大 LOB 大小(KB)**:使用默认值 **32**。
- - **开启验证**:根据需要选择。
- - **任务日志**:选择**开启 CloudWatch 日志**以便将来进行故障排除。对相关配置使用默认设置。
+ - **Editing mode**:选择 **Wizard**。
+ - **Custom CDC stop mode for source transactions**:使用默认设置。
+ - **Target table preparation mode**:选择 **Do nothing** 或根据需要选择其他选项。本示例选择 **Do nothing**。
+ - **Stop task after full load completes**:使用默认设置。
+ - **Include LOB columns in replication**:选择 **Limited LOB mode**。
+ - **Maximum LOB size in (KB)**:使用默认值 **32**。
+ - **Turn on validation**:根据需要选择。
+ - **Task logs**:选择 **Turn on CloudWatch logs** 以便后续排查问题。相关配置使用默认设置。
- 
+ 
-4. 在**表映射**部分,指定要迁移的数据库。
+4. 在 **Table mappings** 部分,指定需要迁移的数据库。
- 架构名称是 Amazon RDS 实例中的数据库名称。**源名称**的默认值是"%",这意味着 Amazon RDS 中的所有数据库都将迁移到 TiDB。这将导致 Amazon RDS 中的系统数据库(如 `mysql` 和 `sys`)被迁移到 TiDB 集群,并导致任务失败。因此,建议填写具体的数据库名称,或过滤掉所有系统数据库。例如,根据以下截图中的设置,只有名为 `franktest` 的数据库及其所有表会被迁移。
+ schema 名称即为 Amazon RDS 实例中的数据库名。**Source name** 的默认值为 "%",表示将 Amazon RDS 中所有数据库迁移到 TiDB,这会导致 Amazon RDS 中的 `mysql`、`sys` 等系统数据库也被迁移到 TiDB 集群,进而导致任务失败。因此,建议填写具体的数据库名,或过滤掉所有系统数据库。例如,按照下图设置,仅会迁移名为 `franktest` 的数据库及其所有表。
- 
+ 
-5. 点击右下角的**创建任务**。
+5. 点击右下角的 **Create task**。
-6. 返回[数据迁移任务](https://console.aws.amazon.com/dms/v2/home#tasks)页面。切换到你的区域。你可以看到任务的状态和进度。
+6. 返回 [Data migration tasks](https://console.aws.amazon.com/dms/v2/home#tasks) 页面,切换到你的区域,可以查看任务的状态和进度。
- 
+ 
-如果在迁移过程中遇到任何问题或失败,你可以在 [CloudWatch](https://console.aws.amazon.com/cloudwatch/home) 中查看日志信息以排除问题。
+如果在迁移过程中遇到任何问题或失败,可以在 [CloudWatch](https://console.aws.amazon.com/cloudwatch/home) 中查看日志信息进行排查。
-
+
-## 另请参阅
+## 参见
-- 如果你想了解更多关于如何将 AWS DMS 连接到 TiDB Cloud Serverless 或 TiDB Cloud Dedicated 的信息,请参见[将 AWS DMS 连接到 TiDB Cloud 集群](/tidb-cloud/tidb-cloud-connect-aws-dms.md)。
+- 如果你想了解更多关于如何将 AWS DMS 连接到 TiDB Cloud Serverless 或 TiDB Cloud Dedicated 的信息,请参见 [Connect AWS DMS to TiDB Cloud clusters](/tidb-cloud/tidb-cloud-connect-aws-dms.md)。
-- 如果你想从 MySQL 兼容数据库(如 Aurora MySQL 和 Amazon Relational Database Service (RDS))迁移到 TiDB Cloud,建议使用 [TiDB Cloud 上的数据迁移](/tidb-cloud/migrate-from-mysql-using-data-migration.md)。
+- 如果你想将 MySQL 兼容数据库(如 Aurora MySQL 和 Amazon Relational Database Service (RDS))迁移到 TiDB Cloud,推荐使用 [Data Migration on TiDB Cloud](/tidb-cloud/migrate-from-mysql-using-data-migration.md)。
-- 如果你想使用 AWS DMS 将 Amazon RDS for Oracle 迁移到 TiDB Cloud Serverless,请参见[使用 AWS DMS 将 Amazon RDS for Oracle 迁移到 TiDB Cloud Serverless](/tidb-cloud/migrate-from-oracle-using-aws-dms.md)。
+- 如果你想使用 AWS DMS 将 Amazon RDS for Oracle 迁移到 TiDB Cloud Serverless,请参见 [Migrate from Amazon RDS for Oracle to TiDB Cloud Serverless Using AWS DMS](/tidb-cloud/migrate-from-oracle-using-aws-dms.md)。
\ No newline at end of file
diff --git a/tidb-cloud/migrate-from-oracle-using-aws-dms.md b/tidb-cloud/migrate-from-oracle-using-aws-dms.md
index 62469e6a174c9..bda68f26bb801 100644
--- a/tidb-cloud/migrate-from-oracle-using-aws-dms.md
+++ b/tidb-cloud/migrate-from-oracle-using-aws-dms.md
@@ -1,73 +1,73 @@
---
-title: 使用 AWS DMS 从 Amazon RDS for Oracle 迁移到 TiDB Cloud
+title: 使用 AWS DMS 将 Amazon RDS for Oracle 迁移到 TiDB Cloud
summary: 了解如何使用 AWS Database Migration Service (AWS DMS) 将数据从 Amazon RDS for Oracle 迁移到 TiDB Cloud Serverless。
---
-# 使用 AWS DMS 从 Amazon RDS for Oracle 迁移到 TiDB Cloud
+# 使用 AWS DMS 将 Amazon RDS for Oracle 迁移到 TiDB Cloud
-本文档提供了一个分步示例,说明如何使用 AWS Database Migration Service (AWS DMS) 将数据从 Amazon RDS for Oracle 迁移到 [TiDB Cloud Serverless](https://tidbcloud.com/clusters/create-cluster)。
+本文档描述了如何使用 AWS Database Migration Service (AWS DMS) 将数据从 Amazon RDS for Oracle 迁移到 [TiDB Cloud Serverless](https://tidbcloud.com/clusters/create-cluster) 的分步示例。
如果你想了解更多关于 TiDB Cloud 和 AWS DMS 的信息,请参阅以下内容:
- [TiDB Cloud](https://docs.pingcap.com/tidbcloud/)
-- [TiDB 开发者指南](https://docs.pingcap.com/tidbcloud/dev-guide-overview)
-- [AWS DMS 文档](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html)
+- [TiDB Developer Guide](https://docs.pingcap.com/tidbcloud/dev-guide-overview)
+- [AWS DMS Documentation](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html)
## 为什么使用 AWS DMS?
-AWS DMS 是一项云服务,可用于迁移关系型数据库、数据仓库、NoSQL 数据库和其他类型的数据存储。
+AWS DMS 是一项云服务,可以实现关系型数据库、数据仓库、NoSQL 数据库以及其他类型数据存储的迁移。
-如果你想从异构数据库(如 PostgreSQL、Oracle 和 SQL Server)迁移数据到 TiDB Cloud,建议使用 AWS DMS。
+如果你希望将数据从异构数据库(如 PostgreSQL、Oracle 和 SQL Server)迁移到 TiDB Cloud,推荐使用 AWS DMS。
## 部署架构
-总体上,需要执行以下步骤:
+总体上,按照以下步骤操作:
-1. 设置源 Amazon RDS for Oracle。
-2. 设置目标 [TiDB Cloud Serverless](https://tidbcloud.com/project/clusters/create-cluster)。
+1. 搭建源端 Amazon RDS for Oracle。
+2. 搭建目标端 [TiDB Cloud Serverless](https://tidbcloud.com/project/clusters/create-cluster)。
3. 使用 AWS DMS 设置数据迁移(全量加载)。
-下图展示了高级架构。
+下图展示了高层次的架构。
-
+
-## 前提条件
+## 前置条件
-开始之前,请阅读以下前提条件:
+在开始之前,请阅读以下前置条件:
-- [AWS DMS 前提条件](/tidb-cloud/migrate-from-mysql-using-aws-dms.md#prerequisites)
-- [AWS Cloud 账户](https://aws.amazon.com)
-- [TiDB Cloud 账户](https://tidbcloud.com)
+- [AWS DMS 前置条件](/tidb-cloud/migrate-from-mysql-using-aws-dms.md#prerequisites)
+- [AWS 云账号](https://aws.amazon.com)
+- [TiDB Cloud 账号](https://tidbcloud.com)
- [DBeaver](https://dbeaver.io/)
接下来,你将学习如何使用 AWS DMS 将数据从 Amazon RDS for Oracle 迁移到 TiDB Cloud。
## 步骤 1. 创建 VPC
-登录 [AWS 控制台](https://console.aws.amazon.com/vpc/home#vpcs:) 并创建一个 AWS VPC。你稍后需要在此 VPC 中创建 Oracle RDS 和 DMS 实例。
+登录 [AWS 控制台](https://console.aws.amazon.com/vpc/home#vpcs:) 并创建一个 AWS VPC。你需要在该 VPC 中后续创建 Oracle RDS 和 DMS 实例。
-有关如何创建 VPC 的说明,请参阅[创建 VPC](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#Create-VPC)。
+关于如何创建 VPC 的详细说明,请参阅 [创建 VPC](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#Create-VPC)。
-
+
## 步骤 2. 创建 Oracle 数据库实例
-在刚刚创建的 VPC 中创建一个 Oracle 数据库实例,记住密码并授予公共访问权限。你必须启用公共访问才能使用 AWS Schema Conversion Tool。请注意,不建议在生产环境中授予公共访问权限。
+在你刚刚创建的 VPC 中创建一个 Oracle 数据库实例,并记住密码,同时授予其公网访问权限。你必须启用公网访问以使用 AWS Schema Conversion Tool。注意,在生产环境中不推荐授予公网访问权限。
-有关如何创建 Oracle 数据库实例的说明,请参阅[创建 Oracle 数据库实例并连接到 Oracle 数据库实例上的数据库](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.Oracle.html)。
+关于如何创建 Oracle 数据库实例的详细说明,请参阅 [创建 Oracle 数据库实例并连接数据库](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.Oracle.html)。
-
+
## 步骤 3. 在 Oracle 中准备表数据
-使用以下脚本在 github_events 表中创建并填充 10000 行数据。你可以使用 github 事件数据集,并从 [GH Archive](https://gharchive.org/) 下载。它包含 10000 行数据。在 Oracle 中执行以下 SQL 脚本。
+使用以下脚本在 github_events 表中创建并填充 10000 行数据。你可以使用 github event 数据集,并从 [GH Archive](https://gharchive.org/) 下载。该数据集包含 10000 行数据。使用以下 SQL 脚本在 Oracle 中执行。
- [table_schema_oracle.sql](https://github.com/pingcap-inc/tidb-integration-script/blob/main/aws-dms/oracle_table_schema.sql)
- [oracle_data.sql](https://github.com/pingcap-inc/tidb-integration-script/blob/main/aws-dms/oracle_data.sql)
-执行完 SQL 脚本后,检查 Oracle 中的数据。以下示例使用 [DBeaver](https://dbeaver.io/) 查询数据:
+执行完 SQL 脚本后,在 Oracle 中检查数据。以下示例使用 [DBeaver](https://dbeaver.io/) 查询数据:
-
+
## 步骤 4. 创建 TiDB Cloud Serverless 集群
@@ -75,83 +75,83 @@ AWS DMS 是一项云服务,可用于迁移关系型数据库、数据仓库、
2. [创建 TiDB Cloud Serverless 集群](/tidb-cloud/tidb-cloud-quickstart.md)。
-3. 在[**集群**](https://tidbcloud.com/project/clusters)页面,点击目标集群名称进入其概览页面。
+3. 在 [**Clusters**](https://tidbcloud.com/project/clusters) 页面,点击目标集群名称进入其概览页面。
-4. 在右上角,点击**连接**。
+4. 在右上角点击 **Connect**。
-5. 点击**生成密码**生成密码并复制生成的密码。
+5. 点击 **Generate Password** 生成密码,并复制生成的密码。
## 步骤 5. 创建 AWS DMS 复制实例
-1. 在 AWS DMS 控制台中转到[复制实例](https://console.aws.amazon.com/dms/v2/home#replicationInstances)页面,并切换到相应的区域。
+1. 进入 AWS DMS 控制台的 [Replication instances](https://console.aws.amazon.com/dms/v2/home#replicationInstances) 页面,并切换到对应区域。
2. 在 VPC 中创建一个 `dms.t3.large` 的 AWS DMS 复制实例。
- 
+ 
-> **注意:**
+> **Note:**
>
-> 有关创建与 TiDB Cloud Serverless 配合使用的 AWS DMS 复制实例的详细步骤,请参阅[将 AWS DMS 连接到 TiDB Cloud 集群](/tidb-cloud/tidb-cloud-connect-aws-dms.md)。
+> 关于创建可用于 TiDB Cloud Serverless 的 AWS DMS 复制实例的详细步骤,请参阅 [连接 AWS DMS 到 TiDB Cloud 集群](/tidb-cloud/tidb-cloud-connect-aws-dms.md)。
## 步骤 6. 创建 DMS 端点
-1. 在 [AWS DMS 控制台](https://console.aws.amazon.com/dms/v2/home)中,点击左侧窗格中的 `Endpoints` 菜单项。
+1. 在 [AWS DMS 控制台](https://console.aws.amazon.com/dms/v2/home) 左侧点击 `Endpoints` 菜单项。
2. 创建 Oracle 源端点和 TiDB 目标端点。
- 以下截图显示了源端点的配置。
+ 下图展示了源端点的配置。
- 
+ 
- 以下截图显示了目标端点的配置。
+ 下图展示了目标端点的配置。
- 
+ 
-> **注意:**
+> **Note:**
>
-> 有关创建 TiDB Cloud Serverless DMS 端点的详细步骤,请参阅[将 AWS DMS 连接到 TiDB Cloud 集群](/tidb-cloud/tidb-cloud-connect-aws-dms.md)。
+> 关于创建 TiDB Cloud Serverless DMS 端点的详细步骤,请参阅 [连接 AWS DMS 到 TiDB Cloud 集群](/tidb-cloud/tidb-cloud-connect-aws-dms.md)。
-## 步骤 7. 迁移架构
+## 步骤 7. 迁移表结构
-在本示例中,由于架构定义简单,AWS DMS 会自动处理架构。
+在本示例中,AWS DMS 会自动处理表结构,因为表结构定义较为简单。
-如果你决定使用 AWS Schema Conversion Tool 迁移架构,请参阅[安装 AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.Procedure)。
+如果你决定使用 AWS Schema Conversion Tool 迁移表结构,请参阅 [安装 AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.Procedure)。
-更多信息,请参阅[使用 AWS SCT 将源架构迁移到目标数据库](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.SCT.html)。
+更多信息请参阅 [使用 AWS SCT 将源表结构迁移到目标数据库](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.SCT.html)。
## 步骤 8. 创建数据库迁移任务
-1. 在 AWS DMS 控制台中,转到[数据迁移任务](https://console.aws.amazon.com/dms/v2/home#tasks)页面。切换到你的区域。然后点击窗口右上角的**创建任务**。
+1. 在 AWS DMS 控制台,进入 [Data migration tasks](https://console.aws.amazon.com/dms/v2/home#tasks) 页面。切换到你的区域,然后点击窗口右上角的 **Create task**。
- 
+ 
-2. 创建数据库迁移任务并指定**选择规则**:
+2. 创建数据库迁移任务,并指定 **Selection rules**:
- 
+ 
- 
+ 
-3. 创建任务,启动它,然后等待任务完成。
+3. 创建任务,启动任务,然后等待任务完成。
-4. 点击**表统计信息**检查表。架构名称是 `ADMIN`。
+4. 点击 **Table statistics** 检查表。表结构名称为 `ADMIN`。
- 
+ 
## 步骤 9. 检查下游 TiDB 集群中的数据
-连接到 [TiDB Cloud Serverless 集群](https://tidbcloud.com/clusters/create-cluster)并检查 `admin.github_event` 表数据。如下截图所示,DMS 成功迁移了表 `github_events` 和 10000 行数据。
+连接到 [TiDB Cloud Serverless 集群](https://tidbcloud.com/clusters/create-cluster),检查 `admin.github_event` 表中的数据。如下面截图所示,DMS 已成功迁移表 `github_events` 及 10000 行数据。
-
+
## 总结
-使用 AWS DMS,你可以按照本文档中的示例成功地从任何上游 AWS RDS 数据库迁移数据。
+通过 AWS DMS,你可以按照本文档的示例成功将数据从任意上游 AWS RDS 数据库迁移。
-如果在迁移过程中遇到任何问题或失败,你可以在 [CloudWatch](https://console.aws.amazon.com/cloudwatch/home) 中检查日志信息来排查问题。
+如果在迁移过程中遇到任何问题或失败,可以在 [CloudWatch](https://console.aws.amazon.com/cloudwatch/home) 中查看日志信息以排查问题。
-
+
-## 另请参阅
+## 参见
- [使用 AWS DMS 从 MySQL 兼容数据库迁移](/tidb-cloud/migrate-from-mysql-using-aws-dms.md)
-- [将 AWS DMS 连接到 TiDB Cloud 集群](/tidb-cloud/tidb-cloud-connect-aws-dms.md)
+- [连接 AWS DMS 到 TiDB Cloud 集群](/tidb-cloud/tidb-cloud-connect-aws-dms.md)
diff --git a/tidb-cloud/migrate-sql-shards.md b/tidb-cloud/migrate-sql-shards.md
index 3315564b5470a..3f056f57715bc 100644
--- a/tidb-cloud/migrate-sql-shards.md
+++ b/tidb-cloud/migrate-sql-shards.md
@@ -1,17 +1,17 @@
---
-title: 将大规模 MySQL 分片数据迁移和合并到 TiDB Cloud
-summary: 了解如何将大规模 MySQL 分片数据迁移和合并到 TiDB Cloud。
+title: 将大规模 MySQL 分片数据迁移并合并到 TiDB Cloud
+summary: 了解如何将大规模 MySQL 分片数据迁移并合并到 TiDB Cloud。
---
-# 将大规模 MySQL 分片数据迁移和合并到 TiDB Cloud
+# 将大规模 MySQL 分片数据迁移并合并到 TiDB Cloud
-本文档介绍如何将大规模 MySQL 数据集(例如,超过 1 TiB)从不同分区迁移到 TiDB Cloud。完成全量数据迁移后,你可以根据业务需求使用 [TiDB Data Migration (DM)](https://docs.pingcap.com/tidb/stable/dm-overview) 执行增量迁移。
+本文档介绍如何将大规模 MySQL 数据集(例如,大于 1 TiB)从不同分区迁移到 TiDB Cloud。完成全量数据迁移后,你可以根据业务需求,使用 [TiDB Data Migration (DM)](https://docs.pingcap.com/tidb/stable/dm-overview) 进行增量迁移。
-本文档中的示例使用了跨多个 MySQL 实例的复杂分片迁移任务,并涉及处理自增主键的冲突。本示例中的场景也适用于合并单个 MySQL 实例中不同分片表的数据。
+本文档中的示例使用了跨多个 MySQL 实例的复杂分片迁移任务,并涉及自增主键冲突的处理。本示例场景同样适用于在单个 MySQL 实例内合并不同分片表的数据。
-## 示例环境信息
+## 示例中的环境信息
-本节描述示例中使用的上游集群、DM 和下游集群的基本信息。
+本节介绍示例中所用上游集群、DM 以及下游集群的基本信息。
### 上游集群
@@ -38,7 +38,7 @@ summary: 了解如何将大规模 MySQL 分片数据迁移和合并到 TiDB Clou
### DM
-DM 的版本是 v5.3.0。你需要手动部署 TiDB DM。详细步骤,请参见[使用 TiUP 部署 DM 集群](https://docs.pingcap.com/tidb/stable/deploy-a-dm-cluster-using-tiup)。
+DM 的版本为 v5.3.0。你需要手动部署 TiDB DM。详细步骤参见 [Deploy a DM Cluster Using TiUP](https://docs.pingcap.com/tidb/stable/deploy-a-dm-cluster-using-tiup)。
### 外部存储
@@ -46,72 +46,73 @@ DM 的版本是 v5.3.0。你需要手动部署 TiDB DM。详细步骤,请参
### 下游集群
-分片的 schema 和表被合并到表 `store.sales` 中。
-## 从 MySQL 到 TiDB Cloud 执行全量数据迁移
+分片的 schema 和表将被合并到表 `store.sales` 中。
-以下是将 MySQL 分片的全量数据迁移和合并到 TiDB Cloud 的步骤。
+## 从 MySQL 到 TiDB Cloud 的全量数据迁移
-在以下示例中,你只需要将表中的数据导出为 **CSV** 格式。
+以下是将 MySQL 分片的全量数据迁移并合并到 TiDB Cloud 的流程。
-### 步骤 1. 在 Amazon S3 存储桶中创建目录
+在以下示例中,你只需将表中的数据导出为 **CSV** 格式。
-在 Amazon S3 存储桶中创建一个一级目录 `store`(对应数据库级别)和一个二级目录 `sales`(对应表级别)。在 `sales` 中,为每个 MySQL 实例创建一个三级目录(对应 MySQL 实例级别)。例如:
+### 步骤 1. 在 Amazon S3 bucket 中创建目录
-- 将 MySQL 实例 1 中的数据迁移到 `s3://dumpling-s3/store/sales/instance01/`
-- 将 MySQL 实例 2 中的数据迁移到 `s3://dumpling-s3/store/sales/instance02/`
+在 Amazon S3 bucket 中创建一级目录 `store`(对应数据库级别)和二级目录 `sales`(对应表级别)。在 `sales` 下,为每个 MySQL 实例创建三级目录(对应 MySQL 实例级别)。例如:
-如果有跨多个实例的分片,你可以为每个数据库创建一个一级目录,为每个分片表创建一个二级目录。然后为每个 MySQL 实例创建一个三级目录,以便于管理。例如,如果你想将 MySQL 实例 1 和 MySQL 实例 2 中的表 `stock_N.product_N` 迁移和合并到 TiDB Cloud 中的表 `stock.products`,你可以创建以下目录:
+- 将 MySQL 实例 1 的数据迁移到 `s3://dumpling-s3/store/sales/instance01/`
+- 将 MySQL 实例 2 的数据迁移到 `s3://dumpling-s3/store/sales/instance02/`
+
+如果存在跨多个实例的分片,可以为每个数据库创建一个一级目录,为每个分片表创建一个二级目录,然后为每个 MySQL 实例创建一个三级目录以便管理。例如,如果你希望将 MySQL 实例 1 和实例 2 的 `stock_N.product_N` 表合并迁移到 TiDB Cloud 的 `stock.products` 表,可以创建如下目录:
- `s3://dumpling-s3/stock/products/instance01/`
- `s3://dumpling-s3/stock/products/instance02/`
-### 步骤 2. 使用 Dumpling 将数据导出到 Amazon S3
+### 步骤 2. 使用 Dumpling 导出数据到 Amazon S3
-有关如何安装 Dumpling 的信息,请参见 [Dumpling 简介](https://docs.pingcap.com/tidb/stable/dumpling-overview)。
+关于如何安装 Dumpling,参见 [Dumpling Introduction](https://docs.pingcap.com/tidb/stable/dumpling-overview)。
-使用 Dumpling 将数据导出到 Amazon S3 时,请注意以下事项:
+使用 Dumpling 导出数据到 Amazon S3 时,注意以下事项:
-- 为上游集群启用 binlog。
+- 为上游集群开启 binlog。
- 选择正确的 Amazon S3 目录和区域。
-- 通过配置 `-t` 选项选择适当的并发度,以最小化对上游集群的影响,或直接从备份数据库导出。有关如何使用此参数的更多信息,请参见 [Dumpling 参数列表](https://docs.pingcap.com/tidb/stable/dumpling-overview#option-list-of-dumpling)。
-- 为 `--filetype csv` 和 `--no-schemas` 设置适当的值。有关如何使用这些参数的更多信息,请参见 [Dumpling 参数列表](https://docs.pingcap.com/tidb/stable/dumpling-overview#option-list-of-dumpling)。
+- 通过配置 `-t` 选项选择合适的并发度,以最小化对上游集群的影响,或直接从备份库导出。关于该参数的更多用法,参见 [Option list of Dumpling](https://docs.pingcap.com/tidb/stable/dumpling-overview#option-list-of-dumpling)。
+- 为 `--filetype csv` 和 `--no-schemas` 设置合适的值。关于这些参数的更多用法,参见 [Option list of Dumpling](https://docs.pingcap.com/tidb/stable/dumpling-overview#option-list-of-dumpling)。
-CSV 文件的命名规则如下:
+CSV 文件命名规则如下:
-- 如果一个表的数据被分成多个 CSV 文件,在这些 CSV 文件后面添加数字后缀。例如,`${db_name}.${table_name}.000001.csv` 和 `${db_name}.${table_name}.000002.csv`。数字后缀可以不连续但必须按升序排列。你还需要在数字前添加额外的零,以确保所有后缀的长度相同。
+- 如果一个表的数据被分割成多个 CSV 文件,需为这些 CSV 文件添加数字后缀。例如,`${db_name}.${table_name}.000001.csv` 和 `${db_name}.${table_name}.000002.csv`。数字后缀可以不连续,但必须递增。同时需要在数字前补零,保证所有后缀长度一致。
-> **注意:**
+> **Note:**
>
-> 如果在某些情况下无法按照上述规则更新 CSV 文件名(例如,CSV 文件链接也被其他程序使用),你可以保持文件名不变,并在[步骤 5](#步骤-5-执行数据导入任务) 中使用**映射设置**将源数据导入到单个目标表。
+> 如果在某些情况下无法按照上述规则更新 CSV 文件名(例如,CSV 文件链接也被你的其他程序使用),可以保持文件名不变,并在 [步骤 5](#step-5-perform-the-data-import-task) 的 **Mapping Settings** 中,将源数据导入到单一目标表。
-要将数据导出到 Amazon S3,请执行以下操作:
+导出数据到 Amazon S3 的操作如下:
-1. 获取 Amazon S3 存储桶的 `AWS_ACCESS_KEY_ID` 和 `AWS_SECRET_ACCESS_KEY`。
+1. 获取 Amazon S3 bucket 的 `AWS_ACCESS_KEY_ID` 和 `AWS_SECRET_ACCESS_KEY`。
```shell
[root@localhost ~]# export AWS_ACCESS_KEY_ID={your_aws_access_key_id}
[root@localhost ~]# export AWS_SECRET_ACCESS_KEY= {your_aws_secret_access_key}
```
-2. 将数据从 MySQL 实例 1 导出到 Amazon S3 存储桶中的 `s3://dumpling-s3/store/sales/instance01/` 目录。
+2. 将 MySQL 实例 1 的数据导出到 Amazon S3 bucket 的 `s3://dumpling-s3/store/sales/instance01/` 目录。
```shell
[root@localhost ~]# tiup dumpling -u {username} -p {password} -P {port} -h {mysql01-ip} -B store_01,store_02 -r 20000 --filetype csv --no-schemas -o "s3://dumpling-s3/store/sales/instance01/" --s3.region "ap-northeast-1"
```
- 有关参数的更多信息,请参见 [Dumpling 参数列表](https://docs.pingcap.com/tidb/stable/dumpling-overview#option-list-of-dumpling)。
+ 关于参数的详细说明,参见 [Option list of Dumpling](https://docs.pingcap.com/tidb/stable/dumpling-overview#option-list-of-dumpling)。
-3. 将数据从 MySQL 实例 2 导出到 Amazon S3 存储桶中的 `s3://dumpling-s3/store/sales/instance02/` 目录。
+3. 将 MySQL 实例 2 的数据导出到 Amazon S3 bucket 的 `s3://dumpling-s3/store/sales/instance02/` 目录。
```shell
[root@localhost ~]# tiup dumpling -u {username} -p {password} -P {port} -h {mysql02-ip} -B store_01,store_02 -r 20000 --filetype csv --no-schemas -o "s3://dumpling-s3/store/sales/instance02/" --s3.region "ap-northeast-1"
```
-详细步骤,请参见[导出数据到 Amazon S3 云存储](https://docs.pingcap.com/tidb/stable/dumpling-overview#export-data-to-amazon-s3-cloud-storage)。
+详细步骤参见 [Export data to Amazon S3 cloud storage](https://docs.pingcap.com/tidb/stable/dumpling-overview#export-data-to-amazon-s3-cloud-storage)。
### 步骤 3. 在 TiDB Cloud 集群中创建 schema
-按照以下步骤在 TiDB Cloud 集群中创建 schema:
+在 TiDB Cloud 集群中创建 schema,示例如下:
```sql
mysql> CREATE DATABASE store;
@@ -120,7 +121,7 @@ mysql> use store;
Database changed
```
-在本示例中,上游表 `sale_01` 和 `sale_02` 的列 ID 是自增主键。在下游数据库中合并分片表时可能会发生冲突。执行以下 SQL 语句将 ID 列设置为普通索引而不是主键:
+在本示例中,上游表 `sale_01` 和 `sale_02` 的 id 列为自增主键。合并分片表到下游数据库时可能会发生冲突。执行以下 SQL,将 id 列设置为普通索引而非主键:
```sql
mysql> CREATE TABLE `sales` (
@@ -133,10 +134,11 @@ mysql> CREATE TABLE `sales` (
Query OK, 0 rows affected (0.17 sec)
```
-有关解决此类冲突的解决方案,请参见[移除列的 PRIMARY KEY 属性](https://docs.pingcap.com/tidb/stable/shard-merge-best-practices#remove-the-primary-key-attribute-from-the-column)。
-### 步骤 4. 配置 Amazon S3 访问
+关于此类冲突的解决方案,参见 [Remove the PRIMARY KEY attribute from the column](https://docs.pingcap.com/tidb/stable/shard-merge-best-practices#remove-the-primary-key-attribute-from-the-column)。
+
+### 步骤 4. 配置 Amazon S3 访问权限
-按照[配置 Amazon S3 访问](/tidb-cloud/dedicated-external-storage.md#configure-amazon-s3-access)中的说明获取访问源数据的角色 ARN。
+按照 [Configure Amazon S3 access](/tidb-cloud/dedicated-external-storage.md#configure-amazon-s3-access) 的说明,获取访问源数据所需的 role ARN。
以下示例仅列出关键策略配置。请将 Amazon S3 路径替换为你自己的值。
@@ -171,99 +173,100 @@ Query OK, 0 rows affected (0.17 sec)
### 步骤 5. 执行数据导入任务
-配置 Amazon S3 访问后,你可以在 TiDB Cloud 控制台中执行数据导入任务,步骤如下:
+配置好 Amazon S3 访问权限后,你可以在 TiDB Cloud 控制台执行数据导入任务,步骤如下:
-1. 打开目标集群的**导入**页面。
+1. 打开目标集群的 **Import** 页面。
- 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),导航到项目的[**集群**](https://tidbcloud.com/project/clusters)页面。
+ 1. 登录 [TiDB Cloud 控制台](https://tidbcloud.com/),进入项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
- > **提示:**
+ > **Tip:**
>
- > 你可以使用左上角的下拉框在组织、项目和集群之间切换。
+ > 你可以通过左上角的下拉框切换组织、项目和集群。
- 2. 点击目标集群的名称进入其概览页面,然后在左侧导航栏中点击**数据** > **导入**。
+ 2. 点击目标集群名称进入概览页,然后点击左侧导航栏的 **Data** > **Import**。
-2. 选择**从云存储导入数据**,然后点击 **Amazon S3**。
+2. 选择 **Import data from Cloud Storage**,然后点击 **Amazon S3**。
-3. 在**从 Amazon S3 导入数据**页面,填写以下信息:
+3. 在 **Import Data from Amazon S3** 页面,填写以下信息:
- - **导入文件数量**:对于 TiDB Cloud Serverless,选择**多个文件**。TiDB Cloud Dedicated 中不提供此字段。
- - **包含 Schema 文件**:选择**否**。
- - **数据格式**:选择 **CSV**。
- - **文件夹 URI**:填写源数据的存储桶 URI。你可以使用对应表的二级目录,本例中为 `s3://dumpling-s3/store/sales/`,这样 TiDB Cloud 可以一次性将所有 MySQL 实例中的数据导入并合并到 `store.sales` 中。
- - **存储桶访问** > **AWS Role ARN**:输入你获取的 Role-ARN。
+ - **Import File Count**:对于 TiDB Cloud Serverless,选择 **Multiple files**。该字段在 TiDB Cloud Dedicated 中不可用。
+ - **Included Schema Files**:选择 **No**。
+ - **Data Format**:选择 **CSV**。
+ - **Folder URI**:填写源数据的 bucket URI。本例中可以使用对应表的二级目录 `s3://dumpling-s3/store/sales/`,这样 TiDB Cloud 可以一次性导入并合并所有 MySQL 实例的数据到 `store.sales`。
+ - **Bucket Access** > **AWS Role ARN**:填写你获取到的 Role-ARN。
- 如果存储桶的位置与你的集群不同,请确认跨区域合规性。
+ 如果 bucket 的位置与集群不同,请确认跨区域合规性。
- TiDB Cloud 开始验证是否可以访问指定存储桶 URI 中的数据。验证后,TiDB Cloud 会使用默认的文件命名模式尝试扫描数据源中的所有文件,并在下一页的左侧返回扫描摘要结果。如果遇到 `AccessDenied` 错误,请参见[排查从 S3 导入数据时的访问被拒绝错误](/tidb-cloud/troubleshoot-import-access-denied-error.md)。
+ TiDB Cloud 会开始验证是否能访问指定 bucket URI 的数据。验证通过后,TiDB Cloud 会尝试使用默认文件命名模式扫描数据源中的所有文件,并在下一页左侧返回扫描摘要结果。如果遇到 `AccessDenied` 错误,参见 [Troubleshoot Access Denied Errors during Data Import from S3](/tidb-cloud/troubleshoot-import-access-denied-error.md)。
-4. 点击**连接**。
+4. 点击 **Connect**。
-5. 在**目标**部分,选择目标数据库和表。
+5. 在 **Destination** 部分,选择目标数据库和表。
- 导入多个文件时,你可以使用**高级设置** > **映射设置**为每个目标表及其对应的 CSV 文件定义自定义映射规则。之后,数据源文件将使用提供的自定义映射规则重新扫描。
+ 导入多个文件时,可以通过 **Advanced Settings** > **Mapping Settings** 为每个目标表及其对应的 CSV 文件定义自定义映射规则。之后,数据源文件会根据提供的自定义映射规则重新扫描。
- 在**源文件 URI 和名称**中输入源文件 URI 和名称时,确保其格式为 `s3://[bucket_name]/[data_source_folder]/[file_name].csv`。例如,`s3://sampledata/ingest/TableName.01.csv`。
+ 在 **Source File URIs and Names** 中输入源文件 URI 和名称时,确保格式为 `s3://[bucket_name]/[data_source_folder]/[file_name].csv`。例如,`s3://sampledata/ingest/TableName.01.csv`。
- 你也可以使用通配符来匹配源文件。例如:
+ 你也可以使用通配符匹配源文件。例如:
- - `s3://[bucket_name]/[data_source_folder]/my-data?.csv`:该文件夹中以 `my-data` 开头后跟一个字符的所有 CSV 文件(如 `my-data1.csv` 和 `my-data2.csv`)将被导入到同一个目标表中。
+ - `s3://[bucket_name]/[data_source_folder]/my-data?.csv`:该目录下所有以 `my-data` 开头,后跟一个字符的 CSV 文件(如 `my-data1.csv` 和 `my-data2.csv`)都将被导入到同一个目标表。
- - `s3://[bucket_name]/[data_source_folder]/my-data*.csv`:该文件夹中以 `my-data` 开头的所有 CSV 文件将被导入到同一个目标表中。
+ - `s3://[bucket_name]/[data_source_folder]/my-data*.csv`:该目录下所有以 `my-data` 开头的 CSV 文件都将被导入到同一个目标表。
- 注意,仅支持 `?` 和 `*` 通配符。
+ 注意,仅支持 `?` 和 `*`。
- > **注意:**
+ > **Note:**
>
> URI 必须包含数据源文件夹。
-6. 如果需要,编辑 CSV 配置。
+6. 如有需要,编辑 CSV 配置。
- 你也可以点击**编辑 CSV 配置**来配置反斜杠转义、分隔符和定界符,以实现更精细的控制。
+ 你也可以点击 **Edit CSV configuration**,对反斜杠转义、分隔符和定界符进行更细粒度的控制。
- > **注意:**
+ > **Note:**
>
- > 对于分隔符、定界符和空值的配置,你可以使用字母数字字符和某些特殊字符。支持的特殊字符包括 `\t`、`\b`、`\n`、`\r`、`\f` 和 `\u0001`。
+ > 分隔符、定界符和 null 的配置支持字母数字和部分特殊字符。支持的特殊字符包括 `\t`、`\b`、`\n`、`\r`、`\f` 和 `\u0001`。
-7. 点击**开始导入**。
+7. 点击 **Start Import**。
-8. 当导入进度显示**已完成**时,检查导入的表。
+8. 当导入进度显示 **Completed** 时,检查导入的表。
-数据导入后,如果你想移除 TiDB Cloud 的 Amazon S3 访问权限,只需删除你添加的策略即可。
-## 从 MySQL 到 TiDB Cloud 执行增量数据复制
+数据导入完成后,如果你希望移除 TiDB Cloud 的 Amazon S3 访问权限,只需删除你添加的策略即可。
-要基于 binlog 从上游集群的指定位置复制数据变更到 TiDB Cloud,你可以使用 TiDB Data Migration (DM) 执行增量复制。
+## 从 MySQL 到 TiDB Cloud 的增量数据同步
-### 开始之前
+要基于 binlog,将上游集群指定位置的数据变更同步到 TiDB Cloud,可以使用 TiDB Data Migration (DM) 进行增量同步。
-如果你想迁移增量数据并合并 MySQL 分片到 TiDB Cloud,你需要手动部署 TiDB DM,因为 TiDB Cloud 目前不支持迁移和合并 MySQL 分片。详细步骤,请参见[使用 TiUP 部署 DM 集群](https://docs.pingcap.com/tidb/stable/deploy-a-dm-cluster-using-tiup)。
+### 开始前准备
+
+如果你希望迁移增量数据并合并 MySQL 分片到 TiDB Cloud,需要手动部署 TiDB DM,因为 TiDB Cloud 目前尚不支持迁移和合并 MySQL 分片。详细步骤参见 [Deploy a DM Cluster Using TiUP](https://docs.pingcap.com/tidb/stable/deploy-a-dm-cluster-using-tiup)。
### 步骤 1. 添加数据源
-1. 创建一个新的数据源文件 `dm-source1.yaml` 以将上游数据源配置到 DM 中。添加以下内容:
+1. 新建数据源文件 `dm-source1.yaml`,将上游数据源配置到 DM。内容如下:
```yaml
- # MySQL 配置。
+ # MySQL Configuration.
source-id: "mysql-replica-01"
- # 指定 DM-worker 是否使用 GTID(全局事务标识符)拉取 binlog。
- # 前提是你已经在上游 MySQL 中启用了 GTID。
- # 如果你已经配置上游数据库服务在不同节点之间自动切换主节点,则必须启用 GTID。
+ # Specifies whether DM-worker pulls binlogs with GTID (Global Transaction Identifier).
+ # The prerequisite is that you have already enabled GTID in the upstream MySQL.
+ # If you have configured the upstream database service to switch master between different nodes automatically, you must enable GTID.
enable-gtid: true
from:
- host: "${host}" # 例如:192.168.10.101
+ host: "${host}" # For example: 192.168.10.101
user: "user01"
- password: "${password}" # 支持明文密码,但不推荐。建议使用 dmctl encrypt 加密明文密码。
- port: ${port} # 例如:3307
+ password: "${password}" # Plaintext passwords are supported but not recommended. It is recommended that you use dmctl encrypt to encrypt plaintext passwords.
+ port: ${port} # For example: 3307
```
-2. 创建另一个新的数据源文件 `dm-source2.yaml`,并添加以下内容:
+2. 新建另一个数据源文件 `dm-source2.yaml`,内容如下:
```yaml
- # MySQL 配置。
+ # MySQL Configuration.
source-id: "mysql-replica-02"
- # 指定 DM-worker 是否使用 GTID(全局事务标识符)拉取 binlog。
- # 前提是你已经在上游 MySQL 中启用了 GTID。
- # 如果你已经配置上游数据库服务在不同节点之间自动切换主节点,则必须启用 GTID。
+ # Specifies whether DM-worker pulls binlogs with GTID (Global Transaction Identifier).
+ # The prerequisite is that you have already enabled GTID in the upstream MySQL.
+ # If you have configured the upstream database service to switch master between different nodes automatically, you must enable GTID.
enable-gtid: true
from:
host: "192.168.10.102"
@@ -272,20 +275,20 @@ Query OK, 0 rows affected (0.17 sec)
port: 3308
```
-3. 在终端中运行以下命令。使用 `tiup dmctl` 将第一个数据源配置加载到 DM 集群中:
+3. 在终端运行以下命令,使用 `tiup dmctl` 将第一个数据源配置加载到 DM 集群:
```shell
[root@localhost ~]# tiup dmctl --master-addr ${advertise-addr} operate-source create dm-source1.yaml
```
- 上述命令中使用的参数说明如下:
+ 上述命令参数说明如下:
- |参数 |说明 |
+ |Parameter |Description |
|- |- |
- |`--master-addr` |要连接的 DM 集群中任一 DM-master 节点的 `{advertise-addr}`。例如:192.168.11.110:9261|
+ |`--master-addr` |要连接的集群中任意 DM-master 节点的 `{advertise-addr}`,如:192.168.11.110:9261|
|`operate-source create`|将数据源加载到 DM 集群。|
- 以下是示例输出:
+ 示例输出如下:
```shell
tiup is checking updates for component dmctl ...
@@ -307,13 +310,13 @@ Query OK, 0 rows affected (0.17 sec)
```
-4. 在终端中运行以下命令。使用 `tiup dmctl` 将第二个数据源配置加载到 DM 集群中:
+4. 在终端运行以下命令,使用 `tiup dmctl` 将第二个数据源配置加载到 DM 集群:
```shell
[root@localhost ~]# tiup dmctl --master-addr 192.168.11.110:9261 operate-source create dm-source2.yaml
```
- 以下是示例输出:
+ 示例输出如下:
```shell
tiup is checking updates for component dmctl ...
@@ -333,11 +336,12 @@ Query OK, 0 rows affected (0.17 sec)
]
}
```
-### 步骤 2. 创建复制任务
-1. 为复制任务创建一个 `test-task1.yaml` 文件。
+### 步骤 2. 创建同步任务
+
+1. 新建同步任务配置文件 `test-task1.yaml`。
-2. 在 Dumpling 导出的 MySQL 实例 1 的元数据文件中找到起始点。例如:
+2. 在 Dumpling 导出的 MySQL 实例 1 的 metadata 文件中找到起始点。例如:
```toml
Started dump at: 2022-05-25 10:16:26
@@ -348,7 +352,7 @@ Query OK, 0 rows affected (0.17 sec)
Finished dump at: 2022-05-25 10:16:27
```
-3. 在 Dumpling 导出的 MySQL 实例 2 的元数据文件中找到起始点。例如:
+3. 在 Dumpling 导出的 MySQL 实例 2 的 metadata 文件中找到起始点。例如:
```toml
Started dump at: 2022-05-25 10:20:32
@@ -359,25 +363,25 @@ Query OK, 0 rows affected (0.17 sec)
Finished dump at: 2022-05-25 10:20:32
```
-4. 编辑任务配置文件 `test-task1`,为每个数据源配置增量复制模式和复制起始点。
+4. 编辑任务配置文件 `test-task1`,为每个数据源配置增量同步模式和同步起始点。
```yaml
- ## ********* 任务配置 *********
+ ## ********* Task Configuration *********
name: test-task1
shard-mode: "pessimistic"
- # 任务模式。"incremental" 模式仅执行增量数据迁移。
+ # Task mode. The "incremental" mode only performs incremental data migration.
task-mode: incremental
# timezone: "UTC"
- ## ******** 数据源配置 **********
- ## (可选)如果你需要增量复制已经在全量数据迁移中迁移的数据,则需要启用安全模式以避免增量数据迁移错误。
- ## 这种情况在以下场景中很常见:全量迁移数据不属于数据源的一致性快照,之后 DM 从早于全量迁移的位置开始复制增量数据。
- syncers: # 同步处理单元的运行配置。
- global: # 配置名称。
- safe-mode: false # # 如果此字段设置为 true,DM 会将数据源的 INSERT 更改为目标数据库的 REPLACE,
- # # 并将数据源的 UPDATE 更改为目标数据库的 DELETE 和 REPLACE。
- # # 这是为了确保当表结构包含主键或唯一索引时,DML 语句可以重复导入。
- # # 在启动或恢复增量迁移任务的第一分钟,DM 会自动启用安全模式。
+ ## ******** Data Source Configuration **********
+ ## (Optional) If you need to incrementally replicate data that has already been migrated in the full data migration, you need to enable the safe mode to avoid the incremental data migration error.
+ ## This scenario is common in the following case: the full migration data does not belong to the data source's consistency snapshot, and after that, DM starts to replicate incremental data from a position earlier than the full migration.
+ syncers: # The running configurations of the sync processing unit.
+ global: # Configuration name.
+ safe-mode: false # # If this field is set to true, DM changes INSERT of the data source to REPLACE for the target database,
+ # # and changes UPDATE of the data source to DELETE and REPLACE for the target database.
+ # # This is to ensure that when the table schema contains a primary key or unique index, DML statements can be imported repeatedly.
+ # # In the first minute of starting or resuming an incremental migration task, DM automatically enables the safe mode.
mysql-instances:
- source-id: "mysql-replica-01"
block-allow-list: "bw-rule-1"
@@ -398,14 +402,14 @@ Query OK, 0 rows affected (0.17 sec)
binlog-pos: 1312659
binlog-gtid: "cd21245e-bb10-11ec-ae16-fec83cf2b903:1-4036"
- ## ******** TiDB Cloud 上目标 TiDB 集群的配置 **********
- target-database: # TiDB Cloud 上的目标 TiDB 集群
+ ## ******** Configuration of the target TiDB cluster on TiDB Cloud **********
+ target-database: # The target TiDB cluster on TiDB Cloud
host: "tidb.xxxxxxx.xxxxxxxxx.ap-northeast-1.prod.aws.tidbcloud.com"
port: 4000
user: "root"
- password: "${password}" # 如果密码不为空,建议使用 dmctl 加密的密文。
+ password: "${password}" # If the password is not empty, it is recommended to use a dmctl-encrypted cipher.
- ## ******** 功能配置 **********
+ ## ******** Function Configuration **********
routes:
store-route-rule:
schema-pattern: "store_*"
@@ -429,19 +433,19 @@ Query OK, 0 rows affected (0.17 sec)
bw-rule-1:
do-dbs: ["store_*"]
- ## ******** 忽略检查项 **********
+ ## ******** Ignore check items **********
ignore-checking-items: ["table_schema","auto_increment_ID"]
```
-有关详细的任务配置,请参见 [DM 任务配置](https://docs.pingcap.com/tidb/stable/task-configuration-file-full)。
+关于任务配置的详细说明,参见 [DM Task Configurations](https://docs.pingcap.com/tidb/stable/task-configuration-file-full)。
-为了使数据复制任务顺利运行,DM 会在任务开始时自动触发预检查并返回检查结果。DM 仅在预检查通过后才开始复制。要手动触发预检查,请运行 check-task 命令:
+为保证数据同步任务顺利运行,DM 会在任务启动时自动触发预检查并返回检查结果。只有预检查通过后,DM 才会启动同步。你也可以手动触发预检查,命令如下:
```shell
[root@localhost ~]# tiup dmctl --master-addr 192.168.11.110:9261 check-task dm-task.yaml
```
-以下是示例输出:
+示例输出如下:
```shell
tiup is checking updates for component dmctl ...
@@ -454,22 +458,22 @@ Starting component `dmctl`: /root/.tiup/components/dmctl/${tidb_version}/dmctl/d
}
```
-### 步骤 3. 启动复制任务
+### 步骤 3. 启动同步任务
-使用 `tiup dmctl` 运行以下命令来启动数据复制任务:
+使用 `tiup dmctl` 运行以下命令,启动数据同步任务:
```shell
[root@localhost ~]# tiup dmctl --master-addr ${advertise-addr} start-task dm-task.yaml
```
-上述命令中使用的参数说明如下:
+上述命令参数说明如下:
-|参数 |说明 |
+|Parameter |Description |
|- |- |
-|`--master-addr` |要连接的 DM 集群中任一 DM-master 节点的 `{advertise-addr}`。例如:192.168.11.110:9261|
+|`--master-addr` |要连接的集群中任意 DM-master 节点的 `{advertise-addr}`,如:192.168.11.110:9261|
|`start-task` |启动迁移任务。|
-以下是示例输出:
+示例输出如下:
```shell
tiup is checking updates for component dmctl ...
@@ -498,19 +502,19 @@ Starting component `dmctl`: /root/.tiup/components/dmctl/${tidb_version}/dmctl/d
}
```
-如果任务启动失败,请检查提示消息并修复配置。之后,你可以重新运行上述命令来启动任务。
+如果任务启动失败,请根据提示信息检查并修正配置,然后重新运行上述命令启动任务。
-如果遇到任何问题,请参考 [DM 错误处理](https://docs.pingcap.com/tidb/stable/dm-error-handling) 和 [DM 常见问题](https://docs.pingcap.com/tidb/stable/dm-faq)。
+如遇问题,可参考 [DM error handling](https://docs.pingcap.com/tidb/stable/dm-error-handling) 和 [DM FAQ](https://docs.pingcap.com/tidb/stable/dm-faq)。
-### 步骤 4. 检查复制任务状态
+### 步骤 4. 查看同步任务状态
-要了解 DM 集群是否有正在进行的复制任务并查看任务状态,请使用 `tiup dmctl` 运行 `query-status` 命令:
+要了解 DM 集群是否有正在运行的同步任务及其状态,可使用 `tiup dmctl` 运行 `query-status` 命令:
```shell
[root@localhost ~]# tiup dmctl --master-addr 192.168.11.110:9261 query-status test-task1
```
-以下是示例输出:
+示例输出如下:
```shell
{
@@ -596,4 +600,4 @@ Starting component `dmctl`: /root/.tiup/components/dmctl/${tidb_version}/dmctl/d
}
```
-有关结果的详细解释,请参见[查询状态](https://docs.pingcap.com/tidb/stable/dm-query-status)。
+关于结果的详细解读,参见 [Query Status](https://docs.pingcap.com/tidb/stable/dm-query-status)。
\ No newline at end of file
diff --git a/tidb-cloud/monitor-datadog-integration.md b/tidb-cloud/monitor-datadog-integration.md
index cc6696ff92f25..0e3e267d0922d 100644
--- a/tidb-cloud/monitor-datadog-integration.md
+++ b/tidb-cloud/monitor-datadog-integration.md
@@ -1,70 +1,150 @@
---
-title: 将 TiDB Cloud 与 Datadog 集成(Beta)
-summary: 了解如何通过 Datadog 集成监控 TiDB 集群。
+title: 将 TiDB Cloud 集成到 Datadog(预览版)
+summary: 了解如何通过 Datadog 集成监控你的 TiDB 集群。
---
-# 将 TiDB Cloud 与 Datadog 集成(Beta)
+# 将 TiDB Cloud 集成到 Datadog(预览版)
-TiDB Cloud 支持 Datadog 集成(beta)。你可以配置 TiDB Cloud 将 TiDB 集群的指标数据发送到 [Datadog](https://www.datadoghq.com/)。之后,你可以直接在 Datadog 仪表板中查看这些指标。
+TiDB Cloud 支持 Datadog 集成(预览版)。你可以配置 TiDB Cloud,将你的 TiDB 集群的监控指标发送到 [Datadog](https://www.datadoghq.com/)。之后,你可以直接在 Datadog 仪表盘中查看这些指标。
+
+## Datadog 集成版本
+
+自 2022 年 3 月 4 日起,TiDB Cloud 已支持 Datadog 集成(Beta)。从 2025 年 7 月 31 日起,TiDB Cloud 推出了增强的预览版集成。
+
+- **Datadog integration (Preview)**:如果在 2025 年 7 月 31 日前,你的组织内没有未删除的 Datadog 或 New Relic 集成,TiDB Cloud 会为你的组织提供 Datadog 集成的预览版,以体验最新的增强功能。
+- **Datadog integration (Beta)**:如果在 2025 年 7 月 31 日前,你的组织内至少有一个未删除的 Datadog 或 New Relic 集成,TiDB Cloud 会保留现有和新建的集成为 Beta 版本,以避免影响当前的仪表盘。我们也会主动与你联系,讨论合适的迁移方案和时间表。
## 前提条件
-- 要将 TiDB Cloud 与 Datadog 集成,你必须拥有 Datadog 账户和 [Datadog API 密钥](https://app.datadoghq.com/organization-settings/api-keys)。首次创建 Datadog 账户时,Datadog 会授予你一个 API 密钥。
+- 要将 TiDB Cloud 集成到 Datadog,你必须拥有 Datadog 账号和 [Datadog API key](https://app.datadoghq.com/organization-settings/api-keys)。首次创建 Datadog 账号时,Datadog 会为你分配一个 API key。
- 如果你没有 Datadog 账户,请在 [https://app.datadoghq.com/signup](https://app.datadoghq.com/signup) 注册。
+ 如果你还没有 Datadog 账号,请在 [https://app.datadoghq.com/signup](https://app.datadoghq.com/signup) 注册。
-- 要编辑 TiDB Cloud 的第三方集成设置,你必须在 TiDB Cloud 中拥有组织的 `Organization Owner` 访问权限或目标项目的 `Project Member` 访问权限。
+- 要为 TiDB Cloud 设置第三方监控指标集成,你必须在 TiDB Cloud 中拥有 `Organization Owner` 或 `Project Owner` 权限。要通过提供的链接访问集成页面或已配置的仪表盘,你至少需要 `Project Viewer` 角色,以访问 TiDB Cloud 项目下的目标集群。
## 限制
-- 你不能在 [TiDB Cloud Serverless](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless) 集群中使用 Datadog 集成。
+- 你无法在 [TiDB Cloud Serverless](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless) 集群中使用 Datadog 集成。
- 当集群状态为 **CREATING**、**RESTORING**、**PAUSED** 或 **RESUMING** 时,Datadog 集成不可用。
-## 步骤
+- 当带有 Datadog 集成的集群被删除时,其关联的集成服务也会被移除。
+
+## 操作步骤
+
+### 步骤 1. 使用你的 Datadog API Key 进行集成
+
+根据你的 [Datadog 集成版本](#datadog-集成版本),访问集成页面的步骤有所不同。
+
+
+
+
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com/)中,进入你的项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面,然后点击目标集群名称进入其概览页面。
+2. 在左侧导航栏,点击 **Settings** > **Integrations**。
+3. 在 **Integrations** 页面,点击 **Integration to Datadog (PREVIEW)**。
+4. 输入你的 Datadog API key 并选择你的 Datadog 站点。
+5. 点击 **Test Integration**。
+
+ - 如果测试成功,会显示 **Confirm** 按钮。
+ - 如果测试失败,会显示错误信息。请根据提示进行排查并重试集成。
+
+6. 点击 **Confirm** 完成集成。
+
+
+
-### 步骤 1. 与你的 Datadog API 密钥集成
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,使用左上角的下拉框切换到你的目标项目。
+2. 在左侧导航栏,点击 **Project Settings** > **Integrations**。
+3. 在 **Integrations** 页面,点击 **Integration to Datadog (BETA)**。
+4. 输入你的 Datadog API key 并选择你的 Datadog 站点。
+5. 点击 **Test Integration**。
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,使用左上角的组合框切换到目标项目。
-2. 在左侧导航栏中,点击**项目设置** > **集成**。
-3. 在**集成**页面上,点击 **Datadog 集成(BETA)**。
-4. 输入你的 Datadog API 密钥并选择 Datadog 的站点。
-5. 点击**测试集成**。
+ - 如果测试成功,会显示 **Confirm** 按钮。
+ - 如果测试失败,会显示错误信息。请根据提示进行排查并重试集成。
- - 如果测试成功,将显示**确认**按钮。
- - 如果测试失败,将显示错误消息。按照消息进行故障排除并重试集成。
+6. 点击 **Confirm** 完成集成。
-6. 点击**确认**以完成集成。
+
+
### 步骤 2. 在 Datadog 中安装 TiDB Cloud 集成
+根据你的 [Datadog 集成版本](#datadog-集成版本),操作步骤有所不同。
+
+
+
+
+在 Datadog 合并待处理的 [PR](https://github.com/DataDog/integrations-extras/pull/2751) 后,新的 TiDB Cloud 仪表盘将在 Datadog 中可用。在此之前,你可以通过以下步骤手动导入仪表盘:
+
+1. 在 [这里](https://github.com/pingcap/diag/blob/integration/integration/dashboards/datadog-dashboard.json) 下载新仪表盘的 JSON 文件。
+2. 登录 [Datadog](https://app.datadoghq.com),点击左侧导航栏的 **Dashboards**,然后点击右上角的 **+ New Dashboard**。
+3. 在弹出的对话框中,点击 **New Dashboard** 创建一个新的空白仪表盘。
+4. 在新建的仪表盘页面,点击右上角的 **Configure**,在弹出的面板底部点击 **Import dashboard JSON...**。
+5. 在弹出的对话框中,上传下载的 JSON 文件,完成仪表盘的设置。
+
+
+
+
1. 登录 [Datadog](https://app.datadoghq.com)。
-2. 在 Datadog 中转到 **TiDB Cloud 集成**页面([https://app.datadoghq.com/account/settings#integrations/tidb-cloud](https://app.datadoghq.com/account/settings#integrations/tidb-cloud))。
-3. 在**配置**标签中,点击**安装集成**。[**TiDBCloud 集群概览**](https://app.datadoghq.com/dash/integration/30586/tidbcloud-cluster-overview)仪表板将显示在你的[**仪表板列表**](https://app.datadoghq.com/dashboard/lists)中。
+2. 进入 Datadog 的 [**TiDB Cloud Integration** 页面](https://app.datadoghq.com/account/settings#integrations/tidb-cloud)。
+3. 在 **Configuration** 标签页,点击 **Install Integration**。 [**TiDB Cloud Cluster Overview**](https://app.datadoghq.com/dash/integration/30586/tidbcloud-cluster-overview) 仪表盘会显示在你的 [**Dashboard List**](https://app.datadoghq.com/dashboard/lists) 中。
+
+
+
-## 预构建仪表板
+## 查看预置仪表盘
-点击集成中 **Datadog** 卡片的**仪表板**链接。你可以看到 TiDB 集群的预构建仪表板。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,进入 **Integrations** 页面。
+2. 根据你的 [Datadog 集成版本](#datadog-集成版本),执行以下操作之一:
-## Datadog 可用的指标
+ - 对于 Datadog integration (Beta),点击 **Datadog** 区域的 **Dashboard** 链接。
+ - 对于 Datadog integration (Preview),点击 **Datadog** 区域的 **Dashboard** 链接,在打开的页面左侧导航栏点击 **Dashboard**,然后点击 **TiDB Cloud Dynamic Tracker**,即可查看包含完整指标的新仪表盘。
-Datadog 跟踪 TiDB 集群的以下指标数据。
+ >**Note:**
+ >
+ > 对于 Datadog integration (Preview),请注意以下事项:
+ >
+ > - 在 Datadog 合并待处理的 [PR](https://github.com/DataDog/integrations-extras/pull/2751) 之前,**Dashboard** 链接会跳转到旧版仪表盘,该仪表盘不包含预览版引入的最新指标。
+ > - 一旦待处理的 [PR](https://github.com/DataDog/integrations-extras/pull/2751) 被合并,**Datadog** 区域的 **Dashboard** 链接将跳转到新版仪表盘。
+
+## Datadog 可用指标
+
+Datadog 会跟踪你的 TiDB 集群的以下指标。
| 指标名称 | 指标类型 | 标签 | 描述 |
| :------------| :---------- | :------| :----------------------------------------------------- |
-| tidb_cloud.db_database_time| gauge | sql_type: Select\|Insert\|...
cluster_name: `
` instance: tidb-0\|tidb-1… component: `tidb` | TiDB 中运行的所有 SQL 语句每秒消耗的总时间,包括所有进程的 CPU 时间和非空闲等待时间。 |
-| tidb_cloud.db_query_per_second| gauge | type: Select\|Insert\|... cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 所有 TiDB 实例每秒执行的 SQL 语句数量,按 SELECT、INSERT、UPDATE 和其他类型的语句计数。 |
-| tidb_cloud.db_average_query_duration| gauge | sql_type: Select\|Insert\|... cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 从客户端的网络请求发送到 TiDB 到 TiDB 执行后将请求返回给客户端的时间间隔。 |
-| tidb_cloud.db_failed_queries| gauge | type: executor:xxxx\|parser:xxxx\|... cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 根据每个 TiDB 实例每秒发生的 SQL 执行错误(如语法错误和主键冲突)统计的错误类型。 |
-| tidb_cloud.db_total_connection| gauge | cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | TiDB 服务器中的当前连接数。 |
-| tidb_cloud.db_active_connections| gauge | cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 活动连接数。 |
+| tidb_cloud.db_database_time| gauge | sql_type: Select\|Insert\|... cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 每秒在 TiDB 中运行的所有 SQL 语句消耗的总时间,包括所有进程的 CPU 时间和非空闲等待时间。 |
+| tidb_cloud.db_query_per_second| gauge | type: Select\|Insert\|... cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 所有 TiDB 实例每秒执行的 SQL 语句数量,按语句类型(`SELECT`、`INSERT` 或 `UPDATE`)统计。 |
+| tidb_cloud.db_average_query_duration| gauge | sql_type: Select\|Insert\|... cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 客户端网络请求发送到 TiDB 与 TiDB 执行后返回请求给客户端之间的持续时间。 |
+| tidb_cloud.db_failed_queries| gauge | type: executor:xxxx\|parser:xxxx\|... cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 按每个 TiDB 实例每秒发生的 SQL 执行错误类型(如语法错误、主键冲突)进行统计。 |
+| tidb_cloud.db_total_connection| gauge | cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 当前 TiDB 服务器的连接数。 |
+| tidb_cloud.db_active_connections| gauge | cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 活跃连接数。 |
| tidb_cloud.db_disconnections| gauge | result: ok\|error\|undetermined cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 断开连接的客户端数量。 |
-| tidb_cloud.db_command_per_second| gauge | type: Query\|StmtPrepare\|... cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | TiDB 每秒处理的命令数,根据命令执行结果的成功或失败进行分类。 |
-| tidb_cloud.db_queries_using_plan_cache_ops| gauge | cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 每秒使用[执行计划缓存](/sql-prepared-plan-cache.md)的查询统计。执行计划缓存仅支持预处理语句命令。 |
-| tidb_cloud.db_transaction_per_second| gauge | txn_mode: pessimistic\|optimistic type: abort\|commit\|... cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 每秒执行的事务数。 |
-| tidb_cloud.node_storage_used_bytes | gauge | cluster_name: `` instance: tikv-0\|tikv-1…\|tiflash-0\|tiflash-1… component: tikv\|tiflash | TiKV/TiFlash 节点的磁盘使用量,以字节为单位。 |
-| tidb_cloud.node_storage_capacity_bytes | gauge | cluster_name: `` instance: tikv-0\|tikv-1…\|tiflash-0\|tiflash-1… component: tikv\|tiflash | TiKV/TiFlash 节点的磁盘容量,以字节为单位。 |
-| tidb_cloud.node_cpu_seconds_total | count | cluster_name: `` instance: tidb-0\|tidb-1…\|tikv-0…\|tiflash-0… component: tidb\|tikv\|tiflash | TiDB/TiKV/TiFlash 节点的 CPU 使用率。 |
-| tidb_cloud.node_cpu_capacity_cores | gauge | cluster_name: `` instance: tidb-0\|tidb-1…\|tikv-0…\|tiflash-0… component: tidb\|tikv\|tiflash | TiDB/TiKV/TiFlash 节点的 CPU 核心限制。 |
-| tidb_cloud.node_memory_used_bytes | gauge | cluster_name: `` instance: tidb-0\|tidb-1…\|tikv-0…\|tiflash-0… component: tidb\|tikv\|tiflash | TiDB/TiKV/TiFlash 节点的已用内存,以字节为单位。 |
-| tidb_cloud.node_memory_capacity_bytes | gauge | cluster_name: `` instance: tidb-0\|tidb-1…\|tikv-0…\|tiflash-0… component: tidb\|tikv\|tiflash | TiDB/TiKV/TiFlash 节点的内存容量,以字节为单位。 |
+| tidb_cloud.db_command_per_second| gauge | type: Query\|StmtPrepare\|... cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | TiDB 每秒处理的命令数,按命令执行结果的成功或失败分类。 |
+| tidb_cloud.db_queries_using_plan_cache_ops| gauge | cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 每秒使用 [Plan Cache](/sql-prepared-plan-cache.md) 的查询统计。执行计划缓存仅支持 prepared statement 命令。 |
+| tidb_cloud.db_transaction_per_second| gauge | txn_mode: pessimistic\|optimistic type: abort\|commit\|... cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 每秒执行的事务数量。 |
+| tidb_cloud.node_storage_used_bytes | gauge | cluster_name: `` instance: tikv-0\|tikv-1…\|tiflash-0\|tiflash-1… component: tikv\|tiflash | TiKV/TiFlash 节点的磁盘使用量(字节)。 |
+| tidb_cloud.node_storage_capacity_bytes | gauge | cluster_name: `` instance: tikv-0\|tikv-1…\|tiflash-0\|tiflash-1… component: tikv\|tiflash | TiKV/TiFlash 节点的磁盘容量(字节)。 |
+| tidb_cloud.node_cpu_seconds_total | count | cluster_name: `` instance: tidb-0\|tidb-1…\|tikv-0…\|tiflash-0… component: tidb\|tikv\|tiflash | TiDB/TiKV/TiFlash 节点的 CPU 使用量。 |
+| tidb_cloud.node_cpu_capacity_cores | gauge | cluster_name: `` instance: tidb-0\|tidb-1…\|tikv-0…\|tiflash-0… component: tidb\|tikv\|tiflash | TiDB/TiKV/TiFlash 节点的 CPU 核心数上限。 |
+| tidb_cloud.node_memory_used_bytes | gauge | cluster_name: `` instance: tidb-0\|tidb-1…\|tikv-0…\|tiflash-0… component: tidb\|tikv\|tiflash | TiDB/TiKV/TiFlash 节点已用内存(字节)。 |
+| tidb_cloud.node_memory_capacity_bytes | gauge | cluster_name: `` instance: tidb-0\|tidb-1…\|tikv-0…\|tiflash-0… component: tidb\|tikv\|tiflash | TiDB/TiKV/TiFlash 节点的内存容量(字节)。 |
+
+对于 Datadog integration (Preview),还可用以下附加指标:
+
+| 指标名称 | 指标类型 | 标签 | 描述 |
+| :------------| :---------- | :------| :----------------------------------------------------- |
+| tidbcloud.node_storage_available_bytes | gauge | instance: `tidb-0\|tidb-1\|...` component: `tikv\|tiflash` cluster_name: `` | TiKV/TiFlash 节点可用磁盘空间(字节)。 |
+| tidbcloud.disk_read_latency | gauge | instance: `tidb-0\|tidb-1\|...` component: `tikv\|tiflash` cluster_name: `` `device`: `nvme.*\|dm.*` | 每个存储设备的读延迟(秒)。 |
+| tidbcloud.disk_write_latency | gauge | instance: `tidb-0\|tidb-1\|...` component: `tikv\|tiflash` cluster_name: `` `device`: `nvme.*\|dm.*` | 每个存储设备的写延迟(秒)。 |
+| tidbcloud.kv_request_duration | histogram | instance: `tidb-0\|tidb-1\|...` component: `tikv` cluster_name: `` `type`: `BatchGet\|Commit\|Prewrite\|...` | 按类型统计 TiKV 请求的持续时间(秒)。 |
+| tidbcloud.component_uptime | gauge | instance: `tidb-0\|tidb-1\|...` component: `tidb\|tikv\|tiflash` cluster_name: `` | TiDB 组件的运行时长(秒)。 |
+| tidbcloud.ticdc_owner_checkpoint_ts_lag | gauge | changefeed_id: `` cluster_name: ``| changefeed owner 的 checkpoint 时间戳延迟(秒)。 |
+| tidbcloud.ticdc_owner_resolved_ts_lag | gauge | changefeed_id: `` cluster_name: `` | changefeed owner 的 resolved 时间戳延迟(秒)。 |
+| tidbcloud.changefeed_status | gauge | changefeed_id: `` cluster_name: `` | Changefeed 状态: `-1`: Unknown `0`: Normal `1`: Warning `2`: Failed `3`: Stopped `4`: Finished `6`: Warning `7`: Other |
+| tidbcloud.resource_manager_resource_unit_read_request_unit | gauge | cluster_name: `` resource_group: `` | Resource Manager 消耗的读请求单元(RU)。 |
+| tidbcloud.resource_manager_resource_unit_write_request_unit | gauge | cluster_name: `` resource_group: `` | Resource Manager 消耗的写请求单元(RU)。 |
+| tidb_cloud.dm_task_state | gauge | instance: `instance` task: `task` cluster_name: `` | 数据迁移任务状态: 0: Invalid 1: New 2: Running 3: Paused 4: Stopped 5: Finished 15: Error |
+| tidb_cloud.dm_syncer_replication_lag_bucket | gauge | instance: `instance` cluster_name: `` | 数据迁移的复制延迟(bucket)。 |
+| tidb_cloud.dm_syncer_replication_lag_gauge | gauge | instance: `instance` task: `task` cluster_name: `` | 数据迁移的复制延迟(gauge)。 |
+| tidb_cloud.dm_relay_read_error_count | gauge | instance: `instance` cluster_name: `` | 从主库读取 binlog 失败次数。 |
\ No newline at end of file
diff --git a/tidb-cloud/monitor-new-relic-integration.md b/tidb-cloud/monitor-new-relic-integration.md
index fb861408beaab..e05e8f92ed7c7 100644
--- a/tidb-cloud/monitor-new-relic-integration.md
+++ b/tidb-cloud/monitor-new-relic-integration.md
@@ -1,68 +1,171 @@
---
-title: 将 TiDB Cloud 与 New Relic 集成(Beta)
-summary: 了解如何使用 New Relic 集成监控你的 TiDB 集群。
+title: 将 TiDB Cloud 集成到 New Relic(预览版)
+summary: 了解如何通过 New Relic 集成监控你的 TiDB 集群。
---
-# 将 TiDB Cloud 与 New Relic 集成(Beta)
+# 将 TiDB Cloud 集成到 New Relic(预览版)
-TiDB Cloud 支持 New Relic 集成(beta)。你可以配置 TiDB Cloud 将 TiDB 集群的指标数据发送到 [New Relic](https://newrelic.com/)。之后,你可以直接在 New Relic 仪表板中查看这些指标。
+TiDB Cloud 支持 New Relic 集成(预览版)。你可以配置 TiDB Cloud,将你的 TiDB 集群的监控指标发送到 [New Relic](https://newrelic.com/)。之后,你可以直接在 New Relic 的仪表盘中查看这些指标。
-## 前提条件
+## New Relic 集成版本
-- 要将 TiDB Cloud 与 New Relic 集成,你必须拥有 New Relic 账号和 [New Relic API 密钥](https://one.newrelic.com/admin-portal/api-keys/home?)。首次创建 New Relic 账号时,New Relic 会授予你一个 API 密钥。
+自 2023 年 4 月 11 日起,TiDB Cloud 支持 New Relic 集成(Beta 版)。从 2025 年 7 月 31 日起,TiDB Cloud 推出了增强的预览版集成。
- 如果你没有 New Relic 账号,请在[此处](https://newrelic.com/signup)注册。
+- **New Relic integration (Preview)**:如果在 2025 年 7 月 31 日前,你的组织内没有未删除的 Datadog 或 New Relic 集成,TiDB Cloud 将提供 New Relic 集成的预览版,让你体验最新的增强功能。
+- **New Relic integration (Beta)**:如果在 2025 年 7 月 31 日前,你的组织内至少有一个未删除的 Datadog 或 New Relic 集成,TiDB Cloud 会保留现有和新集成的 Beta 版本,以避免影响当前的仪表盘。我们也会主动与你联系,讨论合适的迁移方案和时间表。
-- 要编辑 TiDB Cloud 的第三方集成设置,你必须拥有组织的**组织所有者**访问权限或目标项目的**项目成员**访问权限。
+## 前置条件
+
+- 要将 TiDB Cloud 集成到 New Relic,你必须拥有一个 [New Relic](https://newrelic.com/) 账号,并[创建一个 `Ingest - License` 类型的 New Relic API 密钥](https://one.newrelic.com/admin-portal/api-keys/home?)。
+
+ 如果你还没有 New Relic 账号,请在[这里](https://newrelic.com/signup)注册。
+
+- 要为 TiDB Cloud 设置第三方监控指标集成,你必须拥有 TiDB Cloud 的 `Organization Owner` 或 `Project Owner` 权限。要通过提供的链接查看集成页面或访问已配置的仪表盘,你至少需要 `Project Viewer` 角色,以访问 TiDB Cloud 项目下的目标集群。
## 限制
-你不能在 [TiDB Cloud Serverless 集群](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless)中使用 New Relic 集成。
+- 你不能在 [TiDB Cloud Serverless](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless) 集群中使用 New Relic 集成。
+
+- 当集群状态为 **CREATING**、**RESTORING**、**PAUSED** 或 **RESUMING** 时,New Relic 集成不可用。
+
+- 当带有 New Relic 集成的集群被删除时,其关联的集成服务也会被移除。
+
+## 操作步骤
+
+### 步骤 1. 使用你的 New Relic API Key 进行集成
+
+根据你的 [New Relic 集成版本](#new-relic-集成版本),访问集成页面的步骤有所不同。
+
+
+
+
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com/)中,进入你项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面,然后点击目标集群名称,进入其概览页面。
+2. 在左侧导航栏,点击 **Settings** > **Integrations**。
+3. 在 **Integrations** 页面,点击 **Integration to New Relic (Preview)**。
+4. 输入你的 New Relic API Key,并选择 New Relic 的站点。
+5. 点击 **Test Integration**。
+
+ - 如果测试成功,会显示 **Confirm** 按钮。
+ - 如果测试失败,会显示错误信息。请根据提示排查问题并重试集成。
+
+6. 点击 **Confirm** 完成集成。
+
+
+
+
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,使用左上角的下拉框切换到你的目标项目。
+2. 在左侧导航栏,点击 **Project Settings** > **Integrations**。
+3. 在 **Integrations** 页面,点击 **Integration to New Relic (BETA)**。
+4. 输入你的 New Relic API Key,并选择 New Relic 的站点。
+5. 点击 **Test Integration**。
+
+ - 如果测试成功,会显示 **Confirm** 按钮。
+ - 如果测试失败,会显示错误信息。请根据提示排查问题并重试集成。
+
+6. 点击 **Confirm** 完成集成。
-## 步骤
+
+
-### 步骤 1. 与你的 New Relic API 密钥集成
+### 步骤 2. 在 New Relic 中添加 TiDB Cloud 仪表盘
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,使用左上角的组合框切换到目标项目。
-2. 在左侧导航栏中,点击**项目设置** > **集成**。
-3. 在**集成**页面上,点击 **New Relic 集成(BETA)**。
-4. 输入你的 New Relic API 密钥并选择 New Relic 的站点。
-5. 点击**测试集成**。
+根据你的 [New Relic 集成版本](#new-relic-集成版本),操作步骤有所不同。
- - 如果测试成功,将显示**确认**按钮。
- - 如果测试失败,将显示错误消息。按照消息进行故障排除并重试集成。
+
+
-6. 点击**确认**完成集成。
+在 New Relic 合并待处理的 [PR](https://github.com/newrelic/newrelic-quickstarts/pull/2681) 后,将会有新的 TiDB Cloud 仪表盘可用。在此之前,你可以通过以下步骤手动导入仪表盘:
-### 步骤 2. 在 New Relic 中添加 TiDB Cloud 仪表板
+1. 准备新仪表盘的 JSON 文件。
+
+ 1. 在[这里](https://github.com/pingcap/diag/blob/integration/integration/dashboards/newrelic-dashboard.json)下载模板 JSON 文件。
+ 2. 在 JSON 文件的第 4 行添加 `"permissions": "PUBLIC_READ_WRITE"`,如下所示:
+
+ ```json
+ {
+ "name": "TiDB Cloud Dynamic Tracker",
+ "description": null,
+ "permissions": "PUBLIC_READ_WRITE",
+ ...
+ }
+ ```
+
+ 3. 在 JSON 文件的所有 `"accountIds": []` 字段中,添加你的 New Relic 账号 ID。
+
+ 例如:
+
+ ```json
+ "accountIds": [
+ 1234567
+ ],
+ ```
+
+ > **注意**:
+ >
+ > 为避免集成报错,请确保你的账号 ID 已添加到 JSON 文件中所有的 `"accountIds"` 字段。
+
+2. 登录 [New Relic](https://one.newrelic.com/),点击左侧导航栏的 **Dashboards**,然后点击右上角的 **Import dashboard**。
+3. 在弹出的对话框中,将准备好的 JSON 文件内容全部粘贴到文本区域,然后点击 **Import dashboard**。
+
+
+
1. 登录 [New Relic](https://one.newrelic.com/)。
-2. 点击**添加数据**,搜索 `TiDB Cloud`,然后转到 **TiDB Cloud 监控**页面。或者,你可以点击[链接](https://one.newrelic.com/marketplace?state=79bf274b-0c01-7960-c85c-3046ca96568e)直接访问该页面。
-3. 选择你的账号 ID 并在 New Relic 中创建仪表板。
+2. 点击 **Add Data**,搜索 `TiDB Cloud`,然后进入 **TiDB Cloud Monitoring** 页面。你也可以直接点击[此链接](https://one.newrelic.com/marketplace?state=79bf274b-0c01-7960-c85c-3046ca96568e)访问该页面。
+3. 选择你的账号 ID,并在 New Relic 中创建仪表盘。
-## 预构建仪表板
+
+
-点击集成中 **New Relic** 卡片中的**仪表板**链接。你可以看到 TiDB 集群的预构建仪表板。
+## 查看预置仪表盘
-## New Relic 可用的指标
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com/)中,进入 **Integrations** 页面。
-New Relic 跟踪你的 TiDB 集群的以下指标数据。
+2. 在 **New Relic** 区域点击 **Dashboard** 链接,查看你的 TiDB 集群的预置仪表盘。
+
+3. 根据你的 [New Relic 集成版本](#new-relic-集成版本),执行以下操作之一:
+
+ - 对于 New Relic integration (Preview),点击 **TiDB Cloud Dynamic Tracker** 查看新仪表盘。
+ - 对于 New Relic integration (Beta),点击 **TiDB Cloud Monitoring** 查看旧版仪表盘。
+
+## New Relic 可用指标
+
+New Relic 会跟踪你的 TiDB 集群的以下指标。
| 指标名称 | 指标类型 | 标签 | 描述 |
| :------------| :---------- | :------| :----------------------------------------------------- |
-| tidb_cloud.db_database_time| gauge | sql_type: Select\|Insert\|... cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | TiDB 中运行的所有 SQL 语句每秒消耗的总时间,包括所有进程的 CPU 时间和非空闲等待时间。 |
-| tidb_cloud.db_query_per_second| gauge | type: Select\|Insert\|... cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 所有 TiDB 实例每秒执行的 SQL 语句数量,按 `SELECT`、`INSERT`、`UPDATE` 等类型的语句计数。 |
-| tidb_cloud.db_average_query_duration| gauge | sql_type: Select\|Insert\|... cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 从客户端的网络请求发送到 TiDB 到 TiDB 执行后将请求返回给客户端的时间间隔。 |
-| tidb_cloud.db_failed_queries| gauge | type: executor:xxxx\|parser:xxxx\|... cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 根据每个 TiDB 实例每秒发生的 SQL 执行错误(如语法错误和主键冲突)统计的错误类型。 |
-| tidb_cloud.db_total_connection| gauge | cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | TiDB 服务器中的当前连接数。 |
-| tidb_cloud.db_active_connections| gauge | cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 活动连接数。 |
+| tidb_cloud.db_database_time| gauge | sql_type: Select\|Insert\|... cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 每秒在 TiDB 上运行的所有 SQL 语句消耗的总时间,包括所有进程的 CPU 时间和非空闲等待时间。 |
+| tidb_cloud.db_query_per_second| gauge | type: Select\|Insert\|... cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 所有 TiDB 实例每秒执行的 SQL 语句数量,按 `SELECT`、`INSERT`、`UPDATE` 等类型统计。 |
+| tidb_cloud.db_average_query_duration| gauge | sql_type: Select\|Insert\|... cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 客户端网络请求发送到 TiDB 与 TiDB 执行后返回给客户端之间的耗时。 |
+| tidb_cloud.db_failed_queries| gauge | type: executor:xxxx\|parser:xxxx\|... cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 每秒每个 TiDB 实例发生的 SQL 执行错误的类型统计(如语法错误、主键冲突等)。 |
+| tidb_cloud.db_total_connection| gauge | cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 当前 TiDB 服务器的连接数。 |
+| tidb_cloud.db_active_connections| gauge | cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 活跃连接数。 |
| tidb_cloud.db_disconnections| gauge | result: ok\|error\|undetermined cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 断开连接的客户端数量。 |
-| tidb_cloud.db_command_per_second| gauge | type: Query\|StmtPrepare\|... cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | TiDB 每秒处理的命令数量,根据命令执行结果的成功或失败进行分类。 |
-| tidb_cloud.db_queries_using_plan_cache_ops| gauge | cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 每秒使用[执行计划缓存](/sql-prepared-plan-cache.md)的查询统计。执行计划缓存仅支持预处理语句命令。 |
+| tidb_cloud.db_command_per_second| gauge | type: Query\|StmtPrepare\|... cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | TiDB 每秒处理的命令数,按命令执行结果的成功或失败分类。 |
+| tidb_cloud.db_queries_using_plan_cache_ops| gauge | cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 每秒使用 [Plan Cache](/sql-prepared-plan-cache.md) 的查询统计。执行计划缓存仅支持 prepared statement 命令。 |
| tidb_cloud.db_transaction_per_second| gauge | txn_mode: pessimistic\|optimistic type: abort\|commit\|... cluster_name: `` instance: tidb-0\|tidb-1… component: `tidb` | 每秒执行的事务数。 |
-| tidb_cloud.node_storage_used_bytes | gauge | cluster_name: `` instance: tikv-0\|tikv-1…\|tiflash-0\|tiflash-1… component: tikv\|tiflash | TiKV/TiFlash 节点的磁盘使用量,以字节为单位。 |
-| tidb_cloud.node_storage_capacity_bytes | gauge | cluster_name: `` instance: tikv-0\|tikv-1…\|tiflash-0\|tiflash-1… component: tikv\|tiflash | TiKV/TiFlash 节点的磁盘容量,以字节为单位。 |
-| tidb_cloud.node_cpu_seconds_total | count | cluster_name: `` instance: tidb-0\|tidb-1…\|tikv-0…\|tiflash-0… component: tidb\|tikv\|tiflash | TiDB/TiKV/TiFlash 节点的 CPU 使用率。 |
-| tidb_cloud.node_cpu_capacity_cores | gauge | cluster_name: `` instance: tidb-0\|tidb-1…\|tikv-0…\|tiflash-0… component: tidb\|tikv\|tiflash | TiDB/TiKV/TiFlash 节点的 CPU 核心限制。 |
-| tidb_cloud.node_memory_used_bytes | gauge | cluster_name: `` instance: tidb-0\|tidb-1…\|tikv-0…\|tiflash-0… component: tidb\|tikv\|tiflash | TiDB/TiKV/TiFlash 节点的已用内存,以字节为单位。 |
-| tidb_cloud.node_memory_capacity_bytes | gauge | cluster_name: `` instance: tidb-0\|tidb-1…\|tikv-0…\|tiflash-0… component: tidb\|tikv\|tiflash | TiDB/TiKV/TiFlash 节点的内存容量,以字节为单位。 |
+| tidb_cloud.node_storage_used_bytes | gauge | cluster_name: `` instance: tikv-0\|tikv-1…\|tiflash-0\|tiflash-1… component: tikv\|tiflash | TiKV/TiFlash 节点的磁盘使用量(字节)。 |
+| tidb_cloud.node_storage_capacity_bytes | gauge | cluster_name: `` instance: tikv-0\|tikv-1…\|tiflash-0\|tiflash-1… component: tikv\|tiflash | TiKV/TiFlash 节点的磁盘容量(字节)。 |
+| tidb_cloud.node_cpu_seconds_total | count | cluster_name: `` instance: tidb-0\|tidb-1…\|tikv-0…\|tiflash-0… component: tidb\|tikv\|tiflash | TiDB/TiKV/TiFlash 节点的 CPU 使用量。 |
+| tidb_cloud.node_cpu_capacity_cores | gauge | cluster_name: `` instance: tidb-0\|tidb-1…\|tikv-0…\|tiflash-0… component: tidb\|tikv\|tiflash | TiDB/TiKV/TiFlash 节点的 CPU 核心数上限。 |
+| tidb_cloud.node_memory_used_bytes | gauge | cluster_name: `` instance: tidb-0\|tidb-1…\|tikv-0…\|tiflash-0… component: tidb\|tikv\|tiflash | TiDB/TiKV/TiFlash 节点已用内存(字节)。 |
+| tidb_cloud.node_memory_capacity_bytes | gauge | cluster_name: `` instance: tidb-0\|tidb-1…\|tikv-0…\|tiflash-0… component: tidb\|tikv\|tiflash | TiDB/TiKV/TiFlash 节点的内存容量(字节)。 |
+
+对于 New Relic integration (Preview),还支持以下额外指标:
+
+| 指标名称 | 指标类型 | 标签 | 描述 |
+| :------------| :---------- | :------| :----------------------------------------------------- |
+| tidbcloud.node_storage_available_bytes | gauge | instance: `tidb-0\|tidb-1\|...` component: `tikv\|tiflash` cluster_name: `` | TiKV 或 TiFlash 节点可用磁盘空间(字节)。 |
+| tidbcloud.disk_read_latency | gauge | instance: `tidb-0\|tidb-1\|...` component: `tikv\|tiflash` cluster_name: `` `device`: `nvme.*\|dm.*` | 每个存储设备的读延迟(秒)。 |
+| tidbcloud.disk_write_latency | gauge | instance: `tidb-0\|tidb-1\|...` component: `tikv\|tiflash` cluster_name: `` `device`: `nvme.*\|dm.*` | 每个存储设备的写延迟(秒)。 |
+| tidbcloud.kv_request_duration | histogram | instance: `tidb-0\|tidb-1\|...` component: `tikv` cluster_name: `` `type`: `BatchGet\|Commit\|Prewrite\|...` | TiKV 按类型请求的耗时(秒)。 |
+| tidbcloud.component_uptime | gauge | instance: `tidb-0\|tidb-1\|...` component: `tidb\|tikv\|tiflash` cluster_name: `` | TiDB 组件的运行时长(秒)。 |
+| tidbcloud.ticdc_owner_checkpoint_ts_lag | gauge | changefeed_id: `` cluster_name: ``| changefeed owner 的 checkpoint 时间戳延迟(秒)。 |
+| tidbcloud.ticdc_owner_resolved_ts_lag | gauge | changefeed_id: `` cluster_name: `` | changefeed owner 的 resolved 时间戳延迟(秒)。 |
+| tidbcloud.changefeed_status | gauge | changefeed_id: `` cluster_name: `` | Changefeed 状态: `-1`: Unknown `0`: Normal `1`: Warning `2`: Failed `3`: Stopped `4`: Finished `6`: Warning `7`: Other |
+| tidbcloud.resource_manager_resource_unit_read_request_unit | gauge | cluster_name: `` resource_group: `` | Resource Manager 消耗的读请求单元(RU)。 |
+| tidbcloud.resource_manager_resource_unit_write_request_unit | gauge | cluster_name: `` resource_group: `` | Resource Manager 消耗的写请求单元(RU)。 |
+| tidb_cloud.dm_task_state | gauge | instance: `instance` task: `task` cluster_name: `` | 数据迁移任务状态: 0: Invalid 1: New 2: Running 3: Paused 4: Stopped 5: Finished 15: Error |
+| tidb_cloud.dm_syncer_replication_lag_bucket | gauge | instance: `instance` cluster_name: `` | 数据迁移的同步延迟(bucket)。 |
+| tidb_cloud.dm_syncer_replication_lag_gauge | gauge | instance: `instance` task: `task` cluster_name: `` | 数据迁移的同步延迟(gauge)。 |
+| tidb_cloud.dm_relay_read_error_count | gauge | instance: `instance` cluster_name: `` | 从主库读取 binlog 失败次数。 |
\ No newline at end of file
diff --git a/tidb-cloud/monitor-prometheus-and-grafana-integration.md b/tidb-cloud/monitor-prometheus-and-grafana-integration.md
index 9622c4f78ab7f..2c5ed198f8688 100644
--- a/tidb-cloud/monitor-prometheus-and-grafana-integration.md
+++ b/tidb-cloud/monitor-prometheus-and-grafana-integration.md
@@ -1,23 +1,23 @@
---
-title: 将 TiDB Cloud 与 Prometheus 和 Grafana 集成(Beta)
+title: 集成 TiDB Cloud 与 Prometheus 和 Grafana(Beta)
summary: 了解如何通过 Prometheus 和 Grafana 集成监控你的 TiDB 集群。
---
-# 将 TiDB Cloud 与 Prometheus 和 Grafana 集成(Beta)
+# 集成 TiDB Cloud 与 Prometheus 和 Grafana(Beta)
-TiDB Cloud 提供了一个 [Prometheus](https://prometheus.io/) API 端点(beta)。如果你有 Prometheus 服务,可以轻松地从该端点监控 TiDB Cloud 的关键指标。
+TiDB Cloud 提供了一个 [Prometheus](https://prometheus.io/) API 端点(Beta)。如果你拥有 Prometheus 服务,可以轻松地通过该端点监控 TiDB Cloud 的关键指标。
-本文档描述如何配置你的 Prometheus 服务以从 TiDB Cloud 端点读取关键指标,以及如何使用 [Grafana](https://grafana.com/) 查看这些指标。
+本文档介绍了如何配置 Prometheus 服务以从 TiDB Cloud 端点读取关键指标,以及如何使用 [Grafana](https://grafana.com/) 查看这些指标。
## 前提条件
-- 要将 TiDB Cloud 与 Prometheus 集成,你必须有一个自托管或托管的 Prometheus 服务。
+- 若要将 TiDB Cloud 与 Prometheus 集成,你必须拥有自托管或托管的 Prometheus 服务。
-- 要编辑 TiDB Cloud 的第三方集成设置,你必须在 TiDB Cloud 中拥有组织的 `Organization Owner` 访问权限或目标项目的 `Project Member` 访问权限。
+- 若要编辑 TiDB Cloud 的第三方集成设置,你必须拥有组织的 **Organization Owner** 权限,或在 TiDB Cloud 中拥有目标项目的 **Project Member** 权限。
## 限制
-- 你不能在 [TiDB Cloud Serverless](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless) 集群中使用 Prometheus 和 Grafana 集成。
+- 你无法在 [TiDB Cloud Serverless](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless) 集群中使用 Prometheus 和 Grafana 集成。
- 当集群状态为 **CREATING**、**RESTORING**、**PAUSED** 或 **RESUMING** 时,Prometheus 和 Grafana 集成不可用。
@@ -25,87 +25,87 @@ TiDB Cloud 提供了一个 [Prometheus](https://prometheus.io/) API 端点(bet
### 步骤 1. 获取 Prometheus 的 scrape_config 文件
-在配置 Prometheus 服务以读取 TiDB Cloud 的指标之前,你需要先在 TiDB Cloud 中生成一个 `scrape_config` YAML 文件。`scrape_config` 文件包含一个唯一的持有者令牌,允许 Prometheus 服务监控当前项目中的任何数据库集群。
+在配置 Prometheus 服务以读取 TiDB Cloud 指标之前,你需要先在 TiDB Cloud 中生成一个 `scrape_config` YAML 文件。该 `scrape_config` 文件包含一个唯一的 bearer token,允许 Prometheus 服务监控当前项目中的所有数据库集群。
要获取 Prometheus 的 `scrape_config` 文件,请执行以下操作:
-1. 在 [TiDB Cloud 控制台](https://tidbcloud.com)中,使用左上角的组合框切换到目标项目。
-2. 在左侧导航栏中,点击 **Project Settings** > **Integrations**。
+1. 在 [TiDB Cloud 控制台](https://tidbcloud.com) 中,使用左上角的下拉框切换到你的目标项目。
+2. 在左侧导航栏,点击 **Project Settings** > **Integrations**。
3. 在 **Integrations** 页面,点击 **Integration to Prometheus (BETA)**。
-4. 点击 **Add File** 为当前项目生成并显示 scrape_config 文件。
+4. 点击 **Add File**,为当前项目生成并显示 scrape_config 文件。
-5. 复制 `scrape_config` 文件内容以供后续使用。
+5. 复制 `scrape_config` 文件的内容,以备后续使用。
> **注意:**
>
- > 出于安全考虑,TiDB Cloud 只会显示一次新生成的 `scrape_config` 文件。确保在关闭文件窗口之前复制内容。如果忘记复制,你需要在 TiDB Cloud 中删除 `scrape_config` 文件并生成一个新文件。要删除 `scrape_config` 文件,选择该文件,点击 **...**,然后点击 **Delete**。
+ > 出于安全考虑,TiDB Cloud 只会显示新生成的 `scrape_config` 文件一次。请确保在关闭文件窗口前复制内容。如果忘记复制,需要在 TiDB Cloud 中删除该 `scrape_config` 文件并重新生成。要删除 `scrape_config` 文件,选择该文件,点击 **...**,然后点击 **Delete**。
-### 步骤 2. 与 Prometheus 集成
+### 步骤 2. 集成 Prometheus
-1. 在 Prometheus 服务指定的监控目录中,找到 Prometheus 配置文件。
+1. 在你的 Prometheus 服务指定的监控目录中,找到 Prometheus 配置文件。
例如,`/etc/prometheus/prometheus.yml`。
2. 在 Prometheus 配置文件中,找到 `scrape_configs` 部分,然后将从 TiDB Cloud 获取的 `scrape_config` 文件内容复制到该部分。
-3. 在你的 Prometheus 服务中,检查 **Status** > **Targets** 以确认新的 `scrape_config` 文件已被读取。如果没有,你可能需要重启 Prometheus 服务。
+3. 在你的 Prometheus 服务中,检查 **Status** > **Targets**,确认新的 `scrape_config` 文件已被读取。如果没有,你可能需要重启 Prometheus 服务。
-### 步骤 3. 使用 Grafana GUI 仪表板可视化指标
+### 步骤 3. 使用 Grafana GUI 仪表盘可视化指标
-在你的 Prometheus 服务从 TiDB Cloud 读取指标后,你可以按照以下步骤使用 Grafana GUI 仪表板来可视化指标:
+当你的 Prometheus 服务已从 TiDB Cloud 读取指标后,可以按如下方式使用 Grafana GUI 仪表盘进行可视化:
-1. 在[这里](https://github.com/pingcap/docs/blob/master/tidb-cloud/monitor-prometheus-and-grafana-integration-grafana-dashboard-UI.json)下载 TiDB Cloud 的 Grafana 仪表板 JSON。
+1. 在 [此处](https://github.com/pingcap/docs/blob/master/tidb-cloud/monitor-prometheus-and-grafana-integration-grafana-dashboard-UI.json) 下载 TiDB Cloud 的 Grafana 仪表盘 JSON 文件。
-2. [将此 JSON 导入到你自己的 Grafana GUI](https://grafana.com/docs/grafana/v8.5/dashboards/export-import/#import-dashboard) 以可视化指标。
+2. [将该 JSON 导入到你自己的 Grafana GUI](https://grafana.com/docs/grafana/v8.5/dashboards/export-import/#import-dashboard) 以可视化指标。
> **注意:**
>
- > 如果你已经在使用 Prometheus 和 Grafana 监控 TiDB Cloud,并想要整合新可用的指标,建议你创建一个新的仪表板,而不是直接更新现有仪表板的 JSON。
+ > 如果你已经在使用 Prometheus 和 Grafana 监控 TiDB Cloud,并希望引入新提供的指标,建议新建一个仪表盘,而不是直接更新现有仪表盘的 JSON。
-3. (可选)根据需要自定义仪表板,例如添加或删除面板、更改数据源和修改显示选项。
+3. (可选)根据需要自定义仪表盘,例如添加或移除面板、变更数据源、修改显示选项等。
-有关如何使用 Grafana 的更多信息,请参见 [Grafana 文档](https://grafana.com/docs/grafana/latest/getting-started/getting-started-prometheus/)。
+关于如何使用 Grafana 的更多信息,请参见 [Grafana 文档](https://grafana.com/docs/grafana/latest/getting-started/getting-started-prometheus/)。
-## 轮换 scrape_config 的最佳实践
+## scrape_config 的轮换最佳实践
-为了提高数据安全性,定期轮换 `scrape_config` 文件持有者令牌是一般的最佳实践。
+为提升数据安全性,建议定期轮换 `scrape_config` 文件中的 bearer token。
-1. 按照[步骤 1](#步骤-1-获取-prometheus-的-scrape_config-文件)为 Prometheus 创建一个新的 `scrape_config` 文件。
+1. 按照 [步骤 1](#step-1-get-a-scrape_config-file-for-prometheus) 为 Prometheus 创建新的 `scrape_config` 文件。
2. 将新文件的内容添加到你的 Prometheus 配置文件中。
-3. 一旦确认你的 Prometheus 服务仍然能够从 TiDB Cloud 读取数据,从你的 Prometheus 配置文件中删除旧的 `scrape_config` 文件内容。
-4. 在你项目的 **Integrations** 页面上,删除相应的旧 `scrape_config` 文件,以阻止其他人使用它从 TiDB Cloud Prometheus 端点读取数据。
+3. 确认 Prometheus 服务仍能从 TiDB Cloud 读取数据后,从 Prometheus 配置文件中移除旧的 `scrape_config` 文件内容。
+4. 在项目的 **Integrations** 页面,删除对应的旧 `scrape_config` 文件,防止他人使用其读取 TiDB Cloud Prometheus 端点。
-## Prometheus 可用的指标
+## Prometheus 可用指标
-Prometheus 跟踪你的 TiDB 集群的以下指标数据。
+Prometheus 会跟踪你的 TiDB 集群的以下指标数据。
-| 指标名称 | 指标类型 | 标签 | 描述 |
+| 指标名称 | 指标类型 | 标签 | 描述 |
|:--- |:--- |:--- |:--- |
| tidbcloud_db_queries_total| count | sql_type: `Select\|Insert\|...` cluster_name: `` instance: `tidb-0\|tidb-1…` component: `tidb` | 执行的语句总数 |
| tidbcloud_db_failed_queries_total | count | type: `planner:xxx\|executor:2345\|...` cluster_name: `` instance: `tidb-0\|tidb-1…` component: `tidb` | 执行错误的总数 |
-| tidbcloud_db_connections | gauge | cluster_name: `` instance: `tidb-0\|tidb-1…` component: `tidb` | TiDB 服务器中的当前连接数 |
-| tidbcloud_db_query_duration_seconds | histogram | sql_type: `Select\|Insert\|...` cluster_name: `` instance: `tidb-0\|tidb-1…` component: `tidb` | 语句的持续时间直方图 |
-| tidbcloud_changefeed_latency | gauge | changefeed_id | 变更数据捕获上游和下游之间的数据复制延迟 |
-| tidbcloud_changefeed_checkpoint_ts | gauge | changefeed_id | 变更数据捕获的检查点时间戳,表示成功写入下游的最大 TSO(时间戳预言机) |
-| tidbcloud_changefeed_replica_rows | gauge | changefeed_id | 变更数据捕获每秒写入下游的复制行数 |
-| tidbcloud_node_storage_used_bytes | gauge | cluster_name: `` instance: `tikv-0\|tikv-1…\|tiflash-0\|tiflash-1…` component: `tikv\|tiflash` | TiKV/TiFlash 节点的磁盘使用字节数 |
+| tidbcloud_db_connections | gauge | cluster_name: `` instance: `tidb-0\|tidb-1…` component: `tidb` | 当前 TiDB 服务器的连接数 |
+| tidbcloud_db_query_duration_seconds | histogram | sql_type: `Select\|Insert\|...` cluster_name: `` instance: `tidb-0\|tidb-1…` component: `tidb` | 语句的耗时直方图 |
+| tidbcloud_changefeed_latency | gauge | changefeed_id | changefeed 上游与下游之间的数据同步延迟 |
+| tidbcloud_changefeed_checkpoint_ts | gauge | changefeed_id | changefeed 的检查点时间戳,表示已成功写入下游的最大 TSO(Timestamp Oracle)|
+| tidbcloud_changefeed_replica_rows | gauge | changefeed_id | changefeed 每秒写入下游的同步行数 |
+| tidbcloud_node_storage_used_bytes | gauge | cluster_name: `` instance: `tikv-0\|tikv-1…\|tiflash-0\|tiflash-1…` component: `tikv\|tiflash` | TiKV/TiFlash 节点的磁盘已用字节数 |
| tidbcloud_node_storage_capacity_bytes | gauge | cluster_name: `` instance: `tikv-0\|tikv-1…\|tiflash-0\|tiflash-1…` component: `tikv\|tiflash` | TiKV/TiFlash 节点的磁盘容量字节数 |
-| tidbcloud_node_cpu_seconds_total | count | cluster_name: `` instance: `tidb-0\|tidb-1…\|tikv-0…\|tiflash-0…` component: `tidb\|tikv\|tiflash` | TiDB/TiKV/TiFlash 节点的 CPU 使用率 |
-| tidbcloud_node_cpu_capacity_cores | gauge | cluster_name: `` instance: `tidb-0\|tidb-1…\|tikv-0…\|tiflash-0…` component: `tidb\|tikv\|tiflash` | TiDB/TiKV/TiFlash 节点的 CPU 限制核心数 |
+| tidbcloud_node_cpu_seconds_total | count | cluster_name: `` instance: `tidb-0\|tidb-1…\|tikv-0…\|tiflash-0…` component: `tidb\|tikv\|tiflash` | TiDB/TiKV/TiFlash 节点的 CPU 使用量 |
+| tidbcloud_node_cpu_capacity_cores | gauge | cluster_name: `` instance: `tidb-0\|tidb-1…\|tikv-0…\|tiflash-0…` component: `tidb\|tikv\|tiflash` | TiDB/TiKV/TiFlash 节点的 CPU 限制核数 |
| tidbcloud_node_memory_used_bytes | gauge | cluster_name: `` instance: `tidb-0\|tidb-1…\|tikv-0…\|tiflash-0…` component: `tidb\|tikv\|tiflash` | TiDB/TiKV/TiFlash 节点的已用内存字节数 |
| tidbcloud_node_memory_capacity_bytes | gauge | cluster_name: `` instance: `tidb-0\|tidb-1…\|tikv-0…\|tiflash-0…` component: `tidb\|tikv\|tiflash` | TiDB/TiKV/TiFlash 节点的内存容量字节数 |
-| tidbcloud_node_storage_available_bytes | gauge | instance: `tidb-0\|tidb-1\|...` component: `tikv\|tiflash` cluster_name: `` | TiKV/TiFlash 节点的可用磁盘空间字节数 |
-| tidbcloud_disk_read_latency | histogram | instance: `tidb-0\|tidb-1\|...` component: `tikv\|tiflash` cluster_name: `` `device`: `nvme.*\|dm.*` | 每个存储设备的读取延迟(秒) |
-| tidbcloud_disk_write_latency | histogram | instance: `tidb-0\|tidb-1\|...` component: `tikv\|tiflash` cluster_name: `` `device`: `nvme.*\|dm.*` | 每个存储设备的写入延迟(秒) |
-| tidbcloud_kv_request_duration | histogram | instance: `tidb-0\|tidb-1\|...` component: `tikv` cluster_name: `` `type`: `BatchGet\|Commit\|Prewrite\|...` | 按类型划分的 TiKV 请求持续时间(秒) |
-| tidbcloud_component_uptime | histogram | instance: `tidb-0\|tidb-1\|...` component: `tidb\|tikv\|pd\|...` cluster_name: `` | TiDB 组件的运行时间(秒) |
-| tidbcloud_ticdc_owner_resolved_ts_lag | gauge | changefeed_id: `` cluster_name: `` | 变更数据捕获所有者的已解析时间戳延迟(秒) |
-| tidbcloud_changefeed_status | gauge | changefeed_id: `` cluster_name: `` | 变更数据捕获状态: `-1`: 未知 `0`: 正常 `1`: 警告 `2`: 失败 `3`: 已停止 `4`: 已完成 `6`: 警告 `7`: 其他 |
-| tidbcloud_resource_manager_resource_unit_read_request_unit | gauge | cluster_name: `` resource_group: `` | 资源管理器消耗的读请求单位 |
-| tidbcloud_resource_manager_resource_unit_write_request_unit | gauge | cluster_name: `` resource_group: `` | 资源管理器消耗的写请求单位 |
+| tidbcloud_node_storage_available_bytes | gauge | instance: `tidb-0\|tidb-1\|...` component: `tikv\|tiflash` cluster_name: `` | TiKV/TiFlash 节点可用磁盘空间(字节)|
+| tidbcloud_disk_read_latency | histogram | instance: `tidb-0\|tidb-1\|...` component: `tikv\|tiflash` cluster_name: `` `device`: `nvme.*\|dm.*` | 每个存储设备的读延迟(秒)|
+| tidbcloud_disk_write_latency | histogram | instance: `tidb-0\|tidb-1\|...` component: `tikv\|tiflash` cluster_name: `` `device`: `nvme.*\|dm.*` | 每个存储设备的写延迟(秒)|
+| tidbcloud_kv_request_duration | histogram | instance: `tidb-0\|tidb-1\|...` component: `tikv` cluster_name: `` `type`: `BatchGet\|Commit\|Prewrite\|...` | TiKV 按类型请求的耗时(秒)|
+| tidbcloud_component_uptime | histogram | instance: `tidb-0\|tidb-1\|...` component: `tidb\|tikv\|tiflash` cluster_name: `` | TiDB 组件的运行时长(秒)|
+| tidbcloud_ticdc_owner_resolved_ts_lag | gauge | changefeed_id: `` cluster_name: `` | changefeed owner 的 resolved timestamp 延迟(秒)|
+| tidbcloud_changefeed_status | gauge | changefeed_id: `` cluster_name: `` | changefeed 状态: `-1`: 未知 `0`: 正常 `1`: 警告 `2`: 失败 `3`: 已停止 `4`: 已完成 `6`: 警告 `7`: 其他 |
+| tidbcloud_resource_manager_resource_unit_read_request_unit | gauge | cluster_name: `` resource_group: `` | Resource Manager 消耗的读请求单元 |
+| tidbcloud_resource_manager_resource_unit_write_request_unit | gauge | cluster_name: `` resource_group: `` | Resource Manager 消耗的写请求单元 |
## 常见问题
-- 为什么同一指标在同一时间在 Grafana 和 TiDB Cloud 控制台上显示的值不同?
+- 为什么同一指标在 Grafana 和 TiDB Cloud 控制台上同时显示的数值不同?
- Grafana 和 TiDB Cloud 之间的聚合计算逻辑不同,因此显示的聚合值可能会有所不同。你可以调整 Grafana 中的 `mini step` 配置以获取更细粒度的指标值。
+ 因为 Grafana 和 TiDB Cloud 的聚合计算逻辑不同,所以显示的聚合值可能会有差异。你可以调整 Grafana 中的 `mini step` 配置,以获得更细粒度的指标值。
\ No newline at end of file
diff --git a/tidb-cloud/monitoring-concepts.md b/tidb-cloud/monitoring-concepts.md
index 427012c784841..4eaf418367452 100644
--- a/tidb-cloud/monitoring-concepts.md
+++ b/tidb-cloud/monitoring-concepts.md
@@ -1,21 +1,21 @@
---
-title: 监控
+title: Monitoring
summary: 了解 TiDB Cloud 的监控概念。
---
-# 监控
+# Monitoring
-TiDB Cloud 的监控功能提供了工具和集成,使你能够监督集群性能、跟踪活动并及时响应问题。
+TiDB Cloud 的监控为你提供了工具和集成,能够监督集群性能、跟踪活动,并及时响应问题。
## 内置指标
-内置指标是指 TiDB Cloud 在**指标**页面上收集和展示的一整套集群标准指标。通过这些指标,你可以轻松识别性能问题,并确定当前的数据库部署是否满足你的需求。
+内置指标是指 TiDB Cloud 收集并在 **Metrics** 页面展示的集群全套标准指标。通过这些指标,你可以轻松识别性能问题,并判断当前的数据库部署是否满足你的需求。
-更多信息,请参阅 [TiDB Cloud 内置指标](/tidb-cloud/built-in-monitoring.md)。
+更多信息,参见 [TiDB Cloud Built-in Metrics](/tidb-cloud/built-in-monitoring.md)。
## 内置告警
-内置告警是指 TiDB Cloud 提供的集群告警机制,用于帮助你监控集群。目前,TiDB Cloud 提供以下三种类型的告警:
+内置告警是指 TiDB Cloud 提供的集群告警机制,帮助你监控集群。目前,TiDB Cloud 提供以下三类告警:
- 资源使用告警
@@ -23,26 +23,22 @@ TiDB Cloud 的监控功能提供了工具和集成,使你能够监督集群性
- Changefeed 告警
-在 TiDB Cloud 控制台的告警页面,你可以查看集群的告警、编辑告警规则,以及订阅告警通知邮件。
+在 TiDB Cloud 控制台的 Alerts 页面,你可以查看集群的告警、编辑告警规则,并订阅告警通知邮件。
-更多信息,请参阅 [TiDB Cloud 内置告警](/tidb-cloud/monitor-built-in-alerting.md)。
+更多信息,参见 [TiDB Cloud Built-in Alerting](/tidb-cloud/monitor-built-in-alerting.md)。
## 集群事件
-在 TiDB Cloud 中,事件表示 TiDB Cloud 集群的变更。TiDB Cloud 在集群级别记录历史事件,以帮助你跟踪集群活动。你可以在**事件**页面查看记录的事件,包括事件类型、状态、消息、触发时间和触发用户。
+在 TiDB Cloud 中,事件表示你的 TiDB Cloud 集群发生的变更。TiDB Cloud 会在集群级别记录历史事件,帮助你跟踪集群活动。你可以在 **Events** 页面查看已记录的事件,包括事件类型、状态、消息、触发时间和触发用户。
-更多信息,请参阅 [TiDB Cloud 集群事件](/tidb-cloud/tidb-cloud-events.md)。
+更多信息,参见 [TiDB Cloud Cluster Event](/tidb-cloud/tidb-cloud-events.md)。
-## 第三方指标集成(Beta)
+## 第三方指标集成
-TiDB Cloud 允许你集成以下任何第三方指标服务,以接收 TiDB Cloud 告警并查看 TiDB 集群的性能指标。
+TiDB Cloud 允许你集成以下任意第三方指标服务,以接收 TiDB Cloud 告警并查看 TiDB 集群的性能指标。
-- Datadog 集成
+- [Datadog 集成(预览版)](/tidb-cloud/monitor-datadog-integration.md)
-- Prometheus 和 Grafana 集成
+- [Prometheus 和 Grafana 集成(Beta)](/tidb-cloud/monitor-prometheus-and-grafana-integration.md)
-- New Relic 集成
-
-目前,这些第三方指标集成处于 beta 阶段。
-
-更多信息,请参阅[第三方指标集成(Beta)](/tidb-cloud/third-party-monitoring-integrations.md)。
+- [New Relic 集成(预览版)](/tidb-cloud/monitor-new-relic-integration.md)
\ No newline at end of file
diff --git a/tidb-cloud/notifications.md b/tidb-cloud/notifications.md
index 3340a53b153db..53b18ccacd025 100644
--- a/tidb-cloud/notifications.md
+++ b/tidb-cloud/notifications.md
@@ -1,56 +1,56 @@
---
title: TiDB Cloud 控制台中的通知
-summary: 了解 TiDB Cloud 控制台中的通知,包括通知类型、用途以及如何查看它们。
+summary: 了解 TiDB Cloud 控制台中的通知,包括通知类型、用途以及如何查看通知。
---
# TiDB Cloud 控制台中的通知
-[TiDB Cloud 控制台](https://tidbcloud.com/)提供通知功能,让你了解重要更新、系统消息、产品变更、账单提醒和其他相关信息。这些通知帮助你在不离开控制台的情况下及时了解最新情况并采取必要的操作。
+[TiDB Cloud 控制台](https://tidbcloud.com/) 会通过通知让你及时了解重要更新、系统消息、产品变更、账单提醒及其他相关信息。这些通知帮助你随时掌握最新动态,并在不离开控制台的情况下采取必要操作。
## 通知类型
你可能会在 TiDB Cloud 控制台中收到不同类型的通知,例如:
-- **信息通知**
+- **Informational notifications**
- 提供有用的更新信息,如功能使用提示、应用变更或即将发生的事件提醒。
+ 提供有用的更新信息,如功能使用提示、应用变更或即将到来的事件提醒。
-- **操作通知**
+- **Actionable notifications**
- 提示你执行特定操作,如添加信用卡。
+ 提示你执行特定操作,例如添加信用卡。
-- **警报通知**
+- **Alert notifications**
- 通知你需要立即关注的重要问题或紧急事件,如系统错误、安全警告或重要更新。
+ 通知你存在需要立即关注的关键问题或紧急事件,例如系统错误、安全警告或重要更新。
-- **账单通知**
+- **Billing notifications**
- 提供有关账单相关活动的更新,如信用额度和折扣更新。
+ 提供与账单相关的活动更新,例如积分和折扣的变动。
-- **反馈通知**
+- **Feedback notifications**
- 请求你对某个功能的使用体验提供反馈,如对最近的交互进行评分或完成调查。
+ 请求你对某个功能的使用体验进行反馈,例如对最近的交互进行评分或完成调查问卷。
## 通知列表
-下表列出了 TiDB Cloud 中可用的通知,以及它们的触发事件和接收者:
+下表列出了 TiDB Cloud 中可用的通知类型,以及它们的触发事件和接收人:
-| 通知 | 触发事件 | 通知接收者 |
+| Notification | Trigger event | Notification recipient |
| --- | --- | --- |
-| TiDB Cloud Serverless 集群创建 | 创建了一个 [TiDB Cloud Serverless](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless) 集群。 | 所有项目成员 |
-| TiDB Cloud Serverless 集群删除 | 删除了一个 TiDB Cloud Serverless 集群。 | 所有项目成员 |
-| TiDB Cloud Dedicated 集群创建 | 创建了一个 [TiDB Cloud Dedicated](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) 集群。 | 所有项目成员 |
-| TiDB Cloud Dedicated 集群删除 | 删除了一个 TiDB Cloud Dedicated 集群。 | 所有项目成员 |
-| 组织预算阈值警报 | 达到组织[预算阈值](/tidb-cloud/tidb-cloud-budget.md)。 | `组织所有者`、`组织账单管理员`和`组织账单查看者` |
-| 项目预算阈值警报 | 达到项目[预算阈值](/tidb-cloud/tidb-cloud-budget.md)。 | `组织所有者`、`组织账单管理员`、`组织账单查看者`和`项目所有者` |
-| Serverless 集群支出限额阈值警报 | 达到组织中 TiDB Cloud Serverless 集群的[支出限额阈值](/tidb-cloud/manage-serverless-spend-limit.md)。 | `组织所有者`、`组织账单管理员`、`组织账单查看者`和`项目所有者` |
-| 信用额度更新 | 组织的[信用额度](/tidb-cloud/tidb-cloud-billing.md#credits)被应用、完全使用、收回或过期。 | `组织所有者`、`组织账单管理员`和`组织账单查看者` |
-| 折扣更新 | 组织的[折扣](/tidb-cloud/tidb-cloud-billing.md#discounts)被应用、收回或过期。 | `组织所有者`、`组织账单管理员`和`组织账单查看者` |
-| 云市场更新 | 组织通过云服务提供商市场进行订阅或取消订阅。 | 所有组织成员 |
-| 支持计划更新 | 组织的支持计划订阅发生变更。 | 所有组织成员 |
+| TiDB Cloud Serverless cluster creation | 创建了一个 [TiDB Cloud Serverless](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless) 集群。 | 所有项目成员 |
+| TiDB Cloud Serverless cluster deletion | 删除了一个 TiDB Cloud Serverless 集群。 | 所有项目成员 |
+| TiDB Cloud Dedicated cluster creation | 创建了一个 [TiDB Cloud Dedicated](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) 集群。 | 所有项目成员 |
+| TiDB Cloud Dedicated cluster deletion | 删除了一个 TiDB Cloud Dedicated 集群。 | 所有项目成员 |
+| Organization Budget threshold alert | 达到组织的 [预算阈值](/tidb-cloud/tidb-cloud-budget.md)。 | `Organization Owner`、`Organization Billing Manager` 和 `Organization Billing Viewer` |
+| Project Budget threshold alert | 达到项目的 [预算阈值](/tidb-cloud/tidb-cloud-budget.md)。 | `Organization Owner`、`Organization Billing Manager`、`Organization Billing Viewer` 和 `Project Owner` |
+| Serverless cluster spending limit threshold alert | 组织内 TiDB Cloud Serverless 集群的 [消费限额阈值](/tidb-cloud/manage-serverless-spend-limit.md) 达到。 | `Organization Owner`、`Organization Billing Manager`、`Organization Billing Viewer` 和 `Project Owner` |
+| Credits update | 组织的 [Credits](/tidb-cloud/tidb-cloud-billing.md#credits) 被应用、全部用完、回收或过期。 | `Organization Owner`、`Organization Billing Manager` 和 `Organization Billing Viewer` |
+| Discount update | 组织的 [Discounts](/tidb-cloud/tidb-cloud-billing.md#discounts) 被应用、回收或过期。 | `Organization Owner`、`Organization Billing Manager` 和 `Organization Billing Viewer` |
+| Marketplace update | 组织通过云服务商市场订阅或取消订阅。 | 所有组织成员 |
+| Support plan update | 组织的支持计划订阅发生变更。 | 所有组织成员 |
## 查看通知
-要查看通知,请点击 [TiDB Cloud 控制台](https://tidbcloud.com/)左下角的**通知**。
+要查看通知,请点击 [TiDB Cloud 控制台](https://tidbcloud.com/) 左下角的 **Notification**。
-当有新通知时,**通知**旁边会显示一个数字,表示有多少条未读通知。
+当有新通知时,**Notification** 旁会显示一个数字,表示有多少条未读通知。
\ No newline at end of file
diff --git a/tidb-cloud/pause-or-resume-tidb-cluster.md b/tidb-cloud/pause-or-resume-tidb-cluster.md
index dcd8c34145245..f37d930621fe8 100644
--- a/tidb-cloud/pause-or-resume-tidb-cluster.md
+++ b/tidb-cloud/pause-or-resume-tidb-cluster.md
@@ -1,62 +1,62 @@
---
-title: 暂停或恢复 TiDB Cloud Dedicated 集群
-summary: 了解如何暂停或恢复 TiDB Cloud Dedicated 集群。
+title: 暂停或恢复 TiDB Cloud 专属集群
+summary: 了解如何暂停或恢复 TiDB Cloud 专属集群。
---
-# 暂停或恢复 TiDB Cloud Dedicated 集群
+# 暂停或恢复 TiDB Cloud 专属集群
-在 TiDB Cloud 中,你可以轻松地暂停和恢复不需要持续运行的 TiDB Cloud Dedicated 集群。
+你可以在 TiDB Cloud 中轻松暂停和恢复并非始终运行的 TiDB Cloud 专属集群。
-暂停操作不会影响集群中存储的数据,仅会停止收集监控信息和计算资源的消耗。暂停后,你可以随时恢复集群。
+暂停操作不会影响存储在集群中的数据,只是停止监控信息的收集和计算资源的消耗。暂停后,你可以随时恢复集群。
-与备份和恢复相比,暂停和恢复集群所需时间更短,并且可以保留集群信息(包括集群版本、集群配置和 TiDB 用户账户)。
+与备份和恢复相比,暂停和恢复集群所需时间更短,并且会保留你的集群信息(包括集群版本、集群配置和 TiDB 用户账户)。
> **注意:**
>
-> 你不能暂停 [TiDB Cloud Serverless 集群](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless)。
+> 你无法暂停 [TiDB Cloud Serverless 集群](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless)。
-## 限制条件
+## 限制
-- 只有当集群处于 **Available**(可用)状态时,你才能暂停集群。如果集群处于其他状态(如 **Modifying**),你必须等待当前操作完成后才能暂停集群。
-- 当数据导入任务正在进行时,你不能暂停集群。你可以等待导入任务完成或取消导入任务。
-- 当备份任务正在进行时,你不能暂停集群。你可以等待当前备份任务完成或[删除正在运行的备份任务](/tidb-cloud/backup-and-restore.md#delete-a-running-backup-job)。
-- 如果集群有任何 [changefeeds](/tidb-cloud/changefeed-overview.md),你不能暂停集群。你需要在暂停集群之前[删除现有的 changefeeds](/tidb-cloud/changefeed-overview.md#delete-a-changefeed)。
+- 只有当集群处于 **Available** 状态时,你才能暂停集群。如果集群处于 **Modifying** 等其他状态,你必须等待当前操作完成后才能暂停集群。
+- 当有数据导入任务正在进行时,无法暂停集群。你可以等待导入任务完成或取消导入任务。
+- 当有备份任务正在进行时,无法暂停集群。你可以等待当前备份任务完成或[删除正在运行的备份任务](/tidb-cloud/backup-and-restore.md#delete-a-running-backup-job)。
+- 如果集群存在任何 [changefeeds](/tidb-cloud/changefeed-overview.md),则无法暂停集群。你需要[删除现有的 changefeed](/tidb-cloud/changefeed-overview.md#delete-a-changefeed) 后才能暂停集群。
## 暂停 TiDB 集群
暂停时长和行为取决于你的组织创建日期:
-- 2024 年 11 月 12 日之后创建的组织遵循标准暂停行为,最长暂停时间为 7 天。
-- 2024 年 11 月 12 日或之前创建的组织遵循兼容暂停行为,允许更长的暂停时间。这些组织将逐步过渡到标准的 7 天限制。
+- 2024 年 11 月 12 日之后创建的组织,采用标准暂停行为,最长暂停时长为 7 天。
+- 2024 年 11 月 12 日及之前创建的组织,采用兼容暂停行为,允许更长的暂停时长。这些组织将逐步过渡到标准的 7 天限制。
-
+
-当集群被暂停时,请注意以下几点:
+当集群被暂停时,请注意以下事项:
-- TiDB Cloud 停止收集集群的监控信息。
-- 你无法从集群读取或写入数据。
+- TiDB Cloud 停止收集该集群的监控信息。
+- 你无法从集群中读取或写入数据。
- 你无法导入或备份数据。
- 仅收取以下费用:
- 节点存储费用
- 数据备份费用
-- TiDB Cloud 停止集群的[自动备份](/tidb-cloud/backup-and-restore.md#turn-on-auto-backup)。
-- 最长暂停时间为 7 天。如果你在 7 天内没有手动恢复集群,TiDB Cloud 将自动恢复它。
-- 你可以在集群概览页面查看自动恢复计划。TiDB Cloud 将在集群自动恢复前 24 小时向组织所有者和项目所有者发送通知邮件。
+- TiDB Cloud 停止该集群的[自动备份](/tidb-cloud/backup-and-restore.md#turn-on-auto-backup)。
+- 最长暂停时长为 7 天。如果你未在 7 天内手动恢复集群,TiDB Cloud 会自动恢复集群。
+- 你可以在集群概览页面查看自动恢复的计划。TiDB Cloud 会在集群自动恢复前 24 小时,向组织所有者和项目所有者发送通知邮件。
-
+
> **注意:**
>
-> 如果你的组织是在 2024 年 11 月 12 日之前创建的,你的集群仍然遵循兼容暂停行为。TiDB Cloud 将在过渡到新的标准暂停行为之前通知你。
+> 如果你的组织是在 2024 年 11 月 12 日之前创建的,集群仍采用兼容暂停行为。TiDB Cloud 会在过渡到新的标准暂停行为前通知你。
-当集群被暂停时,请注意以下几点:
+当集群被暂停时,请注意以下事项:
-- TiDB Cloud 停止收集集群的监控信息。
-- 你无法从集群读取或写入数据。
+- TiDB Cloud 停止收集该集群的监控信息。
+- 你无法从集群中读取或写入数据。
- 你无法导入或备份数据。
- TiDB Cloud 不会自动恢复已暂停的集群。
- 仅收取以下费用:
@@ -64,49 +64,49 @@ summary: 了解如何暂停或恢复 TiDB Cloud Dedicated 集群。
- 节点存储费用
- 数据备份费用
-- TiDB Cloud 停止集群的[自动备份](/tidb-cloud/backup-and-restore.md#turn-on-auto-backup)。
+- TiDB Cloud 停止该集群的[自动备份](/tidb-cloud/backup-and-restore.md#turn-on-auto-backup)。
-要暂停集群,请按照以下步骤操作:
+暂停集群的步骤如下:
-1. 在 TiDB Cloud 控制台中,导航到项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
-2. 在要暂停的集群所在行,点击 **...**。
+1. 在 TiDB Cloud 控制台,进入你的项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
+2. 在你想要暂停的集群所在行,点击 **...**。
> **提示:**
>
- > 或者,你可以在 **Clusters** 页面上点击要暂停的集群名称,然后点击右上角的 **...**。
+ > 你也可以在 **Clusters** 页面点击你想要暂停的集群名称,然后在右上角点击 **...**。
3. 在下拉菜单中点击 **Pause**。
- 此时会显示 **Pause your cluster** 对话框。
+ 此时会弹出 **Pause your cluster** 对话框。
-4. 在对话框中,点击 **Pause** 确认你的选择。
+4. 在对话框中点击 **Pause** 以确认你的选择。
- 点击 **Pause** 后,集群将首先进入 **Pausing** 状态。一旦暂停操作完成,集群将转换为 **Paused** 状态。
+ 点击 **Pause** 后,集群会先进入 **Pausing** 状态。暂停操作完成后,集群会变为 **Paused** 状态。
-你也可以使用 TiDB Cloud API 暂停集群。目前,TiDB Cloud API 仍处于测试阶段。更多信息,请参见 [TiDB Cloud API 文档](https://docs.pingcap.com/tidbcloud/api/v1beta)。
+你也可以通过 TiDB Cloud API 暂停集群。目前,TiDB Cloud API 仍处于 beta 阶段。更多信息请参见 [TiDB Cloud API Documentation](https://docs.pingcap.com/tidbcloud/api/v1beta)。
## 恢复 TiDB 集群
-暂停的集群恢复后,请注意以下几点:
+暂停的集群恢复后,请注意以下事项:
-- TiDB Cloud 恢复收集集群的监控信息,你可以从集群读取或写入数据。
+- TiDB Cloud 恢复收集该集群的监控信息,你可以从集群中读取或写入数据。
- TiDB Cloud 恢复收取计算和存储费用。
-- TiDB Cloud 恢复集群的[自动备份](/tidb-cloud/backup-and-restore.md#turn-on-auto-backup)。
+- TiDB Cloud 恢复该集群的[自动备份](/tidb-cloud/backup-and-restore.md#turn-on-auto-backup)。
-要恢复已暂停的集群,请按照以下步骤操作:
+恢复已暂停集群的步骤如下:
-1. 在 TiDB Cloud 控制台中,导航到项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
-2. 对于要恢复的集群,点击 **Resume**。此时会显示 **Resume your cluster** 对话框。
+1. 在 TiDB Cloud 控制台,进入你的项目的 [**Clusters**](https://tidbcloud.com/project/clusters) 页面。
+2. 在你想要恢复的集群所在行,点击 **Resume**。此时会弹出 **Resume your cluster** 对话框。
> **注意:**
>
- > 你不能恢复处于 **Pausing** 状态的集群。
+ > 处于 **Pausing** 状态的集群无法恢复。
-3. 在对话框中,点击 **Resume** 确认你的选择。集群状态将变为 **Resuming**。
+3. 在对话框中点击 **Resume** 以确认你的选择。集群状态会变为 **Resuming**。
-根据集群大小,恢复集群可能需要几分钟时间。集群恢复后,集群状态将从 **Resuming** 变为 **Available**。
+根据你的集群规模,恢复集群可能需要几分钟。集群恢复后,状态会从 **Resuming** 变为 **Available**。
-你也可以使用 TiDB Cloud API 恢复集群。目前,TiDB Cloud API 仍处于测试阶段。更多信息,请参见 [TiDB Cloud API 文档](https://docs.pingcap.com/tidbcloud/api/v1beta)。
+你也可以通过 TiDB Cloud API 恢复集群。目前,TiDB Cloud API 仍处于 beta 阶段。更多信息请参见 [TiDB Cloud API Documentation](https://docs.pingcap.com/tidbcloud/api/v1beta)。
\ No newline at end of file
diff --git a/tidb-cloud/release-notes-2023.md b/tidb-cloud/release-notes-2023.md
index d589e629d057e..2fbd114b7e93a 100644
--- a/tidb-cloud/release-notes-2023.md
+++ b/tidb-cloud/release-notes-2023.md
@@ -5,999 +5,999 @@ summary: 了解 2023 年 TiDB Cloud 的发布说明。
# 2023 年 TiDB Cloud 发布说明
-本页列出了 2023 年 [TiDB Cloud](https://www.pingcap.com/tidb-cloud/) 的发布说明。
+本页面列出了 [TiDB Cloud](https://www.pingcap.com/tidb-cloud/) 在 2023 年的发布说明。
## 2023 年 12 月 5 日
-**常规变更**
+**通用变更**
-- [TiDB Cloud Dedicated](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) 允许你恢复失败的 Changefeed,从而节省你重新创建 Changefeed 的精力。
+- [TiDB Cloud 专属集群](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) 支持恢复失败的 changefeed,无需重新创建,节省操作成本。
- 更多信息,请参见 [Changefeed 状态](/tidb-cloud/changefeed-overview.md#changefeed-states)。
+ 详情参见 [Changefeed 状态](/tidb-cloud/changefeed-overview.md#changefeed-states)。
**控制台变更**
-- 增强 [TiDB Cloud Serverless](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless) 的连接体验。
+- 优化 [TiDB Cloud Serverless](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless) 的连接体验。
- 优化 **连接** 对话框界面,为 TiDB Cloud Serverless 用户提供更流畅、更高效的连接体验。 此外,TiDB Cloud Serverless 引入了更多客户端类型,并允许你选择所需的连接分支。
+ 优化 **Connect** 对话框界面,为 TiDB Cloud Serverless 用户提供更流畅、高效的连接体验。此外,TiDB Cloud Serverless 新增了更多客户端类型,并允许你选择所需分支进行连接。
- 更多信息,请参见 [连接到 TiDB Cloud Serverless](/tidb-cloud/connect-via-standard-connection-serverless.md)。
+ 详情参见 [连接到 TiDB Cloud Serverless](/tidb-cloud/connect-via-standard-connection-serverless.md)。
## 2023 年 11 月 28 日
-**常规变更**
+**通用变更**
-- [TiDB Cloud Dedicated](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) 支持从备份恢复 SQL 绑定。
+- [TiDB Cloud 专属集群](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) 支持从备份中恢复 SQL 绑定。
- TiDB Cloud Dedicated 现在默认在从备份恢复时恢复用户帐户和 SQL 绑定。此增强功能适用于 v6.2.0 或更高版本的集群,从而简化了数据恢复过程。SQL 绑定的恢复确保了与查询相关的配置和优化的顺利重新集成,为你提供更全面、更高效的恢复体验。
+ 现在,TiDB Cloud 专属集群在从备份恢复时默认恢复用户账户和 SQL 绑定。该增强适用于 v6.2.0 及以上版本的集群,简化了数据恢复流程。SQL 绑定的恢复确保查询相关配置和优化的顺利回归,为你提供更全面、高效的恢复体验。
- 有关更多信息,请参阅[备份和恢复 TiDB Cloud Dedicated 数据](/tidb-cloud/backup-and-restore.md)。
+ 详情参见 [备份与恢复 TiDB Cloud 专属集群数据](/tidb-cloud/backup-and-restore.md)。
**控制台变更**
-- [TiDB Cloud Serverless](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless) 支持监控 SQL 语句 RU 成本。
+- [TiDB Cloud Serverless](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless) 支持监控 SQL 语句的 RU 消耗。
- TiDB Cloud Serverless 现在提供有关每个 SQL 语句的[请求单元 (RU)](/tidb-cloud/tidb-cloud-glossary.md#request-unit)的详细信息。你可以查看每个 SQL 语句的**总 RU** 和**平均 RU** 成本。此功能可帮助你识别和分析 RU 成本,从而为你的运营提供潜在的成本节省机会。
+ 现在,TiDB Cloud Serverless 提供每条 SQL 语句的 [请求单位(RU)](/tidb-cloud/tidb-cloud-glossary.md#request-unit) 详细信息。你可以查看每条 SQL 语句的 **Total RU** 和 **Mean RU** 消耗。该功能有助于你识别和分析 RU 消耗,为运营成本优化提供参考。
- 要查看你的 SQL 语句 RU 详细信息,请导航到[你的 TiDB Cloud Serverless 集群](https://tidbcloud.com/project/clusters)的**诊断**页面,然后单击 **SQL 语句**选项卡。
+ 查看 SQL 语句 RU 详情,请前往 [你的 TiDB Cloud Serverless 集群](https://tidbcloud.com/project/clusters) 的 **Diagnosis** 页面,并点击 **SQL Statement** 标签页。
## 2023 年 11 月 21 日
-**常规变更**
+**通用变更**
-- [数据迁移](/tidb-cloud/migrate-from-mysql-using-data-migration.md) 支持在 Google Cloud 上部署的 TiDB 集群的高速物理模式。
+- [数据迁移](/tidb-cloud/migrate-from-mysql-using-data-migration.md) 支持 Google Cloud 上部署的 TiDB 集群的高速物理模式。
- 现在,你可以对部署在 AWS 和 Google Cloud 上的 TiDB 集群使用物理模式。物理模式的迁移速度最高可达 110 MiB/s,比逻辑模式快 2.4 倍。改进后的性能适用于将大型数据集快速迁移到 TiDB Cloud。
+ 现在,你可以在 AWS 和 Google Cloud 上部署的 TiDB 集群使用物理模式。物理模式的迁移速度可达 110 MiB/s,是逻辑模式的 2.4 倍。该性能提升适用于大规模数据集的快速迁移至 TiDB Cloud。
- 有关更多信息,请参阅[迁移现有数据和增量数据](/tidb-cloud/migrate-from-mysql-using-data-migration.md#migrate-existing-data-and-incremental-data)。
+ 详情参见 [迁移现有数据和增量数据](/tidb-cloud/migrate-from-mysql-using-data-migration.md#migrate-existing-data-and-incremental-data)。
## 2023 年 11 月 14 日
-**常规变更**
+**通用变更**
-- 当你从 TiDB Cloud Dedicated 集群恢复数据时,默认行为现在从不恢复用户帐户修改为恢复所有用户帐户。
+- 从 TiDB Cloud 专属集群恢复数据时,默认行为由不恢复用户账户改为恢复所有用户账户。
- 更多信息,请参阅 [备份和恢复 TiDB Cloud Dedicated 数据](/tidb-cloud/backup-and-restore.md)。
+ 详情参见 [备份与恢复 TiDB Cloud 专属集群数据](/tidb-cloud/backup-and-restore.md)。
-- 引入 changefeed 的事件过滤器。
+- 引入 changefeed 事件过滤器。
- 此增强功能使你能够通过 [TiDB Cloud 控制台](https://tidbcloud.com/) 轻松管理 changefeed 的事件过滤器,从而简化了从 changefeed 中排除特定事件的过程,并更好地控制下游数据复制。
+ 该增强支持你直接在 [TiDB Cloud 控制台](https://tidbcloud.com/) 管理 changefeed 的事件过滤器,简化了排除特定事件的流程,并为下游数据同步提供更好的控制。
- 更多信息,请参阅 [Changefeed](/tidb-cloud/changefeed-overview.md#edit-a-changefeed)。
+ 详情参见 [Changefeed](/tidb-cloud/changefeed-overview.md#edit-a-changefeed)。
## 2023 年 11 月 7 日
-**常规变更**
+**通用变更**
-- 添加以下资源使用率警报。 默认情况下,新警报处于禁用状态。 你可以根据需要启用它们。
+- 新增以下资源使用率告警,默认关闭。你可按需开启。
- - TiDB 节点的最大内存利用率在 10 分钟内超过 70%
- - TiKV 节点的最大内存利用率在 10 分钟内超过 70%
- - TiDB 节点的最大 CPU 利用率在 10 分钟内超过 80%
- - TiKV 节点的最大 CPU 利用率在 10 分钟内超过 80%
+ - TiDB 节点最大内存使用率超过 70% 持续 10 分钟
+ - TiKV 节点最大内存使用率超过 70% 持续 10 分钟
+ - TiDB 节点最大 CPU 使用率超过 80% 持续 10 分钟
+ - TiKV 节点最大 CPU 使用率超过 80% 持续 10 分钟
- 有关更多信息,请参阅 [TiDB Cloud 内置警报](/tidb-cloud/monitor-built-in-alerting.md#resource-usage-alerts)。
+ 详情参见 [TiDB Cloud 内置告警](/tidb-cloud/monitor-built-in-alerting.md#resource-usage-alerts)。
## 2023 年 10 月 31 日
-**常规变更**
+**通用变更**
-- 支持在 TiDB Cloud 控制台中直接升级到企业支持计划,无需联系销售。
+- 支持在 TiDB Cloud 控制台直接升级为企业支持计划,无需联系销售。
- 更多信息,请参见 [TiDB Cloud 支持](/tidb-cloud/tidb-cloud-support.md)。
+ 详情参见 [TiDB Cloud 支持](/tidb-cloud/tidb-cloud-support.md)。
## 2023 年 10 月 25 日
-**常规变更**
+**通用变更**
-- [TiDB Cloud Dedicated](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) 支持 Google Cloud 上的双区域备份(beta)。
+- [TiDB Cloud 专属集群](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) 支持 Google Cloud 上的双区域备份(Beta)。
- 托管在 Google Cloud 上的 TiDB Cloud Dedicated 集群可以与 Google Cloud Storage 无缝协作。 与 Google Cloud Storage 的 [双区域](https://cloud.google.com/storage/docs/locations#location-dr) 功能类似,你在 TiDB Cloud Dedicated 中用于双区域的区域对必须位于同一多区域内。 例如,东京和大阪位于同一多区域 `ASIA` 中,因此它们可以一起用于双区域存储。
+ 部署在 Google Cloud 上的 TiDB Cloud 专属集群可无缝对接 Google Cloud Storage。与 Google Cloud Storage 的 [Dual-regions](https://cloud.google.com/storage/docs/locations#location-dr) 功能类似,TiDB Cloud 专属集群的双区域需在同一多区域内。例如,东京和大阪同属 `ASIA` 多区域,可共同用于双区域存储。
- 有关更多信息,请参阅 [备份和恢复 TiDB Cloud Dedicated 数据](/tidb-cloud/backup-and-restore.md#turn-on-dual-region-backup)。
+ 详情参见 [开启双区域备份](/tidb-cloud/backup-and-restore.md#turn-on-dual-region-backup)。
-- [将数据变更日志流式传输到 Apache Kafka](/tidb-cloud/changefeed-sink-to-apache-kafka.md) 的功能现已正式发布 (GA)。
+- [将数据变更日志流式写入 Apache Kafka](/tidb-cloud/changefeed-sink-to-apache-kafka.md) 功能现已正式发布(GA)。
- 经过 10 个月的成功 Beta 试用后,将数据变更日志从 TiDB Cloud 流式传输到 Apache Kafka 的功能已正式发布。 将数据从 TiDB 流式传输到消息队列是数据集成场景中的常见需求。 你可以使用 Kafka sink 与其他数据处理系统(例如 Snowflake)集成或支持业务消费。
+ 经过 10 个月的 Beta 试用,该功能现已正式可用。将 TiDB Cloud 的数据变更日志流式写入 Apache Kafka 是数据集成场景的常见需求。你可以通过 Kafka sink 集成其他数据处理系统(如 Snowflake)或支持业务消费。
- 有关更多信息,请参阅 [Changefeed 概述](/tidb-cloud/changefeed-overview.md)。
+ 详情参见 [Changefeed 概览](/tidb-cloud/changefeed-overview.md)。
## 2023 年 10 月 11 日
-**常规变更**
+**通用变更**
-- 支持 [双区域备份 (beta)](/tidb-cloud/backup-and-restore.md#turn-on-dual-region-backup),适用于部署在 AWS 上的 [TiDB Cloud Dedicated](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) 集群。
+- 支持 [AWS 上部署的 TiDB Cloud 专属集群](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) 的 [双区域备份(Beta)](/tidb-cloud/backup-and-restore.md#turn-on-dual-region-backup)。
- 你现在可以在云提供商内的地理区域之间复制备份。此功能提供了一个额外的数据保护层和灾难恢复能力。
+ 你现在可以在云服务商的不同地理区域间复制备份。该功能为数据保护和灾难恢复提供了额外保障。
- 更多信息,请参阅 [备份和恢复 TiDB Cloud Dedicated 数据](/tidb-cloud/backup-and-restore.md)。
+ 详情参见 [备份与恢复 TiDB Cloud 专属集群数据](/tidb-cloud/backup-and-restore.md)。
-- 数据迁移现在支持物理模式和逻辑模式来迁移现有数据。
+- 数据迁移现已支持物理模式和逻辑模式迁移现有数据。
- 在物理模式下,迁移速度可以达到 110 MiB/s。与逻辑模式下的 45 MiB/s 相比,迁移性能得到了显着提高。
+ 物理模式下,迁移速度可达 110 MiB/s,相较逻辑模式的 45 MiB/s,性能大幅提升。
- 更多信息,请参阅 [迁移现有数据和增量数据](/tidb-cloud/migrate-from-mysql-using-data-migration.md#migrate-existing-data-and-incremental-data)。
+ 详情参见 [迁移现有数据和增量数据](/tidb-cloud/migrate-from-mysql-using-data-migration.md#migrate-existing-data-and-incremental-data)。
## 2023 年 10 月 10 日
-**常规变更**
+**通用变更**
-- 支持在 [Vercel 预览部署](https://vercel.com/docs/deployments/preview-deployments) 中使用 TiDB Cloud Serverless 分支,通过 TiDB Cloud Vercel 集成。
+- 支持在 [Vercel 预览部署](https://vercel.com/docs/deployments/preview-deployments) 中使用 TiDB Cloud Serverless 分支,并集成 TiDB Cloud Vercel。
- 更多信息,请参考 [连接 TiDB Cloud Serverless 分支](/tidb-cloud/integrate-tidbcloud-with-vercel.md#connect-with-tidb-cloud-serverless-branching)。
+ 详情参见 [通过分支连接 TiDB Cloud Serverless](/tidb-cloud/integrate-tidbcloud-with-vercel.md#connect-with-branching)。
## 2023 年 9 月 28 日
**API 变更**
-- 引入 TiDB Cloud 账单 API 端点,用于检索特定组织在给定月份的账单。
+- 新增 TiDB Cloud 账单 API 接口,可获取指定组织某月账单。
- 此账单 API 端点在 TiDB Cloud API v1beta1 中发布,这是 TiDB Cloud 的最新 API 版本。 有关更多信息,请参阅 [API 文档 (v1beta1)](https://docs.pingcap.com/tidbcloud/api/v1beta1#tag/Billing)。
+ 该账单 API 接口在 TiDB Cloud API v1beta1 版本中发布。详情参见 [API 文档(v1beta1)](https://docs.pingcap.com/tidbcloud/api/v1beta1#tag/Billing)。
## 2023 年 9 月 19 日
-**常规变更**
+**通用变更**
-- 从 [TiDB Cloud Dedicated](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) 集群中移除 2 vCPU 的 TiDB 和 TiKV 节点。
+- 移除 [TiDB Cloud 专属集群](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) 的 2 vCPU TiDB 和 TiKV 节点选项。
- **创建集群**页面或**修改集群**页面不再提供 2 vCPU 选项。
+ 2 vCPU 选项已不再出现在 **Create Cluster** 或 **Modify Cluster** 页面。
-- 发布适用于 JavaScript 的 [TiDB Cloud serverless driver (beta)](/tidb-cloud/serverless-driver.md)。
+- 发布 [JavaScript 版 TiDB Cloud serverless driver(Beta)](/tidb-cloud/serverless-driver.md)。
- 适用于 JavaScript 的 TiDB Cloud serverless driver 允许你通过 HTTPS 连接到你的 [TiDB Cloud Serverless](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless) 集群。 它在 TCP 连接受限的边缘环境中特别有用,例如 [Vercel Edge Function](https://vercel.com/docs/functions/edge-functions) 和 [Cloudflare Workers](https://workers.cloudflare.com/)。
+ 该驱动允许你通过 HTTPS 连接 [TiDB Cloud Serverless](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless) 集群,特别适用于 TCP 连接受限的边缘环境,如 [Vercel Edge Function](https://vercel.com/docs/functions/edge-functions) 和 [Cloudflare Workers](https://workers.cloudflare.com/)。
- 有关更多信息,请参阅 [TiDB Cloud serverless driver (beta)](/tidb-cloud/serverless-driver.md)。
+ 详情参见 [TiDB Cloud serverless driver(Beta)](/tidb-cloud/serverless-driver.md)。
**控制台变更**
-- 对于 [TiDB Cloud Serverless](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless) 集群,你可以在**本月用量**面板中或设置消费限额时获得成本估算。
+- 对于 [TiDB Cloud Serverless](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless) 集群,你可以在 **Usage This Month** 面板或设置消费上限时获取费用预估。
## 2023 年 9 月 5 日
-**常规变更**
+**通用变更**
-- [数据服务 (beta)](https://tidbcloud.com/project/data-service) 支持为每个 API 密钥自定义速率限制,以满足不同情况下的特定速率限制要求。
+- [数据服务(Beta)](https://tidbcloud.com/project/data-service) 支持为每个 API key 自定义限流,以满足不同场景下的限流需求。
- 你可以在[创建](/tidb-cloud/data-service-api-key.md#create-an-api-key)或[编辑](/tidb-cloud/data-service-api-key.md#edit-an-api-key)密钥时调整 API 密钥的速率限制。
+ 你可以在 [创建](/tidb-cloud/data-service-api-key.md#create-an-api-key) 或 [编辑](/tidb-cloud/data-service-api-key.md#edit-an-api-key) API key 时调整限流。
- 有关更多信息,请参见[速率限制](/tidb-cloud/data-service-api-key.md#rate-limiting)。
+ 详情参见 [限流](/tidb-cloud/data-service-api-key.md#rate-limiting)。
-- 支持 [TiDB Cloud Dedicated](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) 集群的新 AWS 区域:圣保罗 (sa-east-1)。
+- [TiDB Cloud 专属集群](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) 新增支持 AWS 区域:圣保罗(sa-east-1)。
-- 支持为每个 [TiDB Cloud Dedicated](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) 集群的 IP 访问列表添加最多 100 个 IP 地址。
+- 每个 [TiDB Cloud 专属集群](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) 的 IP 访问列表支持最多添加 100 个 IP 地址。
- 有关更多信息,请参见[配置 IP 访问列表](/tidb-cloud/configure-ip-access-list.md)。
+ 详情参见 [配置 IP 访问列表](/tidb-cloud/configure-ip-access-list.md)。
**控制台变更**
-- 为 [TiDB Cloud Serverless](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless) 集群引入 **Events** 页面,该页面提供集群主要变更的记录。
+- 为 [TiDB Cloud Serverless](/tidb-cloud/select-cluster-tier.md#tidb-cloud-serverless) 集群引入 **Events** 页面,记录集群主要变更。
- 在此页面上,你可以查看过去 7 天的事件历史记录,并跟踪重要详细信息,例如触发时间和发起操作的用户。
+ 你可以在该页面查看最近 7 天的事件历史,追踪触发时间和操作用户等重要信息。
- 有关更多信息,请参见 [TiDB Cloud 集群事件](/tidb-cloud/tidb-cloud-events.md)。
+ 详情参见 [TiDB Cloud 集群事件](/tidb-cloud/tidb-cloud-events.md)。
**API 变更**
-- 发布多个 TiDB Cloud API 端点,用于管理 [TiDB Cloud Dedicated](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) 集群的 [AWS PrivateLink](https://aws.amazon.com/privatelink/?privatelink-blogs.sort-by=item.additionalFields.createdDate&privatelink-blogs.sort-order=desc) 或 [Google Cloud Private Service Connect](https://cloud.google.com/vpc/docs/private-service-connect):
+- 发布多项 TiDB Cloud API 接口,用于管理 [TiDB Cloud 专属集群](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) 的 [AWS PrivateLink](https://aws.amazon.com/privatelink/?privatelink-blogs.sort-by=item.additionalFields.createdDate&privatelink-blogs.sort-order=desc) 或 [Google Cloud Private Service Connect](https://cloud.google.com/vpc/docs/private-service-connect):
- 为集群创建私有端点服务
- - 检索集群的私有端点服务信息
+ - 获取集群的私有端点服务信息
- 为集群创建私有端点
- 列出集群的所有私有端点
- - 列出项目中的所有私有端点
+ - 列出项目下的所有私有端点
- 删除集群的私有端点
- 有关更多信息,请参阅 [API 文档](https://docs.pingcap.com/tidbcloud/api/v1beta#tag/Cluster)。
+ 详情参见 [API 文档](https://docs.pingcap.com/tidbcloud/api/v1beta#tag/Cluster)。
## 2023 年 8 月 23 日
-**常规变更**
+**通用变更**
-- 支持 Google Cloud [Private Service Connect](https://cloud.google.com/vpc/docs/private-service-connect),用于 [TiDB Cloud Dedicated](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) 集群。
+- [TiDB Cloud 专属集群](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) 支持 Google Cloud [Private Service Connect](https://cloud.google.com/vpc/docs/private-service-connect)。
- 现在,你可以创建一个私有端点,并与托管在 Google Cloud 上的 TiDB Cloud Dedicated 集群建立安全连接。
+ 你现在可以为部署在 Google Cloud 上的 TiDB Cloud 专属集群创建私有端点并建立安全连接。
主要优势:
- - 直观的操作:只需几个步骤即可帮助你创建私有端点。
- - 增强的安全性:建立安全连接以保护你的数据。
- - 改进的性能:提供低延迟和高带宽的连接。
+ - 操作直观:仅需几步即可创建私有端点。
+ - 安全增强:建立安全连接,保护你的数据。
+ - 性能提升:提供低延迟、高带宽的连接。
- 有关更多信息,请参见 [通过 Google Cloud 上的私有端点连接](/tidb-cloud/set-up-private-endpoint-connections-on-google-cloud.md)。
+ 详情参见 [通过 Google Cloud 私有端点连接](/tidb-cloud/set-up-private-endpoint-connections-on-google-cloud.md)。
-- 支持使用 Changefeed 将数据从 [TiDB Cloud Dedicated](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) 集群流式传输到 [Google Cloud Storage (GCS)](https://cloud.google.com/storage)。
+- 支持通过 changefeed 将 [TiDB Cloud 专属集群](/tidb-cloud/select-cluster-tier.md#tidb-cloud-dedicated) 的数据流式写入 [Google Cloud Storage (GCS)](https://cloud.google.com/storage)。
- 现在,你可以使用自己的帐户的存储桶并提供精确定制的权限,将数据从 TiDB Cloud 流式传输到 GCS。 将数据复制到 GCS 后,你可以根据需要分析数据中的更改。
+ 你可以使用自己的 GCS 存储桶并精确配置权限,将数据流式复制到 GCS,之后可按需分析数据变更。
- 有关更多信息,请参见 [Sink to Cloud Storage](/tidb-cloud/changefeed-sink-to-cloud-storage.md)。
+ 详情参见 [流式写入云存储](/tidb-cloud/changefeed-sink-to-cloud-storage.md)。
## 2023 年 8 月 15 日
-**常规变更**
+**通用变更**
-- [数据服务(beta)](https://tidbcloud.com/project/data-service) 支持对 `GET` 请求进行分页,以改善开发体验。
+- [数据服务(Beta)](https://tidbcloud.com/project/data-service) 支持 `GET` 请求的分页,提升开发体验。
- 对于 `GET` 请求,你可以通过在**高级属性**中启用**分页**,并在调用端点时将 `page` 和 `page_size` 指定为查询参数来对结果进行分页。 例如,要获取每页 10 个项目的第二页,你可以使用以下命令:
+ 对于 `GET` 请求,你可以在 **Advance Properties** 启用 **Pagination**,并在调用接口时通过查询参数指定 `page` 和 `page_size`。例如,获取第 2 页且每页 10 条数据:
```bash
curl --digest --user '
:' \
--request GET 'https://.data.tidbcloud.com/api/v1beta/app/