Gerencie as regras de replicação de dados executando o comando replication. Essas regras se dividem em replicação entre regiões (CRR) e replicação na mesma região (SRR). Após configurar uma regra de replicação de dados, o Object Storage Service (OSS) replica os objetos do bucket de origem para o bucket de destino, localizado na mesma região ou em uma região diferente, conforme a regra definida.
Observações
Para criar uma regra de replicação de dados ou ativar o Replication Time Control (RTC) em um bucket, é necessária a permissão
oss:PutBucketReplication. Para consultar as regras de replicação de dados de um bucket, é necessária a permissãooss:GetBucketReplication. Para excluir regras de replicação de dados de um bucket, é necessária a permissãooss:DeleteBucketReplication. Para consultar o progresso de uma tarefa de replicação de dados executada em um bucket, é necessária a permissãooss:GetBucketReplicationProgress. Já para consultar as regiões dos buckets para os quais os dados podem ser replicados, é necessária a permissãooss:GetBucketReplicationLocation. Para mais informações, consulte Conceder uma política personalizada.No ossutil 1.6.16 e versões posteriores, use diretamente ossutil como nome do binário na linha de comando, sem necessidade de alterar o nome conforme o sistema operacional. Em versões anteriores à 1.6.16, atualize o nome do binário de acordo com o sistema operacional. Para mais informações, consulte Guia de início rápido da ferramenta de linha de comando ossutil.
Adicionar uma regra de replicação de dados
As regras de replicação de dados permitem replicar dados de um bucket de origem para um ou mais buckets de destino. É possível configurar até 100 regras de replicação de dados por bucket. Para mais informações sobre replicação de dados, consulte CRR.
Para adicionar uma regra de replicação de dados, crie primeiro um arquivo local e especifique nele a regra desejada. Em seguida, adicione a regra ao bucket de origem.
-
Sintaxe do comando
ossutil replication --method put oss://bucketname local_xml_fileA tabela a seguir descreve os parâmetros do comando acima.
Parâmetro
Descrição
bucketname
Nome do bucket no qual você deseja criar regras de replicação de dados.
local_xml_file
Nome do arquivo local que armazena as regras de replicação de dados. Exemplo:
localfile.xml.Para mais informações, consulte PutBucketReplication.
-
Exemplos
-
Crie um arquivo chamado
localfile.xmlno seu computador local e configure uma regra de replicação de dados nesse arquivo conforme suas necessidades de negócio.O código abaixo exemplifica a configuração de uma regra de replicação de dados. Essa regra replica as operações de criação e modificação realizadas em objetos cujos nomes contêm o prefixo srcdir no bucket de origem para um bucket de destino chamado destbucket, localizado na região China (Hangzhou). Além disso, a regra especifica que a aceleração de transferência está ativada e que os dados históricos serão replicados para o 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> -
Adicione a regra de replicação de dados a um bucket de origem chamado srcbucket:
ossutil replication --method put oss://srcbucket localfile.xml
-
-
Saída de exemplo
A saída a seguir indica que a regra de replicação de dados foi criada para o bucket srcbucket:
0.856895(s) elapsed
Ativar ou desativar o RTC
É possível ativar o Replication Time Control (RTC) ao configurar uma tarefa de CRR ou em tarefas de CRR já existentes. O RTC pode ser ativado para replicar todos os objetos de um bucket, apenas objetos com tags específicas ou aqueles cujos nomes contenham prefixos específicos.
-
Sintaxe do comando
ossutil replication --method put --item rtc oss://bucketname local_xml_fileA tabela a seguir descreve os parâmetros do comando acima.
Parâmetro
Descrição
bucketname
Nome do bucket de origem no qual você deseja ativar ou desativar o RTC.
local_xml_file
Nome do arquivo local que armazena as configurações de RTC. Exemplo:
localfile.xml.Para mais informações, consulte PutBucketReplication.
-
Exemplos
-
Configure o arquivo local.
-
Ativar o RTC
<?xml version="1.0" encoding="UTF-8"?> <ReplicationRule> <RTC> <Status>enabled</Status> </RTC> <ID>test-replication-id</ID> </ReplicationRule> -
Desativar o RTC
<?xml version="1.0" encoding="UTF-8"?> <ReplicationRule> <RTC> <Status>disabled</Status> </RTC> <ID>test-replication-id</ID> </ReplicationRule>
-
-
Ative ou desative o RTC para um bucket de origem chamado srcbucket:
ossutil replication --method put --item rtc oss://srcbucket local.xml
-
-
Saída de exemplo
0.856895(s) elapsed
Consultar as regras de replicação de dados de um bucket
-
Sintaxe do comando
ossutil replication --method get oss://bucketname -
Exemplos
Execute o comando a seguir para consultar e exibir as regras de replicação de dados do bucket srcbucket:
ossutil replication --method get oss://srcbucketA saída de exemplo abaixo indica que as regras de replicação de dados do bucket srcbucket foram consultadas:
<?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 as regiões para as quais os dados podem ser replicados
-
Sintaxe do comando
ossutil replication --method get --item location oss://bucketname -
Exemplos
Execute o comando a seguir para consultar as regiões dos buckets para os quais os dados do bucket srcbucket podem ser replicados:
ossutil replication --method get --item location oss://srcbucketA saída de exemplo a seguir mostra as regiões dos buckets para os quais os dados podem ser replicados:
<?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 o progresso de uma tarefa de replicação de dados executada em um bucket
-
Sintaxe do comando
ossutil replication --method get --item progress oss://bucketname [ruleID]A tabela a seguir descreve os parâmetros do comando acima.
Parâmetro
Descrição
bucketname
Nome do bucket cujo progresso de replicação de dados você deseja consultar.
ruleID
ID da regra de replicação de dados. Ao especificar o ID da regra, o sistema consulta o progresso de replicação associado a ela. Caso nenhum ID seja especificado, o progresso de todas as regras de replicação de dados do bucket será consultado. O progresso da replicação só pode ser exibido na tela.
-
Exemplos
Execute o comando a seguir para consultar o progresso de replicação de dados associado a uma regra específica do bucket srcbucket:
ossutil replication --method get --item progress oss://srcbucket 37417af4-f2dc-4b24-92d3-82092af6****Use o comando abaixo para consultar o progresso de replicação associado a todas as regras de replicação de dados do bucket srcbucket:
ossutil replication --method get --item progress oss://srcbucketSe a saída abaixo for exibida, significa que o progresso da replicação dos dados históricos do bucket srcbucket para o bucket destbucket, antes da ativação da replicação de dados, é de 100%. Após a ativação da replicação, os dados gravados no bucket srcbucket antes das 06:00:59 (UTC+8) de 9 de agosto de 2021 serão replicados para o bucket de destino chamado destbucket.
<?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
Excluir uma regra de replicação de dados
-
Sintaxe do comando
ossutil replication --method delete oss://bucketname ruleID -
Exemplos
Execute o comando a seguir para excluir uma regra de replicação de dados específica configurada no bucket srcbucket:
ossutil replication --method delete oss://srcbucket 37417af4-f2dc-4b24-92d3-82092af6****A saída de exemplo abaixo indica que a regra de replicação de dados especificada foi excluída.
0.069195(s) elapsed
Opções comuns
Para acessar um bucket em outra região, use -e para especificar o endpoint. Para acessar um bucket pertencente a outra conta Alibaba Cloud, utilize -i para o AccessKey ID e -k para o AccessKey secret.
Por exemplo, execute o comando abaixo para criar uma regra de replicação de dados no arquivo localfile.txt para o bucket testbucket, localizado na região China (Shanghai) e pertencente a outra conta Alibaba Cloud: Exemplo:
ossutil replication --method put oss://testbucket localfile.txt -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret