

버전 4(V4) AWS SDK for .NET 가 릴리스되었습니다.

변경 사항 해제 및 애플리케이션 마이그레이션에 대한 자세한 내용은 [마이그레이션 주제를](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html) 참조하세요.

 [https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html)

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

# Amazon DynamoDB 및에서 표현식 사용 AWS SDK for .NET
<a name="dynamodb-expressions"></a>

**참고**  
이 주제의 정보는 .NET Framework 및 AWS SDK for .NET 버전 3.3 이하를 기반으로 하는 프로젝트에만 해당됩니다.

다음 코드 예제에서는를 사용하여 표현식으로 DynamoDB AWS SDK for .NET 를 프로그래밍하는 방법을 보여줍니다. *표현식*은 DynamoDB 테이블의 항목에서 읽을 속성을 나타냅니다. 또한 항목을 쓸 때도 표현식을 사용하여 충족해야 할 조건(*조건부 업데이트*라고도 함)을 나타내고 속성을 업데이트하는 방식을 나타낼 수 있습니다. 일부 업데이트 예에서는 속성을 새 값으로 바꾸거나 새 데이터를 목록이나 맵에 추가합니다. 자세한 내용은 [표현식을 사용하여 항목 읽기 및 쓰기](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.html)를 참조하십시오.

