全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

跨区域复制(C++)

最近更新时间:2024-12-05 18:44:46

设置跨区域复制规则

以下代码用于设置跨区域复制规则:

#include "ks3.h"
#include <iostream>
#include <fstream>

using namespace ks3;

int main() {
    std::string host = "ks3-cn-beijing.ksyuncs.com";
    // 准备client上下文信息

    // 金山云主账号 AccessKey 拥有所有API的访问权限,风险很高。
    // 强烈建议您创建并使用子账号账号进行 API 访问或日常运维,请登录 https://uc.console.ksyun.com/pro/iam/#/user/list 创建子账号。
    std::string ak = "yourAccessKey"; // 填写实际的AccessKey
    std::string sk = "yourSecretKey"; // 填写实际的SecretKey
    // 填写源桶名
    std::string bucket = "yourBucketName";
    // 初始化网络资源
    sdk::KS3Client::InitGlobalCurl();
    // 初始化client
    sdk::KS3Client client(host);
    client.Init();

    sdk::ClientContext ctx;
    ctx.bucket = bucket;
    ctx.accesskey = ak;
    ctx.secretkey = sk;

    sdk::ReplicationInfo info;
    // 设置目标桶名
    info.target_bucket.assign("target_bucket");
    sdk::KS3Response response;
    int code = client.SetReplication(ctx, info, &response);
    if (code != 0) {
        std::cout << "failed to call curl with error code " << code << std::endl;
        return -1;
    }

    std::cout << response.status_code << std::endl;
    std::cout << response.headers_buffer << std::endl;
    std::cout << response.content.c_str() << std::endl;

    sdk::KS3Client::DestroyGlobalCurl();
}

有关设置跨区域复制规则详情,请参见Put Bucket Replication

获取跨区域复制规则

以下代码用于获取跨区域复制规则:

#include "ks3.h"
#include <iostream>
#include <fstream>

using namespace ks3;

int main() {
    std::string host = "ks3-cn-beijing.ksyuncs.com";
    // 准备client上下文信息

    // 金山云主账号 AccessKey 拥有所有API的访问权限,风险很高。
    // 强烈建议您创建并使用子账号账号进行 API 访问或日常运维,请登录 https://uc.console.ksyun.com/pro/iam/#/user/list 创建子账号。
    std::string ak = "yourAccessKey"; // 填写实际的AccessKey
    std::string sk = "yourSecretKey"; // 填写实际的SecretKey
    // 填写要查看的桶名
    std::string bucket = "yourBucketName";
    // 初始化网络资源
    sdk::KS3Client::InitGlobalCurl();
    // 初始化client
    sdk::KS3Client client(host);
    client.Init();

    sdk::ClientContext ctx;
    ctx.bucket = bucket;
    ctx.accesskey = ak;
    ctx.secretkey = sk;
    // 结果将写入result_info
    sdk::ReplicationInfo result_info;
    sdk::KS3Response response;
    int code = client.GetReplication(ctx, &result_info, &response);
    if (code != 0) {
        std::cout << "failed to call curl with error code " << code << std::endl;
        return -1;
    }

    std::cout << response.status_code << std::endl;
    std::cout << response.headers_buffer << std::endl;
    std::cout << response.content.c_str() << std::endl;

    if (response.status_code == 200) {
        std::cout <<  result_info.target_bucket.c_str() << std::endl;
        if (!result_info.prefixes.empty()) {
            for (const auto & prefix : result_info.prefixes) {
                std::cout <<  prefix.c_str() << std::endl;
            }
        }
    }

    sdk::KS3Client::DestroyGlobalCurl();
}

有关获取跨区域复制规则信息详情,请参见Get Bucket Replication

删除跨区域复制规则

以下代码用于获取跨区域复制规则:

#include "ks3.h"
#include <iostream>
#include <fstream>

using namespace ks3;

int main() {
    std::string host = "ks3-cn-beijing.ksyuncs.com";
    // 准备client上下文信息

    // 金山云主账号 AccessKey 拥有所有API的访问权限,风险很高。
    // 强烈建议您创建并使用子账号账号进行 API 访问或日常运维,请登录 https://uc.console.ksyun.com/pro/iam/#/user/list 创建子账号。
    std::string ak = "yourAccessKey"; // 填写实际的AccessKey
    std::string sk = "yourSecretKey"; // 填写实际的SecretKey
    // 填写桶名
    std::string bucket = "yourBucketName";
    // 初始化网络资源
    sdk::KS3Client::InitGlobalCurl();
    // 初始化client
    sdk::KS3Client client(host);
    client.Init();

    sdk::ClientContext ctx;
    ctx.bucket = bucket;
    ctx.accesskey = ak;
    ctx.secretkey = sk;

    sdk::KS3Response response;
    int code = client.DeleteReplication(ctx, &response);
    if (code != 0) {
        std::cout << "failed to call curl with error code " << code << std::endl;
        return -1;
    }

    std::cout << response.status_code << std::endl;
    std::cout << response.headers_buffer << std::endl;
    std::cout << response.content.c_str() << std::endl;

    sdk::KS3Client::DestroyGlobalCurl();
}

有关删除跨区域复制规则详情,请参见Delete Bucket Replication

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