初始化

使用媒体存储的 C ++ 开发工具包的应用程序必须对其进行初始化。同样,在应用程序终止之前,必须关闭SDK。这两个操作都接受配置选项,这些配置选项会影响初始化和关闭过程以及对SDK的后续调用。

使用媒体存储的 C ++ 开发工具包的所有应用程序都必须包含该文件aws/core/Aws.h

媒体存储的 C ++ 开发工具包必须通过调用 Aws::InitAPI 进行初始化操作。在应用程序终止之前,必须通过调用 Aws::ShutdownAPI 关闭 SDK。每个方法都接受 Aws :: SDKOptions 的参数。可以在这两个方法调用之间执行对SDK的所有其他调用。

最佳使用方法要求所有 OSS 的 C ++ 调用应该在 Aws::InitAPIAws::ShutdownAPI 之间被执行。

基本应用骨架如下所示。

#include <aws/core/Aws.h>
int main(int argc, char** argv)
{
   Aws::SDKOptions options;
   Aws::InitAPI(options);
   {
      // make your SDK calls here.
   }
   Aws::ShutdownAPI(options);
   return 0;
}

初始化Aws::S3::S3Client,S3Client是SDK的入口。

#define OSS_ACCESS_KEY  "<your-access-key>"
#define OSS_SECRET_KEY  "<your-secret-key>"
#define OSS_ENDPOINT    "<your-endpoint>"     // e.g. http://xxoss.xstore.ctyun.cn
#define OSS_BUCKET_NAME "<your-bucket-name>"

void S3Demo::init()
{
  Aws::String ak = OSS_ACCESS_KEY;
  Aws::String sk = OSS_SECRET_KEY;
  Aws::String endPoint = OSS_ENDPOINT;

  Aws::Auth::AWSCredentials cred(ak, sk);
  Aws::Client::ClientConfiguration cfg;
  cfg.endpointOverride = endPoint;
  cfg.scheme = Aws::Http::Scheme::HTTP;
  cfg.verifySSL = false;
  s3_client = new Aws::S3::S3Client(cred, cfg,
    Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy::Never, false);
}