# tRedshiftOutputBulk

tRedshiftBulkExecがAmazon Redshiftにフィードするために利用できる区切り付き/CSVファイルを準備します。

コンポーネントtRedshiftOutputBulkおよびtRedshiftBulkExecを2ステップのプロセスで一緒に使用して、データをAmazon S3の区切り付き/CSVファイルからAmazon Redshiftにロードできます。最初のステップで、区切り付き/CSVファイルが生成されます。2番目のステップでは、Amazon Redshiftをフィードするために使用するINSERTステートメント内で、このファイルを使用します。これら2つのステップは、tRedshiftOutputBulkExecコンポーネント内で融合しています。2つの別々のステップを使用する利点は、Amazon Redshiftにロードする前にデータを変換できることです。

このコンポーネントは、前のコンポーネントからデータを受け取り、単一の区切り付き/CSV ファイルを生成し、そのファイルをAmazon S3にアップロードします。

## tRedshiftOutputBulkの標準プロパティ

これらのプロパティは、標準のジョブのフレームワークで実行されているtRedshiftOutputBulkを設定するために使われます。

標準のtRedshiftOutputBulkコンポーネントは、Cloudファミリーとデータベースファミリーに属しています。

このフレームワーク内のコンポーネントは、すべてのTalend製品で利用できます。

