0
Redshift Copy CommandをSQLスクリプトで使用しようとしていますが、アクセスキーとシークレットキーをシェル変数に渡す必要があります。 Redshift Copy Commandのフォーマットのために、私はシェル変数を渡すことができません。アクセスキーとシークレットキーシェル変数をRedshift Copyコマンドに渡す方法
COPY ${REDSHIFT_SCHEMA_NAME}.${REDSHIFT_TABLE_NAME} FROM ${S3_SOURCE} credentials 'aws_access_key_id=${AWS_ACCESS_KEY_ID};aws_secret_access_key=${AWS_SECRET_ACCESS_KEY}' delimiter '${DELIMITER}' COMPUPDATE OFF STATUPDATE OFF;
私が直面しています問題はAWS_SECRET_ACCESS_KEYであり、それらの両方が1つの引用符「」であるようAWS_ACCESS_KEY_IDは解決しません。コピーコマンドのフォーマットが不正になり
COPY ${REDSHIFT_SCHEMA_NAME}.${REDSHIFT_TABLE_NAME_BACKLOG} FROM ${S3_SOURCE} credentials aws_access_key_id='${AWS_ACCESS_KEY_ID}';aws_secret_access_key='${AWS_SECRET_ACCESS_KEY}' delimiter '${DELIMITER}' COMPUPDATE OFF STATUPDATE OFF;
などのコマンドを使用してオン
。 他の解決策はありますか?
は、スクリプトファイルにシェル変数の置換である彼らは直接bashの – Freeman
上でそれらを使用する上で解決するのに対し、変数は、スクリプトファイルには解決しない、あなたは多分全体シェルSCRIを提供することができpt? –
プロパティとして入力ファイルとスクリプトファイルを入力し、SQLクエリを実行するJavaコードがあります。変数をプロパティファイルに渡すことができます。 aws_access_key_id = $ {AWS_ACCESS_KEY_ID}; aws_secret_access_key = $ {AWS_SECRET_ACCESS_KEY} 'は一意引用符で囲まれており、変数はプロパティファイルから解決できません。 – Freeman