

# .NET 코드 예시
<a name="CodeSamples.DotNet"></a>

**Topics**
+ [.NET: AWS 보안 인증 정보 설정](#CodeSamples.DotNet.Credentials)
+ [.NET: AWS 리전 및 엔드포인트 설정](#CodeSamples.DotNet.RegionAndEndpoint)

이 안내서에는 .NET 코드 조각과 실행 준비된 프로그램이 포함되어 있습니다. 다음 단원에서 이들 코드 예제를 찾을 수 있습니다.
+ [DynamoDB의 항목 및 속성 작업](WorkingWithItems.md)
+ [DynamoDB의 테이블 및 데이터 작업](WorkingWithTables.md)
+ [DynamoDB에서 테이블 쿼리](Query.md)
+ [DynamoDB에서 테이블 스캔](Scan.md)
+ [DynamoDB에서 보조 인덱스를 사용하여 데이터 액세스 개선](SecondaryIndexes.md)
+ [DynamoDB에서 .NET 문서 모델을 사용하여 작업](DotNetSDKMidLevel.md)
+ [.NET 객체 지속성 모델 및 DynamoDB로 작업](DotNetSDKHighLevel.md)
+ [DynamoDB Streams에 대한 변경 데이터 캡처](Streams.md)

AWS SDK for .NET 및 Toolkit for Visual Studio를 함께 사용하면 빠르게 시작할 수 있습니다.

**.NET 코드 예제를 실행하려면((Visual Studio 사용)**

1. [Microsoft Visual Studio](https://www.visualstudio.com)를 다운로드하여 설치합니다.

1. (선택 사항) [Toolkit for Visual Studio](https://aws.amazon.com/visualstudio/)를 다운로드하여 설치합니다.

1. AWS 보안 인증을 설정합니다. 공유 AWS 자격 증명 파일(`~/.aws/credentials`)에서 자격 증명 프로파일을 구성합니다. 자세한 내용은 **AWS SDK for .NET 개발자 안내서의 [AWS 자격 증명 구성](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/net-dg-config-creds.html)을 참조하세요.

1. Visual Studio를 시작합니다. **파일**, **새로 만들기**, **프로젝트**를 선택합니다.

1. **콘솔 앱**을 검색하고 .NET을 대상으로 하는 C\$1 템플릿을 선택한 후 **다음**을 선택합니다. 프로젝트 이름과 위치를 구성한 다음 **생성**을 선택합니다.

1. 프로젝트에 DynamoDB NuGet용 AWS SDK 패키지를 추가하려면 다음을 수행합니다.

   1. Solution Exploer에서 프로젝트의 컨텍스트 메뉴를 열고(마우스 오른쪽 버튼 클릭) **Manage NuGet Packages**를 선택합니다.

   1. NuGet Package Manager에서 **Browse**를 선택합니다.

   1. 검색 상자에 **AWSSDK.DynamoDBv2**를 입력하고 검색이 완료되기를 기다립니다.

   1. **AWSSDK.DynamoDBv2**를 선택한 다음 **설치**를 선택합니다.

1. Visual Studio 프로젝트에서 `Program.cs`를 엽니다. 내용을 실행하려는 설명서 페이지의 코드 예제로 바꿉니다.

1. 코드를 실행하려면 Visual Studio 도구 모음에서 **시작**을 선택합니다.

SDK for .NET은 DynamoDB 작업을 위한 스레드 세이프(thread-safe) 클라이언트를 제공합니다. 모범 사례로서 애플리케이션에서 클라이언트 하나를 생성한 후 스레드 간에 재사용해야 합니다.

자세한 내용은 [AWS SDK for .NET](https://aws.amazon.com/sdk-for-net)을 참조하세요.

**참고**  
이 안내서의 코드 예제는 AWS SDK for .NET의 최신 버전과 함께 사용해야 합니다.

## .NET: AWS 보안 인증 정보 설정
<a name="CodeSamples.DotNet.Credentials"></a>

SDK for .NET에서는 런타임에 애플리케이션에 AWS 자격 증명을 제공해야 합니다. 이 가이드의 코드 예시에서는 *AWS SDK for .NET 개발자 안내서*의 [SDK 스토어 사용](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/net-dg-config-creds.html#sdk-store)에 설명된 대로 SDK 스토어를 사용하여 AWS 보안 인증 정보 파일을 관리한다고 가정합니다.

Toolkit for Visual Studio는 계정 수에 제한 없이 다수의 자격 증명 집합을 지원합니다. 각 집합을 *프로필*이라고 부릅니다. Visual Studio는 애플리케이션이 런타임 도중에도 AWS 자격 증명을 찾을 수 있도록 프로젝트의 `App.config` 파일에 항목을 추가합니다.

다음 예제에서는 Toolkit for Visual Studio를 사용하여 새 프로젝트를 만들 때 생성되는 기본 `App.config` 파일을 보여줍니다.

```
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
    <add key="AWSProfileName" value="default"/>
    <add key="AWSRegion" value="us-west-2" />
 </appSettings>
</configuration>
```

런타임에 프로그램은 `AWSProfileName` 항목에 지정된 대로 `default` 자격 증명의 AWS 집합을 사용합니다. AWS 자격 증명 자체는 암호화된 형식으로 SDK 스토어에 보관됩니다. Toolkit for Visual Studio는 Visual Studio 안에서 자격 증명을 모두 관리할 수 있는 그래픽 사용자 인터페이스를 제공합니다. 자세한 내용은 *AWS Toolkit for Visual Studio 사용 설명서*에서 [보안 인증 정보 지정](https://docs.aws.amazon.com/AWSToolkitVS/latest/UserGuide/tkv_setup.html#creds)을 참조하세요.

**참고**  
기본적으로 코드 예제는 미국 서부(오레곤) 리전에서 DynamoDB에 액세스합니다. App.config 파일의 `AWSRegion` 항목을 수정하여 리전을 변경할 수 있습니다. `AWSRegion`은 DynamoDB를 사용할 수 있는 어느 리전으로도 설정할 수 있습니다. 전체 목록은 **Amazon Web Services 일반 참조에서 [AWS 리전 및 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/rande.html#ddb_region)를 참조하세요.

## .NET: AWS 리전 및 엔드포인트 설정
<a name="CodeSamples.DotNet.RegionAndEndpoint"></a>

기본적으로 코드 예제는 미국 서부(오레곤) 리전에서 DynamoDB에 액세스합니다. `AWSRegion` 파일의 `App.config` 항목을 수정하여 리전을 변경할 수 있습니다. 또는 `AmazonDynamoDBClient` 속성을 수정하여 리전을 변경할 수 있습니다.

다음 코드 예제에서는 새 `AmazonDynamoDBClient`를 인스턴스화합니다. 클라이언트가 수정되어 코드가 다른 리전의 DynamoDB에 대해 실행됩니다.

```
AmazonDynamoDBConfig clientConfig = new AmazonDynamoDBConfig();
// This client will access the US East 1 region.
clientConfig.RegionEndpoint = RegionEndpoint.USEast1;
AmazonDynamoDBClient client = new AmazonDynamoDBClient(clientConfig);
```

전체 리전 목록은 **Amazon Web Services 일반 참조에서 [AWS 리전 및 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/rande.html#ddb_region)를 참조하세요.

컴퓨터에서 로컬로 DynamoDB를 사용하여 코드 예제를 실행하려면 다음과 같이 엔드포인트를 설정합니다.

```
AmazonDynamoDBConfig clientConfig = new AmazonDynamoDBConfig();
// Set the endpoint URL
clientConfig.ServiceURL = "http://localhost:8000";
AmazonDynamoDBClient client = new AmazonDynamoDBClient(clientConfig);
```