情報メモ注: このコンポーネントは、動的データベースコネクターの特定のバージョンです。データベース設定に関連するプロパティは、データベースタイプの選択に応じて異なります。動的データベースコネクターについては、[DB Genericコンポーネント](https://help.qlik.com/talend/r/ja-JP/8.0/components/db-generic/db-generic-component)をご覧ください。

## 基本設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| データベース | 目的のデータベースタイプをリストから選択し、[Apply] (適用)をクリックします。 |
| [Data file path at local] (ローカルデータファイルパス) | 生成するファイルへのローカルパスを指定します。<br><br>このファイルは、Talend Studioがインストールされているか、またはこのコンポーネントを使っているジョブがデプロイされているのと同じマシンに生成されます。 |
| [Schema] (スキーマ)と[Edit schema] (スキーマを編集) | スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。<br><br>[Built-in] (組み込み): そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。<br><br>[Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。<br><br>スキーマを変更するには[Edit schema] (スキーマを編集)をクリックします。現在のスキーマがリポジトリータイプの場合は、3つのオプションを利用できます。<br><br><ul> <li> <p> <span>[View schema] (スキーマを表示)</span>: スキーマのみを表示する場合は、このオプションを選択します。</p> </li> <li> <p> <span>[Change to built-in property] (組み込みのプロパティに変更)</span>: ローカルで変更を行うためにスキーマを<span>組み込み</span>に変更する場合は、このオプションを選択します。</p> </li> <li> <p> <span>[Update repository connection] (リポジトリー接続をアップデート)</span>: リポジトリーに保存されているスキーマに変更を加え、変更後にそのコンテンツをすべてのジョブにプロパゲートするかどうかを決める場合は、このオプションを選択します。</p> <p>変更を現在のジョブにのみ反映する場合は、変更後、<span>[No] (いいえ)</span>を選択し、<span>[Repository Content] (リポジトリーコンテンツ)</span>ウィンドウで再びこのスキーマのメタデータを選択します。</p> </li> </ul> |
| [Compress the data file] (データファイルを圧縮) | このチェックボックスをオンにして、表示されたリストから圧縮タイプを選択し、データファイルを圧縮します。<br><br>[Append the local file] (ローカルファイルの追加)チェックボックスをオンにすると、このフィールドは表示されなくなります。 |
| [Encrypt] (暗号化) | データファイルを生成し、クライアント側の暗号化を使ってAmazon S3にアップロードするには、このチェックボックスをオンにします。[Encryption key] (暗号化キー)フィールドが表示されたら、ファイルの暗号化に使う暗号化キーを入力します。<br><br>デフォルトでは、このチェックボックスはオフになっており、データファイルはサーバー側の暗号化を使ってAmazon S3にアップロードされます。<br><br>情報メモ注: このオプションは、[Use an existing S3 connection] (既存のS3接続を使用)が選択されていない場合に利用できます。<br><br>クライアント側とサーバー側の暗号化については、[暗号化を使用したデータの保護](https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/UsingEncryption.html)をご覧ください。 |
| [Use an existing S3 connection] (既存のS3接続を使用) | 定義済みの接続の詳細を再利用する場合は、このチェックボックスをオンにして、[Component List] (コンポーネントリスト)ドロップダウンリストから、目的の接続コンポーネントを選択します。 |
| [Credential Provider] (認証情報プロバイダー) | AWSセキュリティ認識情報を取得する方法([Static credentials] (静的認証情報)または[Inherit credentials from AWS role] (AWSロールから認証情報を継承))を指定します。<br><br><ul> <li><span>[Static credentials] (静的認証情報)</span>: <span>access key</span>と<span>secret key</span>をAWSセキュリティ認証情報として使用します。</li> <li><span>Inherit credentials from AWS role</span>: EMRインスタンスメタデータからAWSセキュリティ認証情報を取得します。このオプションを使用するには、Amazon EMRクラスターを開始する必要があり、このクラスターでジョブを実行する必要があります。詳細は、<a href="http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html" target="_blank">Using an IAM Role to Grant Permissions to Applications Running on Amazon EC2 Instances</a>をご覧ください。このオプションを使用すると、ジョブにAWSキーを配置せずにジョブを開発できるため、組織のセキュリティポリシーに簡単に準拠できます。</li> </ul> |
| [Access Key] (アクセスキー) | AWSアカウントを一意に識別するアクセスキーIDを指定します。アクセスキーとアクセスシークレットを取得する方法は、[Getting Your AWS Access Keys](https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/get-aws-keys.html)をご覧ください。<br><br>情報メモ注: このオプションは、[Use existing S3 connection] (既存のS3接続を使用)または[Inherit credentials from AWS role] (AWSロールから認証情報を継承)が選択されていない場合に[Credential provider] (認証情報プロバイダー)ドロップダウンリストで利用できます。 |
| [Secret Key] (シークレットキー) | シークレットアクセスキーを指定します。シークレットアクセスキーは、アクセスキーと組み合わせてセキュリティ認証情報を構成します。<br><br>シークレットキーを入力するには、シークレットキーフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにシークレットキーを二重引用符の間に入力し、[OK] をクリックして設定を保存します。<br><br>情報メモ注: このオプションは、[Use existing S3 connection] (既存のS3接続を使用)または[Inherit credentials from AWS role] (AWSロールから認証情報を継承)が選択されていない場合に[Credential provider] (認証情報プロバイダー)ドロップダウンリストで利用できます。 |
| [Assume Role] (ロールを引き受け) | AWS IAMロールに関連付けられており、自分のユーザーアカウントに付与されていないアクセス権限を一時的に必要とする場合は、このチェックボックスをオンにすればそのロールを引き受けることができます。その後、次のパラメーターの値を指定して、新しく引き受けたロールセッションを作成します。<br><br>このロールに関連付けられている信頼ポリシーによって、自分のユーザーアカウントにそのロールへのアクセスが付与されていることをご確認ください。不明であれば、そのロールの所有者かAWS管理者にお問い合わせください。<br><br>情報メモ注: このオプションは、[Use an existing S3 connection] (既存のS3接続を使用)が選択されていない場合に利用できます。<br><br><ul> <li><p><span>ARN</span>: 引き受けるロールのARN (Amazonリソース名)。このARN名は、AWSポータルで使用するロールの<span>[Summary] (概要)</span>ページで見つかります。このロールARNの形式は、たとえば<kbd>am:aws:iam::[aws_account_number]:role/[role_name]</kbd>となります。 </p><span>[Role session name] (ロールセッション名)</span>: 引き受けたロールセッションの一意識別に使用する名前を入力します。この名前には英字(大文字と小文字の両方)と数字を利用できますが、スペースを含めることはできません。また、アンダースコア( _ )の他、= , . @ - も使用できます。 </li> <li> <p><span>[Session duration (minutes)] (セッション処理時間(分))</span>: 引き受けたロールセッションをアクティブにする期間(分)。この期間をAWS管理者が設定した最大期間より長くすることはできません。値を指定しない場合、持続時間は3600秒がデフォルトとなります。 </p> </li> </ul><br><br><br>IAMロールと関連するポリシータイプの例については、AWSドキュメンテーションで[\[Create and Manage AWS IAM Roles\] (AWS IAMロールの作成と管理)](https://aws.amazon.com/blogs/security/now-create-and-manage-aws-iam-roles-more-easily-with-the-updated-iam-console/)をご覧ください。 |
| [Region] (リージョン) | リージョン名を選択するか、二重引用符で囲んで(*"us-east-1"*など)、AWSリージョンを指定します。AWSリージョンの詳細の詳細は、[Regions and Endpoints](http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)をご覧ください。<br><br>情報メモ注: このオプションは、[Use an existing S3 connection] (既存のS3接続を使用)が選択されていない場合に利用できます。 |
| [Bucket] (バケット) | ファイルのアップロード先のAmazon S3バケットの名前、つまり最上位のフォルダーを入力します。<br><br>使用するバケットとRedshiftデータベースは、Amazon上の同じリージョンに存在している必要があります。これにより、Amazonで既知のS3ServiceExceptionエラーが回避できる可能性があります。これらのエラーについては、[S3ServiceExceptionエラー](https://docs.aws.amazon.com/redshift/latest/dg/s3serviceexception-error.html)をご覧ください。 |
| [Key] (キー) | Amazon S3にアップロードされたファイルに割り当てるオブジェクトキーを入力します。 |

## 詳細設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| [Field Separator] (フィールド区切り) | フィールドを区切るための文字を入力します。 |
| [Text enclosure] (テキストエンクロージャー) | フィールドが引用符で囲まれているペア内の文字を選択します。 |
| [Delete local file after putting it to s3] (S3へ格納後にローカルファイルを削除) | Amazon S3にアップロードされた後にローカルファイルを削除するには、このチェックボックスをオンにします。デフォルトでは、このチェックボックスはオンです。 |
| [Create directory if not exists] (ディレクトリーがない場合はディレクトリーを作成) | [Data file path at local] (ローカルデータファイルパス)フィールドで指定したディレクトリーが存在しない場合は、このチェックボックスをオンにして、指定したディレクトリーを作成します。デフォルトでは、このチェックボックスはオンです。 |
| [Encoding] (エンコーディング) | 生成するファイル内のデータのエンコーディングタイプを選択します。 |
| [Config client] (クライアント設定) | このチェックボックスをオンにすると、Amazon S3のクライアントパラメーターを設定できます。表示されたテーブルの下の[+]ボタンをクリックして、必要な数の行をクライアントパラメーターとして追加し、各パラメーターに以下の属性を設定するために使われます。<br><br><ul> <li> <p> <span>[Client Parameter] (クライアントパラメーター)</span>: セルをクリックし、ドロップダウンリストからパラメーターを選択します。</p> </li> <li> <p> <span>[Value] (値)</span>: 対応するクライアントパラメーターの値を入力します。</p> </li> </ul><br><br>S3クライアントパラメーターの詳細は、[クライアント側の設定](https://docs.aws.amazon.com/ja_jp/sdk-for-java/v1/developer-guide/section-client-configuration.html)をご覧ください。 |
| [STS Endpoint] (STSエンドポイント) | このチェックボックスをオンにして、表示されたフィールドで、セッション認証情報の取得先とするAWS Security Token Service(STS)のエンドポイントを指定します。たとえばsts.amazonaws.comと入力します。<br><br>このチェックボックスは、[Assume role] (ロールを引き受け)チェックボックスが選択されている場合にのみ使用できます。 |
| [Signing region] (サインインリージョン) | STSサービスのAWSリージョンを選択します。リストにリージョンがない場合は、リージョン名を二重引用付きで入力します。デフォルト値はus-east-1です。<br><br>このドロップダウンリストは、[Assume role] (ロールを引き受け)チェックボックスが選択されている場合にのみ使用できます。 |
| [External ID] (外部ID) | ロールの持ち主であるアカウントの管理者から外部IDを提供されている場合は、その値をここに入力します。[External Id] (外部ID)は、一定数のユーザーがロールを引き受けられるようにする一意の識別子です。<br><br>このフィールドは、[Assume role] (ロールを引き受け)チェックボックスが選択されている場合にのみ使用できます。 |
| [Serial number] (シリアル番号) | ロールを引き受けた場合、そのロールの信頼ポリシーで多エレメント認証(MFA)が必要になることがあります。その際は、ロールを引き受けるユーザーに関連付けられているハードウェアや仮想MFAデバイスの識別番号を指定する必要があります。<br><br>このフィールドは、[Assume role] (ロールを引き受け)チェックボックスが選択されている場合にのみ使用できます。 |
| [Token code] (トークンコード) | ロールを引き受けた場合、そのロールの信頼ポリシーで多エレメント認証(MFA)が必要になることがあります。その際は、トークンコードを指定する必要があります。このトークンコードは、MFAデバイスによって生成される時間ベースのワンタイムパスワードです。<br><br>このフィールドは、[Assume role] (ロールを引き受け)チェックボックスが選択されている場合にのみ使用できます。 |
| [Tags] (タグ) | キー-値ペアという形式でセッションタグをリスト表示します。ポリシーでこれらのセッションタグを使えば、リクエストへのアクセスを許可したり拒否したりできます。<br><br>[Transitive] (推移的): このチェックボックスをオンにすると、タグがロールチェーンの次のロールまで存続することが示されます。<br><br>タグの詳細は、 [AWS STSでのセッションタグの受け渡し](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_role-chaining)をご覧ください。<br><br>このフィールドは、[Assume role] (ロールを引き受け)チェックボックスが選択されている場合にのみ使用できます。 |
| [IAM policy ARNs] (IAMポリシーARN) | マネージドセッションポリシーとして使うIAMマネージドポリシーのAmazon Resource Names(ARN)を入力します。マネージドセッションポリシーを使ってセッションの権限を制限します。このポリシーはロールと同じアカウントに存在することが必要です。結果として得られるセッションの権限は、そのロールのIDベースのポリシーとセッションポリシーの中間となります。<br><br>セッションポリシーの詳細は、[ポリシーとアクセス許可](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/access_policies.html)で該当するセクションをご覧ください。<br><br>このフィールドは、[Assume role] (ロールを引き受け)チェックボックスが選択されている場合にのみ使用できます。 |
| [Policy] (ポリシー) | セッションポリシーとして使うIAMポリシーをJSON形式で入力します。セッションポリシーを使ってセッションの権限を制限します。結果として得られるセッションの権限は、そのロールのIDベースのポリシーとセッションポリシーの中間となります。<br><br>セッションポリシーの詳細は、[ポリシーとアクセス許可](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/access_policies.html)で該当するセクションをご覧ください。<br><br>このフィールドは、[Assume role] (ロールを引き受け)チェックボックスが選択されている場合にのみ使用できます。 |
| [tStatCatcher Statistics] (tStatCatcher統計) | このチェックボックスをオンにすると、ジョブレベルおよび各コンポーネントレベルでジョブ処理メタデータが収集されます。 |

## [Global Variables] (グローバル変数)

| 変数 | 説明 |
| --- | --- |
| グローバル変数 | NB\_LINE: 処理された行の数。これはAfter変数で、整数を返します。<br><br>ERROR\_MESSAGE: エラーが発生した時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。この変数はコンポーネントにこのチェックボックスが存在し、[Die on error] (エラー発生時に強制終了)がオフになっている場合のみ機能します。<br><br>Flow変数はコンポーネントの実行中に機能し、After変数はコンポーネントの実行後に機能します。<br><br>フィールドまたは式に変数を入力する場合は、Ctrl + スペースを押して変数リストにアクセスし、使用する変数を選択します。<br><br>変数の詳細は、[コンテキストと変数を使用](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/contexts-and-variables)をご覧ください。 |

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| **使用ルール** | このコンポーネントは、コンマ区切り/CSVファイルでAmazon Redshiftにフィードするために、一般にtRedshiftBulkExecと共に使います。一緒に使うと、Amazon Redshiftをフィードする時にパフォーマンスが向上します。 |

**関連概念**

* [Amazon S3との間でデータをロード/アンロード](https://help.qlik.com/talend/ja-JP/components/8.0/amazon-redshift/tredshiftinput-tredshiftbulkexec-ts3get-loading-unloading-data-to-from-amazon-s3-standard-component-this)