

 AWS SDK for .NET V3가 유지 관리 모드로 전환되었습니다.

[AWS SDK for .NET V4](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/welcome.html)로 마이그레이션하는 것이 좋습니다. 마이그레이션 방법에 대한 자세한 내용과 정보는 [유지 관리 모드 공지](https://aws.amazon.com/blogs/developer/aws-sdk-for-net-v3-maintenance-mode-announcement/)를 참조하세요.

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

# AWS SDK for .NET에 대한 구성 파일 참조
<a name="net-dg-config-ref"></a>

**참고**  
이 항목의 정보는 .NET Framework를 기반으로 하는 프로젝트에만 해당됩니다. .NET Core 기반 프로젝트에는 기본적으로 `App.config` 및 `Web.config` 파일이 표시되지 않습니다.

## 열어서 .NET Framework 콘텐츠 확인
<a name="w2aab9c31c11b5b1"></a>

.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 애플리케이션 구성](net-dg-config.md)의 `<appSettings>` 요소 예제를 참조하세요.

**참고**  
다음과 같이 계속해서 코드 파일의 [https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html) 클래스 속성을 사용하여 AWS 설정을 지정할 수 있지만 다음 속성은 이제 사용되지 않으므로 향후 릴리스에서는 지원되지 않을 수 있습니다.  
 `DynamoDBContextTableNamePrefix` 
 `EC2UseSignatureVersion4` 
 `LoggingOptions` 
 `LogMetrics` 
 `ResponseLoggingOption` 
 `S3UseSignatureVersion4` 
일반적으로 코드 파일의 `AWSConfigs` 클래스 속성을 사용하여 AWS 설정을 지정하는 대신에 이 주제 후반부에 설명된 것처럼 `App.config` 또는 `Web.config` 파일의 `<configSections>` 및 `<aws>` 요소를 사용하여 AWS 설정을 지정하는 것이 좋습니다. 앞의 속성에 대한 자세한 내용은 [AWS SDK for .NET 애플리케이션 구성](net-dg-config.md)의 `AWSConfigs` 코드 예제를 참조하세요.

