mc replicate update
在版本 RELEASE.2022-12-24T15-21-38Z 中的变更:mc replicate update替换mc admin bucket remote update命令。
Changed in version RELEASE.2022-11-07T23-47-39Z:mc replicate update替换mc replicate edit命令。
语法
Themc replicate update命令修改现有的存储桶复制规则.
mc [GLOBALFLAGS] replicate update FLAGS [FLAGS] ARGUMENTS [ARGUMENTS]
以下命令修改现有的复制规则mydata桶上的myminioMinIO 部署:
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
Brackets
[]表示可选参数。共享同一行的参数是相互依赖的。
使用竖线分隔的参数
|操作符是互斥的。
将示例复制到文本编辑器中,根据需要修改,然后在终端/Shell中运行命令。
参数
- ALIAS
- 必需
The别名MinIO 部署的名称以及要修改复制规则的存储桶或存储桶前缀的完整路径。 例如:
mc replicate update --id "c75nrap4b0talo3ipthg" [FLAGS]
- --id
- 必需
指定已配置的复制规则的唯一ID。 使用
mc replicate ls列出存储桶复制规则的命令。
- --bandwidth
- 可选
将带宽速率限制在不超过指定的 KiB/s、MiB/s 或 GiB/s 速率范围内。 有效单位包括:
B对于字节K对于千字节G用于千兆字节T对于太字节Ki对于千位字节Gi对于吉比字节Ti对于太字节
例如,要将带宽速率限制在不超过 1 GiB/s,请使用以下命令:
--limit-upload 1Gi
如果未指定,MinIO 不会限制带宽速率。
- --limit-download
- 可选
限制下载速率不超过指定的速率,单位可以是 KiB/s、MiB/s 或 GiB/s。 有效单位包括:
B对于字节K对于千字节G用于千兆字节T对于太字节Ki对于千位字节Gi对于吉比字节Ti对于太字节
例如,要将下载速率限制在不超过 1 GiB/s,请使用以下命令:
--limit-download 1G
如果未指定,MinIO 使用无限制的下载速率。
- --limit-upload
- 可选
限制上传速率不超过指定的速率(单位:KiB/s、MiB/s 或 GiB/s)。 有效单位包括:
B对于字节K对于千字节G用于千兆字节T对于太字节Ki对于千位字节Gi对于吉比字节Ti对于太字节
例如,要将上传速率限制在不超过 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获取存储桶上的复制规则列表及其对应的标识符。
Note
修改复制配置规则不会影响已经复制的对象。
例如,修改--tags过滤器不会移除不符合过滤条件的复制对象。
更新现有复制规则的凭据
使用mc replicate update修改现有的复制规则。
mc replicate update ALIAS/PATH \
--id ID \
--remote-bucket https://user:secret@minio.mycloud.tld:9001/mybucket
禁用或启用现有复制规则
使用mc replicate update随着--state用于禁用或启用复制规则的标志。
mc replicate update ALIAS/PATH \
--id ID \
--state "disable"|"enable"
行为
所需权限
MinIO 强烈建议创建专门用于支持存储桶复制操作的用户。
参见mc admin user和mc admin policy有关向 MinIO 部署添加用户和策略的更完整文档。
以下策略提供了在部署上配置和启用复制的权限。
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"admin:SetBucketTarget",
"admin:GetBucketTarget",
"admin:ListBatchJobs",
"admin:DescribeBatchJob",
"admin:StartBatchJob",
"admin:CancelBatchJob"
],
"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"statement grants permission for creating replication rules on a bucket. The"arn:aws:s3:::*resource 应用复制权限到任何源部署上的存储桶。您可以根据需要将用户策略限制为特定存储桶。
使用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"statement grants permission for a remote target to retrieve bucket-level configuration for supporting replication operations on全部MinIO 部署中的存储桶。要将策略限制到特定存储桶,请将这些存储桶指定为Resource类似于数组"arn:aws:s3:::bucketName".The
"EnableReplicatingDataIntoBucket"statement grants permission for a remote target to synchronize data into任何MinIO 部署中的存储桶。要将策略限制到特定存储桶,请将这些存储桶指定为Resource类似于数组"arn:aws:s3:::bucketName/*".
使用mc admin policy create将此策略添加到每个
作为复制目标的部署中。使用mc admin user add在部署上创建一个用户并mc admin policy attach将该策略关联到该新用户。
S3 Compatibility
Themc命令行工具专为兼容 AWS S3 API 而构建,并已通过 MinIO 和 AWS S3 测试,确保功能与行为符合预期。
MinIO 不提供对其他 S3 兼容服务的保证,因为它们的 S3 API 实现方式未知,因此不受支持。尽管mc命令可能按文档所述工作,任何此类使用风险自负。