2. 初始化

2.1. 确定EndPoint

EndPoint 是NOS各个区域的地址,目前支持以下形式

EndPoint类型 备注
NOS区域域名地址 使用桶所在的区域的NOS域名地址

2.1.1. NOS区域域名地址

进入NOS控制台,在桶的 属性 中可以查找到当前桶所在的区域及域名,桶的域名的后缀部分为 该桶的公网域名,例如:test-logging.nos-eastchina1.126.net中的nos-eastchina1.126.net 为该桶的公网EndPoint。

2.2. 配置秘钥

要接入NOS服务,您需要一对有效的AccessKey(包括AccessKeyId与AccessKeySecret)来进行 签名验证,开通服务与AccessKey请参考 访问控制

在获取到AccessKeyId与AccessKeySecret之后,可以按照以下的步骤进行初始化

2.3. 新建S3Client

2.3.1. 使用NOS地区域名创建S3Client

初始化代码如下所示:

#include <iostream>
#include <aws/core/Aws.h>
#include <aws/s3/S3Client.h>


Aws::SDKOptions options;
options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Debug;//设置该SDK的相关行为
Aws::InitAPI(options); //开启服务客户端


Aws::Client::ClientConfiguration clientConfig;

clientConfig.scheme = Aws::Http::Scheme::HTTP;
clientConfig.verifySSL = false;
clientConfig.connectTimeoutMs = 60000;
clientConfig.requestTimeoutMs = 10000;

clientConfig.endpointOverride = Aws::String("xxx");

Aws::String ak = "xxx";
Aws::String sk = "xxx";

Aws::S3::S3Client s3_client(Aws::Auth::AWSCredentials(ak,sk),clientConfig);

Aws::ShutdownAPI(options);//关闭服务客户端

2.4. 设置网络参数

如果您需要修改S3Client的默认参数,可以在实例化S3Client时传入ClientConfiguration实例。ClientConfiguration是S3Client的配置类,可配置连接超时、最大连接数等参数:

Aws::Client::ClientConfiguration clientConfig;
//设置http scheme
clientConfig.scheme = Aws::Http::Scheme::HTTP;
//如果使用https,是否验证域名
clientConfig.verifySSL = false;
//链接的最大超时时间
clientConfig.connectTimeoutMs = 60000;
//请求的最大超时时间
clientConfig.requestTimeoutMs = 10000;