AWS SDK for .NET 버전 3으로 마이그레이션 - AWS SDK for .NET

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS SDK for .NET 버전 3으로 마이그레이션

이 주제에서는 AWS SDK for .NET의 버전 3에 대한 변경 사항과 이 버전의 SDK로 코드를 마이그레이션하는 방법을 설명합니다.

AWS SDK for .NET 버전 정보

2009년 11월에 처음 출시된 AWS SDK for .NET는 .NET Framework 2.0용으로 설계되었습니다. 해당 릴리스 이후 .NET은 .NET Framework 4.0 및 .NET Framework 4.5로 향상되었으며 새로운 대상 플랫폼인 WinRT 및 Windows Phone을 추가했습니다.

AWS SDK for .NET버전 2는 .NET 플랫폼의 새 기능을 이용하고 WinRT 및 Windows Phone을 대상으로 하도록 업데이트되었습니다.

AWS SDK for .NET 버전 3은 어셈블리를 모듈식으로 변경하도록 업데이트되었습니다.

SDK를 위한 아키텍처 재설계

AWS SDK for .NET의 전체 버전 3은 모듈식으로 재설계되었습니다. 이제 각 서비스는 전역 어셈블리 대신에 자체 어셈블리로 구현됩니다. 따라서 더 이상 전체 AWS SDK for .NET를 애플리케이션에 추가할 필요가 없습니다. 또한 애플리케이션에서 사용하는 AWS 서비스에만 어셈블리를 추가할 수 있습니다.

호환성에 영향을 미치는 변경

다음 단원에서는 AWS SDK for .NET 버전 3의 변경 사항에 대해 설명합니다.

AWSClientFactory 제거

Amazon.AWSClientFactory 클래스를 제거했습니다. 이제 서비스 클라이언트를 생성하려면 해당 서비스 클라이언트의 생성자를 사용하십시오. 예를 들어 AmazonEC2Client를 생성하려면 다음과 같이 합니다.

var ec2Client = new Amazon.EC2.AmazonEC2Client();

Amazon.Runtime.AssumeRoleAWSCredentials 제거

Amazon.Runtime.AssumeRoleAWSCredentials 클래스를 제거한 이유는 이 클래스가 핵심 네임스페이스에 있지만 AWS Security Token Service에 대한 종속성이 있으며 한동안 SDK에서 폐기된 적이 있기 때문입니다. 대신에 Amazon.SecurityToken.AssumeRoleAWSCredentials 클래스를 사용하십시오.

S3Link에서 SetACL 메서드 제거

S3Link 클래스는 Amazon.DynamoDBv2 패키지의 일부이며 DynamoDB 항목의 참조인 객체를 Amazon S3에 저장하는 데 사용됩니다. 이것은 유용한 기능이지만 DynamoDB용 Amazon.S3 패키지에 대한 컴파일 종속성은 생성하지 않으려고 했습니다. 따라서 Amazon.S3에서 노출된 S3Link 메서드를 간소화하여 SetACL 메서드를 MakeS3ObjectPublic 메서드로 바꾸었습니다. 객체의 ACL(액세스 제어 목록)을 더 많이 제어하려면 Amazon.S3 패키지를 직접 사용해야 합니다.

폐기된 결과 클래스 제거

대부분의 AWS SDK for .NET 서비스에서 작업은 요청 ID 및 결과 객체와 같은 작업에 대한 메타데이터가 포함된 응답 객체를 반환합니다. 별도의 응답 및 결과 클래스를 보유하는 것은 중복되는 것이었고 개발자는 추가로 입력을 해야 했습니다. AWS SDK for .NET 버전 2에서는 결과 클래스의 모든 정보를 응답 클래스에 넣었습니다. 또한 사용이 줄어들도록 결과 클래스를 폐기된 것으로 표시하였습니다. AWS SDK for .NET 버전 3에서는 SDK 크기를 줄이는 데 도움이 되도록 이러한 폐기된 결과 클래스를 제거했습니다.

AWS Config 섹션 변경

App.config 또는 Web.config 파일을 통해 AWS SDK for .NET의 고급 구성을 수행할 수 있습니다. 이 작업은 SDK 어셈블리 이름을 참조하는 다음과 같은 <aws> 구성 섹션을 통해 할 수 있습니다.

<configuration> <configSections> <section name="aws" type="Amazon.AWSSection, AWSSDK"/> </configSections> <aws region="us-west-2"> <logging logTo="Log4Net"/> </aws> </configuration>

AWS SDK for .NET 버전 3에는 이제 AWSSDK 어셈블리가 없습니다. 공통 코드를 AWSSDK.Core 어셈블리에 배치하였습니다. 결과적으로 다음과 같이 AWSSDK 또는 App.config 파일의 Web.config 어셈블리에 대한 참조를 AWSSDK.Core 어셈블리로 변경해야 합니다.

<configuration> <configSections> <section name="aws" type="Amazon.AWSSection, AWSSDK.Core"/> </configSections> <aws region="us-west-2"> <logging logTo="Log4Net"/> </aws> </configuration>

또한 Amazon.AWSConfigs 클래스를 사용하여 구성 설정을 조정할 수도 있습니다. AWS SDK for .NET 버전 3에서는 DynamoDB에 대한 구성 설정을 Amazon.AWSConfigs 클래스에서 Amazon.AWSConfigsDynamoDB 클래스로 이동했습니다.