

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# DynamoDB 速查表
<a name="CheatSheet"></a>

此備忘單提供使用 Amazon DynamoDB 及其各種 AWS SDKs快速參考。

## 初始 設定
<a name="CheatSheet.InitialSetup"></a>

1. [註冊。 AWS](SettingUp.DynamoWebService.html#SettingUp.DynamoWebService.SignUpForAWS)

1. [取得 AWS 存取金鑰](SettingUp.DynamoWebService.html#SettingUp.DynamoWebService.GetCredentials)，以程式設計方式存取 DynamoDB。

1. [設定您 DynamoDB 憑證](SettingUp.DynamoWebService.html#SettingUp.DynamoWebService.ConfigureCredentials)。

**另請參閱:**
+ [設定 DynamoDB (Web 服務)](SettingUp.DynamoWebService.html)
+ [DynamoDB 入門](GettingStartedDynamoDB.html)
+ [核心元件的基本概述](HowItWorks.CoreComponents.html)

 

## SDK 或 CLI
<a name="CheatSheet.Platform"></a>

選擇您偏好的 [SDK](sdk-general-information-section.html)，或設定 [AWS CLI](/cli/latest/index.html)。

**注意**  
當您 AWS CLI 在 Windows 上使用 時，不在引號內的反斜線 (\$1) 會被視為歸位字元。此外，您必須逸出其他引號內的任何引號和大括號。如需範例，請參閱下一章節「建立資料表」的 **Windows** 標籤。

**另請參閱:**
+ [AWS CLI 搭配 DynamoDB](Tools.CLI.html)
+ [DynamoDB 入門 - 步驟 2](getting-started-step-2.html)

## 基本動作
<a name="CheatSheet.BasicActions"></a>

本節提供基本 DynamoDB 任務的程式碼。如需這些任務的詳細資訊，請參閱 [ DynamoDB 和 AWS SDKs 入門](GettingStarted.html)。

### 建立資料表
<a name="CheatSheet.BasicActions.CreateTable"></a>

------
#### [ Default ]

```
aws dynamodb create-table \
    --table-name Music \
    --attribute-definitions \
        AttributeName=Artist,AttributeType=S \
        AttributeName=SongTitle,AttributeType=S \
    --key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE \
    --billing-mode PAY_PER_REQUEST \
    --table-class STANDARD
```

------
#### [ Windows ]

```
aws dynamodb create-table ^
    --table-name Music ^
    --attribute-definitions ^
        AttributeName=Artist,AttributeType=S ^
        AttributeName=SongTitle,AttributeType=S ^
    --key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE ^
    --billing-mode PAY_PER_REQUEST ^
    --table-class STANDARD
```

------

### 將項目寫入資料表
<a name="CheatSheet.BasicActions.WriteItem"></a>

```
aws dynamodb put-item \ --table-name Music \ --item file://item.json
```

### 從資料表讀取項目
<a name="CheatSheet.BasicActions.ReadItem"></a>

```
aws dynamodb get-item \ --table-name Music \ --item file://item.json
```

### 從資料表刪除項目
<a name="CheatSheet.BasicActions.DeleteItem"></a>

```
aws dynamodb delete-item --table-name Music --key file://key.json
```

### 查詢資料表
<a name="CheatSheet.BasicActions.QueryTable"></a>

```
aws dynamodb query --table-name Music 
--key-condition-expression "ArtistName=:Artist and SongName=:Songtitle"
```

### 刪除資料表
<a name="CheatSheet.BasicActions.DeleteTable"></a>

```
aws dynamodb delete-table --table-name Music
```

### 列出資料表名稱
<a name="CheatSheet.BasicActions.ListTableNames"></a>

```
aws dynamodb list-tables
```

## 命名規則
<a name="CheatSheet.NamingRules"></a>
+ 所有名稱都必須使用 UTF-8 編碼並區分大小寫。
+ 資料表名稱與索引名稱長度必須介於 3 到 255 個字元之間，而且只能包含下列字元：
  + `a-z`
  + `A-Z`
  + `0-9`
  + `_` (底線)
  + `-` (連字號)
  + `.` (點號)
+ 屬性名稱至少必須為一個字元長，而且大小不能超過 64KB。

如需詳細資訊，請參閱[命名規則](HowItWorks.NamingRulesDataTypes.html)。

## 服務配額基本概念
<a name="CheatSheet.ServiceBasics"></a>

**讀取和寫入單位**
+ **讀取容量單位 (RCU)** – 每秒一個高度一致性讀取，或每秒兩個最終一致讀取，適用於大小上限為 4 KB 的項目。
+ **寫入容量單位 (WCU)** – 每秒一個寫入，適用於大小上限為 1 KB 的項目。

**資料表限制**
+ **資料表大小** – 資料表大小沒有任何實際限制。就項目數或位元組數而言，資料表是沒有限制的。
+ **資料表數量** – 對於任何 AWS 帳戶，每個 AWS 區域的初始配額為 2，500 個資料表。
+ **查詢和掃描的頁面大小限制** – 每個查詢或掃描的每頁限制為 1 MB。若您在資料表上的查詢參數或掃描操作產生超過 1 MB 的資料，DynamoDB 會傳回初始相符項目。同時也會傳回一個 `LastEvaluatedKey` 屬性，您可以在新的請求中使用該屬性來讀取下一頁。

**索引**
+ **本機次要索引 (LSI)** – 您可以定義最多五個本機次要索引。當索引必須與基礎資料表保持高度一致時，LSI 就特別有用。
+ **全域次要索引 (GSIs)** – 每個資料表有 20 個全域次要索引的預設配額。
+ **每份資料表投影次要索引屬性** – 您最多可以投影 100 個屬性到資料表所有的區域和全域次要索引。這只適用於使用者指定的投影屬性。

**分割區索引鍵**
+ 分割區索引鍵值的長度下限為 1 個位元組。長度上限為 2048 個位元組。
+ 資料表或次要索引中，不同的分割區索引鍵值數目沒有實際限制。
+ 排序索引鍵值的長度下限為 1 個位元組。長度上限為 1024 個位元組。
+ 一般而言，每個分割區索引鍵值的相異排序索引鍵值數目沒有實際限制。例外狀況是有次要索引的資料表。

如需次要索引、分割區索引鍵設計和排序索引鍵設計的詳細資訊，請參閱[最佳實務](best-practices.html)。

**常用資料類型限制**
+ **String** (字串) – 字串長度受到項目大小上限 400 KB 的限制。字串是 UTF-8 二進位編碼的 Unicode。
+ **數字** – 數字的精準度最多可達 38 位數，可為正數、負數或零。
+ **二進位** – 二進位長度受到項目大小上限 400 KB 的限制。使用二進制屬性的應用程式必須先以 base64 編碼資料，再傳送到 DynamoDB。

如需支援的完整資料類型清單，請參閱[資料類型](HowItWorks.NamingRulesDataTypes.html#HowItWorks.DataTypes)。如需詳細資訊，請參閱[服務配額](ServiceQuotas.html#limits-items)。

### 項目、屬性和表達式參數
<a name="CheatSheet.ServiceBasics.Misc"></a>

DynamoDB 的項目大小上限是 400 KB，包括屬性名稱二進位長度 (UTF-8 長度) 和屬性值二進位長度 (UTF-8 長度)。屬性名稱算作大小限制的一部分。

清單、映射或集合中值數目不限，只要含有值的項目符合 400 KB 項目大小限制。

針對表達式參數，任何表達式字串的長度上限為 4 KB。

如需項目大小、屬性和表達式參數的詳細資訊，請參閱[服務配額](ServiceQuotas.html#limits-items)。

## 其他資訊
<a name="CheatSheet.FurtherInfo"></a>
+ [安全性](security.html)
+ [監控和記錄](monitoring.html)
+ [使用串流](streamsmain.html)
+ [備份](Backup-and-Restore.html)和[時間點復原](Point-in-time-recovery.html)
+ [與其他 AWS 服務整合](OtherServices.html) 
+ [API 參考](/amazondynamodb/latest/APIReference/Welcome.html)
+ [架構中心：資料庫最佳實務](https://aws.amazon.com/architecture/databases/)
+ [教學課程影片](https://youtu.be/Mw8wCj0gkRc)
+ [DynamoDB 論壇](https://repost.aws/search/questions?globalSearch=dynamodb)