**Topics**
+ [AWS 설정 섹션 선언](#net-dg-config-ref-declaring)
+ [허용되는 요소](#net-dg-config-ref-elements)
+ [요소 참조](#net-dg-config-ref-elements-ref)

### AWS 설정 섹션 선언
<a name="net-dg-config-ref-declaring"></a>

`<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>` 요소의 속성 및 하위 요소에 대해 설명합니다.

### 허용되는 요소
<a name="net-dg-config-ref-elements"></a>

다음 목록은 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>
```

### 요소 참조
<a name="net-dg-config-ref-elements-ref"></a>

다음은 AWS 설정 섹션에서 허용되는 요소들의 목록입니다. 각 요소에 허용되는 속성 및 상위-하위 요소가 나열되어 있습니다.

**Topics**
+ [별칭](#net-dg-config-ref-elements-alias)
+ [`aws`](#net-dg-config-ref-elements-aws)
+ [dynamoDB](#net-dg-config-ref-elements-dynamodb)
+ [dynamoDBContext](#net-dg-config-ref-elements-ddbcontext)
+ [EC2](#net-dg-config-ref-elements-ec2)
+ [로그](#net-dg-config-ref-elements-logging)
+ [map](#net-dg-config-ref-elements-map)
+ [property](#net-dg-config-ref-elements-property)
+ [proxy](#net-dg-config-ref-elements-proxy)
+ [s3](#net-dg-config-ref-elements-s3)

#### 별칭
<a name="net-dg-config-ref-elements-alias"></a>

`<alias>` 요소는 한 가지 형식에 맞게 구성된 테이블과는 다른 테이블을 지정하는 한 개 이상의 테이블 매핑(from-table에서 to-table로 매핑) 모음에 있는 단일 항목을 나타냅니다. 이 요소는 `Amazon.Util.TableAlias`의 `Amazon.AWSConfigs.DynamoDBConfig.Context.TableAliases` 속성에서 AWS SDK for .NET 클래스의 인스턴스로 매핑됩니다. 테이블 이름 접두사를 적용하기 전에 다시 매핑이 됩니다.

이 요소에는 다음과 같은 속성이 포함될 수 있습니다.

** `fromTable` **  
from-table에서 to-table로의 매핑에서 from-table 부분. 이 속성은 `Amazon.Util.TableAlias.FromTable`의 AWS SDK for .NET 속성으로 매핑됩니다.

** `toTable` **  
from-table에서 to-table로의 매핑에서 to-table 부분. 이 속성은 `Amazon.Util.TableAlias.ToTable`의 AWS SDK for .NET 속성으로 매핑됩니다.

`<alias>` 요소의 부모는 `<tableAliases>` 요소입니다.

`<alias>` 요소에는 하위 요소가 포함되어 있지 않습니다.

다음은 사용 중인 `<alias>` 요소의 예입니다.

```
<alias
  fromTable="Studio"
  toTable="Studios" />
```

#### `aws`
<a name="net-dg-config-ref-elements-aws"></a>

`<aws>` 요소는 AWS 설정 섹션의 최상위 요소를 나타냅니다. 이 요소에는 다음과 같은 속성이 포함될 수 있습니다.

** `endpointDefinition` **  
사용할 AWS 리전 및 엔드포인트를 정의하는 사용자 지정 구성 파일의 절대 경로. 이 속성은 `Amazon.AWSConfigs.EndpointDefinition`의 AWS SDK for .NET 속성으로 매핑됩니다.

** `profileName` **  
서비스 호출을 할 때 사용할 저장된 AWS 자격 증명의 프로파일 이름. 이 속성은 `Amazon.AWSConfigs.AWSProfileName`의 AWS SDK for .NET 속성으로 매핑됩니다.

** `profilesLocation` **  
다른 AWS SDK와 공유되는 자격 증명 파일 위치의 절대 경로. 기본적으로 자격 증명 파일은 현재 사용자의 홈 디렉터리에 있는 `.aws` 디렉터리에 저장됩니다. 이 속성은 `Amazon.AWSConfigs.AWSProfilesLocation`의 AWS SDK for .NET 속성으로 매핑됩니다.

** `region` **  
리전을 명시적으로 지정하지 않은 클라이언트의 기본 AWS 리전 ID. 이 속성은 `Amazon.AWSConfigs.AWSRegion`의 AWS SDK for .NET 속성으로 매핑됩니다.

`<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
<a name="net-dg-config-ref-elements-dynamodb"></a>

`<dynamoDB>` 요소는 Amazon DynamoDB의 설정 모음을 나타냅니다. 이 요소에는 .NET 및 DynamoDB 객체 간 변환에 사용할 버전을 나타내는 *conversionSchema* 속성이 포함될 수 있습니다. 허용되는 값은 V1, V2 등입니다. 이 속성은 `Amazon.DynamoDBv2.DynamoDBEntryConversion`의 AWS SDK for .NET 클래스로 매핑됩니다. 자세한 내용은 [DynamoDB 시리즈 - 변환 스키마](http://blogs.aws.amazon.com/net/post/Tx2TCOGWG7ARUH5/DynamoDB-Series-Conversion-Schemas)를 참조하십시오.

`<dynamoDB>` 요소의 부모는 `<aws>` 요소입니다.

`<dynamoDB>` 요소에는 하위 요소인 `<dynamoDBContext>`가 포함될 수 있습니다.

다음은 사용 중인 `<dynamoDB>` 요소의 예입니다.

```
<dynamoDB
  conversionSchema="V2">
  <!-- ... -->
</dynamoDB>
```

#### dynamoDBContext
<a name="net-dg-config-ref-elements-ddbcontext"></a>

`<dynamoDBContext>` 요소는 Amazon DynamoDB의 상황에 맞는 설정 모음을 나타냅니다. 이 요소에는 수동으로 구성하지 않은 경우 DynamoDB 컨텍스트에서 사용할 기본 테이블 이름 접두사를 나타내는 *tableNamePrefix* 속성이 포함될 수 있습니다. 이 속성은 `Amazon.Util.DynamoDBContextConfig.TableNamePrefix`의 `Amazon.AWSConfigs.DynamoDBConfig.Context.TableNamePrefix` 속성에서 AWS SDK for .NET 속성으로 매핑됩니다. 자세한 내용은 [DynamoDB SDK의 개선점](http://blogs.aws.amazon.com/net/post/Tx2C4MHH2H0SA5W/Enhancements-to-the-DynamoDB-SDK)을 참조하십시오.

`<dynamoDBContext>` 요소의 부모는 `<dynamoDB>` 요소입니다.

`<dynamoDBContext>` 요소에는 다음과 같은 하위 요소가 포함될 수 있습니다.
+  `<alias>`(하나 이상의 인스턴스)
+  `<map>`(하나 이상의 인스턴스)

다음은 사용 중인 `<dynamoDBContext>` 요소의 예입니다.

```
<dynamoDBContext
  tableNamePrefix="Test-">
  <!-- ... -->
</dynamoDBContext>
```

#### EC2
<a name="net-dg-config-ref-elements-ec2"></a>

`<ec2>` 요소는 Amazon EC2 설정 모음을 나타냅니다. 이 요소에는 모든 요청에 서명 버전 4 서명을 사용할 것인지(true) 또는 모든 요청에 서명 버전 4 서명을 사용하지 않을 것인지(false, 기본값)를 지정하는 *useSignatureVersion4* 속성이 포함될 수 있습니다. 이 속성은 `Amazon.Util.EC2Config.UseSignatureVersion4`의 `Amazon.AWSConfigs.EC2Config.UseSignatureVersion4` 속성에서 AWS SDK for .NET 속성으로 매핑됩니다.

`<ec2>` 요소의 부모가 그 요소입니다.

`<ec2>` 요소에는 하위 요소가 포함되어 있지 않습니다.

다음은 사용 중인 `<ec2>` 요소의 예입니다.

```
<ec2
  useSignatureVersion4="true" />
```

#### 로그
<a name="net-dg-config-ref-elements-logging"></a>

`<logging>` 요소는 응답 로깅 및 성능 측정치 로깅에 대한 설정 모음을 나타냅니다. 이 요소에는 다음과 같은 속성이 포함될 수 있습니다.

** `logMetrics` **  
성능 측정치를 모든 클라이언트 및 구성에 대해 로깅(true)할지 여부를 나타냅니다. 로깅하지 않는 경우 false. 이 속성은 `Amazon.Util.LoggingConfig.LogMetrics`의 `Amazon.AWSConfigs.LoggingConfig.LogMetrics` 속성에서 AWS SDK for .NET 속성으로 매핑됩니다.

** `logMetricsCustomFormatter` **  
로깅 측정치를 위한 사용자 지정 포맷터의 데이터 유형 및 어셈블리 이름입니다. 이 속성은 `Amazon.Util.LoggingConfig.LogMetricsCustomFormatter`의 `Amazon.AWSConfigs.LoggingConfig.LogMetricsCustomFormatter` 속성에서 AWS SDK for .NET 속성으로 매핑됩니다.

** `logMetricsFormat` **  
로깅 측정치가 표시되는 형식입니다(`Amazon.Util.LoggingConfig.LogMetricsFormat`의 `Amazon.AWSConfigs.LoggingConfig.LogMetricsFormat` 속성에서 AWS SDK for .NET 속성으로 매핑됨).  
허용되는 값은 다음과 같습니다.    
** `JSON` **  
JSON 형식을 사용합니다.  
** `Standard` **  
기본 형식을 사용합니다.

** `logResponses` **  
서비스 응답을 로깅할 시점입니다(`Amazon.Util.LoggingConfig.LogResponses`의 `Amazon.AWSConfigs.LoggingConfig.LogResponses` 속성에서 AWS SDK for .NET 속성으로 매핑됨).  
허용되는 값은 다음과 같습니다.    
** `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
<a name="net-dg-config-ref-elements-map"></a>

`<map>` 요소는 .NET 형식에서 DynamoDB 테이블로 형식-테이블 간 매핑 모음에 있는 단일 항목을 나타냅니다(`TypeMapping`의 `Amazon.AWSConfigs.DynamoDBConfig.Context.TypeMappings` 속성에서 AWS SDK for .NET 클래스의 인스턴스로 매핑됨). 자세한 내용은 [DynamoDB SDK의 개선점](http://blogs.aws.amazon.com/net/post/Tx2C4MHH2H0SA5W/Enhancements-to-the-DynamoDB-SDK)을 참조하십시오.

이 요소에는 다음과 같은 속성이 포함될 수 있습니다.

** `targetTable` **  
매핑이 적용되는 DynamoDB 테이블입니다. 이 속성은 `Amazon.Util.TypeMapping.TargetTable`의 AWS SDK for .NET 속성으로 매핑됩니다.

** `type` **  
매핑이 적용되는 형식 및 어셈블리 이름입니다. 이 속성은 `Amazon.Util.TypeMapping.Type`의 AWS SDK for .NET 속성으로 매핑됩니다.

`<map>` 요소의 부모는 `<dynamoDBContext>` 요소입니다.

`<map>` 요소에는 하위 요소인 `<property>`의 인스턴스가 한 개 이상 포함될 수 있습니다.

다음은 사용 중인 `<map>` 요소의 예입니다.

```
<map
  type="SampleApp.Models.Movie, SampleDLL"
  targetTable="Movies">
  <!-- ... -->
</map>
```

#### property
<a name="net-dg-config-ref-elements-property"></a>

`<property>` 요소는 DynamoDB 속성을 나타냅니다. (이 요소는 AWS SDK for .NET의 `AddProperty` 메서드에서 Amazon.Util.PropertyConfig 클래스의 인스턴스로 매핑됨) 자세한 내용은 [DynamoDB SDK의 개선점](http://blogs.aws.amazon.com/net/post/Tx2C4MHH2H0SA5W/Enhancements-to-the-DynamoDB-SDK) 및 [DynamoDB 속성](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DeclarativeTagsList.html)을 참조하십시오.

이 요소에는 다음과 같은 속성이 포함될 수 있습니다.

** `attribute` **  
범위 키 이름과 같은 속성에 대한 속성 이름입니다. 이 속성은 `Amazon.Util.PropertyConfig.Attribute`의 AWS SDK for .NET 속성으로 매핑됩니다.

** `converter` **  
이 속성에 사용해야 할 변환기의 유형입니다. 이 속성은 `Amazon.Util.PropertyConfig.Converter`의 AWS SDK for .NET 속성으로 매핑됩니다.

** `ignore` **  
연결된 속성을 무시(true)할지 여부를 나타냅니다. 무시하지 않을 경우 false. 이 속성은 `Amazon.Util.PropertyConfig.Ignore`의 AWS SDK for .NET 속성으로 매핑됩니다.

** `name` **  
속성의 이름입니다. 이 속성은 `Amazon.Util.PropertyConfig.Name`의 AWS SDK for .NET 속성으로 매핑됩니다.

** `version` **  
이 속성이 항목 버전 번호를 저장(true)할지 여부를 나타냅니다. 저장하지 않을 경우 false. 이 속성은 `Amazon.Util.PropertyConfig.Version`의 AWS SDK for .NET 속성으로 매핑됩니다.

`<property>` 요소의 부모는 `<map>` 요소입니다.

`<property>` 요소에는 하위 요소가 포함되어 있지 않습니다.

다음은 사용 중인 `<property>` 요소의 예입니다.

```
<property
  name="Rating"
  converter="SampleApp.Models.RatingConverter, SampleDLL" />
```

#### proxy
<a name="net-dg-config-ref-elements-proxy"></a>

`<proxy>` 요소는 AWS SDK for .NET에서 사용할 프록시를 구성하기 위한 설정을 나타냅니다. 이 요소에는 다음과 같은 속성이 포함될 수 있습니다.

**host**  
프록시 서버의 호스트 이름 또는 IP 주소입니다. 이 속성은 `Amazon.Util.ProxyConfig.Host`의 `Amazon.AWSConfigs.ProxyConfig.Host` 속성에서 AWS SDK for .NET 속성으로 매핑됩니다.

**비밀번호**  
프록시 서버로 인증하는 데 필요한 암호입니다. 이 속성은 `Amazon.Util.ProxyConfig.Password`의 `Amazon.AWSConfigs.ProxyConfig.Password` 속성에서 AWS SDK for .NET 속성으로 매핑됩니다.

**포트**  
프록시의 포트 번호입니다. 이 속성은 `Amazon.Util.ProxyConfig.Port`의 `Amazon.AWSConfigs.ProxyConfig.Port` 속성에서 AWS SDK for .NET 속성으로 매핑됩니다.

**사용자 이름**  
프록시 서버로 인증하는 데 필요한 사용자 이름입니다. 이 속성은 `Amazon.Util.ProxyConfig.Username`의 `Amazon.AWSConfigs.ProxyConfig.Username` 속성에서 AWS SDK for .NET 속성으로 매핑됩니다.

`<proxy>` 요소의 부모는 `<aws>` 요소입니다.

`<proxy>` 요소에는 하위 요소가 포함되어 있지 않습니다.

다음은 사용 중인 `<proxy>` 요소의 예입니다.

```
<proxy
  host="192.0.2.0"
  port="1234"
  username="My-Username-Here"
  password="My-Password-Here" />
```

#### s3
<a name="net-dg-config-ref-elements-s3"></a>

`<s3>` 요소는 Amazon S3 설정 모음을 나타냅니다. 이 요소에는 모든 요청에 서명 버전 4 서명을 사용할 것인지(true) 또는 모든 요청에 서명 버전 4 서명을 사용하지 않을 것인지(false, 기본값)를 지정하는 *useSignatureVersion4* 속성이 포함될 수 있습니다. 이 속성은 `Amazon.AWSConfigs.S3Config.UseSignatureVersion4`의 AWS SDK for .NET 속성으로 매핑됩니다.

`<s3>` 요소의 부모는 `<aws>` 요소입니다.

`<s3>` 요소에는 하위 요소가 포함되어 있지 않습니다.

다음은 사용 중인 `<s3>` 요소의 예입니다.

```
<s3 useSignatureVersion4="true" />
```