mc replicate update
RELEASE.2022-12-24T15-21-38Z 版本变更: mc replicate update
替换了 mc admin bucket remote update
命令。
RELEASE.2022-11-07T23-47-39Z 版本变更: mc replicate update
替换了 mc replicate edit
命令。
语法
mc replicate update
命令修改已存在的 存储桶复制规则。
mc [GLOBALFLAGS] replicate update FLAGS [FLAGS] ARGUMENTS [ARGUMENTS]
以下命令修改了 myminio
MinIO 部署中 mydata
存储桶的现有复制规则
mc replicate update --id "c76um9h4b0t1ijr36mug" \
--replicate "delete,delete-marker,existing-objects" \
myminio/mydata
新的复制配置将所有已版本化的删除操作、删除标记创建和现有对象同步到远程 MinIO 部署。
该命令具有以下语法
mc [GLOBALFLAGS] replicate update \
--remote-bucket string \
[--bandwidth "string"] \
[--healthcheck-seconds integer] \
[--id "string"] \
[--limit-upload "string"] \
[--limit-download "string"] \
[--path "string"] \
[--priority int] \
[--proxy]
[--replicate "string"] \
[--state string]
[--storage-class "string"] \
[--sync string] \
[--tags "string"] \
ALIAS
方括号
[]
表示可选参数。共享同一行的参数是相互依赖的。
使用管道
|
运算符分隔的参数是相互排斥的。
将示例复制到文本编辑器中,并在终端/shell 中运行命令之前根据需要进行修改。
参数
- ALIAS
- 必填
MinIO 部署的 别名 以及要修改复制规则的存储桶或存储桶前缀的完整路径。例如
mc replicate update --id "c75nrap4b0talo3ipthg" [FLAGS]
- --id
- 必填
指定已配置复制规则的唯一 ID。使用
mc replicate ls
命令列出存储桶的复制规则。
- --bandwidth
- 可选
将带宽速率限制为不超过指定的速率(以 KiB/s、MiB/s 或 GiB/s 为单位)。有效的单位包括
B
表示字节K
表示千字节G
表示吉字节T
表示太字节Ki
表示 kibibytesGi
表示 gibibytesTi
表示 tebibytes
例如,要将带宽速率限制为不超过 1 GiB/s,请使用以下方法
--limit-upload 1Gi
如果没有指定,MinIO 不会限制带宽速率。
- --limit-download
- 可选
将下载速率限制为不超过指定的速率(以 KiB/s、MiB/s 或 GiB/s 为单位)。有效的单位包括
B
表示字节K
表示千字节G
表示吉字节T
表示太字节Ki
表示 kibibytesGi
表示 gibibytesTi
表示 tebibytes
例如,要将下载速率限制为不超过 1 GiB/s,请使用以下方法
--limit-download 1G
如果没有指定,MinIO 将使用无限的下载速率。
- --limit-upload
- 可选
将上传速率限制为不超过指定的速率(以 KiB/s、MiB/s 或 GiB/s 为单位)。有效的单位包括
B
表示字节K
表示千字节G
表示吉字节T
表示太字节Ki
表示 kibibytesGi
表示 gibibytesTi
表示 tebibytes
例如,要将上传速率限制为不超过 1 GiB/s,请使用以下方法
--limit-upload 1G
如果没有指定,MinIO 将使用无限的上传速率。
- --path
- 可选
为远程存储桶启用路径样式查找支持。
有效值包括
on
- 使用路径查找来查找远程存储桶off
- 使用资源定位器样式(如域或 IP 地址)查找来查找远程存储桶auto
- 要求 MinIO 识别用于查找远程存储桶的正确查找类型
如果未定义,MinIO 将使用
auto
值。
- --proxy
- 可选
在定义存储桶之间的双向活动复制时,不要代理。
有效值包括
enable
- 在双向活动复制中启用代理。disable
- 在双向活动复制中禁用代理。
默认情况下,MinIO 默认设置为
enable
。
- --remote-bucket
- 可选
指定远程位置的凭据、目标部署和存储桶。值可以是 别名 和存储桶、基于位置(IP 或 URL)或基于路径的。
例如,基于 URL 的目标可能如下所示
--remote-bucket https://user:secret@myminio.cloudprovider.tld:9001/bucket
基于别名的目标可能如下所示
--remote-bucket minio-target/my-bucket
- --state
- 可选
启用或禁用复制规则。指定以下值之一
"enable"
- 启用复制规则。"disable"
- 禁用复制规则。
在复制被禁用时创建的对象在启用规则后不会立即有资格进行复制。您必须通过将
"existing-objects"
包含到为mc replicate update --replicate
指定的复制功能列表中,显式启用现有对象的复制。有关更多信息,请参阅 现有对象的复制。
- --storage-class
- 可选
指定要应用于已复制对象的 MinIO 存储类别。
全局标志
此命令支持任何全局标志。
示例
修改现有复制规则
使用mc replicate update
修改现有复制规则。
mc replicate update ALIAS/PATH \
--id ID \
[--FLAGS]
用
PATH
替换规则所在的存储桶或存储桶前缀的路径。用
ID
替换要修改的规则的唯一标识符。使用mc replicate ls
检索存储桶上的复制规则列表及其对应的标识符。
注意
修改复制配置规则不会影响已经复制的对象。例如,修改--tags
过滤器不会导致删除不符合过滤器的已复制对象。
更新现有复制规则的凭据
使用mc replicate update
修改现有复制规则。
mc replicate update ALIAS/PATH \
--id ID \
--remote-bucket https://user:[email protected]:9001/mybucket
禁用或启用现有复制规则
使用mc replicate update
和--state
标志禁用或启用复制规则。
mc replicate update ALIAS/PATH \
--id ID \
--state "disable"|"enable"
行为
所需权限
MinIO 强烈建议专门创建用户来支持存储桶复制操作。有关在 MinIO 部署中添加用户和策略的更完整文档,请参见mc admin user
和mc admin policy
。
以下策略提供了在部署上配置和启用复制的权限。
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"admin:SetBucketTarget",
"admin:GetBucketTarget"
],
"Effect": "Allow",
"Sid": "EnableRemoteBucketConfiguration"
},
{
"Effect": "Allow",
"Action": [
"s3:GetReplicationConfiguration",
"s3:ListBucket",
"s3:ListBucketMultipartUploads",
"s3:GetBucketLocation",
"s3:GetBucketVersioning",
"s3:GetObjectRetention",
"s3:GetObjectLegalHold",
"s3:PutReplicationConfiguration"
],
"Resource": [
"arn:aws:s3:::*"
],
"Sid": "EnableReplicationRuleConfiguration"
}
]
}
The
"EnableRemoteBucketConfiguration"
语句授予创建远程目标以支持复制的权限。The
"EnableReplicationRuleConfiguration"
语句授予在存储桶上创建复制规则的权限。Thearn:aws:s3:::*
资源将复制权限应用于源部署上的任何存储桶。您可以根据需要将用户策略限制为特定存储桶。
使用mc admin policy create
将此策略添加到充当复制源的每个部署中。使用mc admin user add
在部署上创建用户,并使用mc admin policy attach
将策略与该新用户关联。
以下策略提供了权限,允许将复制的数据同步到部署中。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetReplicationConfiguration",
"s3:ListBucket",
"s3:ListBucketMultipartUploads",
"s3:GetBucketLocation",
"s3:GetBucketVersioning",
"s3:GetBucketObjectLockConfiguration",
"s3:GetEncryptionConfiguration"
],
"Resource": [
"arn:aws:s3:::*"
],
"Sid": "EnableReplicationOnBucket"
},
{
"Effect": "Allow",
"Action": [
"s3:GetReplicationConfiguration",
"s3:ReplicateTags",
"s3:AbortMultipartUpload",
"s3:GetObject",
"s3:GetObjectVersion",
"s3:GetObjectVersionTagging",
"s3:PutObject",
"s3:PutObjectRetention",
"s3:PutBucketObjectLockConfiguration",
"s3:PutObjectLegalHold",
"s3:DeleteObject",
"s3:ReplicateObject",
"s3:ReplicateDelete"
],
"Resource": [
"arn:aws:s3:::*"
],
"Sid": "EnableReplicatingDataIntoBucket"
}
]
}
The
"EnableReplicationOnBucket"
语句授予远程目标检索存储桶级配置以支持 MinIO 部署中所有存储桶上的复制操作的权限。要将策略限制为特定存储桶,请将这些存储桶指定为Resource
数组中的元素,类似于"arn:aws:s3:::bucketName"
。The
"EnableReplicatingDataIntoBucket"
语句授予远程目标将数据同步到 MinIO 部署中任何存储桶的权限。要将策略限制为特定存储桶,请将这些存储桶指定为Resource
数组中的元素,类似于"arn:aws:s3:::bucketName/*"
。
使用mc admin policy create
将此策略添加到充当复制目标的每个部署中。使用mc admin user add
在部署上创建用户,并使用mc admin policy attach
将策略与该新用户关联。
S3 兼容性
The mc 命令行工具是为与 AWS S3 API 兼容而构建的,并已在 MinIO 和 AWS S3 上经过测试,以确保其预期功能和行为。
MinIO 无法保证其他与 S3 兼容的服务,因为它们的 S3 API 实现未知,因此不受支持。虽然 mc 命令可能按文档工作,但任何此类使用均由您自行承担风险。