

# 이 개발자 안내서의 코드 예시 실행
<a name="CodeSamples"></a>

AWS SDK는 Amazon DynamoDB에 대한 광범위한 지원을 다음 언어로 제공합니다.
+ [Java](https://aws.amazon.com/sdk-for-java): 
+ [브라우저에서의 JavaScript](https://aws.amazon.com/sdk-for-browser)
+ [.NET](https://aws.amazon.com/sdk-for-net)
+ [Node.js](https://aws.amazon.com/sdk-for-node-js)
+ [PHP](https://aws.amazon.com/sdk-for-php)
+ [Python](https://aws.amazon.com/sdk-for-python)
+ [Ruby](https://aws.amazon.com/sdk-for-ruby)
+ [C\$1\$1](https://aws.amazon.com/sdk-for-cpp)
+ [Go](https://aws.amazon.com/sdk-for-go)
+ [Android](https://aws.amazon.com/mobile/sdk/): 
+ [iOS](https://aws.amazon.com/mobile/sdk/): 

이 개발자 안내서의 코드 예제에서는 다음의 프로그래밍 언어를 사용하여 DynamoDB 작업을 보다 깊이 있게 다룹니다.
+ [Java 코드 예](CodeSamples.Java.md)
+ [.NET 코드 예시](CodeSamples.DotNet.md)

이 연습을 시작하려면 먼저 AWS 계정을 생성하고, 액세스 키 및 보안 키를 얻고, 컴퓨터에서 AWS Command Line Interface(AWS CLI)를 설정해야 합니다. 자세한 내용은 [DynamoDB 설정(웹 서비스)](SettingUp.DynamoWebService.md) 섹션을 참조하세요.

**참고**  
DynamoDB 다운로드 가능 버전을 사용하는 경우, AWS CLI를 사용하여 테이블과 샘플 데이터를 생성해야 합니다. 또한 각 `--endpoint-url` 명령으로 AWS CLI 파라미터를 지정해야 합니다. 자세한 내용은 [로컬 엔드포인트 설정](DynamoDBLocal.UsageNotes.md#DynamoDBLocal.Endpoint) 섹션을 참조하세요.

# DynamoDB에서 테이블 생성 및 코드 예시에 대한 데이터 로드
<a name="SampleData"></a>

DynamoDB에서 테이블을 생성하고, 샘플 데이터 세트를 로드하고, 데이터를 쿼리하고, 데이터를 업데이트하는 방법에 대한 기본 사항은 아래를 참조하세요.
+ [1단계: DynamoDB에 테이블 생성](getting-started-step-1.md)
+ [2단계: DynamoDB 테이블에 데이터 쓰기](getting-started-step-2.md)
+ [3단계: DynamoDB 테이블의 데이터 읽기](getting-started-step-3.md)
+ [4단계: DynamoDB 테이블의 데이터 업데이트](getting-started-step-4.md)

# Java 코드 예
<a name="CodeSamples.Java"></a>

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

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

Eclipse와 함께 [AWS Toolkit for Eclipse](https://aws.amazon.com/eclipse/)를 사용하여 빠르게 시작할 수 있습니다. 완벽한 기능의 IDE 외에 자동 업데이트가 포함된 AWS SDK for Java와 사전 구성된 AWS 애플리케이션 개발 템플릿도 포함되어 있습니다.

**Java 코드 예제를 실행하려면(Eclipse 사용)**

1. [Eclipse](http://www.eclipse.org) IDE를 다운로드하고 설치합니다.

1. 를 다운로드하여 설치합니다..[AWS Toolkit for Eclipse](https://aws.amazon.com/eclipse/)

1. Eclipse를 시작하고 **Eclipse** 메뉴에서 **파일**, **새로 만들기**, **기타**를 차례대로 선택합니다.

1. **Select a wizard**에서 **AWS**, **AWS Java Project**, **Next**를 차례대로 선택합니다.

1. **Create an AWS Java**에서 다음을 수행합니다.

   1. **프로젝트 이름**에 프로젝트의 이름을 입력합니다.

   1. **Select Account**의 목록에서 자격 증명 프로필을 선택합니다.

      [AWS Toolkit for Eclipse](https://aws.amazon.com/eclipse/)를 처음 사용하는 경우, **Configure AWS Accounts**(계정 구성)를 선택하여 AWS 보안 인증 정보를 설정합니다.

1. 프로젝트를 생성하려면 **Finish**를 선택합니다.

1. **Eclipse** 메뉴에서 **File**, **New**, **Class**를 차례대로 선택합니다.

1. **Java Class(Java 클래스)**에서 **이름**에 클래스 이름을 입력(실행하려는 코드 예제와 동일한 이름 사용)한 다음 **마침**을 선택하여 클래스를 생성합니다.

1. 설명서 페이지에서 코드 예제를 Eclipse 에디터로 복사합니다.

1. 코드를 실행하려면 Eclipse 메뉴에서 **실행**을 선택합니다.

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

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

**참고**  
이 안내서의 코드 예제는 AWS SDK for Java의 최신 버전과 함께 사용해야 합니다.  
AWS Toolkit for Eclipse를 사용하는 경우 SDK for Java에 대해 자동 업데이트를 구성할 수 있습니다. Eclipse에서 이렇게 하려면 **기본 설정**으로 이동하고 **AWS Toolkit**, **AWS SDK for Java**, **Download new SDKs automatically(새 SDK를 자동으로 다운로드)**를 차례로 선택합니다.

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

SDK for Java에서는 런타임에 애플리케이션에 AWS 자격 증명을 제공해야 합니다. 이 가이드의 코드 예시에서는 *AWS SDK for Java 개발자 안내서*의 [AWS 보안 인증 정보 설정](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/set-up-creds.html)에 설명된 대로 AWS 보안 인증 정보 파일을 사용한다고 가정합니다.

다음은 `~/.aws/credentials`라는 AWS 자격 증명 파일의 예입니다. 여기서 물결 문자(`~`)는 사용자의 홈 디렉터리입니다.

```
[default]
aws_access_key_id = AWS access key ID goes here
aws_secret_access_key = Secret key goes here
```

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

기본적으로 코드 예제는 미국 서부(오레곤) 리전에서 DynamoDB에 액세스합니다. `AmazonDynamoDB` 속성을 수정하여 리전을 변경할 수 있습니다.

다음 코드 예제에서는 새 `AmazonDynamoDB`를 인스턴스화합니다.

```
import software.amazon.dynamodb.AmazonDynamoDBClientBuilder;
import com.amazonaws.regions.Regions;
...
// This client will default to US West (Oregon)
AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard()
.withRegion(Regions.US_WEST_2)
.build();
```

`withRegion` 메서드를 사용하면 사용할 수 있는 어떤 리전의 DynamoDB에 대해서도 코드를 실행할 수 있습니다. 전체 목록은 **Amazon Web Services 일반 참조에서 [AWS 리전 및 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/rande.html#ddb_region)를 참조하세요.

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

### AWS SDK V1
<a name="CodeSamples.Java.RegionAndEndpoint.V1"></a>

```
AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard().withEndpointConfiguration(
new AwsClientBuilder.EndpointConfiguration("http://localhost:8000", "us-west-2"))
.build();
```

### AWS SDK V2
<a name="CodeSamples.Java.RegionAndEndpoint.V2"></a>

```
DynamoDbClient client = DynamoDbClient.builder()
    .endpointOverride(URI.create("http://localhost:8000"))
    // The region is meaningless for local DynamoDb but required for client builder validation
    .region(Region.US_EAST_1)
    .credentialsProvider(StaticCredentialsProvider.create(
    AwsBasicCredentials.create("dummy-key", "dummy-secret")))
    .build();
```

# .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);
```