エクスポート

DynoTable はクエリ結果を CSVJSONNDJSON にエクスポートします — 選択した 1 行から、フィルター済みの結果セット全体までです。大きな エクスポートはバックグラウンドで実行され、タブを切り替えても、プロファイルを 変えても、アプリをリロードしても続行します。

⌘⇧E でエクスポートダイアログを開くか、タブツールバーのエクスポート ボタンを使います。

DynoTable の DynamoDB エクスポートダイアログ:出力形式、エクスポートする行の範囲、出力先。
DynoTable の DynamoDB エクスポートダイアログ:出力形式、エクスポートする行の範囲、出力先。

形式

  • CSV — アイテム 1 件につき 1 行、ヘッダー付き。Set はセル内で JSON 配列 としてシリアライズされます(セットのセマンティクスは失われますが、 スプレッドシートで読みやすくなります)。
  • JSON — アイテムの JSON 配列。
  • NDJSON — 改行区切りの JSON、1 行に 1 アイテム。他のツールへ ストリーミングするのに最適です。

JSON と NDJSON には 2 つのバリアントがあります:

  • アンマーシャル済み — 素の、読みやすい JSON("count": 3)。
  • Marshalled (DynamoDB-JSON) — 型でラップされたワイヤ形式。ロスレスな ラウンドトリップが必要なときに使います — 素のバリアントが壊してしまう大きな 数値(> 2⁵³)を保持します。全マッチ範囲でのみ利用できます。

範囲

  • 現在読み込み済み — グリッドに現在読み込まれている行。
  • 選択範囲 — 選択した行のみ。
  • フィルター完全一致フィルター/クエリに一致するすべての アイテムを、(読み込み済みのものだけでなく)DynamoDB から直接ストリーミング します。全件一致の大きなエクスポートは、すべてのアイテムについて読み取りキャパシティが 課金されます — us-east-1 のオンデマンドでは、4 KB のアイテムは強力な整合性の読み取りで およそ 1 RCU です。数百万行をストリーミングする前に、 料金計算ツールでコストの見当をつけてください。

結果はクリップボードに送るか、ファイルに保存します。クリップボードは 現在読み込み済み選択範囲 の範囲でのみ利用できます。フィルター完全一致 は 常にファイルに書き込みます。

Smart TableWorkbench の結果は フィルター完全一致としてのみエクスポートでき、marshalled のバリアントは Smart Table、 Workbench、PartiQL の結果には提供されません。これらのエクスポートの実行には、クエリ そのものの実行と同様に、有効なライセンスまたはトライアルが必要です。

リネームした列

タブで列をリネームした場合 — あるいはリレーションシップラベル付きの Smart Tableをエクスポートする場合 — リネームした名前が エクスポートに反映されます。CSV ヘッダーと JSON / NDJSON のキーにあなたの ラベルが使われますが、内部のデータ参照には影響しません。(marshalled な DynamoDB-JSON バリアントは、ラウンドトリップの整合性のために元の属性名を 保持します。)

バックグラウンドエクスポート

大きなテーブルの全マッチエクスポートには時間がかかることがあります。バイトが 流れ始めると、ダイアログが閉じてエクスポートが切り離されます — サイドバー 下部のアクティビティパネルにライブの進捗とともに表示され、タブを閉じても、 プロファイルを切り替えても、アプリをリロード(⌘R)しても続きます。

  • アクティビティパネルから進捗を確認したり、キャンセルしたりできます。
  • 完了したエクスポートはトーストを表示します。クリックするとファイルが 表示されます。
  • キャンセルされたエクスポートは静かに終わります。失敗したものはエラー メッセージと 閉じる ボタンとともに残ります — エクスポートを再実行して やり直してください。

コードとしてエクスポート

ビジュアルフィルターで組み立てたクエリは、プログラムとして DynoTable の外へ 持ち出せます。テーブルタブの Visual モードでタブツールバーの コードとしてエクスポートを選ぶと、DynoTable はいま実行したそのままのリクエスト — インデックス、キー条件、フィルター式、式の属性名と属性値 — を、選んだターゲット 向けのすぐに実行できるコードに変換します:

  • JavaScript / TypeScript — SDK v3(QueryCommand / ScanCommand)、 DocumentClient、DynamoDB Toolbox のプログラム。
  • AWS CLIaws dynamodb query または scan コマンド。
  • Python — boto3。
  • JavaGo.NETRustKotlinPHPRuby — 各 SDK が 期待する型付きの AttributeValue の形。
  • PartiQL — 同等の SELECT ステートメント。

ページネーションをオンにすると、結果セットを使い切るまで LastEvaluatedKey を たどるループでリクエストが包まれます。単一ページで済ませるならオフのままにします。

DynoTable の「コードとしてエクスポート」ダイアログ: ビジュアルな DynamoDB クエリを実行可能な boto3 プログラムとしてレンダリングしたもの。ターゲットセレクターとページネーションのトグル付き。
DynoTable の「コードとしてエクスポート」ダイアログ: ビジュアルな DynamoDB クエリを実行可能な boto3 プログラムとしてレンダリングしたもの。ターゲットセレクターとページネーションのトグル付き。

このコードは、このサイトのクエリビルダーを支えるのと 同じオープンソースのエミッターから生成されるので、ターゲットが表現できない リクエストは、正しそうに見えて実は正しくないコードとしてレンダリングされるのでは なく、その旨が報告されます。

コードとしてエクスポートが対象とするのは、テーブルタブのビジュアルなクエリまたは スキャンです。Smart TableWorkbenchの クエリ、PartiQL ステートメントには、エクスポートすべき単一の DynamoDB リクエストが存在しないため、そこではこのアクションは提供されません。

クイックコピー

一度きりの取得には、行(または選択)を右クリックして形式を選んでコピー…を使い、 ダイアログなしで CSV、JSON、NDJSON、DynamoDB-JSON をそのままクリップボードに 載せます。

AI チャットからエクスポートを開始することもできます — テーブルや クエリのエクスポートを依頼すると、同じエンジンを通じてダウンロード可能な ファイルを生成します。

更新日