

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

# 存取 DynamoDB
<a name="AccessingDynamoDB"></a>

 您可以使用 AWS 管理主控台、 AWS Command Line Interface (AWS CLI) 或 DynamoDB API 存取 Amazon DynamoDB。

**Topics**
+ [使用主控台](#ConsoleDynamoDB)
+ [使用 AWS CLI](#Tools.CLI)
+ [使用 API](#Using.API)
+ [使用適用於 DynamoDB 的 NoSQL Workbench](#Using.Workbench)
+ [IP 位址範圍](#Using.IPRanges)
+ [網路通訊協定第 6 版 (IPv6) 的雙堆疊端點](#dual-stackipv4-6)

## 使用主控台
<a name="ConsoleDynamoDB"></a>

您可以在 [https://console.aws.amazon.com/dynamodb/home](https://console.aws.amazon.com/dynamodb/home)：// 存取 AWS 管理主控台 適用於 Amazon DynamoDB 的 。

以下是您可以在 DynamoDB 主控台中執行的一些動作：
+ **管理資料表**：建立、更新和刪除資料表。容量計算機可協助預估容量需求。
+ **與資料互動**：檢視、新增、更新和刪除資料表中的項目。管理存留時間 (TTL) 設定。
+ **監控和分析**：檢視儀表板、監控和設定警示，以及分析 DynamoDB 資料表的指標和警示。
+ **最佳化和擴展**：管理次要索引、串流、觸發條件、預留容量和其他可強化 DynamoDB 使用量的進階功能。

DynamoDB 主控台提供管理 DynamoDB 資源的完整介面。我們鼓勵您存取主控台並與其互動，以進一步了解。

## 使用 AWS CLI
<a name="Tools.CLI"></a>

 您可以使用 AWS Command Line Interface (AWS CLI) 從命令列控制多個 AWS 服務，並透過指令碼將其自動化。您可以使用 AWS CLI 進行臨機操作，例如建立資料表。其也可以用於在公用程式指令碼中嵌入 Amazon DynamoDB 操作。

 您必須先取得存取金鑰 ID 和私密存取金鑰，才能 AWS CLI 搭配 DynamoDB 使用 。如需詳細資訊，請參閱[授予程式設計存取權](SettingUp.DynamoWebService.md#SettingUp.DynamoWebService.GetCredentials)。

如需 中可用於 DynamoDB 的所有命令的完整清單 AWS CLI，請參閱 [AWS CLI 命令參考](https://docs.aws.amazon.com/cli/latest/reference/dynamodb/index.html)。

**Topics**

### 下載和設定 AWS CLI
<a name="Tools.CLI.DownloadingAndRunning"></a>

 AWS CLI 您可以在 https：//[http://aws.amazon.com/cli](https://aws.amazon.com/cli) 取得 。它可在 Windows、macOS，或 Linux 上執行。下載 之後 AWS CLI，請依照下列步驟進行安裝和設定：

1. 前往《[AWS Command Line Interface 使用者指南](https://docs.aws.amazon.com/cli/latest/userguide/)》。

1. 請遵循[安裝 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) 及[設定 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) 的說明進行。

### AWS CLI 搭配 DynamoDB 使用
<a name="Tools.CLI.UsingWithDDB"></a>

命令列格式包含 DynamoDB 操作名稱，隨後接著該操作的參數。 AWS CLI 支援參數值以及 JSON 的速記語法。

例如，以下命令會建立名為 *Music* 的資料表。分割區索引鍵為 *Artist*，而排序索引鍵為 *SongTitle*。(為確保易讀性，本節的長命令以分行顯示。)

```
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
```

以下命令會為資料表新增新的項目。這些範例混合使用速記語法和 JSON。

```
aws dynamodb put-item \
    --table-name Music \
    --item \
        '{"Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Call Me Today"}, "AlbumTitle": {"S": "Somewhat Famous"}}' \
    --return-consumed-capacity TOTAL

aws dynamodb put-item \
    --table-name Music \
    --item '{
        "Artist": {"S": "Acme Band"},
        "SongTitle": {"S": "Happy Day"},
        "AlbumTitle": {"S": "Songs About Life"} }' \
    --return-consumed-capacity TOTAL
```

在命令列上難以編寫有效的 JSON。但是 AWS CLI 能夠讀取 JSON 檔案。例如，請試想下列 JSON 程式碼片段，其存放在名為 *key-conditions.json* 的檔案中。

```
{
    "Artist": {
        "AttributeValueList": [
            {
                "S": "No One You Know"
            }
        ],
        "ComparisonOperator": "EQ"
    },
    "SongTitle": {
        "AttributeValueList": [
            {
                "S": "Call Me Today"
            }
        ],
        "ComparisonOperator": "EQ"
    }
}
```

您現在可以使用 AWS CLI發行 `Query` 請求。在此範例中，*key-conditions.json* 檔案的內容會做為 `--key-conditions` 參數使用。

```
aws dynamodb query --table-name Music --key-conditions file://key-conditions.json
```

### AWS CLI 搭配 DynamoDB local 使用
<a name="Tools.CLI.UsingWithDDBLocal"></a>

 AWS CLI 也可以與在電腦上執行的 DynamoDB 本機 （可下載版本） 互動。若要啟用此功能，請為每個命令新增下列參數：

`--endpoint-url http://localhost:8000`

下列範例使用 AWS CLI 列出本機資料庫中的資料表。

```
aws dynamodb list-tables --endpoint-url http://localhost:8000
```

若 DynamoDB 使用的連接埠號碼並非預設值 (8000)，請相應地修改 `--endpoint-url` 的數值。

**注意**  
 AWS CLI 無法使用 DynamoDB 本機 （可下載版本） 做為預設端點。因此，您必須為每個命令指定 `--endpoint-url`。

## 使用 API
<a name="Using.API"></a>

 您可以使用 AWS 管理主控台 和 AWS Command Line Interface 以互動方式使用 Amazon DynamoDB。但是，若要充分利用 DynamoDB，您可以使用 AWS 軟體開發套件撰寫應用程式的程式碼。

 AWS SDKs 在 [ 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 的廣泛支援。

您必須先取得 AWS 存取金鑰 ID 和私密存取金鑰，才能搭配 DynamoDB 使用 AWS SDKs。如需詳細資訊，請參閱[設定 DynamoDB (Web 服務)](SettingUp.DynamoWebService.md)。

 如需使用 AWS SDKs 進行 DynamoDB 應用程式程式設計的高階概觀，請參閱 [使用 DynamoDB 和 AWS SDKs程式設計](Programming.md)。

## 使用適用於 DynamoDB 的 NoSQL Workbench
<a name="Using.Workbench"></a>

您也可以透過下載並使用 [DynamoDB 專用 NoSQL Workbench](workbench.md) 來存取 DynamoDB。

Amazon DynamoDB 專用 NoSQL Workbench 是用於現代資料庫開發和操作的跨平台用戶端 GUI 應用程式。適用於 Windows、macOS 和 Linux。NoSQL Workbench 是視覺化開發工具，提供了資料模型建立、資料視覺化和查詢開發功能，協助您設計、建立、查詢及管理 DynamoDB 資料表。NoSQL Workbench 現在包含 DynamoDB 本機版做為安裝程序的選用部分，可讓您更輕鬆地在 DynamoDB 本機版中建立資料模型。若要深入了解 DynamoDB 本機版及其要求，請參閱 [設定 DynamoDB 本機版 (可下載版本)](DynamoDBLocal.md)。

**注意**  
適用於 DynamoDB 的 NoSQL Workbench 目前不支援使用雙重驗證 (2FA) 設定的 AWS 登入。

**建立資料模型**  
借助 DynamoDB 專用 NoSQL Workbench，您可以使用滿足您應用程式資料存取模式的現有資料模型，來建置新的資料模型或設計模型。您也可以在程序結束時，匯入及匯出設計好的資料模型。如需詳細資訊，請參閱[使用 NoSQL Workbench 建立資料模型](workbench.Modeler.md)。

**建立操作**  
NoSQL Workbench 提供強大的圖形使用者介面供您開發及測試查詢。您可以使用 *operation builder* (操作建置器) 來檢視、探索及查詢即時資料集。您也可以使用結構式操作建置器來建立及執行資料平面操作。支援投射及條件表達式，並讓您使用多種語言產生範本程式碼。如需詳細資訊，請參閱[使用 NoSQL Workbench 探索資料集與建立操作](workbench.querybuilder.md)。

## IP 位址範圍
<a name="Using.IPRanges"></a>

Amazon Web Services (AWS) 會以 JSON 格式發布目前的 IP 位址範圍。若要檢視目前範圍，請下載 [ip-ranges.json](https://ip-ranges.amazonaws.com/ip-ranges.json)。如需詳細資訊，請參閱《 AWS 一般參考》中的 [AWS IP 位址範圍](https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html)。

若要尋找您可以用來[存取 DynamoDB 資料表和索引](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Operations_Amazon_DynamoDB.html)的 IP 位址範圍，請在 ip-ranges.json 檔案中搜尋下列字串：`"service": "DYNAMODB"`。

**注意**  
IP 位址範圍不適用於 DynamoDB Streams 或 DynamoDB Accelerator (DAX)。

## 網路通訊協定第 6 版 (IPv6) 的雙堆疊端點
<a name="dual-stackipv4-6"></a>

DynamoDB 提供與 IPv4 和 IPv6 相容的雙堆疊端點。端點命名慣例為：
+ `dynamodb.<region>.api.aws`
+ `<account-id>.ddb.<region>.api.aws`
+ `streams-dynamodb.<region>.api.aws`
+ `dax.<region>.api.aws`
+ `dynamodb-fips.<region>.api.aws`

如需 DynamoDB 端點和區域可用性的完整清單，請參閱《 *AWS 一般參考指南*》中的 [Amazon DynamoDB 端點和配額](https://docs.aws.amazon.com/general/latest/gr/ddb.html)主題。

如需設定 AWS CLI 以使用雙堆疊端點的詳細資訊，請參閱《 *AWS 命令列界面指南*》中的[設定 以使用所有 AWS 服務的雙堆疊端點](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-endpoints.html#endpoints-dual-stack)一節。

如需設定 SDK 用戶端以使用雙堆疊端點的詳細資訊，請參閱 *AWS SDKs*[雙堆疊和 FIPS 端點](https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html)主題。

在搭配 IPv6 使用 DynamoDB 之前，您必須更新用於 IP 地址篩選的 IAM 使用者角色或資源型政策，以包含 IPv6 地址範圍。未考慮 IPv6 地址的 IP 地址篩選政策可能會導致存取問題。如需詳細資訊，請參閱 *AWS Identity and Access Management 指南*中的 [IP 地址條件運算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_IPAddress)一節。