# Amazon S3 バケットへの Bulk Export の使用 Treasure Data の Bulk Export 機能を使用すると、データを Amazon S3 バケットにダンプできます。 * [前提条件](#prerequisites) * [制限事項](#limitations) * [Amazon S3 バケットへのデータのエクスポート](#exporting-your-data-to-an-amazon-s3-bucket) * [例](#examples) ## 前提条件 * [TD Toolbelt](https://toolbelt.treasuredata.com/) を含む Treasure Data の基本的な知識。 * Amazon AWS アカウントと Amazon S3 バケット。 * この機能には、オブジェクト操作のための Amazon S3 パーミッションが必要です * s3:PutObject * s3:GetBucketLocation ## 制限事項 * 1 つのリージョンのデータを別のリージョンにエクスポートすることはできません。 * Bulk Export コマンドは、エクスポートされたデータのパーティション化をサポートしなくなりました。これは、要件を満たすには遅すぎたエクスポートの速度を最適化するためです。パーティション化が必要な場合は、このコマンドを使用して一度に 1 時間のセグメントをエクスポートすることをお勧めします – プロセスをスクリプトで自動化します。 * float 型の列のエクスポートはサポートされていません。スキーマに float 型の列を含むテーブルエクスポートジョブを実行しようとすると、次のエラーメッセージが表示される場合があります: `invalid schema: unexpected type: float. 回避策として、テーブルのスキーマを手動で double に変更してください。 ` * Policy-based Permission 機能を使用する場合、Bulk Export 機能はデフォルトで無効になっています。これは、Bulk Export 機能がポリシーベースの権限で設定された制限をサポートしていないためです。この制限を受け入れて PBP 機能を有効にしたい場合は、サポートにお問い合わせください。 * Bulk Export 機能は、以下のリージョンに制限されています: | 利用ユーザー | コード | リージョン名 | | --- | --- | --- | | US Region | us-east-1 | US East (N. Virginia) S3 bucket | | Tokyo Region | ap-northeast-1 | Asia Pacific (Tokyo) S3 bucket | | Europe Region | eu-central-1 | EU (Frankfurt) S3 bucket | | Korea | ap-northeast-2 | Asia Pacific (Seoul) S3 bucket | ## Amazon S3 バケットへのデータのエクスポート **jsonl.gz または tsv.gz フォーマットの使用を強くお勧めします**。これは、特定のパフォーマンス最適化のためです。 ダンプは MapReduce ジョブを通じて実行されます。バケットの場所は、AWS パブリックおよびプライベートアクセスキーが埋め込まれた S3 パスとして表現されます。 `td table:export` コマンドは、Treasure Data にアップロードされたすべてのデータを Amazon S3 バケットにダンプします。 1. TD Toolbelt がインストールされているマシンから、コマンドラインターミナルを開きます。 2. オプションで、次の構文を使用して、td table:export コマンドの最新の使用情報を検証します。 ```bash td table:export -help ``` 1. Bulk Export コマンドを使用して Bulk Export を開始します。データをダンプするデータベースとテーブルを指定します。 ```bash td table:export ``` 1. オプションで、使用したいオプションの値を入力します。たとえば、オプションは次のとおりです: | オプション | 説明 | | --- | --- | | -w, --wait | ジョブが完了するまで待機 | | -f, --from TIME | TIME と同じかそれより新しいデータをエクスポート | | -t, --to TIME | TIME より古いデータをエクスポート | | -b, --s3-bucket NAME | 宛先 S3 バケットの名前 (必須) | | -p, --prefix PATH | S3 上のファイルのパスプレフィックス | | -k, --aws-key-id KEY_ID | データをエクスポートするための AWS アクセスキー ID (必須) | | -s, --aws-secret-key SECRET_KEY | データをエクスポートするための AWS シークレットアクセスキー (必須) | | -F, --file-format FILE_FORMAT | エクスポートされたデータのファイルフォーマット。利用可能なフォーマットは、tsv.gz (1 行あたりタブ区切り値) および jsonl.gz (1 行あたり JSON レコード) です。json.gz および line-json.gz フォーマットはデフォルトで、後方互換性のためにまだ利用可能ですが、パフォーマンスが低いため、このオプションの使用は推奨されません。 | | -O, --pool-name NAME | 名前でリソースプールを指定 | | -e, --encryption ENCRYPT_METHOD | ENCRYPT_METHOD でサーバーサイド暗号化を使用してエクスポート | | -a --assume-role ASSUME_ROLE_ARN | ロール arn として ASSUME_ROLE_ARN で assume role を使用してエクスポート | Amazon Resource Names (ARN) は、AWS リソースを一意に識別します。 ### 例 シンプルな Bulk Export 構文は次のようになります: ```bash td table:export example_db table1 \ --s3-bucket mybucket \ -k KEY_ID \ -s SECRET_KEY ``` 一般的な Bulk Export 構文には、次のオプションが含まれます: ```bash td table:export \ --s3-bucket \ --prefix \ --aws-key-id \ --aws-secret-key \ --file-format jsonl.gz ``` 関連項目: * [TD Table Export Command Reference](/tools/cli-and-sdks/td-table-export-command-reference) * [Bulk Export Server-Side Encryption Support](/products/customer-data-platform/integration-hub/batch/export/bulk-export-server-side-encryption-support)