버전 4(V4) AWS SDK for .NET 가 릴리스되었습니다.
변경 사항 해제 및 애플리케이션 마이그레이션에 대한 자세한 내용은 마이그레이션 주제를 참조하세요.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
에 대한 구성 파일 참조 AWS SDK for .NET
참고
이 항목의 정보는 .NET Framework를 기반으로 하는 프로젝트에만 해당됩니다. .NET Core 기반 프로젝트에는 기본적으로 App.config 및 Web.config 파일이 표시되지 않습니다.
.NET 프로젝트의 App.config 또는 Web.config 파일을 사용하여 AWS 자격 증명, 로깅 옵션, AWS 서비스 엔드포인트 및 AWS 리전과 같은 AWS 설정과 Amazon DynamoDB, Amazon EC2 및 Amazon S3와 같은 AWS 서비스에 대한 일부 설정을 지정할 수 있습니다. 다음 내용은 App.config 또는 Web.config 파일의 적당한 형식을 설정하여 이러한 유형의 설정을 지정하는 방법을 기술한 것입니다.
참고
App.config 또는 Web.config 파일의 <appSettings> 요소를 계속 사용하여 AWS 설정을 지정할 수 있지만이 주제의 뒷부분에 설명된 대로 <configSections> 및 <aws> 요소를 사용하는 것이 좋습니다. <appSettings> 요소에 대한 자세한 내용은 애플리케이션 구성의 <appSettings> 요소 예제를 참조하세요. AWS SDK for .NET
참고
코드 파일에서 다음 AWSConfigs 클래스 속성을 계속 사용하여 AWS 설정을 지정할 수 있지만 다음 속성은 더 이상 사용되지 않으며 향후 릴리스에서 지원되지 않을 수 있습니다.
-
DynamoDBContextTableNamePrefix -
EC2UseSignatureVersion4 -
LoggingOptions -
LogMetrics -
ResponseLoggingOption -
S3UseSignatureVersion4
일반적으로 코드 파일의 AWSConfigs 클래스 속성을 사용하여 AWS 설정을 지정하는 대신 또는 App.config Web.config 파일의 <configSections> 및 <aws> 요소를 사용하여이 주제의 뒷부분에 설명된 대로 AWS 설정을 지정하는 것이 좋습니다. 이전 속성에 대한 자세한 내용은 애플리케이션 구성의 AWSConfigs 코드 예제를 참조하세요. AWS SDK for .NET
AWS 설정 섹션 선언
<aws> 요소 내에서 App.config 또는 Web.config 파일에 AWS 설정을 지정합니다. <aws> 요소를 사용하기 전에 다음 예제와 같이 <section> 요소(<configSections> 요소의 하위 요소)를 생성하여 name에는 aws 속성을, type에는 Amazon.AWSSection, AWSSDK.Core 속성을 설정해야 합니다.
<?xml version="1.0"?> <configuration> ... <configSections> <section name="aws" type="Amazon.AWSSection, AWSSDK.Core"/> </configSections> <aws> <!-- Add your desired AWS settings declarations here. --> </aws> ... </configuration>
Visual Studio 편집기에서는 <aws> 요소 또는 그 하위 요소에 대해서는 자동 코드 완성(IntelliSense) 기능을 제공하지 않습니다.
<aws> 요소의 올바른 형식 버전을 생성하는 데 도움을 받으려면 Amazon.AWSConfigs.GenerateConfigTemplate 메서드를 호출하십시오. 그렇게 하면 <aws> 요소의 표준 버전이 가독성 좋게 꾸민 문자열로 출력되는데, 이를 필요에 따라 수정할 수 있습니다. 다음 섹션에서는 <aws> 요소의 속성 및 하위 요소에 대해 설명합니다.
허용되는 요소
다음 목록은 AWS
설정 섹션에서 허용되는 요소들 간의 논리적 관계를 나타낸 것입니다. Amazon.AWSConfigs.GenerateConfigTemplate 메서드를 호출하여 이 목록의 최신 버전을 생성할 수 있습니다. 그렇게 하면 <aws> 요소의 표준 버전이 가독성 좋게 꾸민 문자열로 출력되는데, 이를 필요에 따라 수정할 수 있습니다.
<aws endpointDefinition="string value" region="string value" profileName="string value" profilesLocation="string value"> <logging logTo="None, Log4Net, SystemDiagnostics" logResponses="Never | OnError | Always" logMetrics="true | false" logMetricsFormat="Standard | JSON" logMetricsCustomFormatter="NameSpace.Class, Assembly" /> <dynamoDB conversionSchema="V1 | V2"> <dynamoDBContext tableNamePrefix="string value"> <tableAliases> <alias fromTable="string value" toTable="string value" /> </tableAliases> <map type="NameSpace.Class, Assembly" targetTable="string value"> <property name="string value" attribute="string value" ignore="true | false" version="true | false" converter="NameSpace.Class, Assembly" /> </map> </dynamoDBContext> </dynamoDB> <s3 useSignatureVersion4="true | false" /> <ec2 useSignatureVersion4="true | false" /> <proxy host="string value" port="1234" username="string value" password="string value" /> </aws>
요소 참조
다음은 AWS 설정 섹션에서 허용되는 요소의 목록입니다. 각 요소에 허용되는 속성 및 상위-하위 요소가 나열되어 있습니다.
별칭
<alias> 요소는 한 가지 형식에 맞게 구성된 테이블과는 다른 테이블을 지정하는 한 개 이상의 테이블 매핑(from-table에서 to-table로 매핑) 모음에 있는 단일 항목을 나타냅니다. 이 요소는 AWS SDK for .NET의 Amazon.AWSConfigs.DynamoDBConfig.Context.TableAliases 속성에서 Amazon.Util.TableAlias 클래스의 인스턴스로 매핑됩니다. 테이블 이름 접두사를 적용하기 전에 다시 매핑이 됩니다.
이 요소에는 다음과 같은 속성이 포함될 수 있습니다.
-
fromTable -
from-table에서 to-table로의 매핑에서 from-table 부분. 이 속성은 AWS SDK for .NET의
Amazon.Util.TableAlias.FromTable속성으로 매핑됩니다. -
toTable -
from-table에서 to-table로의 매핑에서 to-table 부분. 이 속성은 AWS SDK for .NET의
Amazon.Util.TableAlias.ToTable속성으로 매핑됩니다.
<alias> 요소의 부모는 <tableAliases> 요소입니다.
<alias> 요소에는 하위 요소가 포함되어 있지 않습니다.
다음은 사용 중인 <alias> 요소의 예입니다.
<alias fromTable="Studio" toTable="Studios" />
aws
<aws> 요소는 AWS 설정 섹션에서 최상위 요소를 나타냅니다. 이 요소에는 다음과 같은 속성이 포함될 수 있습니다.
-
endpointDefinition -
사용할 AWS 리전과 엔드포인트를 정의하는 사용자 지정 구성 파일의 절대 경로입니다. 이 속성은 AWS SDK for .NET의
Amazon.AWSConfigs.EndpointDefinition속성으로 매핑됩니다. -
profileName -
서비스 호출에 사용할 저장된 AWS 자격 증명의 프로필 이름입니다. 이 속성은 AWS SDK for .NET의
Amazon.AWSConfigs.AWSProfileName속성으로 매핑됩니다. -
profilesLocation -
다른 AWS SDKs. 기본적으로 자격 증명 파일은 현재 사용자의 홈 디렉터리에 있는
.aws디렉터리에 저장됩니다. 이 속성은 AWS SDK for .NET의Amazon.AWSConfigs.AWSProfilesLocation속성으로 매핑됩니다. -
region -
AWS 리전을 명시적으로 지정하지 않은 클라이언트의 기본 리전 ID입니다. 이 속성은 AWS SDK for .NET의
Amazon.AWSConfigs.AWSRegion속성으로 매핑됩니다.
<aws> 요소에는 상위 요소가 없습니다.
<aws> 요소에는 다음과 같은 하위 요소가 포함될 수 있습니다.
-
<dynamoDB> -
<ec2> -
<logging> -
<proxy> -
<s3>
다음은 사용 중인 <aws> 요소의 예입니다.
<aws endpointDefinition="C:\Configs\endpoints.xml" region="us-west-2" profileName="development" profilesLocation="C:\Configs"> <!-- ... --> </aws>
dynamoDB
<dynamoDB> 요소는 Amazon DynamoDB의 설정 모음을 나타냅니다. 이 요소에는 .NET 및 DynamoDB 객체 간 변환에 사용할 버전을 나타내는 conversionSchema 속성이 포함될 수 있습니다. 허용되는 값은 V1, V2 등입니다. 이 속성은 AWS SDK for .NET의 Amazon.DynamoDBv2.DynamoDBEntryConversion 클래스로 매핑됩니다. 자세한 내용은 DynamoDB 시리즈 - 변환 스키마
<dynamoDB> 요소의 부모는 <aws> 요소입니다.
<dynamoDB> 요소에는 하위 요소인 <dynamoDBContext>가 포함될 수 있습니다.
다음은 사용 중인 <dynamoDB> 요소의 예입니다.
<dynamoDB conversionSchema="V2"> <!-- ... --> </dynamoDB>
dynamoDBContext
<dynamoDBContext> 요소는 Amazon DynamoDB의 상황에 맞는 설정 모음을 나타냅니다. 이 요소에는 수동으로 구성하지 않은 경우 DynamoDB 컨텍스트에서 사용할 기본 테이블 이름 접두사를 나타내는 tableNamePrefix 속성이 포함될 수 있습니다. 이 속성은 AWS SDK for .NET의 Amazon.AWSConfigs.DynamoDBConfig.Context.TableNamePrefix 속성에서 Amazon.Util.DynamoDBContextConfig.TableNamePrefix 속성으로 매핑됩니다. 자세한 내용은 DynamoDB SDK의 개선점
<dynamoDBContext> 요소의 부모는 <dynamoDB> 요소입니다.
<dynamoDBContext> 요소에는 다음과 같은 하위 요소가 포함될 수 있습니다.
-
<alias>(하나 이상의 인스턴스) -
<map>(하나 이상의 인스턴스)
다음은 사용 중인 <dynamoDBContext> 요소의 예입니다.
<dynamoDBContext tableNamePrefix="Test-"> <!-- ... --> </dynamoDBContext>
EC2
<ec2> 요소는 Amazon EC2 설정 모음을 나타냅니다. 이 요소에는 모든 요청에 서명 버전 4 서명을 사용할 것인지(true) 또는 모든 요청에 서명 버전 4 서명을 사용하지 않을 것인지(false, 기본값)를 지정하는 useSignatureVersion4 속성이 포함될 수 있습니다. 이 속성은 AWS SDK for .NET의 Amazon.AWSConfigs.EC2Config.UseSignatureVersion4 속성에서 Amazon.Util.EC2Config.UseSignatureVersion4 속성으로 매핑됩니다.
<ec2> 요소의 부모가 그 요소입니다.
<ec2> 요소에는 하위 요소가 포함되어 있지 않습니다.
다음은 사용 중인 <ec2> 요소의 예입니다.
<ec2 useSignatureVersion4="true" />
로그
<logging> 요소는 응답 로깅 및 성능 측정치 로깅에 대한 설정 모음을 나타냅니다. 이 요소에는 다음과 같은 속성이 포함될 수 있습니다.
-
logMetrics -
성능 측정치를 모든 클라이언트 및 구성에 대해 로깅(true)할지 여부를 나타냅니다. 로깅하지 않는 경우 false. 이 속성은 AWS SDK for .NET의
Amazon.AWSConfigs.LoggingConfig.LogMetrics속성에서Amazon.Util.LoggingConfig.LogMetrics속성으로 매핑됩니다. -
logMetricsCustomFormatter -
로깅 측정치를 위한 사용자 지정 포맷터의 데이터 유형 및 어셈블리 이름입니다. 이 속성은 AWS SDK for .NET의
Amazon.AWSConfigs.LoggingConfig.LogMetricsCustomFormatter속성에서Amazon.Util.LoggingConfig.LogMetricsCustomFormatter속성으로 매핑됩니다. -
logMetricsFormat -
로깅 측정치가 표시되는 형식입니다( AWS SDK for .NET의
Amazon.AWSConfigs.LoggingConfig.LogMetricsFormat속성에서Amazon.Util.LoggingConfig.LogMetricsFormat속성으로 매핑됨).허용되는 값은 다음과 같습니다.
-
JSON -
JSON 형식을 사용합니다.
-
Standard -
기본 형식을 사용합니다.
-
-
logResponses -
서비스 응답을 로깅할 시점입니다( AWS SDK for .NET의
Amazon.AWSConfigs.LoggingConfig.LogResponses속성에서Amazon.Util.LoggingConfig.LogResponses속성으로 매핑됨).허용되는 값은 다음과 같습니다.
-
Always -
서비스 응답을 항상 로깅.
-
Never -
서비스 응답을 로깅하지 않음.
-
OnError -
오류가 있을 때만 서비스 응답을 로깅.
-
-
logTo -
에 로그인할 위치(의
LogTo속성에서Amazon.AWSConfigs.LoggingConfig.LogTo속성에 매핑 AWS SDK for .NET).허용되는 값에는 다음 중 한 개 이상이 포함됩니다.
-
Log4Net -
log4net에 로깅.
-
None -
로깅을 비활성화.
-
SystemDiagnostics -
System.Diagnostics에 로깅.
-
<logging> 요소의 부모는 <aws> 요소입니다.
<logging> 요소에는 하위 요소가 포함되어 있지 않습니다.
다음은 사용 중인 <logging> 요소의 예입니다.
<logging logTo="SystemDiagnostics" logResponses="OnError" logMetrics="true" logMetricsFormat="JSON" logMetricsCustomFormatter="MyLib.Util.MyMetricsFormatter, MyLib" />
map
<map> 요소는 .NET 형식에서 DynamoDB 테이블로 형식-테이블 간 매핑 모음에 있는 단일 항목을 나타냅니다( AWS SDK for .NET의 Amazon.AWSConfigs.DynamoDBConfig.Context.TypeMappings 속성에서 TypeMapping 클래스의 인스턴스로 매핑됨). 자세한 내용은 DynamoDB SDK의 개선점
이 요소에는 다음과 같은 속성이 포함될 수 있습니다.
-
targetTable -
매핑이 적용되는 DynamoDB 테이블입니다. 이 속성은 AWS SDK for .NET의
Amazon.Util.TypeMapping.TargetTable속성으로 매핑됩니다. -
type -
매핑이 적용되는 형식 및 어셈블리 이름입니다. 이 속성은 AWS SDK for .NET의
Amazon.Util.TypeMapping.Type속성으로 매핑됩니다.
<map> 요소의 부모는 <dynamoDBContext> 요소입니다.
<map> 요소에는 하위 요소인 <property>의 인스턴스가 한 개 이상 포함될 수 있습니다.
다음은 사용 중인 <map> 요소의 예입니다.
<map type="SampleApp.Models.Movie, SampleDLL" targetTable="Movies"> <!-- ... --> </map>
property
<property> 요소는 DynamoDB 속성을 나타냅니다. (이 요소는의 AddProperty 메서드에서 Amazon.Util.PropertyConfig 클래스의 인스턴스에 매핑됩니다 AWS SDK for .NET.) 자세한 내용은 DynamoDB SDK 및 DynamoDB 속성에 대한 개선 사항을
이 요소에는 다음과 같은 속성이 포함될 수 있습니다.
-
attribute -
범위 키 이름과 같은 속성에 대한 속성 이름입니다. 이 속성은 AWS SDK for .NET의
Amazon.Util.PropertyConfig.Attribute속성으로 매핑됩니다. -
converter -
이 속성에 사용해야 할 변환기의 유형입니다. 이 속성은 AWS SDK for .NET의
Amazon.Util.PropertyConfig.Converter속성으로 매핑됩니다. -
ignore -
연결된 속성을 무시(true)할지 여부를 나타냅니다. 무시하지 않을 경우 false. 이 속성은 AWS SDK for .NET의
Amazon.Util.PropertyConfig.Ignore속성으로 매핑됩니다. -
name -
속성의 이름입니다. 이 속성은 AWS SDK for .NET의
Amazon.Util.PropertyConfig.Name속성으로 매핑됩니다. -
version -
이 속성이 항목 버전 번호를 저장(true)할지 여부를 나타냅니다. 저장하지 않을 경우 false. 이 속성은 AWS SDK for .NET의
Amazon.Util.PropertyConfig.Version속성으로 매핑됩니다.
<property> 요소의 부모는 <map> 요소입니다.
<property> 요소에는 하위 요소가 포함되어 있지 않습니다.
다음은 사용 중인 <property> 요소의 예입니다.
<property name="Rating" converter="SampleApp.Models.RatingConverter, SampleDLL" />
proxy
<proxy> 요소는 AWS SDK for .NET 에서 사용할 프록시를 구성하기 위한 설정을 나타냅니다. 이 요소에는 다음과 같은 속성이 포함될 수 있습니다.
- host
-
프록시 서버의 호스트 이름 또는 IP 주소입니다. 이 속성은 AWS SDK for .NET의
Amazon.AWSConfigs.ProxyConfig.Host속성에서Amazon.Util.ProxyConfig.Host속성으로 매핑됩니다. - 비밀번호
-
프록시 서버로 인증하는 데 필요한 암호입니다. 이 속성은 AWS SDK for .NET의
Amazon.AWSConfigs.ProxyConfig.Password속성에서Amazon.Util.ProxyConfig.Password속성으로 매핑됩니다. - 포트
-
프록시의 포트 번호입니다. 이 속성은 AWS SDK for .NET의
Amazon.AWSConfigs.ProxyConfig.Port속성에서Amazon.Util.ProxyConfig.Port속성으로 매핑됩니다. - 사용자 이름
-
프록시 서버로 인증하는 데 필요한 사용자 이름입니다. 이 속성은 AWS SDK for .NET의
Amazon.AWSConfigs.ProxyConfig.Username속성에서Amazon.Util.ProxyConfig.Username속성으로 매핑됩니다.
<proxy> 요소의 부모는 <aws> 요소입니다.
<proxy> 요소에는 하위 요소가 포함되어 있지 않습니다.
다음은 사용 중인 <proxy> 요소의 예입니다.
<proxy host="192.0.2.0" port="1234" username="My-Username-Here" password="My-Password-Here" />
s3
<s3> 요소는 Amazon S3 설정 모음을 나타냅니다. 이 요소에는 모든 요청에 서명 버전 4 서명을 사용할 것인지(true) 또는 모든 요청에 서명 버전 4 서명을 사용하지 않을 것인지(false, 기본값)를 지정하는 useSignatureVersion4 속성이 포함될 수 있습니다. 이 속성은 AWS SDK for .NET의 Amazon.AWSConfigs.S3Config.UseSignatureVersion4 속성으로 매핑됩니다.
<s3> 요소의 부모는 <aws> 요소입니다.
<s3> 요소에는 하위 요소가 포함되어 있지 않습니다.
다음은 사용 중인 <s3> 요소의 예입니다.
<s3 useSignatureVersion4="true" />