qscamel
工具介绍
qscamel 是一个基于 Goroutine 池实现并发机制的、高效的、端点间迁移数据的工具,有着如下特性。
-
采用简单,易用的任务管理方式,实现完全自动化的重试机制,无须人工介入。
-
创建迁移任务时,支持
copy
,fetch
,delete
等迁移任务类型;支持迁移指定时间后上传的文件;支持对任务请求次数的限制,从而全面覆盖用户的迁移需求。 -
执行迁移任务时,支持从任务中断处续传,从而节省用户的时间,提高迁移效率。
-
迁移任务执行中,统计当前已成功迁移的总容量与总的文件数以及迁移任务的中间状态,并输出相应的统计信息,方便用户实时了解迁移任务的执行状态。
-
在最终迁移任务完成时,输出各统计信息,并将迁移失败的文件列表显示。
命令详解
qscamel 的各命令行,使用方法类似。这里以 run
命令为例,对其参数与用法进行说明。
用户可通过 run
命令来创建或者恢复一个迁移任务。当调用该命令时,qscamel 会根据任务名查询数据库,并检查任务文件内容是否有更新。
-
若有同名任务,且任务文件内容有更新,qscamel 会报错并退出。
-
若有同名任务,且任务文件没有更新,qscamel 将恢复该任务,继续执行。
-
若无同名任务,qscamel 会对任务内容的 sha256 校验和进行计算,并将结果保存于数据库中。
同时,使用 run
命令,有如下注意事项。
说明 |
---|
|
操作说明
-
查看
run
的使用教程qscamel run -h
命令行回显
Create or resume a task Usage: qscamel run [task name or task path] [flags] Flags: -h, --help help for run -t, --task string task path Global Flags: -c, --config string config path (default "~/.qscamel/qscamel.yaml")
说明 用户可以通过
-c
或者--config
参数来指定自定义配置文件的位置。 -
创建一个新的数据迁移任务
qscamel run <task-name> -t </path/to/task/file>
参数说明
参数 说明 task-name
为新建数据迁移任务名,须唯一。
/path/to/task/file
任务文件。
-
恢复一个数据迁移任务
qscamel run <task-name>
说明 -
由于该操作用于恢复一个历史任务,故
<task-name>
须为原任务名。 -
由于任务文件没有更新,故命令行中省略了任务文件名,qscamel 会自动调用历史任务文件。
-
命令行中也可添加原任务文件
-t /path/to/task/file
,若添加该参数,则须确保任务文件没有变更,否则该操作会报错。
-
-
再次创建同名任务
-
删除任务
qscamel delete <task-name>
-
创建任务
qscamel run <task-name> -t </path/to/task/file>
-
命令简介
命令 | 说明 | 示例 |
---|---|---|
run |
用来创建或者恢复一个迁移任务。 |
qscamel run task-name -t /path/to/task/file |
delete |
用来删除一个已经创建的任务。 |
qscamel delete task-name |
status |
用来查询展示所有任务的状态。 |
qscamel status |
clean |
用来删除所有已经完成的任务。 |
qscamel clean |
version |
用来查询当前 qscamel 的版本信息。 |
qscamel version |
使用流程
使用 qscamel 工具进行数据迁移的操作流程如下。
-
根据操作系统,分别获取适用于 Linux,MacOS 以及 Windows 操作系统的最新版本的 qscamel 工具。
-
更新配置文件
~/.qscamel/qscamel.yaml
,文件内容如下。concurrency: 0 log_level: info pid_file: ~/.qscamel/qscamel.pid log_file: ~/.qscamel/qscamel.log database_file: ~/.qscamel/db
参数说明
参数 说明 concurrency
用于控制同时启用的任务并发数量。 若没有设置,或者设置为
0
, qscamel 将会使用逻辑 CPU 数量 * 100
作为该项的值。log_level
用于控制日志的级别。日志内容显示从多到少依次可设置为
debug
、info
、warn
、error
、fatal
、panic
。pid_file
用于指定 PID 文件存放目录。
log_file
用于指定日志文件存放目录。
database_file
用于指定数据库文件存放目录。
说明 -
各配置项均有默认值,无特殊需求,用户无需对其进行修改。
-
qscamel 默认从
~/.qscamel/qscamel.yaml
读取配置文件,用户也可以自定义配置文件路径。
-
-
创建数据迁移任务文件,文件格式为
.yaml
,文件内容如下。type: copy source: type: s3 path: /path/to/source options: ...... destination: type: qingstor path: /path/to/destination options: ...... multipart_boundary_size: 2147483648 ignore_existing: last_modified # 忽略这个时间之前的数据, 无默认值 ignore_before: 2023-01-30 12:00:00 # 一秒钟限制请求数, 默认 1000 rate_limit: 1000
参数说明
参数 说明 type
用于定义该任务的类型。可选值说明如下。
-
copy
将会从source
指定的端点读取文件,并写入到destination
指定的端点。 -
fetch
将会从source
指定的端点获取文件的下载链接,并使用destination
指定的端点的fetch
功能对其进行拉取。 -
delete
将会从source
指定的端点获取文件的信息,并在destination
指定的端点将其删除。
source
标识后续字段为任务的源端点信息。
destination
标识后续字段为任务的目标端点信息。
type
当前端点的类型。可选值参考任务示例中各端点的设置。
-
source
端点可选值为qingstor
、s3
、fs
、filelist
、aliyun
、azblob
、cos
、gcs
、hdfs
、qiniu
、upyun
。 -
destination
端点可选值为qingstor
、s3
、fs
。
path
当前端点的路径,须为目录名。以
/
结尾。-
如果是迁移根目录或者 Bucket 下所有文件,则填写内容为
path: /
。 -
如果需要迁移指定目录或者 Bucket 下指定前缀的文件,则填写内容为
path: /log/2023/06/
。
options
标识后续字段为可选字段。不同端点的可选字段,会有区别,详情可参考任务示例中各端点的设置。
multipart_boundary_size
设置使用分段上传的文件大小,单位为
Byte
,当文件大于该数值时,将会使用分段上传。-
可选值为
1 ~ 5368709120
-
默认值为
2147483648
。
ignore_existing
用于控制是否跳过已经存在的文件,为空或未配置时将会禁用该配置,即总是覆盖。可选值如下。
-
last_modified
将会检查目标的 LastModified 是否比源站要大,比源站大,则跳过。 -
md5sum
将会对文件做完整的 MD5 计算,当 MD5 相同时会跳过。
ignore_before
这个时间点之前上传或创建的数据不作迁移,无默认值,需根据实际情况进行填写。
rate_limit
一秒钟内对目标端上传请求的次数限制,默认值为
1000
。 -
-
执行如下命令行,创建数据迁移任务。命令行各参数参考命令详解。
qscamel run <task-name> -t <task-file-path>
命令行输出结果示例
-
示例一
迁移任务执行中,统计当前已成功迁移的总容量与总的文件数以及迁移任务的中间状态,并输出相应的统计信息。
INFO[2023-06-26T16:34:21+08:00] ====Success Count: 15 Success Size: 501326====
-
示例二
迁移任务完成时,输出各统计信息。
INFO[2023-06-26T16:34:28+08:00] ====Final Success Count: 19 Final Success Size: 21926478==== INFO[2023-06-26T16:34:28+08:00] ====Final Failed Count: 1 Final Failed filename: [test/test.txt]====
-
示例三
执行迁移任务时,支持从任务中断处续传。该过程中的输出结果如下所示。
-
第一次上传
INFO[2023-06-26T16:47:03+08:00] Current version: 2.0.22. INFO[2023-06-26T16:47:03+08:00] Task test-01 migrate started. INFO[2023-06-26T16:47:04+08:00] Start listing job /. INFO[2023-06-26T16:47:04+08:00] Start copying single object 2021-7-13.md. INFO[2023-06-26T16:47:04+08:00] Start copying single object a/b/c/d/e/object-181420. INFO[2023-06-26T16:47:04+08:00] Start copying single object abyss. INFO[2023-06-26T16:47:04+08:00] Start copying single object config.yaml. INFO[2023-06-26T16:47:04+08:00] Start copying single object debuglog.txt. INFO[2023-06-26T16:47:04+08:00] Start copying single object test$. INFO[2023-06-26T16:47:04+08:00] Start copying single object test-abort-01.txt. INFO[2023-06-26T16:47:04+08:00] Single object 2021-7-13.md copied. INFO[2023-06-26T16:47:04+08:00] Single object abyss copied. INFO[2023-06-26T16:47:04+08:00] Start copying single object test-abort.txt. INFO[2023-06-26T16:47:04+08:00] Start copying single object test-meta. INFO[2023-06-26T16:47:04+08:00] Single object config.yaml copied. INFO[2023-06-26T16:47:04+08:00] Single object test$ copied. INFO[2023-06-26T16:47:04+08:00] Start copying single object test.txt. INFO[2023-06-26T16:47:04+08:00] Start copying single object test/aaaa/hhhh/test.txt. INFO[2023-06-26T16:47:04+08:00] Start copying single object test/check. INFO[2023-06-26T16:47:04+08:00] Single object test-meta copied. INFO[2023-06-26T16:47:04+08:00] Start copying single object test/config.yaml.
-
中断
INFO[2023-06-26T17:15:49+08:00] Single object workdir/ ?? copied. INFO[2023-06-26T17:15:49+08:00] Single object 新建文本文档.txt copied. INFO[2023-06-26T17:15:49+08:00] Single object test_rust-01.txt copied. INFO[2023-06-26T17:15:52+08:00] Single object test/qscamel_timing_task_windows_amd64.exe copied. INFO[2023-06-26T17:15:52+08:00] ====Success Count: 16 Success Size: 3052110==== ^CINFO[2023-06-26T17:15:54+08:00] Signal interrupt received, exit for now. INFO[2023-06-26T17:15:54+08:00] ====Final Success Count: 16 Final Success Size: 3052110==== INFO[2023-06-26T17:15:54+08:00] ====All objects migrated successfully====
-
继续任务
INFO[2023-06-26T17:15:57+08:00] Current version: 2.0.22. INFO[2023-06-26T17:15:57+08:00] Task test-01 migrate started. INFO[2023-06-26T17:15:57+08:00] Start copying single object test-abort.txt. INFO[2023-06-26T17:15:57+08:00] Start copying single object test.txt. INFO[2023-06-26T17:15:57+08:00] Start copying single object test/check. INFO[2023-06-26T17:15:57+08:00] Start copying single object test-abort-01.txt. INFO[2023-06-26T17:15:57+08:00] Start copying single object test/qscamel. INFO[2023-06-26T17:15:57+08:00] Start copying single object a/b/c/d/e/object-181420. INFO[2023-06-26T17:15:57+08:00] Start copying single object test/qscamel_v2.0.21_windows_amd64.exe. INFO[2023-06-26T17:15:57+08:00] Start copying single object test/mc. INFO[2023-06-26T17:15:57+08:00] Start copying single object test/qsctl. INFO[2023-06-26T17:15:57+08:00] Start copying single object test/httpie. INFO[2023-06-26T17:16:02+08:00] ====Success Count: 16 Success Size: 3052110==== INFO[2023-06-26T17:16:05+08:00] Single object test-abort-01.txt copied. INFO[2023-06-26T17:16:07+08:00] ====Success Count: 17 Success Size: 7246414==== INFO[2023-06-26T17:16:07+08:00] Single object a/b/c/d/e/object-181420 copied. INFO[2023-06-26T17:16:12+08:00] ====Success Count: 18 Success Size: 11440718==== INFO[2023-06-26T17:16:15+08:00] Single object test-abort.txt copied. INFO[2023-06-26T17:16:17+08:00] ====Success Count: 19 Success Size: 19829326==== INFO[2023-06-26T17:16:17+08:00] Single object test/check copied. INFO[2023-06-26T17:16:19+08:00] Single object test.txt copied. INFO[2023-06-26T17:16:22+08:00] ====Success Count: 21 Success Size: 40283653==== INFO[2023-06-26T17:16:25+08:00] Single object test/mc copied. INFO[2023-06-26T17:16:26+08:00] Single object test/qsctl copied. INFO[2023-06-26T17:16:27+08:00] ====Success Count: 23 Success Size: 81933953==== INFO[2023-06-26T17:16:32+08:00] Single object test/qscamel_v2.0.21_windows_amd64.exe copied. INFO[2023-06-26T17:16:33+08:00] Single object test/qscamel copied. INFO[2023-06-26T17:16:37+08:00] ====Success Count: 25 Success Size: 144635527==== INFO[2023-06-26T17:17:20+08:00] Single object test/httpie copied. INFO[2023-06-26T17:17:20+08:00] Task test-01 has been finished. INFO[2023-06-26T17:17:20+08:00] ====Final Success Count: 26 Final Success Size: 227581527==== INFO[2023-06-26T17:17:20+08:00] ====All objects migrated successfully====
-
-
任务示例
Qingstor 端点信息
QingStor 对象存储服务,能够用做 qscamel 数据迁移任务中的 source
与 destination
端点,使用 qingstor
作为端点时,需在 options
字段下添加如下配置内容。
options:
protocol: https
host: qsstor.com
port: 443
zone: pek3b
bucket_name: example_bucket
access_key_id: example_access_key_id
secret_access_key: example_secret_access_key
storage_class: STANDARD
disable_uri_cleaning: false
timeout_config:
connect_timeout: 30
read_timeout: 30
write_timeout: 30
options 参数说明
参数 | 说明 |
---|---|
protocol |
访问 QingStor 对象存储的协议类型。可选值 |
host |
标识访问 QingStor 对象存储的云服务器名。默认值 |
port |
标识访问 QingStor 对象存储的端口号。 |
zone |
标识访问 QingStor 对象存储 Bucket 的所在区域,无需手动配置。 |
bucket_name |
待操作的 QingStor 对象存储的 Bucket 名称。 |
access_key_id |
QingStor 对象存储的 Access Key ID,可参考前文内容获取。 |
secret_access_key |
QingStor 对象存储的 Access Key,可参考前文内容获取。 |
storage_class |
QingStor 对象存储所使用的存储级别。
|
disable_uri_cleaning |
是否自动清理 URL,默认为
|
timeout_config |
超时相关配置。 |
将本地文件拷贝至 QingStor
fs
是指符合 POSIX 标准的文件系统,如 local fs、nfs、s3fs 等。可作为 qscamel 数据迁移任务中的 source
端点与 destination
端点。
如用户需将本地目录 /path/to/source
下的文件 copy 至 QingStor 对象存储的 example_bucket
下的 /path/to/destination
目录,则可参考以下内容配置任务文件。
type: copy
source:
type: fs
path: /path/to/source
options:
enable_link_follow: false
destination:
type: qingstor
path: /path/to/destination
options:
protocol: https
host: qsstor.com
port: 443
bucket_name: example_bucket
access_key_id: example_access_key_id
secret_access_key: example_secret_access_key
source options 参数说明
参数 | 说明 |
---|---|
enable_link_follow |
遇到软连接时,是否上传指向的文件,默认值为 |
将本地文件列表拷贝至 QingStor
filelist
是本地文件列表,可作为 qscamel 数据迁移任务中的 source
端点。
如用户需将本地目录 /path/to/list
下的文件列表 copy 至 QingStor 对象存储的 example_bucket
下的 /path/to/destination
目录,则可参考以下内容配置任务文件。
type: copy
source:
type: filelist
path: /path/to/source
options:
list_path: /path/to/list
destination:
type: qingstor
path: /path/to/destination
options:
protocol: https
host: qsstor.com
port: 443
bucket_name: example_bucket
access_key_id: example_access_key_id
secret_access_key: example_secret_access_key
source options 参数说明
参数 | 说明 |
---|---|
list_path |
待迁移的文件列表,qscamel 将会逐行来读取该列表。 |
将数据从 S3 迁移到 QingStor
S3 是 AWS 提供的对象存储服务,支持 S3 协议的终端可作为 qscamel 数据迁移任务中的 source
和 destination
端点。
如用户需将 S3 的 example_bucket
下 /path/to/source
目录下的文件 copy 至 QingStor 对象存储的 bucket_name
下的 /path/to/destination
目录,则可参考以下内容配置任务文件。
type: copy
source:
type: s3
path: /path/to/source
options:
bucket_name: example_bucket
endpoint: example_endpoint
region: example_region
access_key_id: example_access_key_id
secret_access_key: example_secret_access_key
disable_ssl: false
use_accelerate: false
path_style: true
enable_list_object_v2: false
enable_signatrue_v2: false
disable_uri_cleaning: false
destination:
type: qingstor
path: /path/to/destination
options:
protocol: https
host: qsstor.com
port: 443
bucket_name: bucket_name
access_key_id: qingstor_access_key_id
secret_access_key: qingstor_secret_access_key
source options 参数说明
参数 | 说明 |
---|---|
bucket_name |
S3 的 Bucket 名称。 |
endpoint |
S3 的端点地址。
|
region |
S3 bucket 所在的区域。 |
access_key_id |
访问 S3 的 access_key_id。 |
secret_access_key |
访问 S3 的 secret_access_key。 |
disable_ssl |
是否禁用 SSL。如需要通过 |
use_accelerate |
是否启用加速。 |
disable_uri_cleaning |
是否自动清理 URL,默认为
|
path_style |
是否强制请求使用路径样式寻址。默认为 |
enable_list_object_v2 |
是否使用 ListObjectsV2。默认为 |
enable_signature_v2 |
是否强制客户端使用 |
将数据从 aliyun 迁移到 QingStor
aliyun 是阿里云提供的对象存储服务,可作为 qscamel 数据迁移任务中的 source
端点。
如,将 aliyun 的 example_bucket
下 /path/to/source
目录下的文件 copy 至 QingStor 对象存储的 bucket_name
下的 /path/to/destination
目录,则可参考以下内容配置任务文件。
type: copy
source:
type: aliyun
path: /path/to/source
options:
endpoint: example_endpoint
bucket_name: example_bucket
access_key_id: example_access_key_id
access_key_secret: example_access_key_secret
destination:
type: qingstor
path: /path/to/destination
options:
protocol: https
host: qsstor.com
port: 443
bucket_name: bucket_name
access_key_id: qingstor_access_key_id
secret_access_key: qingstor_secret_access_key
source options 参数说明
参数 | 说明 |
---|---|
endpoint |
用于标识访问的 aliyun 端点地址。 |
bucket_name |
待操作的 aliyun 的 Bucket 名称。 |
access_key_id |
用于访问 aliyun 的 Access Key ID。 |
secret_access_key |
用于访问 aliyun 的 Access Key。 |
将数据从 Azblob 迁移到 QingStor
Azblob 是 Microsoft 提供的存储服务,可作为 qscamel 数据迁移任务中的 source
端点。
如,将 Azblob 的 bucket_name
下 /path/to/source
目录下的文件 copy 至 QingStor 对象存储的 bucket_name
下的 /path/to/destination
目录,则可参考以下内容配置任务文件。
type: copy
source:
type: azblob
path: /path/to/source
options:
account_name: example_account_name
account_key: example_account_key
bucket_name: example_bucket
endpoint: example_endpoint
destination:
type: qingstor
path: /path/to/destination
options:
protocol: https
host: qsstor.com
port: 443
bucket_name: bucket_name
access_key_id: qingstor_access_key_id
secret_access_key: qingstor_secret_access_key
source options 参数说明
参数 | 说明 |
---|---|
account_name |
访问 Azblob 的账号。 |
account_key |
访问 Azblob 的密码。 |
bucket_name |
标识待操作的 Azblob 的 Bucket 名称。 |
endpoint |
用于标识访问的 Azblob 端点地址。 |
将数据从 COS 迁移到 QingStor
COS 是 Tencent 提供的对象存储服务,可作为 qscamel 数据迁移任务中的 source
端点。
如,将 COS 的 example_bucket_url
下 /path/to/source
目录下的文件 copy 至 QingStor 对象存储的 bucket_name
下的 /path/to/destination
目录,则可参考以下内容配置任务文件。
type: copy
source:
type: cos
path: /path/to/source
options:
bucket_url: example_bucket_url
secret_id: example_secret_id
secret_key: example_secret_key
destination:
type: qingstor
path: /path/to/destination
options:
protocol: https
host: qsstor.com
port: 443
bucket_name: bucket_name
access_key_id: qingstor_access_key_id
secret_access_key: qingstor_secret_access_key
source options 参数说明
参数 | 说明 |
---|---|
bucket_url |
Tencent COS 的 Bucket URL 地址。 |
secret_id |
访问 Tencent COS 的 secret_id。 |
secret_key |
访问 Tencent COS 的 secret_key。 |
将数据从 GCS 迁移到 QingStor
GCS 是 Google 提供的对象存储服务,可作为 qscamel 数据迁移任务中的 source
端点。
如,将 GCS 的 bucket_name
下 /path/to/source
目录下的文件 copy 至 QingStor 对象存储的 bucket_name
下的 /path/to/destination
目录,则可参考以下内容配置任务文件。
type: copy
source:
type: gcs
path: /path/to/source
options:
api_key: example_api_key
bucket_name: exmaple_bukcet
destination:
type: qingstor
path: /path/to/destination
options:
protocol: https
host: qsstor.com
port: 443
bucket_name: bucket_name
access_key_id: qingstor_access_key_id
secret_access_key: qingstor_secret_access_key
source options 参数说明
参数 | 说明 |
---|---|
api_key |
用于访问 GCS 的 api_key。 |
bucket_name |
待访问的 GCS 的 Bucket 名。 |
将数据从 HDFS 迁移到 QingStor
HDFS 是 Hadoop 的分布式文件系统,可作为 qscamel 数据迁移任务中的 source
端点。
如,将 HDFS 的 example_address
下 /path/to/source
目录下的文件 copy 至 QingStor 对象存储的 bucket_name
下的 /path/to/destination
目录,则可参考以下内容配置任务文件。
type: copy
source:
type: hdfs
path: /path/to/source
options:
address: example_address
destination:
type: qingstor
path: /path/to/destination
options:
protocol: https
host: qsstor.com
port: 443
bucket_name: bucket_name
access_key_id: qingstor_access_key_id
secret_access_key: qingstor_secret_access_key
将数据从 Qiniu 迁移到 QingStor
Qiniu 是 Qiniu 提供的对象存储服务,可用作 qscamel 数据迁移任务中的 source
端点。
如,将 Qiniu 的 example_bucket
下 /path/to/source
目录下的文件 copy 至 QingStor 对象存储的 bucket_name
下的 /path/to/destination
目录,则可参考以下内容配置任务文件。
type: copy
source:
type: qiniu
path: /path/to/source
options:
bucket_name: example_bucket
access_key: example_access_key
secret_key: example_secret_key
domain: example_domain
use_https: false
use_cdn_domains: false
destination:
type: qingstor
path: /path/to/destination
options:
protocol: https
host: qsstor.com
port: 443
bucket_name: bucket_name
access_key_id: qingstor_access_key_id
secret_access_key: qingstor_secret_access_key
source options 参数说明
参数 | 说明 |
---|---|
bucket_name |
待访问的 Qiniu 的 Bucket 名称。 |
access_key |
用于访问 Qiniu 的 Access Key。 |
secret_key |
用于访问 Qiniu 的 Secret Key。 |
domain |
待访问的 Qiniu Bucket 的域名。 |
use_https |
是否使用 |
use_cdn_domains |
是否使用 CDN 加速域名来访问 Qiniu。 |
将数据从 Upyun 迁移到 QingStor
Upyun 是 Upyun 提供的对象存储服务,可作为 qscamel 数据迁移任务中的 source
端点。
如,将 Upyun 的 example_bucket
下 /path/to/source
目录下的文件 copy 至 QingStor 对象存储的 bucket_name
下的 /path/to/destination
目录,则可参考以下内容配置任务文件。
type: copy
source:
type: upyun
path: /path/to/source
options:
bucket_name: example_bucket
operator: example_operator
password: example_password
destination:
type: qingstor
path: /path/to/destination
options:
protocol: https
host: qsstor.com
port: 443
bucket_name: bucket_name
access_key_id: qingstor_access_key_id
secret_access_key: qingstor_secret_access_key
source options 参数说明
参数 | 说明 |
---|---|
bucket_name |
待访问的 Upyun 的 Bucket 名称。 |
operator |
Upyun 的 Operator。 |
password |
访问 Upyun 的 Password。 |
QingStor 同区域不同账户间进行数据迁移
将 QingStor 对象存储源账户的 source_bucket
下 /path/to/source
目录下的文件 copy 至 QingStor 对象存储目标账户的 destination_bucket
下的 /path/to/destination
目录,则可参考以下内容配置任务文件。
type: copy
source:
type: qingstor
path: /path/to/source
options:
protocol: https
host: qsstor.com
port: 443
bucket_name: source_bucket
access_key_id: source_access_key_id
secret_access_key: source_secret_access_key
disable_uri_cleaning: false
destination:
type: qingstor
path: /path/to/destination
options:
protocol: https
host: qsstor.com
port: 443
bucket_name: destination_bucket
access_key_id: qingstor_access_key_id
secret_access_key: qingstor_secret_access_key
参数说明
-
source
字段的access_key_id
与secret_access_key
填写源账户的 AK/SK,destination
字段的access_key_id
与secret_access_key
填写目标账户的 AK/SK。 -
若源账户已授权目标账户可读访问权限,则
source
字段的access_key_id
与secret_access_key
可填写目标账户的 AK/SK。