AWS SDK for .NET에 대한 구성 파일 참조 - AWS SDK for .NET

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

AWS SDK for .NET에 대한 구성 파일 참조

참고

이 항목의 정보는 .NET Framework를 기반으로 하는 프로젝트에만 해당됩니다. .NET Core 기반 프로젝트에는 기본적으로 App.configWeb.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> 요소에 대한 자세한 내용은 AWS SDK for .NET 애플리케이션 구성<appSettings> 요소 예제를 참조하세요.

참고

다음과 같이 계속해서 코드 파일의 AWSConfigs 클래스 속성을 사용하여 AWS 설정을 지정할 수 있지만 다음 속성은 이제 사용되지 않으므로 향후 릴리스에서는 지원되지 않을 수 있습니다.

  • DynamoDBContextTableNamePrefix

  • EC2UseSignatureVersion4

  • LoggingOptions

  • LogMetrics

  • ResponseLoggingOption

  • S3UseSignatureVersion4

일반적으로 코드 파일의 AWSConfigs 클래스 속성을 사용하여 AWS 설정을 지정하는 대신에 이 주제 후반부에 설명된 것처럼 App.config 또는 Web.config 파일의 <configSections><aws> 요소를 사용하여 AWS 설정을 지정하는 것이 좋습니다. 앞의 속성에 대한 자세한 내용은 AWS SDK for .NET 애플리케이션 구성AWSConfigs 코드 예제를 참조하세요.

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 SDK와 공유되는 자격 증명 파일 위치의 절대 경로. 기본적으로 자격 증명 파일은 현재 사용자의 홈 디렉터리에 있는 .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

로깅할 위치입니다(AWS SDK for .NET의 Amazon.AWSConfigs.LoggingConfig.LogTo 속성에서 LogTo 속성으로 매핑됨).

허용되는 값에는 다음 중 한 개 이상이 포함됩니다.

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 속성을 나타냅니다. (이 요소는 AWS SDK for .NET의 AddProperty 메서드에서 Amazon.Util.PropertyConfig 클래스의 인스턴스로 매핑됨) 자세한 내용은 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" />