

 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-advanced-config"></a>

이 섹션의 주제에는 관심이 있을 만한 추가 구성 작업 및 방법에 대한 정보가 포함되어 있습니다.

**Topics**
+ [AWSSDK.Extensions.NETCore.Setup 및 IConfiguration](net-dg-config-netcore.md)
+ [기타 애플리케이션 파라미터 구성](net-dg-config-other.md)
+ [AWS SDK for .NET에 대한 구성 파일 참조](net-dg-config-ref.md)

# AWSSDK.Extensions.NETCore.Setup 및 IConfiguration 인터페이스 사용
<a name="net-dg-config-netcore"></a>

(이 주제의 이전 제목은 ".NET Core AWS SDK for .NET 로 구성"입니다.)

.NET Core의 가장 큰 변경 사항 중 하나는 `ConfigurationManager`의 제거와 .NET Framework 및 ASP.NET 애플리케이션에서 사용되던 표준 `app.config` 및 `web.config` 파일의 제거입니다.

.NET Core 구성은 구성 공급자에 의해 설정된 키-값 페어를 기반으로 합니다. 구성 공급자는 명령줄 인수, 디렉터리 파일, 환경 변수, 설정 파일 등 다양한 구성 소스에서 구성 데이터를 키-값 페어로 읽어 들입니다.

**참고**  
자세한 내용은 [ASP.NET Core 구성](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/configuration)을 참조하십시오.

