tencent cloud

masukan

Cross-region replication

Terakhir diperbarui:2022-01-17 12:27:02

    Overview

    This document provides an overview of APIs and SDK code samples related to cross-region replication.

    API Operation Description
    PUT Bucket replication Setting a cross-region replication rule Sets a cross-region replication rule for a bucket
    GET Bucket replication Querying a cross-region replication rule Queries the cross-region replication rule of a bucket
    DELETE Bucket replication Deleting a cross-region replication rule Deletes the cross-region replication rule from a bucket

    SDK API References

    For parameters and method description of all APIs in the SDK, please see SDK API Reference.

    Setting Cross-region Replication Rules

    Description

    This API is used to set the cross-region replication rules of a specified bucket.

    Sample code

    Objective-C

    QCloudPutBucketReplicationRequest* request = [[QCloudPutBucketReplicationRequest alloc] init];
    // Bucket name in the format of BucketName-Appid, which can be viewed in the COS console at https://console.intl.cloud.tencent.com/cos5/bucket
    request.bucket = @"examplebucket-1250000000";
    // All cross-region replication configuration information
    QCloudBucketReplicationConfiguation* replConfiguration =
                               [[QCloudBucketReplicationConfiguation alloc] init];
    // Initiator ID
    replConfiguration.role = @"qcs::cam::uin/100000000001:uin/100000000001";
    // Specific configuration information
    QCloudBucketReplicationRule* rule = [[QCloudBucketReplicationRule alloc] init];
    // Identify the name of a specific rule
    rule.identifier = @"identifier";
    rule.status = QCloudCOSXMLStatusEnabled;
    // Resource ID
    QCloudBucketReplicationDestination* destination = [[QCloudBucketReplicationDestination alloc] init];
    NSString* destinationBucket = @"destinationbucket-1250000000";
    // Destination bucket region
    NSString* region = @"ap-beijing";
    destination.bucket = [NSString stringWithFormat:@"qcs::cos:%@::%@",region,destinationBucket];
    // Destination bucket information
    rule.destination = destination;
    // Prefix matching policy. Policies cannot overlap; otherwise, an error will be returned. The prefix matching root directory is empty
    rule.prefix = @"prefix1";
    replConfiguration.rule = @[rule];
    request.configuation = replConfiguration;
    [request setFinishBlock:^(id outputObject, NSError* error) {
       // `outputObject` contains all the HTTP response headers
       NSDictionary* info = (NSDictionary *) outputObject;
    
    }];
    [[QCloudCOSXMLService defaultCOSXML] PutBucketRelication:request];
    
    Note:

    For the complete sample, go to GitHub.

    Swift

    let putBucketReplication = QCloudPutBucketReplicationRequest.init();
    // Bucket name in the format of BucketName-Appid, which can be viewed in the COS console at https://console.intl.cloud.tencent.com/cos5/bucket
    putBucketReplication.bucket = "examplebucket-1250000000";
    // All cross-region replication configuration information
    let config = QCloudBucketReplicationConfiguation.init();
    config.role = "qcs::cam::uin/100000000001:uin/100000000001";
    // Initiator ID
    let rule = QCloudBucketReplicationRule.init();
    
    // Identify the name of a specific rule
    rule.identifier = "rule1";
    // Indicate whether the rule is enabled. Valid values: .enabled, .disabled
    rule.status = .enabled;
    // Destination bucket information
    let destination = QCloudBucketReplicationDestination.init();
    let destinationBucket = "destinationbucket-1250000000";
    let region = "ap-beijing";
    destination.bucket = "qcs::cos:\(region)::\(destinationBucket)";
    rule.destination = destination;
    // Prefix matching policy. Policies cannot overlap; otherwise, an error will be returned. The prefix matching root directory is empty
    rule.prefix = "dir/";
    config.rule = [rule];
    putBucketReplication.configuation = config;
    putBucketReplication.finishBlock = {(result,error) in
       if let result = result {
           // "result" contains response headers.
       } else {
           print(error!);
       }
    }
    QCloudCOSXMLService.defaultCOSXML().putBucketRelication(putBucketReplication);
    
    Note:

    For the complete sample, go to GitHub.

    Querying Cross-region Replication Rules

    Description

    This API is used to query the cross-region replication rules of a specified bucket.

    Sample code

    Objective-C

    QCloudGetBucketReplicationRequest* request = [[QCloudGetBucketReplicationRequest alloc] init];
    // Bucket name in the format of BucketName-Appid, which can be viewed in the COS console at https://console.cloud.tencent.com/cos5/bucket
    request.bucket = @"examplebucket-1250000000";
    [request setFinishBlock:^(QCloudBucketReplicationConfiguation* result,
                             NSError* error) {
       // Specific configuration information. A maximum of 1,000 rules are supported. All rules must be directed to one destination bucket.
       NSArray *rules = result.rule;
    }];
    [[QCloudCOSXMLService defaultCOSXML] GetBucketReplication:request];
    
    Note:

    For the complete sample, go to GitHub.

    Swift

    let getBucketReplication = QCloudGetBucketReplicationRequest.init();
    getBucketReplication.bucket = "examplebucket-1250000000";
    getBucketReplication.setFinish { (config, error) in
       if let config = config {
           // List all the rules
           let rule = config.rule
       } else {
           print(error!);
       }
    }
    QCloudCOSXMLService.defaultCOSXML().getBucketReplication(getBucketReplication);
    
    Note:

    For the complete sample, go to GitHub.

    Deleting Cross-region Replication Rules

    Description

    This API is used to delete the cross-region replication rules of a specified bucket.

    Sample code

    Objective-C

    QCloudDeleteBucketReplicationRequest* request =
                           [[QCloudDeleteBucketReplicationRequest alloc] init];
    // Bucket name in the format of BucketName-Appid, which can be viewed in the COS console at https://console.intl.cloud.tencent.com/cos5/bucket
    request.bucket = @"examplebucket-1250000000";
    [request setFinishBlock:^(id outputObject, NSError* error) {
       // `outputObject` contains all the HTTP response headers
       NSDictionary* info = (NSDictionary *) outputObject;
    
    }];
    [[QCloudCOSXMLService defaultCOSXML] DeleteBucketReplication:request];
    
    Note:

    For the complete sample, go to GitHub.

    Swift

    let deleteBucketReplication = QCloudDeleteBucketReplicationRequest.init();
    deleteBucketReplication.bucket = "examplebucket-1250000000";
    deleteBucketReplication.finishBlock = {(result,error) in
       if let result = result {
           // "result" contains response headers.
       } else {
           print(error!);
       }
    }
    QCloudCOSXMLService.defaultCOSXML().deleteBucketReplication(deleteBucketReplication);
    
    Note:

    For the complete sample, go to GitHub.

    Hubungi Kami

    Hubungi tim penjualan atau penasihat bisnis kami untuk membantu bisnis Anda.

    Dukungan Teknis

    Buka tiket jika Anda mencari bantuan lebih lanjut. Tiket kami tersedia 7x24.

    Dukungan Telepon 7x24