버전 4(V4) AWS SDK for .NET 가 릴리스되었습니다.
새 버전의 SDK 사용을 시작하려면 AWS SDK for .NET (V4) 개발자 안내서, 특히 버전 4로 마이그레이션 주제를 참조하세요.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
에 대한 구성 파일 참조 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" />