

要获得与亚马逊 Timestream 类似的功能 LiveAnalytics，可以考虑适用于 InfluxDB 的亚马逊 Timestream。适用于 InfluxDB 的 Amazon Timestream 提供简化的数据摄取和个位数毫秒级的查询响应时间，以实现实时分析。点击[此处](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html)了解更多信息。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 如何使用脚本
<a name="timestream-for-influx-getting-started-migrating-data-using-script"></a>

运行脚本的简单示例是命令：

```
python3 influx_migration.py --src-host <source host> --src-bucket <source bucket> --dest-host <destination host>
```

可迁移单个存储桶。

可通过运行以下命令查看所有选项：

```
python3 influx_migration.py -h
```

**用法**

```
shell   influx_migration.py [-h] [--src-bucket SRC_BUCKET] [--dest-bucket DEST_BUCKET] [--src-host SRC_HOST] --dest-host DEST_HOST [--full] [--confirm-full] [--src-org SRC_ORG] [--dest-org DEST_ORG] [--csv] [--retry-restore-dir RETRY_RESTORE_DIR] [--dir-name DIR_NAME] [--log-level LOG_LEVEL] [--skip-verify] [--s3-bucket S3_BUCKET]
```

**Options**
+ **-confirm-full**（可选）：使用 `--full` 而不使用 `--csv` 将替换目标数据库中的所有令牌、用户、存储桶、控制面板及其他键值数据，用源数据库中的相应令牌、用户、存储桶、控制面板及其他键值数据进行替换。`--full` 与 `--csv` 结合使用将仅迁移所有存储桶及其元数据，包括存储桶组织。此选项（`--confirm-full`）将确认完整迁移并继续执行，无需用户输入。如果未提供此选项，且 `--full` 已提供而 `--csv` 未提供，则脚本将暂停执行并等待用户确认。这是一项关键操作，请谨慎进行。默认值为 false。
+ **-csv**（可选）：是否使用 csv 文件进行备份和还原。如果 `--full` 也通过，则所有组织中所有用户定义的存储桶都将进行迁移，但系统存储桶、用户、令牌或控制面板除外。如果需要在目标服务器上为所有存储桶创建单一组织，而非使用其已存在的源组织，请使用 `--dest-org`。
+ **-dest-bucket DEST\$1BUCKET**（可选）：目标服务器中 InfluxDB 存储桶的名称不得与现有存储桶重复。如果未提供 `--src-bucket`，则默认值为 `--src-bucket` 或 `None`。
+ **-dest-host DEST\$1HOST**：目标服务器的主机。示例：http://localhost:8086。
+ **-dest-org DEST\$1ORG**（可选）：目标服务器中用于还原存储桶的组织名称。如果跳过此选项，则源服务器迁移的所有存储桶都将保留其原始组织结构，且迁移后的存储桶可能无法在目标服务器中显示，除非创建并切换组织。此值将应用于所有形式的还原操作，无论是单个存储桶还原、完整迁移，还是使用 CSV 进行备份和还原的任何迁移操作。
+ **-dir-name DIR\$1NAME**（可选）：要创建的备份目录名称。默认值为 `influxdb-backup-<timestamp>`。不得与已有名称重复。
+ **-full**（可选）：是否执行完整还原，即将目标服务器上的所有数据替换为源服务器中所有组织的数据，包括所有键值数据（例如令牌、控制面板、用户等）。覆盖 `--src-bucket` 和 `--dest-bucket`。如果与 `--csv` 结合使用，则仅迁移存储桶的数据和元数据。默认值为 false。
+ **h, --help**：显示帮助消息并退出。
+ **-log-level LOG\$1LEVEL**（可选）：执行期间要使用的日志级别。选项包括调试、错误及信息。默认值为信息。
+ **-retry-restore-dir RETRY\$1RESTORE\$1DIR**（可选）：上一次还原失败时用于恢复的目录将跳过备份和目录创建，如果该目录不存在则将失败，可以是 S3 存储桶中的一个目录。如果还原失败，系统将显示可用于还原的备份目录路径，该路径相对于当前目录进行标识。S3 存储桶将采用 `influxdb-backups/<s3 bucket>/<backup directory>` 形式。默认的备份目录名称为 `influxdb-backup-<timestamp>`。
+ **-s3-bucket S3\$1BUCKET**（可选）：用于存储备份文件的 S3 存储桶名称。在 Linux 上，这仅是 S3 存储桶的名称（例如 `amzn-s3-demo-bucket1`），前提是 `AWS_ACCESS_KEY_ID` 和 `AWS_SECRET_ACCESS_KEY` 环境变量已设置或 `${HOME}/.aws/credentials` 存在。在 Windows 上，这是 `rclone` 已配置的远程和存储桶名称，例如 `my-remote:amzn-s3-demo-bucket1`。所有备份文件将在迁移后保留在 S3 存储桶内，存放在创建的 `influxdb-backups-<timestamp>` 目录中。将在运行此脚本的目录中创建名为 `influx-backups` 的临时挂载目录。如果尚未提供，则所有备份文件将存储于本地，具体位置为运行此脚本所在目录下创建的 `influxdb-backups-<timestamp>` 目录。
+ **-skip-verify**（可选）：跳过 TLS 证书验证。
+ **-src-bucket SRC\$1BUCKET**（可选）：源服务器中 InfluxDB 存储桶的名称。如果尚未提供，则必须提供 `--full`。
+ **-src-host SRC\$1HOST**（可选）：源服务器的主机。默认为 http://localhost:8086。

如前所述，如果要使用 `--s3-bucket`，则必须提供 `mountpoint-s3` 和 `rclone`，但如果用户未提供 `--s3-bucket` 的值，则可忽略，此时备份文件将存储在本地唯一目录中。