

 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/)를 참조하세요.

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

# 기타 애플리케이션 파라미터 구성
<a name="net-dg-config-other"></a>

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

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

구성할 수 있는 애플리케이션 파라미터는 여러 가지입니다.
+  `AWSLogging` 
+  `AWSLogMetrics` 
+  `AWSRegion` 
+  `AWSResponseLogging` 
+  `AWS.DynamoDBContext.TableNamePrefix` 
+  `AWS.S3.UseSignatureVersion4` 
+  `AWSEndpointDefinition` 
+  [AWS 서비스 생성 엔드포인트](#config-setting-service-generated-awsendpointdefinition) 

이 파라미터들은 애플리케이션의 `App.config` 또는 `Web.config` 파일에서 구성할 수 있습니다. AWS SDK for .NET API를 사용하여 이를 구성할 수도 있지만 애플리케이션의 `.config` 파일을 사용하는 것이 좋습니다. 여기에 두 방식이 모두 설명되어 있습니다.

이 주제 후반부에 설명된 `<aws>` 요소 사용에 대한 자세한 내용은 [AWS SDK for .NET에 대한 구성 파일 참조](net-dg-config-ref.md)를 참조하세요.

### AWSLogging
<a name="config-setting-awslogging"></a>

SDK에서 이벤트를 로깅하는 방식을 구성합니다. 예를 들면 권장할 만한 방식은 다음과 같이 `<logging>` 요소의 하위 요소인 `<aws>` 요소를 사용하는 것입니다.

```
<aws>
  <logging logTo="Log4Net"/>
</aws>
```

대안:

```
<add key="AWSLogging" value="log4net"/>
```

가능한 값은 다음과 같습니다.

** `None` **  
 이벤트 로깅을 해제합니다. 기본값입니다.

** `log4net` **  
log4net을 사용하여 로깅합니다.

** `SystemDiagnostics` **  
`System.Diagnostics` 클래스를 사용하여 로깅합니다.

`logTo` 속성에 대해 쉼표로 구분된 여러 값을 설정할 수 있습니다. 다음 예제에서는 `log4net` 파일에서 `System.Diagnostics` 및 `.config` 로깅을 설정합니다.

```
<logging logTo="Log4Net, SystemDiagnostics"/>
```

대안:

```
<add key="AWSLogging" value="log4net, SystemDiagnostics"/>
```

또는 AWS SDK for .NET API를 사용하여 [LoggingOptions](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TLoggingOptions.html) 열거의 값을 결합하고 [AWSConfigs.Logging](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html) 속성을 설정합니다.

```
AWSConfigs.Logging = LoggingOptions.Log4Net | LoggingOptions.SystemDiagnostics;
```

이 설정에 대한 변경 사항은 새 AWS 클라이언트 인스턴스에만 적용됩니다.

### AWSLogMetrics
<a name="config-setting-awslogmetrics"></a>

SDK가 성능 측정치를 로깅해야 하는지 여부를 지정합니다. `.config` 파일에서 측정치 로깅 구성을 설정하려면 `logMetrics` 요소의 하위 요소인 `<logging>` 요소에서 `<aws>` 속성 값을 설정합니다.

```
<aws>
  <logging logMetrics="true"/>
</aws>
```

또는 다음과 같이 `AWSLogMetrics` 섹션에서 `<appSettings>` 키를 설정할 수 있습니다.

```
<add key="AWSLogMetrics" value="true">
```

또는 AWS SDK for .NET API를 사용하여 지표 로깅을 설정하려면 [AWSConfigs.LogMetrics](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html) 속성을 설정합니다.

```
AWSConfigs.LogMetrics = true;
```

이 설정에서는 모든 클라이언트/구성에 대해 기본값인 `LogMetrics` 속성을 구성합니다. 이 설정에 대한 변경 사항은 새 AWS 클라이언트 인스턴스에만 적용됩니다.

### AWSRegion
<a name="config-setting-awsregion"></a>

 AWS 리전을 명시적으로 지정하지 않은 클라이언트의 기본 리전을 구성합니다. `.config` 파일에서 리전을 설정할 때 권장할 만한 방식은 다음과 같이 `region` 요소에서 `aws` 속성 값을 설정하는 것입니다.

```
<aws region="us-west-2"/>
```

또는 다음과 같이 `<appSettings>` 섹션에서 *AWSRegion* 키를 설정할 수 있습니다.

```
<add key="AWSRegion" value="us-west-2"/>
```

또는 AWS SDK for .NET API를 사용하여 리전을 설정하려면 [AWSConfigs.AWSRegion](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html) 속성을 설정합니다.

```
AWSConfigs.AWSRegion = "us-west-2";
```

특정 리전에 대한 AWS 클라이언트 생성에 대한 자세한 내용은 [AWS 리전 선택을](net-dg-region-selection.md) 참조하세요. 이 설정에 대한 변경 사항은 새 AWS 클라이언트 인스턴스에만 적용됩니다.

### AWSResponseLogging
<a name="config-setting-awsresponselogging"></a>

SDK에서 서비스 응답을 로깅해야 할 경우에 구성. 가능한 값은 다음과 같습니다.

** `Never` **  
서비스 응답을 로깅하지 않음. 기본값입니다.

** `Always` **  
서비스 응답을 항상 로깅.

** `OnError` **  
오류가 발생할 때만 서비스 응답을 로깅.

`.config` 파일에서 서비스 로깅 구성을 설정하는 경우 권장할 만한 방식은 `logResponses` 요소의 하위 요소인 `<logging>` 요소에서 `<aws>` 속성 값을 설정하는 것입니다.

```
<aws>
  <logging logResponses="OnError"/>
</aws>
```

또는 다음과 같이 `<appSettings>` 섹션에서 *AWSResponseLogging* 키를 설정할 수 있습니다.

```
<add key="AWSResponseLogging" value="OnError"/>
```

또는 AWS SDK for .NET API를 사용하여 서비스 로깅을 설정하려면 [AWSConfigs.ResponseLogging](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html) 속성을 [ResponseLoggingOption](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TResponseLoggingOption.html) 열거의 값 중 하나로 설정합니다.

```
AWSConfigs.ResponseLogging = ResponseLoggingOption.OnError;
```

이 설정의 변경 사항은 즉시 적용됩니다.

### `AWS.DynamoDBContext.TableNamePrefix`
<a name="config-setting-aws-dynamodbcontext-tablenameprefix"></a>

수동으로 구성되지 않은 경우 `TableNamePrefix`에서 사용할 기본 `DynamoDBContext`를 구성합니다.

`.config` 파일에서 테이블 이름 접두사를 설정하는 경우 권장할 만한 방식은 그 자체로 `tableNamePrefix` 요소의 하위 요소이자 `<dynamoDBContext>` 요소의 하위 요소인 `<dynamoDB>` 요소에서 `<aws>` 속성 값을 설정하는 것입니다.

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

또는 다음과 같이 `AWS.DynamoDBContext.TableNamePrefix` 섹션에서 `<appSettings>` 키를 설정할 수 있습니다.

```
<add key="AWS.DynamoDBContext.TableNamePrefix" value="Test-"/>
```

또는 API로 테이블 이름 접두사를 설정하려면 [AWSConfigs.DynamoDBContextTableNamePrefix](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html) 속성을 AWS SDK for .NET 설정합니다.

```
AWSConfigs.DynamoDBContextTableNamePrefix = "Test-";
```

이 설정을 변경하면 `DynamoDBContextConfig` 및 `DynamoDBContext`의 새로 생성된 인스턴스에만 적용됩니다.

### `AWS.S3.UseSignatureVersion4`
<a name="config-setting-aws-s3-usesignatureversion4"></a>

Amazon S3 클라이언트가 서명 버전 4 서명을 요청에 사용해야 하는지 여부를 구성합니다.

`.config` 파일에서 Amazon S3의 서명 버전 4 서명을 설정하려면 `<aws>` 요소의 하위 요소인 `<s3>` 요소의 `useSignatureVersion4` 속성을 설정하는 것이 좋습니다.

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

또는 다음과 같이 `<appSettings>` 섹션에서 `AWS.S3.UseSignatureVersion4` 키를 `true`로 설정할 수 있습니다.

```
<add key="AWS.S3.UseSignatureVersion4" value="true"/>
```

또는 AWS SDK for .NET API를 사용하여 서명 버전 4 서명을 설정하려면 [AWSConfigs.S3UseSignatureVersion4](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html) 속성을 로 설정합니다. `true` 

```
AWSConfigs.S3UseSignatureVersion4 = true;
```

이 설정은 `false`로 기본 설정되어 있으나 어떤 경우 또는 일부 리전에서는 서명 버전 4로 기본 설정할 수도 있습니다. 설정이 `true`인 경우 모든 요청에 서명 버전 4를 사용합니다. 이 설정에 대한 변경 사항은 새로운 Amazon S3 클라이언트 인스턴스에만 적용됩니다.

### AWSEndpointDefinition
<a name="config-setting-awsendpointdefinition"></a>

SDK에서 리전 및 엔드포인트를 정의하는 사용자 지정 구성 파일을 사용해야 하는지 여부를 구성합니다.

`.config` 파일에서 엔드포인트 정의 파일을 설정하려면 `endpointDefinition` 요소에서 `<aws>` 속성 값을 설정하는 것이 좋습니다.

```
<aws endpointDefinition="c:\config\endpoints.json"/>
```

또는 다음과 같이 `<appSettings>` 섹션에서 *AWSEndpointDefinition* 키를 설정할 수 있습니다.

```
<add key="AWSEndpointDefinition" value="c:\config\endpoints.json"/>
```

또는 AWS SDK for .NET API를 사용하여 엔드포인트 정의 파일을 설정하려면 [AWSConfigs.EndpointDefinition](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html) 속성을 설정합니다.

```
AWSConfigs.EndpointDefinition = @"c:\config\endpoints.json";
```

파일 이름이 제공되지 않는 경우 사용자 지정 구성 파일은 사용되지 않습니다. 이 설정에 대한 변경 사항은 새 AWS 클라이언트 인스턴스에만 적용됩니다. endpoint.json 파일은 [https://github.com/aws/aws-sdk-net/blob/aws-sdk-net-v3.7/sdk/src/Core/endpoints.json](https://github.com/aws/aws-sdk-net/blob/aws-sdk-net-v3.7/sdk/src/Core/endpoints.json)에서 사용할 수 있습니다.

### AWS 서비스 생성 엔드포인트
<a name="config-setting-service-generated-awsendpointdefinition"></a>

일부 AWS 서비스는 리전 엔드포인트를 사용하는 대신 자체 엔드포인트를 생성합니다. 이러한 서비스의 클라이언트는 해당 서비스 및 리소스에 고유한 서비스 URL을 사용합니다. 이러한 서비스의 두 가지 예는 Amazon CloudSearch 및 입니다 AWS IoT. 다음 예제에서는 그러한 서비스에 대한 엔드포인트를 얻는 방법을 보여줍니다.

#### Amazon CloudSearch 엔드포인트 예제
<a name="cs-endpoints-example"></a>

Amazon CloudSearch 클라이언트는 Amazon CloudSearch 구성 서비스에 액세스하는 데 사용됩니다. Amazon CloudSearch 구성 서비스를 사용하여 검색 도메인을 생성, 구성 및 관리합니다. 검색 도메인을 생성하려면 [CreateDomainRequest](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/CloudSearch/TCreateDomainRequest.html) 객체를 생성하고 `DomainName` 속성을 제공합니다. 요청 객체를 사용하여 [AmazonCloudSearchClient](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/CloudSearch/TCloudSearchClient.html) 객체를 생성합니다. [CreateDomain](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/CloudSearch/MCloudSearchCreateDomainCreateDomainRequest.html) 메서드를 호출합니다. 이 호출에서 반환되는 [CreateDomainResponse](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/CloudSearch/TCreateDomainResponse.html) 객체에는 `DocService` 및 `SearchService` 엔드포인트가 모두 있는 `DomainStatus` 속성이 포함되어 있습니다. [AmazonCloudSearchDomainConfig](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/CloudSearchDomain/TCloudSearchDomainConfig.html) 객체를 생성하고 이를 사용하여 [AmazonCloudSearchDomainClient](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/CloudSearchDomain/TCloudSearchDomainClient.html) 클래스의 `DocService` 및 `SearchService` 인스턴스를 초기화합니다.

```
// Create domain and retrieve DocService and SearchService endpoints
DomainStatus domainStatus;
using (var searchClient = new AmazonCloudSearchClient())
{
    var request = new CreateDomainRequest
    {
        DomainName = "testdomain"
    };
    domainStatus = searchClient.CreateDomain(request).DomainStatus;
    Console.WriteLine(domainStatus.DomainName + " created");
}

// Test the DocService endpoint
var docServiceConfig = new AmazonCloudSearchDomainConfig
{
    ServiceURL = "https://" + domainStatus.DocService.Endpoint
};
using (var domainDocService = new AmazonCloudSearchDomainClient(docServiceConfig))
{
    Console.WriteLine("Amazon CloudSearchDomain DocService client instantiated using the DocService endpoint");
    Console.WriteLine("DocService endpoint = " + domainStatus.DocService.Endpoint);

    using (var docStream = new FileStream(@"C:\doc_source\XMLFile4.xml", FileMode.Open))
    {
        var upload = new UploadDocumentsRequest
        {
            ContentType = ContentType.ApplicationXml,
            Documents = docStream
        };
        domainDocService.UploadDocuments(upload);
    }
}

// Test the SearchService endpoint
var searchServiceConfig = new AmazonCloudSearchDomainConfig
{
    ServiceURL = "https://" + domainStatus.SearchService.Endpoint
};
using (var domainSearchService = new AmazonCloudSearchDomainClient(searchServiceConfig))
{
    Console.WriteLine("Amazon CloudSearchDomain SearchService client instantiated using the SearchService endpoint");
    Console.WriteLine("SearchService endpoint = " + domainStatus.SearchService.Endpoint);

    var searchReq = new SearchRequest
    {
        Query = "Gambardella",
        Sort = "_score desc",
        QueryParser = QueryParser.Simple
    };
    var searchResp = domainSearchService.Search(searchReq);
}
```

#### AWS IoT 엔드포인트 예제
<a name="iotlong-endpoints-example"></a>

엔드포인트를 가져오려면 [AmazonIoTClient](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/IoT/TIoTClient.html) 객체를 AWS IoT생성하고 [DescribeEndPoint](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/IoT/MIoTDescribeEndpointDescribeEndpointRequest.html) 메서드를 호출합니다. 반환되는 [DescribeEndPointResponse](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/IoT/TDescribeEndpointResponse.html) 객체에는 `EndpointAddress`가 포함되어 있습니다. [AmazonIotDataConfig](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/IotData/TIotDataConfig.html) 객체를 생성하고 `ServiceURL` 속성을 설정한 다음 이 객체를 사용하여 [AmazonIotDataClient](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/IotData/TIotDataClient.html) 클래스를 인스턴스화합니다.

```
string iotEndpointAddress;
using (var iotClient = new AmazonIoTClient())
{
    var endPointResponse = iotClient.DescribeEndpoint();
    iotEndpointAddress = endPointResponse.EndpointAddress;
}

var ioTdocServiceConfig = new AmazonIotDataConfig
{
    ServiceURL = "https://" + iotEndpointAddress
};
using (var dataClient = new AmazonIotDataClient(ioTdocServiceConfig))
{
    Console.WriteLine("AWS IoTData client instantiated using the endpoint from the IotClient");
}
```