.NET Core AWS SDK for .NET 에서를 쉽게 사용할 수 있도록 [AWSSDK.Extensions.NETCore.Setup](https://www.nuget.org/packages/AWSSDK.Extensions.NETCore.Setup/) NuGet 패키지를 사용할 수 있습니다. 많은 .NET Core 라이브러리와 마찬가지로 `IConfiguration` 인터페이스에 확장 메서드를 추가하여 AWS 구성을 원활하게 만듭니다.

이 패키지의 소스 코드는 [https://github.com/aws/aws-sdk-net/tree/aws-sdk-net-v3.7/extensions/src/AWSSDK.Extensions.NETCore.Setup](https://github.com/aws/aws-sdk-net/tree/aws-sdk-net-v3.7/extensions/src/AWSSDK.Extensions.NETCore.Setup)의 GitHub에 있습니다.

## AWSSDK.Extensions.NETCore.Setup 사용법
<a name="net-core-configuration-builder"></a>

Visual Studio의 **ASP.NET Core 웹 애플리케이션** 템플릿을 사용하거나 .NET Core CLI에서 `dotnet new mvc ...`를 실행하여 수행할 수 있는 ASP.NET Core MVC(모델-뷰-컨트롤러) 애플리케이션을 생성한다고 가정하겠습니다. 이러한 애플리케이션을 생성하는 경우 `Startup.cs`의 생성자는 `appsettings.json`과 같은 구성 공급자의 다양한 입력 소스에서 읽어 구성을 처리합니다.

```
public Startup(IConfiguration configuration)
{
    Configuration = configuration;
}
```

`Configuration` 객체를 사용하여 *AWS* 옵션을 얻으려면 먼저 `AWSSDK.Extensions.NETCore.Setup` NuGet 패키지를 추가합니다. 그런 다음, 다음에 설명한 대로 구성 파일에 해당 옵션을 추가합니다.

프로젝트에 추가된 파일 중 하나가 `appsettings.Development.json`입니다. 이는 `EnvironmentName`을 **개발**로 설정한 것에 해당합니다. 개발 중에는 로컬 테스트 중에만 읽을 수 있는 이 파일에 구성을 입력합니다. 가 **프로덕션**으로 `EnvironmentName` 설정된 Amazon EC2 인스턴스를 배포하면이 파일은 무시되고는 Amazon EC2 인스턴스에 대해 구성된 IAM 자격 증명 및 리전으로 AWS SDK for .NET 돌아갑니다.

다음 구성에서는 AWS 설정 값을 제공하기 위해 프로젝트의 `appsettings.Development.json` 파일에서 추가할 수 있는 값들의 예를 보여줍니다.

```
{
  "AWS": {
    "Profile": "local-test-profile",
    "Region": "us-west-2"
  },
  "SupportEmail": "TechSupport@example.com"
}
```

*CSHTML* 파일의 설정에 액세스하려면 `Configuration` 명령을 사용합니다.

```
@using Microsoft.Extensions.Configuration
@inject IConfiguration Configuration

<h1>Contact</h1>

<p>
    <strong>Support:</strong> <a href='mailto:@Configuration["SupportEmail"]'>@Configuration["SupportEmail"]</a><br />
</p>
```

코드에서 파일에 설정된 AWS 옵션에 액세스하려면에 추가된 `GetAWSOptions` 확장 방법을 호출합니다`IConfiguration`.

이 옵션을 통해 서비스 클라이언트를 생성하려면 `CreateServiceClient`를 호출합니다. 다음 예제에서는 Amazon S3 서비스 클라이언트를 생성하는 방법을 보여줍니다. ([AWSSDK.S3](https://www.nuget.org/packages/AWSSDK.S3) NuGet 패키지를 프로젝트에 추가해야 합니다.)

```
var options = Configuration.GetAWSOptions();
IAmazonS3 client = options.CreateServiceClient<IAmazonS3>();
```

`service1`의 구성에는 `us-west-2` 리전이 포함되고 `service2`의 구성에 특수 엔드포인트 *URL*이 포함된 다음 예제와 같이 `appsettings.Development.json` 파일의 여러 항목을 사용하여 설정이 호환되지 않는 여러 서비스 클라이언트를 생성할 수도 있습니다.

```
{
  "service1": {
    "Profile": "default",
    "Region": "us-west-2"
  },
  "service2": {
    "Profile": "default",
    "ServiceURL": "URL"
  }
}
```

그러면 JSON 파일의 항목을 사용하여 특정 서비스에 대한 옵션을 가져올 수 있습니다. 예를 들어 `service1`의 설정을 얻으려면 다음을 사용합니다.

```
var options = Configuration.GetAWSOptions("service1");
```

### appsettings 파일에서 허용되는 값
<a name="net-core-appsettings-values"></a>

다음 앱 구성 값은 `appsettings.Development.json` 파일에서 설정할 수 있습니다. 제시된 필드 이름은 소문자이어야 합니다. 이러한 설정에 대한 자세한 내용은 `[AWS.Runtime.ClientConfig](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TClientConfig.html)` 클래스를 참조하세요.
+ 리전
+ 프로필
+ ProfilesLocation
+ SignatureVersion
+ RegionEndpoint
+ UseHttp
+ ServiceURL
+ AuthenticationRegion
+ AuthenticationServiceName
+ MaxErrorRetry
+ LogResponse
+ BufferSize
+ ProgressUpdateInterval
+ ResignRetries
+ AllowAutoRedirect
+ LogMetrics
+ DisableLogging
+ UseDualstackEndpoint

## ASP.NET Core 종속성 주입
<a name="net-core-dependency-injection"></a>

*AWSSDK.Extensions.NETCore.Setup* NuGet 패키지는 ASP.NET Core의 새로운 종속성 주입 시스템과도 통합됩니다. 애플리케이션의 `Startup` 클래스에서 `ConfigureServices` 메서드는 MVC 서비스가 추가되는 곳입니다. 애플리케이션에서 개체 프레임워크를 사용하는 경우 이 메서드는 그 프레임워크가 초기화되는 곳이기도 합니다.

```
public void ConfigureServices(IServiceCollection services)
{
    // Add framework services.
    services.AddMvc();
}
```

**참고**  
.NET Core의 종속성 주입에 대한 배경 정보는 [.NET Core 설명서 사이트](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection)에서 사용할 수 있습니다.

`AWSSDK.Extensions.NETCore.Setup` NuGet 패키지는 종속성 주입에 AWS 서비스를 추가하는 데 사용할 수 `IServiceCollection` 있는 새로운 확장 방법을에 추가합니다. 다음 코드는에서 읽는 AWS 옵션을 추가하여 서비스 목록에 Amazon S3 및 DynamoDB를 `IConfiguration` 추가하는 방법을 보여줍니다. ([AWSSDK.S3](https://www.nuget.org/packages/AWSSDK.S3) 및 [AWSSDK.DynamoDBv2](https://www.nuget.org/packages/AWSSDK.DynamoDBv2) NuGet 패키지를 프로젝트에 추가해야 합니다.)

```
public void ConfigureServices(IServiceCollection services)
{
    // Add framework services.
    services.AddMvc();

    services.AddDefaultAWSOptions(Configuration.GetAWSOptions());
    services.AddAWSService<IAmazonS3>();
    services.AddAWSService<IAmazonDynamoDB>();
}
```

현재 MVC 컨트롤러가 자신의 생성자에서 `IAmazonS3` 또는 `IAmazonDynamoDB`를 파라미터로 사용하는 경우 종속성 주입 시스템은 그러한 서비스로 전달됩니다.

```
public class HomeController : Controller
{
    IAmazonS3 S3Client { get; set; }

    public HomeController(IAmazonS3 s3Client)
    {
        this.S3Client = s3Client;
    }

    ...

}
```

# 기타 애플리케이션 파라미터 구성
<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");
}
```

# 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" />
```