**Topics**
+ [샘플 데이터](#dynamodb-expressions-sample-data)
+ [표현식 및 항목의 기본 키를 사용한 단일 항목 조회](#dynamodb-expressions-get-item)
+ [표현식 및 테이블의 기본 키를 사용한 다수 항목 조회](#dynamodb-expressions-query)
+ [표현식 및 기타 항목 속성을 사용한 다수 항목 조회](#dynamodb-expressions-scan)
+ [항목 출력](#dynamodb-expressions-print-item)
+ [표현식을 사용한 항목 생성 및 교체](#dynamodb-expressions-put-item)
+ [표현식을 사용한 항목 업데이트](#dynamodb-expressions-update-item)
+ [표현식을 사용한 항목 삭제](#dynamodb-expressions-delete-item)
+ [추가 정보](#dynamodb-expressions-resources)

## 샘플 데이터
<a name="dynamodb-expressions-sample-data"></a>

이 주제의 코드 예제는 `ProductCatalog`라는 DynamoDB 테이블에 있는 다음 두 가지 예제 항목에 의존합니다. 이 항목들은 가상의 자전거 점포 카탈로그에 있는 제품 항목에 대한 정보를 알려줍니다. 이러한 항목은 [사례 연구: ProductCatalog 항목](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.CaseStudy.html)에서 제공하는 예제를 기반으로 합니다. `BOOL`, `L`, `M`, `N`, `NS`, `S`, `SS`과 같은 데이터 형식 서술자는 [JSON 데이터 형식](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataFormat.html)의 서술자와 일치합니다.

```
{
  "Id": {
    "N": "205"
  },
  "Title": {
    "S": "20-Bicycle 205"
  },
  "Description": {
    "S": "205 description"
  },
  "BicycleType": {
    "S": "Hybrid"
  },
  "Brand": {
    "S": "Brand-Company C"
  },
  "Price": {
    "N": "500"
  },
  "Gender": {
    "S": "B"
  },
  "Color": {
    "SS": [
      "Red",
      "Black"
    ]
  },
  "ProductCategory": {
    "S": "Bike"
  },
  "InStock": {
    "BOOL": true
  },
  "QuantityOnHand": {
    "N": "1"
  },
  "RelatedItems": {
    "NS": [
      "341",
      "472",
      "649"
    ]
  },
  "Pictures": {
    "L": [
      {
        "M": {
          "FrontView": {
            "S": "http://example/products/205_front.jpg"
          }
        }
      },
      {
        "M": {
          "RearView": {
            "S": "http://example/products/205_rear.jpg"
          }
        }
      },
      {
        "M": {
          "SideView": {
            "S": "http://example/products/205_left_side.jpg"
          }
        }
      }
    ]
  },
  "ProductReviews": {
    "M": {
      "FiveStar": {
        "SS": [
          "Excellent! Can't recommend it highly enough! Buy it!",
          "Do yourself a favor and buy this."
        ]
      },
      "OneStar": {
        "SS": [
          "Terrible product! Do not buy this."
        ]
      }
    }
  }
},
{
  "Id": {
    "N": "301"
  },
  "Title": {
    "S": "18-Bicycle 301"
  },
  "Description": {
    "S": "301 description"
  },
  "BicycleType": {
    "S": "Road"
  },
  "Brand": {
    "S": "Brand-Company C"
  },
  "Price": {
    "N": "185"
  },
  "Gender": {
    "S": "F"
  },
  "Color": {
    "SS": [
      "Blue",
      "Silver"
    ]
  },
  "ProductCategory": {
    "S": "Bike"
  },
  "InStock": {
    "BOOL": true
  },
  "QuantityOnHand": {
    "N": "3"
  },
  "RelatedItems": {
    "NS": [
      "801",
      "822",
      "979"
    ]
  },
  "Pictures": {
    "L": [
      {
        "M": {
          "FrontView": {
            "S": "http://example/products/301_front.jpg"
          }
        }
      },
      {
        "M": {
          "RearView": {
            "S": "http://example/products/301_rear.jpg"
          }
        }
      },
      {
        "M": {
          "SideView": {
            "S": "http://example/products/301_left_side.jpg"
          }
        }
      }
    ]
  },
  "ProductReviews": {
    "M": {
      "FiveStar": {
        "SS": [
          "My daughter really enjoyed this bike!"
        ]
      },
      "ThreeStar": {
        "SS": [
          "This bike was okay, but I would have preferred it in my color.",
	      "Fun to ride."
        ]
      }
    }
  }
}
```

## 표현식 및 항목의 기본 키를 사용한 단일 항목 조회
<a name="dynamodb-expressions-get-item"></a>

다음 예제에는 `Amazon.DynamoDBv2.AmazonDynamoDBClient.GetItem`의 `Id`가 있는 항목을 조회하여 출력하는 데 사용할 `205` 메서드와 일련의 표현식이 포함되어 있습니다. 항목 속성 중에서 `Id`, `Title`, `Description`, `Color`, `RelatedItems`, `Pictures`, `ProductReviews` 속성만 반환됩니다.

```
// using Amazon.DynamoDBv2;
// using Amazon.DynamoDBv2.Model;

var client = new AmazonDynamoDBClient();
var request = new GetItemRequest
{
  TableName = "ProductCatalog",
  ProjectionExpression = "Id, Title, Description, Color, #ri, Pictures, #pr",
  ExpressionAttributeNames = new Dictionary<string, string>
  {
    { "#pr", "ProductReviews" },
    { "#ri", "RelatedItems" }
  },
  Key = new Dictionary<string, AttributeValue>
  {
    { "Id", new AttributeValue { N = "205" } }
  },
};
var response = client.GetItem(request);

// PrintItem() is a custom function.
PrintItem(response.Item);
```

앞서 다룬 예제에서 `ProjectionExpression` 속성은 반환될 속성을 지정합니다. `ExpressionAttributeNames` 속성에서는 `#pr` 속성을 나타낼 자리표시자 `ProductReviews`과 `#ri` 속성을 나타낼 자리표시자 `RelatedItems`를 지정합니다. `PrintItem`에 대한 호출은 [항목 인쇄](#dynamodb-expressions-print-item)의 설명과 같이 사용자 지정 함수를 참조합니다.

## 표현식 및 테이블의 기본 키를 사용한 다수 항목 조회
<a name="dynamodb-expressions-query"></a>

다음 예제에는 `Amazon.DynamoDBv2.AmazonDynamoDBClient.Query`의 값이 `Id`보다 큰 경우에 한해 `301`의 `Price`가 있는 항목을 조회하여 출력하는 데 사용할 `150` 메서드와 일련의 표현식이 포함되어 있습니다. 항목의 속성 중에서 반환되는 속성은 `Id`와 `Title`, 그리고 `ThreeStar`의 모든 `ProductReviews` 속성뿐입니다.

```
// using Amazon.DynamoDBv2;
// using Amazon.DynamoDBv2.Model;

var client = new AmazonDynamoDBClient();
var request = new QueryRequest
{
  TableName = "ProductCatalog",
  KeyConditions = new Dictionary<string,Condition>
  {
    { "Id", new Condition()
      {
        ComparisonOperator = ComparisonOperator.EQ,
        AttributeValueList = new List<AttributeValue>
        {
          new AttributeValue { N = "301" }
        }
      }
    }
  },
  ProjectionExpression = "Id, Title, #pr.ThreeStar",
  ExpressionAttributeNames = new Dictionary<string, string>
  {
    { "#pr", "ProductReviews" },
    { "#p", "Price" }
  },
  ExpressionAttributeValues = new Dictionary<string,AttributeValue>
  {
    { ":val", new AttributeValue { N = "150" } }
  },
  FilterExpression = "#p > :val"
};
var response = client.Query(request);

foreach (var item in response.Items)
{
  // Write out the first page of an item's attribute keys and values.
  // PrintItem() is a custom function.
  PrintItem(item);
  Console.WriteLine("=====");
}
```

앞서 다룬 예제에서 `ProjectionExpression` 속성은 반환될 속성을 지정합니다. `ExpressionAttributeNames` 속성은 `ProductReviews` 속성을 나타내는 자리 표시자 `#pr` 및 `Price` 속성을 나타내는 자리 표시자 `#p`를 지정합니다. `#pr.ThreeStar`는 `ThreeStar` 속성만 반환하도록 지정합니다. `ExpressionAttributeValues` 속성에서는 `:val`이라는 값을 나타낼 자리표시자 `150`을 지정합니다. `FilterExpression` 속성은 `#p`(`Price`)가 `:val`(`150`)보다 커야 한다는 조건을 지정합니다. `PrintItem`에 대한 호출은 [항목 인쇄](#dynamodb-expressions-print-item)의 설명과 같이 사용자 지정 함수를 참조합니다.

## 표현식 및 기타 항목 속성을 사용한 다수 항목 조회
<a name="dynamodb-expressions-scan"></a>

다음 예제에는 `Amazon.DynamoDBv2.AmazonDynamoDBClient.Scan`의 `ProductCategory`가 있는 항목을 모두 조회하여 출력하는 데 사용할 `Bike` 메서드와 일련의 표현식이 포함되어 있습니다. 항목의 속성 중에서 반환되는 속성은 `Id`와 `Title`, 그리고 `ProductReviews`의 모든 속성뿐입니다.

```
// using Amazon.DynamoDBv2;
// using Amazon.DynamoDBv2.Model;

var client = new AmazonDynamoDBClient();
var request = new ScanRequest
{
  TableName = "ProductCatalog",
  ProjectionExpression = "Id, Title, #pr",
  ExpressionAttributeValues = new Dictionary<string,AttributeValue>
  {
    { ":catg", new AttributeValue { S = "Bike" } }
  },
  ExpressionAttributeNames = new Dictionary<string, string>
  {
    { "#pr", "ProductReviews" },
    { "#pc", "ProductCategory" }
  },
  FilterExpression = "#pc = :catg",  
};
var response = client.Scan(request);

foreach (var item in response.Items)
{
  // Write out the first page/scan of an item's attribute keys and values.
  // PrintItem() is a custom function.
  PrintItem(item);
  Console.WriteLine("=====");
}
```

앞서 다룬 예제에서 `ProjectionExpression` 속성은 반환될 속성을 지정합니다. `ExpressionAttributeNames` 속성에서는 `#pr` 속성을 나타낼 자리표시자 `ProductReviews`과 `#pc` 속성을 나타낼 자리표시자 `ProductCategory`를 지정합니다. `ExpressionAttributeValues` 속성에서는 `:catg`이라는 값을 나타낼 자리표시자 `Bike`을 지정합니다. `FilterExpression` 속성에서는 `#pc`(`ProductCategory`)가 `:catg`(`Bike`)와 같아야 한다는 조건을 지정합니다. `PrintItem`에 대한 호출은 [항목 인쇄](#dynamodb-expressions-print-item)의 설명과 같이 사용자 지정 함수를 참조합니다.

## 항목 출력
<a name="dynamodb-expressions-print-item"></a>

다음 예제에서는 항목의 속성과 값을 출력하는 방법을 보여줍니다. 이 예제는 [표현식 및 항목의 기본 키를 사용하여 단일 항목 가져오기](#dynamodb-expressions-get-item), [표현식 및 테이블의 기본 키를 사용하여 다중 항목 가져오기](#dynamodb-expressions-query), [표현식 및 기타 항목 속성을 사용하여 다중 항목 가져오기](#dynamodb-expressions-scan) 방법을 보여주는 앞의 예제에서 사용됩니다.

```
// using Amazon.DynamoDBv2.Model;

// Writes out an item's attribute keys and values.
public static void PrintItem(Dictionary<string, AttributeValue> attrs)
{
  foreach (KeyValuePair<string, AttributeValue> kvp in attrs)
  {
    Console.Write(kvp.Key + " = ");
    PrintValue(kvp.Value);
  }
}

// Writes out just an attribute's value.
public static void PrintValue(AttributeValue value)
{
  // Binary attribute value.
  if (value.B != null)
  {
    Console.Write("Binary data");
  }
  // Binary set attribute value.
  else if (value.BS.Count > 0)
  {
    foreach (var bValue in value.BS)
    {
      Console.Write("\n  Binary data");
    }
  }
  // List attribute value.
  else if (value.L.Count > 0)
  {
    foreach (AttributeValue attr in value.L)
    {
      PrintValue(attr);
    }
  }
  // Map attribute value.
  else if (value.M.Count > 0)
  {
    Console.Write("\n");
    PrintItem(value.M);
  }
  // Number attribute value.
  else if (value.N != null)
  {
    Console.Write(value.N);
  }
  // Number set attribute value.
  else if (value.NS.Count > 0)
  {
    Console.Write("{0}", string.Join("\n", value.NS.ToArray()));
  }
  // Null attribute value.
  else if (value.NULL)
  {
    Console.Write("Null");
  }
  // String attribute value.
  else if (value.S != null)
  {
    Console.Write(value.S);
  }
  // String set attribute value.
  else if (value.SS.Count > 0)
  {
    Console.Write("{0}", string.Join("\n", value.SS.ToArray()));
  }
  // Otherwise, boolean value.
  else
  {
    Console.Write(value.BOOL);
  }
 
  Console.Write("\n");
}
```

앞서 다룬 예제에서는 속성을 출력할 정확한 형식을 결정하기 위해 평가할 수 있는 몇 가지 데이터 형식별 속성이 각 속성 값에 있습니다. 이러한 속성에는 [JSON 데이터 형식](DataFormat.html)에 해당하는 `B`, `BOOL`, `BS`, `L`, `M`, `N`, `NS`, `NULL`, `S` 및 `SS`가 포함됩니다. `B`, `N`, `NULL`, `S`와 같은 속성의 경우에는 상응하는 속성이 `null`이 아니라면 그 속성은 상응하는 `null` 아닌 데이터 형식에 대한 것입니다. `BS`, `L`, `M`, `NS`, `SS`와 같은 속성의 경우에는 `Count` 값이 0보다 크다면 그 속성은 상응하는 0 아닌 값 데이터 형식에 대한 것입니다. 그 속성의 데이터 형식별 속성 전체가 `null`이거나 `Count` 값이 0인 경우에 그 속성은 `BOOL` 데이터 형식에 상응하는 것입니다.

## 표현식을 사용한 항목 생성 및 교체
<a name="dynamodb-expressions-put-item"></a>

다음 예제에는 `Amazon.DynamoDBv2.AmazonDynamoDBClient.PutItem`의 `Title`이 있는 항목을 업데이트하는 데 사용할 `18-Bicycle 301` 메서드와 일련의 표현식이 포함되어 있습니다. 항목이 아직 없으면 새 항목이 추가됩니다.

```
// using Amazon.DynamoDBv2;
// using Amazon.DynamoDBv2.Model;

var client = new AmazonDynamoDBClient();
var request = new PutItemRequest
{
  TableName = "ProductCatalog",
  ExpressionAttributeNames = new Dictionary<string, string>
  {
    { "#title", "Title" }
  },
  ExpressionAttributeValues = new Dictionary<string, AttributeValue>
  {
    { ":product", new AttributeValue { S = "18-Bicycle 301" } }
  },
  ConditionExpression = "#title = :product", 
  // CreateItemData() is a custom function.
  Item = CreateItemData()
};
client.PutItem(request);
```

앞서 다룬 예제에서 `ExpressionAttributeNames` 속성은 `#title` 속성을 나타낼 자리표시자 `Title`을 지정합니다. `ExpressionAttributeValues` 속성에서는 `:product`이라는 값을 나타낼 자리표시자 `18-Bicycle 301`을 지정합니다. `ConditionExpression` 속성에서는 `#title`(`Title`)가 `:product`(`18-Bicycle 301`)와 같아야 한다는 조건을 지정합니다. `CreateItemData`에 대한 호출은 다음과 같은 사용자 지정 함수를 참조합니다.

```
// using Amazon.DynamoDBv2.Model;

// Provides a sample item that can be added to a table.
public static Dictionary<string, AttributeValue> CreateItemData()
{
  var itemData = new Dictionary<string, AttributeValue>
  {
    { "Id", new AttributeValue { N = "301" } },
    { "Title", new AttributeValue { S = "18\" Girl's Bike" } },
    { "BicycleType", new AttributeValue { S = "Road" } },
    { "Brand" , new AttributeValue { S = "Brand-Company C" } },
    { "Color", new AttributeValue { SS = new List<string>{ "Blue", "Silver" } } },
    { "Description", new AttributeValue { S = "301 description" } },
    { "Gender", new AttributeValue { S = "F" } },
    { "InStock", new AttributeValue { BOOL = true } },
    { "Pictures", new AttributeValue { L = new List<AttributeValue>{ 
      { new AttributeValue { M = new Dictionary<string,AttributeValue>{
        { "FrontView", new AttributeValue { S = "http://example/products/301_front.jpg" } } } } },
      { new AttributeValue { M = new Dictionary<string,AttributeValue>{
        { "RearView", new AttributeValue {S = "http://example/products/301_rear.jpg" } } } } },
      { new AttributeValue { M = new Dictionary<string,AttributeValue>{
        { "SideView", new AttributeValue { S = "http://example/products/301_left_side.jpg" } } } } }
    } } },
    { "Price", new AttributeValue { N = "185" } },
    { "ProductCategory", new AttributeValue { S = "Bike" } },
    { "ProductReviews", new AttributeValue { M = new Dictionary<string,AttributeValue>{
      { "FiveStar", new AttributeValue { SS = new List<string>{
        "My daughter really enjoyed this bike!" } } },
      { "OneStar", new AttributeValue { SS = new List<string>{
        "Fun to ride.",
        "This bike was okay, but I would have preferred it in my color." } } }
    } } },
    { "QuantityOnHand", new AttributeValue { N = "3" } },
    { "RelatedItems", new AttributeValue { NS = new List<string>{ "979", "822", "801" } } }
  };

  return itemData;
}
```

앞서 다룬 예제에서 샘플 데이터가 있는 예제 항목은 호출자에게 반환됩니다. 일련의 속성과 해당 값은 [JSON 데이터 형식](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataFormat.html)에 해당하는 `BOOL`, `L`, `M`, `N`, `NS`, `S` 및 `SS` 등의 데이터 유형을 사용하여 구성됩니다.

## 표현식을 사용한 항목 업데이트
<a name="dynamodb-expressions-update-item"></a>

다음 예제에는 `Amazon.DynamoDBv2.AmazonDynamoDBClient.UpdateItem`의 `Title`가 있는 항목에 대해 `18" Girl's Bike`을 `Id`로 변경하는 데 사용할 `301` 메서드와 일련의 표현식이 포함되어 있습니다.

```
// using Amazon.DynamoDBv2;
// using Amazon.DynamoDBv2.Model;

var client = new AmazonDynamoDBClient();
var request = new UpdateItemRequest
{
  TableName = "ProductCatalog",
  Key = new Dictionary<string,AttributeValue>
  {
     { "Id", new AttributeValue { N = "301" } }
  },
  ExpressionAttributeNames = new Dictionary<string, string>
  {
    { "#title", "Title" }
  },
  ExpressionAttributeValues = new Dictionary<string, AttributeValue>
  {
    { ":newproduct", new AttributeValue { S = "18\" Girl's Bike" } }
  },
  UpdateExpression = "SET #title = :newproduct"
};
client.UpdateItem(request);
```

앞서 다룬 예제에서 `ExpressionAttributeNames` 속성은 `#title` 속성을 나타낼 자리표시자 `Title`을 지정합니다. `ExpressionAttributeValues` 속성에서는 `:newproduct`이라는 값을 나타낼 자리표시자 `18" Girl's Bike`을 지정합니다. `UpdateExpression` 속성에서는 `#title`(`Title`)을 `:newproduct`(`18" Girl's Bike`)로 변경하도록 지정합니다.

## 표현식을 사용한 항목 삭제
<a name="dynamodb-expressions-delete-item"></a>

다음 예제에는 항목의 `Title`이 `18-Bicycle 301`인 경우에 한해 `Id`가 `301`인 항목을 삭제하는 데 사용할 `Amazon.DynamoDBv2.AmazonDynamoDBClient.DeleteItem` 메서드와 일련의 표현식이 포함되어 있습니다.

```
// using Amazon.DynamoDBv2;
// using Amazon.DynamoDBv2.Model;

var client = new AmazonDynamoDBClient();
var request = new DeleteItemRequest
{
  TableName = "ProductCatalog",
  Key = new Dictionary<string,AttributeValue>
  {
     { "Id", new AttributeValue { N = "301" } }
  },
  ExpressionAttributeNames = new Dictionary<string, string>
  {
    { "#title", "Title" }
  },
  ExpressionAttributeValues = new Dictionary<string, AttributeValue>
  {
    { ":product", new AttributeValue { S = "18-Bicycle 301" } }
  },
  ConditionExpression = "#title = :product"
};
client.DeleteItem(request);
```

앞서 다룬 예제에서 `ExpressionAttributeNames` 속성은 `#title` 속성을 나타낼 자리표시자 `Title`을 지정합니다. `ExpressionAttributeValues` 속성에서는 `:product`이라는 값을 나타낼 자리표시자 `18-Bicycle 301`을 지정합니다. `ConditionExpression` 속성에서는 `#title`(`Title`)이 `:product`(`18-Bicycle 301`)와 같아야 한다는 조건을 지정합니다.

## 추가 정보
<a name="dynamodb-expressions-resources"></a>

자세한 내용 및 코드 예제는 다음을 참조하십시오.
+  [DynamoDB 시리즈 - 표현식](http://blogs.aws.amazon.com/net/post/TxZQM7VA9AUZ9L/DynamoDB-Series-Expressions) 
+  [프로젝션 식을 사용하여 항목 속성 액세스](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.AccessingItemAttributes.html) 
+  [속성 이름 및 값에 자리 표시자 사용](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ExpressionPlaceholders.html) 
+  [조건식을 사용하여한 조건 지정](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html) 
+  [업데이트 식을 사용하여 항목 및 속성 수정](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.Modifying.html) 
+  [AWS SDK for .NET 하위 수준 API를 사용하여 항목 작업](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LowLevelDotNetItemCRUD.html) 
+  [AWS SDK for .NET 하위 수준 API를 사용하여 테이블 쿼리](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LowLevelDotNetQuerying.html) 
+  [AWS SDK for .NET 하위 수준 API를 사용하여 테이블 스캔](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LowLevelDotNetScanning.html) 
+  [AWS SDK for .NET 하위 수준 API를 사용하여 로컬 보조 인덱스 작업](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/LSILowLevelDotNet.html) 
+  [AWS SDK for .NET 하위 수준 API를 사용하여 글로벌 보조 인덱스 작업](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSILowLevelDotNet.html) 