AWS Command-Line Interface (CLI)は、AWSサービスの制御(Amazon Redshiftデータベースの起動、セキュリティ設定の変更など)に使用されるため、このユースケースには関係ありません。 Amazon Redshiftとの間でデータをインポート/エクスポートするコマンドは、SQL経由でRedshiftに直接発行する必要があります。他の地域のアマゾン赤方偏移のインスタンスにいくつかのテーブルをコピーするには
:
COPY
commandでクラスタを使用し
- のAmazon S3バケットに赤方偏移からデータをエクスポートするためにA
UNLOAD
commandでクラスタを使用しますBを使用して、S3からRedshiftにデータをロードし、REGION
パラメータを使用してソース領域を指定します。
したがって、各クラスタに別々のSQL接続が必要です。 でRedshiftに接続できるプログラムであれば十分でしょう。たとえば、標準psql
ツール(バージョン8.0.2が望ましい)は、RedshiftがPostgreSQL 8.0.2に基づいているため、使用できます。
参照:Connect to Your Cluster by Using the psql Tool
だから、あなたのスクリプトのようなものになります:
psql -h clusterA -U username -d mydatabase -c 'UNLOAD...'
psql -h clusterB -U username -d mydatabase -c 'COPY...'
あなたはAWSラムダからこれを実行することができますが、ラムダ関数は、わずか5分の最大値、およびスクリプトのために実行その制限を超える可能性があります。代わりに、一部のマシンで通常のcron
ジョブを実行できます。
CLIは関連していないと言いましたが、まだ使用できる場合はCLIを使用してその方法を教えてください。 –
AWS CLIを使用してデータをRedshiftにインポート/エクスポートすることはできません。これは、AWS CLIに発行されるコマンドにのみ使用されます。 AWS CLIを使用してEC2インスタンスを起動することもできますが、インスタンス内で*ソフトウェアを使用する場合は、アプリケーションと直接通信する必要があります。レッドシフトと同じです。 –