Amazon Web Services 한국 블로그

AWS SDK for C++ – 정식 버전 출시

AWS SDK for C++의 정식 버전을 공개합니다. 1년이 넘게 베타 상태에서 다양한 개발자 피드백을 기반으로 완성되었으며, 정식 서비스 환경에서도 사용을 권장합니다. 본 SDK는 시맨틱 버전 관리를 제공하고 있습니다.


re:Invnet 2015의 AWS SDK for C++ 소개 동영상

본 SDK는 개발자 미리 보기 테스트 중에 접수된 의견을 바탕으로 몇 가지 중요한 기능 업데이트를 제공합니다.

  • 시맨틱 버전 관리Semantic versioning을 통해 버전 1.0에서 1.x 시리즈의 업그레이드를 통해서도 빌드에 문제가 없습니다. .
  • Transfer Manager – 기존 TransferClient는 기능이 추가된 새로운 TransferManager 인터페이스로 진화했습니다.
  • 빌드 프로세스 – CMake 빌드 체인은 플랫폼의 기본 값을 쉽게 덮어 쓸 수 있도록 하였습니다.
  • 간단한 설정 – 실행시 SDK-wide configuration options을 쉽게 설정할 수 있게 되었습니다.
  • 암호화 – 본 SDK는 지원되는 모든 플랫폼에서 대칭 암호화 지원을 포함합니다.
  • NuGet – 현재 SDK는 NuGet을 통해 얻을 수 있습니다 (자세한 내용은 a href=”https://aws.amazon.com/blogs/developer/aws-sdk-for-c-now-available-via-nuget/”>AWS SDK for C++ Now Available via. NuGet를 참조하십시오).
  • 기타 수정 – 1.0 코드 기반에 많은 버그 수정 및 빌드 향상 기능을 포함하고 있습니다.

또한, AWS에서 C++ 개발을 더욱 쉽고 안정하게 제공할 높은 수준의 API를 곧 공개합니다. 새로운 TransferManager API를 사용하는 코드 샘플은 아래와 같습니다.

C++
#include <aws/core/Aws.h>
#include <aws/s3/S3Client.h>
#include <aws/transfer/TransferManager.h>

static const char* ALLOC_TAG = "main";

int main()
{
    Aws::SDKOptions options;
    Aws::InitAPI(options);

    auto s3Client = Aws::MakeShared<Aws::S3::S3Client>(ALLOC_TAG);
    Aws::Transfer::TransferManagerConfiguration transferConfig;
    transferConfig.s3Client = s3Client;

    transferConfig.transferStatusUpdatedCallback =
       [](const TransferManager*, const TransferHandle& handle)
       { std::cout << "Transfer Status = " << static_cast(handle.GetStatus()) << "\n"; }

    transferConfig.uploadProgressCallback =
        [](const TransferManager*, const TransferHandle& handle)
        { std::cout << "Upload Progress: " << handle.GetBytesTransferred() << " of " << handle.GetBytesTotalSize() << " bytes\n";};

    transferConfig.downloadProgressCallback =
        [](const TransferManager*, const TransferHandle& handle)
        { std::cout << "Download Progress: " << handle.GetBytesTransferred() << " of " << handle.GetBytesTotalSize() << " bytes\n"; };
    
    Aws::Transfer::TransferManager transferManager(transferConfig);
    auto transferHandle = transferManager.UploadFile("/user/aws/giantFile", "aws_cpp_ga", "giantFile", 
                                                     "text/plain", Aws::Map<Aws::String, Aws::String>());
    transferHandle.WaitUntilFinished();
     
    Aws::ShutdownAPI(options);
    return 0;
}

더 자세한 사항은 AWS SDK for C++ 홈페이지 및 AWS Developer Blog (C++) 블로그를 참고하시기 바랍니다.

정식 출시 및 피드백
AWS SDK for C++에 대한 코드에 대한 피드백은 Github 이슈pull requests를 통해 보내주시기 바랍니다.

Jeff;

이 글은 AWS SDK for C++ – Now Ready for Production Use의 한국어 번역입니다.