Mac 用 Amazon DynamoDB GUI
キーやインデックスでテーブルを閲覧し、各読み取りの消費容量を確認。型を失わず項目を編集し、エディタで PartiQL や DynamoDB API リクエストを実行できます。
Mac で使用可能初めて Amazon DynamoDB を選ぶとドライバーをダウンロード


概要
- クエリ言語
- PartiQL
- ドライバー
- 初回使用時にダウンロード
- 接続方法
- サービスの API
- iPhone と iPad
- 開けない
接続
Auth Method と AWS Region を選ぶと、その地域のテーブルをサイドバーに表示します。方式は任意のセッショントークン付きアクセスキー、AWS CLI と同様に ~/.aws/config と ~/.aws/credentials から読むプロファイル、または期限切れ時にログインを求める AWS IAM Identity Center プロファイルです。
プロファイルは credential_process ヘルパーと role_arn チェーンを解決し、期限切れの一時認証情報を再取得してリクエストを一回再試行します。すべて HTTPS と Signature Version 4 で署名するため、SSL 設定や SSH トンネルはありません。中国や European Sovereign Cloud など別の AWS パーティションも独自のエンドポイントに接続し、カスタム指定は不要です。
DynamoDB Local は docker run -p 8000:8000 amazon/dynamodb-local を実行し、DynamoDB Local (no credentials) を選びます。ポート 8000 は Custom Endpoint を空欄にします。カスタムエンドポイントの平文 HTTP はこの Mac 上でのみ許可します。設定ガイドに 各作業に必要な IAM アクション (英語) を載せています。
項目の読み取り、絞り込みと編集
テーブルを開く、絞り込む、ページを送る操作は一つのプランナーを使います。パーティションキーを = で指定するとそのパーティションの Query、インデックスのキーに合うフィルターはそのインデックスの Query、それ以外はテーブル全体を読み各項目分の料金がかかる Scan です。ステータスバーは選んだ読み取り、返った件数、取得のために読んだ件数と消費した読み取り容量ユニットを表示します。
ソートキーの フィルター は =、<、<=、>、>=、BETWEEN や STARTS WITH ならキー条件に加えます。それ以外は読み取り後に DynamoDB が適用する FilterExpression になり、行は絞れても料金は下がりません。入れ子属性は address.city や items[0].sku などのパスで絞り込みます。
一つのパーティションの Query でソートキーヘッダーをクリックすると DynamoDB がその順で返します。それ以外のソートはすべての一致項目を読めた場合グリッドで行い、揃わない場合はステータスバーで知らせます。次のページは前の終了位置から続きます。グリッド下の総件数は DynamoDB 自身の件数で、Count Exactly はフィルターに合う全項目を読み、その分すべて課金されます。
テーブルはキーだけを宣言するため、カラムは項目から取ります。キー属性、先頭項目のサンプルで見つかった属性と表示中ページの属性です。map、list と set は JSON で表示して JSON エディタで開き、数値はすべての桁を保持します。
変更した各行は一つの PartiQL 文で保存し、すべての値は型を保ちます。Number は Number、02134 などの String は String、JSON で編集した String Set は String Set です。更新は変更する各属性をグリッドが読んだ値と照合し、他の人の変更を上書きせず失敗します。Set NULL は属性を削除します。
エディタは名前を二重引用符、文字列を単一引用符で囲む PartiQL、または Query、BatchWriteItem、TransactWriteItems などの DynamoDB アクション名と JSON リクエストを受け付けます。他のアクション名は拒否します。項目はグリッド、その他の応答は JSON で表示します。制限されたリクエストはバックオフで再試行し、⌘. は実行中の文を停止します。
テーブルとインデックス
New Table… はパーティション・ソートキー、オンデマンドかプロビジョンド容量、テーブルクラス、削除保護とセカンダリインデックスのフォームを開き、Preview は送信前の CreateTable を表示します。ローカルセカンダリインデックスはテーブル作成時のここでのみ定義できます。
Structure タブはグローバルセカンダリインデックスを追加・削除します。DynamoDB が UpdateTable 一回につき一つだけ許可するため、保存ごとに一つ変更します。属性はここでは編集せず、項目に書けばカラムになります。DDL タブは Time to Live と point-in-time recovery を含む、再作成用 CreateTable を表示します。
テーブル設定
テーブルを右クリックして Maintenance を選ぶと、point-in-time recovery、削除保護、stream、テーブルクラス、オンデマンド容量への切り替えと Time to Live の無効化を設定できます。テーブル削除は DeleteTable を送り、削除保護が有効なら失敗します。
データの移動
DynamoDB のインポートはありません。エディタの PartiQL INSERT や BatchWriteItem で項目を書き、後者は未処理項目を再送して書けなかったものを報告します。Export ダイアログからテーブルや結果をファイルに エクスポート できます。
iPhone と iPad
iPhone と iPad アプリには Amazon DynamoDB ドライバーがありません。Mac から同期した Amazon DynamoDB 接続は一覧に表示しますが、開けません。
制限
- 各接続は 1 つのリージョンの 1 つの AWS アカウントを対象とします。
- DAX エンドポイントは非対応で、Truncate も提供しません。
Amazon DynamoDB に関する質問
読み取りでテーブル全体をスキャンしないようにするには?
パーティションキーを = で絞るか、グローバルインデックスのパーティションキーと各ソートキーを絞ると Query になります。グローバルインデックスの閲覧は全属性を投影するものだけなので、keys-only はエディタで IndexName を指定した Query を実行します。
項目のキーを変更するには?
キー属性はその場で編集できません。キー以外の全属性をコピーする Duplicate Row を使い、新しいキーを入れて保存してから元の行を削除します。
グリッド編集は一つのトランザクションで保存しますか?
いいえ。変更した各行を個別に書きます。同時に成功させる必要のある書き込みはエディタの ExecuteTransaction や TransactWriteItems にまとめます。
TablePro を入手
macOS 13 Ventura 以降 が必要です