Para gestionar las reglas de replicación de datos, ejecute el comando replication. Estas reglas se clasifican en cross-region replication (CRR) y same-region replication (SRR). Una vez que configure una regla de replicación de datos, Object Storage Service (OSS) replica los objetos del bucket de origen al bucket de destino. Este último puede ubicarse en la misma región o en una distinta, según lo indique la regla configurada.
Notas
Para crear una regla de replicación de datos o habilitar Replication Time Control (RTC) en un bucket, necesita el permiso
oss:PutBucketReplication. Para consultar las reglas de replicación de datos de un bucket, requiere el permisooss:GetBucketReplication. Si desea eliminar reglas de replicación de datos de un bucket, debe contar con el permisooss:DeleteBucketReplication. Para consultar el progreso de replicación de una tarea ejecutada en un bucket, utilice el permisooss:GetBucketReplicationProgress. Por último, para consultar las regiones de los buckets a los que se pueden replicar datos, necesita el permisooss:GetBucketReplicationLocation. Para obtener más información, consulte Grant a custom policy.En ossutil 1.6.16 y versiones posteriores, use directamente
ossutilcomo nombre del binario en la línea de comandos. No es necesario modificar el nombre del binario según el sistema operativo. En versiones anteriores a la 1.6.16, sí debe actualizar el nombre del binario de acuerdo con su sistema operativo. Para obtener más información, consulte ossutil command reference.
Agregar una regla de replicación de datos
Las reglas de replicación de datos permiten copiar información de un bucket de origen a uno o varios buckets de destino. Puede configurar hasta 100 reglas de este tipo por cada bucket. Para obtener más información sobre la replicación de datos, consulte CRR.
Para agregar una regla de replicación de datos, primero cree un archivo local y especifique en él la regla que desea agregar. Después, agregue dicha regla al bucket de origen.
-
Sintaxis del comando
ossutil replication --method put oss://bucketname local_xml_fileA continuación se describen los parámetros del comando anterior.
Parámetro
Descripción
bucketname
Nombre del bucket para el que desea crear reglas de replicación de datos.
local_xml_file
Nombre del archivo local donde se almacenan las reglas de replicación de datos. Por ejemplo:
localfile.xml.Para obtener más información, consulte PutBucketReplication.
-
Ejemplos
-
Cree un archivo llamado
localfile.xmlen su computadora local y configure en él una regla de replicación de datos según sus necesidades.El siguiente código muestra un ejemplo de cómo configurar una regla de replicación de datos. Esta regla permite replicar las operaciones de creación y modificación de objetos cuyos nombres contienen el prefijo
srcdir. Dichos objetos se encuentran en el bucket de origen y se replican hacia un bucket de destino llamadodestbucket, ubicado en la región China (Hangzhou). Además, la regla especifica que la aceleración de transferencia está habilitada y que los datos históricos también se replican al bucket de destino.<?xml version="1.0" encoding="UTF-8"?> <ReplicationConfiguration> <Rule> <PrefixSet> <Prefix>srcdir</Prefix> </PrefixSet> <Action>PUT</Action> <Destination> <Bucket>destbucket</Bucket> <Location>oss-cn-hangzhou</Location> <TransferType>oss_acc</TransferType> </Destination> <HistoricalObjectReplication>enabled</HistoricalObjectReplication> </Rule> </ReplicationConfiguration> -
Agregue la regla de replicación de datos a un bucket de origen llamado
srcbucket:ossutil replication --method put oss://srcbucket localfile.xml
-
-
Salida de ejemplo
La siguiente salida indica que se creó la regla de replicación de datos para el bucket
srcbucket:0.856895(s) elapsed
Habilitar o deshabilitar RTC
Puede habilitar Replication Time Control (RTC) cuando configure una tarea de CRR. También es posible habilitarlo en tareas de CRR ya existentes. Al habilitar RTC en estas tareas, podrá replicar todos los objetos de un bucket o únicamente aquellos con etiquetas específicas o cuyos nombres contengan prefijos determinados.
-
Sintaxis del comando
ossutil replication --method put --item rtc oss://bucketname local_xml_fileA continuación se describen los parámetros del comando anterior.
Parámetro
Descripción
bucketname
Nombre del bucket de origen para el que desea habilitar o deshabilitar RTC.
local_xml_file
Nombre del archivo local que almacena las configuraciones de RTC. Por ejemplo:
localfile.xml.Para obtener más información, consulte PutBucketReplication.
-
Ejemplos
-
Configure el archivo local.
-
Habilitar RTC
<?xml version="1.0" encoding="UTF-8"?> <ReplicationRule> <RTC> <Status>enabled</Status> </RTC> <ID>test-replication-id</ID> </ReplicationRule> -
Deshabilitar RTC
<?xml version="1.0" encoding="UTF-8"?> <ReplicationRule> <RTC> <Status>disabled</Status> </RTC> <ID>test-replication-id</ID> </ReplicationRule>
-
-
Habilite o deshabilite RTC para un bucket de origen llamado
srcbucket:ossutil replication --method put --item rtc oss://srcbucket local.xml
-
-
Salida de ejemplo
0.856895(s) elapsed
Consultar las reglas de replicación de datos de un bucket
-
Sintaxis del comando
ossutil replication --method get oss://bucketname -
Ejemplos
Ejecute el siguiente comando para consultar y mostrar las reglas de replicación de datos del bucket
srcbucket:ossutil replication --method get oss://srcbucketLa siguiente salida de ejemplo indica que se consultaron correctamente las reglas de replicación de datos del bucket
srcbucket:<?xml version="1.0" encoding="UTF-8"?> <ReplicationConfiguration> <Rule> <ID>37417af4-f2dc-4b24-92d3-82092af6****</ID> <Action>ALL</Action> <Destination> <Bucket>destbucket</Bucket> <Location>oss-cn-beijing</Location> </Destination> <Status>doing</Status> <HistoricalObjectReplication>enabled</HistoricalObjectReplication> </Rule> </ReplicationConfiguration> 0.069195(s) elapsed
Consultar las regiones a las que se pueden replicar datos
-
Sintaxis del comando
ossutil replication --method get --item location oss://bucketname -
Ejemplos
Ejecute el siguiente comando para consultar las regiones de los buckets a los que se pueden replicar los datos del bucket
srcbucket:ossutil replication --method get --item location oss://srcbucketLa siguiente salida de ejemplo muestra las regiones de los buckets a los que se pueden replicar los datos:
<?xml version="1.0" ?> <ReplicationLocation> <Location>oss-cn-beijing</Location> <Location>oss-cn-qingdao</Location> <Location>oss-cn-shenzhen</Location> <Location>oss-cn-hongkong</Location> <Location>oss-us-west-1</Location> <LocationTransferTypeConstraint> <LocationTransferType> <Location>oss-cn-hongkong</Location> <TransferTypes> <Type>oss_acc</Type> </TransferTypes> </LocationTransferType> <LocationTransferType> <Location>oss-us-west-1</Location> <TransferTypes> <Type>oss_acc</Type> </TransferTypes> </LocationTransferType> </LocationTransferTypeConstraint> </ReplicationLocation> 0.226523(s) elapsed
Consultar el progreso de una tarea de replicación de datos ejecutada en un bucket
-
Sintaxis del comando
ossutil replication --method get --item progress oss://bucketname [ruleID]A continuación se describen los parámetros del comando anterior.
Parámetro
Descripción
bucketname
Nombre del bucket cuyo progreso de replicación de datos desea consultar.
ruleID
ID de la regla de replicación de datos. Si especifica este ID, se consulta el progreso de replicación asociado a dicha regla. Si no lo especifica, se consulta el progreso de todas las reglas de replicación de datos del bucket. El progreso de replicación solo se puede mostrar en pantalla.
-
Ejemplos
Ejecute el siguiente comando para consultar el progreso de replicación asociado a una regla específica del bucket
srcbucket:ossutil replication --method get --item progress oss://srcbucket 37417af4-f2dc-4b24-92d3-82092af6****Ejecute el siguiente comando para consultar el progreso de replicación asociado a todas las reglas de replicación de datos del bucket
srcbucket:ossutil replication --method get --item progress oss://srcbucketSi se muestra la siguiente salida, significa que el progreso de replicación de los datos históricos del bucket
srcbucketal bucketdestbucketalcanzó el 100 % antes de habilitar la replicación de datos. Una vez habilitada esta función, los datos escritos en el bucketsrcbucketantes de las 06:00:59 (UTC+8) del 9 de agosto de 2021 se replican al bucket de destino llamadodestbucket.<?xml version="1.0" encoding="UTF-8"?> <ReplicationProgress> <Rule> <ID>37417af4-f2dc-4b24-92d3-82092af6****</ID> <Action>ALL</Action> <Destination> <Bucket>destbucket</Bucket> <Location>oss-cn-beijing</Location> </Destination> <Status>doing</Status> <HistoricalObjectReplication>enabled</HistoricalObjectReplication> <Progress> <HistoricalObject>1.00</HistoricalObject> <NewObject>2021-08-09T06:00:59.000Z</NewObject> </Progress> </Rule> </ReplicationProgress> 0.125002(s) elapsed
Eliminar una regla de replicación de datos
-
Sintaxis del comando
ossutil replication --method delete oss://bucketname ruleID -
Ejemplos
Ejecute el siguiente comando para eliminar una regla de replicación de datos específica configurada en el bucket
srcbucket:ossutil replication --method delete oss://srcbucket 37417af4-f2dc-4b24-92d3-82092af6****La siguiente salida de ejemplo indica que se eliminó la regla de replicación de datos especificada.
0.069195(s) elapsed
Opciones comunes
Para acceder a un bucket en otra región, use -e y especifique el endpoint correspondiente. Si necesita acceder a un bucket propiedad de otra cuenta de Alibaba Cloud, utilice -i para el AccessKey ID y -k para el AccessKey secret.
Por ejemplo, ejecute el siguiente comando para crear una regla de replicación de datos definida en el archivo localfile.txt. Esta regla aplica al bucket testbucket, ubicado en la región China (Shanghai) y propiedad de otra cuenta de Alibaba Cloud. Ejemplo:
ossutil replication --method put oss://testbucket localfile.txt -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret