最近更新时间:2024-12-05 18:44:59
以下代码用于设置文件访问权限:
#include "ks3.h"
#include <iostream>
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";
// 填写要设置acl的对象名
std::string object_key = "yourKeyName";
// 初始化网络资源
sdk::KS3Client::InitGlobalCurl();
// 初始化client
sdk::KS3Client client(host);
client.Init();
sdk::ClientContext ctx;
ctx.bucket = bucket;
ctx.object_key = object_key;
ctx.accesskey = ak;
ctx.secretkey = sk;
sdk::KS3Response response;
int code = client.SetCannedAcl(ctx, "public-read", &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 << std::endl;
sdk::KS3Client::DestroyGlobalCurl();
return 0;
}
#include "ks3.h"
#include <iostream>
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";
// 填写要设置acl的对象名
std::string object_key = "yourKeyName";
// 初始化网络资源
sdk::KS3Client::InitGlobalCurl();
// 初始化client
sdk::KS3Client client(host);
client.Init();
sdk::ClientContext ctx;
ctx.bucket = bucket;
ctx.object_key = object_key;
ctx.accesskey = ak;
ctx.secretkey = sk;
sdk::KS3Response response;
// 设置请求体信息
sdk::AccessControlPolicy policy;
sdk::AccessControlPolicy::Grant grant;
grant.grantee_type = "CanonicalUser";
grant.permission = "READ";
grant.grantee_id = "123456";
grant.grantee_display_name = "123456";
policy.access_control_list.push_back(grant);
int code = client.SetAcl(ctx, policy, &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 << std::endl;
sdk::KS3Client::DestroyGlobalCurl();
return 0;
}
#include "ks3.h"
#include <iostream>
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";
// 填写要查看具体acl的对象名
std::string object_key = "yourKeyName";
// 初始化网络资源
sdk::KS3Client::InitGlobalCurl();
// 初始化client
sdk::KS3Client client(host);
client.Init();
sdk::ClientContext ctx;
ctx.bucket = bucket;
ctx.object_key = object_key;
ctx.accesskey = ak;
ctx.secretkey = sk;
sdk::KS3Response response;
// 结果将写入policy
sdk::AccessControlPolicy policy;
int code = client.GetAcl(ctx, policy, &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 << std::endl;
std::cout << policy.owner.id << std::endl;
std::cout << policy.owner.display_name << std::endl;
for (const auto& grant : policy.access_control_list) {
std::cout << grant.grantee_type << std::endl;
std::cout << grant.grantee_id << std::endl;
std::cout << grant.grantee_display_name << std::endl;
std::cout << grant.permission << std::endl;
}
sdk::KS3Client::DestroyGlobalCurl();
return 0;
}
纯净模式