# tAmazonAuroraOutput

Amazon Auroraデータベースでのエントリーの書き込み、更新、変更、抑制を行います。

tAmazonAuroraOutputは、ジョブ内の先行するコンポーネントからのフローをベースに、テーブルで、またはテーブルに含まれているデータで定義されているアクションを実行します。

## tAmazonAuroraOutputの標準プロパティ

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

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

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

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

## 基本設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| データベース | 目的のデータベースタイプをリストから選択し、[Apply] (適用)をクリックします。 |
| プロパティタイプ | <ul> <li> <p><span>[Built-in] (組み込み)</span>と<span>[Repository] (リポジトリー)</span>のいずれかです。</p> </li> <li> <p> <span>[Built-In] (組み込み)</span>: 一元的に保存されるプロパティデータはありません。</p> </li> <li> <p> <span>[Repository] (リポジトリー)</span>: プロパティが保管されるリポジトリーファイルを選択します。続くデータベース接続フィールドは、取得されたデータを使用して自動的に入力されます。</p> </li> </ul> |
| [Use an existing connection] (既存の接続を使用) | 定義済みの接続の詳細を再利用する場合は、このチェックボックスをオンにして、[Component List] (コンポーネントリスト)ドロップダウンリストから、目的の接続コンポーネントを選択します。<br><br>情報メモ注: ジョブに親ジョブと子ジョブが含まれている時は、親ジョブと子ジョブの間の既存の接続を共有したい場合(たとえば、親ジョブで作成した接続を子ジョブと共有するなど)には、次のように実行します。<br><br><ol> <li>親レベルで、共有するデータベース接続を、そのデータベース接続そのものを作成する接続コンポーネントの<span>[Basic settings] (基本設定)</span>ビューに登録します。 </li> <li>子レベルで、登録済みのそのデータベース接続を読み取るために専用の接続コンポーネントを使用します。 </li> </ol><br><br>ジョブレベル全体でデータベース接続を共有する方法の例は、[データベース接続を共有](https://help.qlik.com/talend/r/ja-JP/7.3/studio-user-guide/sharing-database-connection)をご覧ください。 |
| [Host] (ホスト) | Amazon AuroraデータベースのIPアドレスまたはホスト名を入力します。 |
| [Port] (ポート) | Amazon Auroraデータベースのリッスンポート番号を入力します。 |
| データベース | 使用するデータベースの名前を入力します。 |
| [Username] (ユーザー名)と[Password] (パスワード) | データベースユーザー認証データを入力します。<br><br>パスワードを入力するためには、パスワードフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符で囲んで入力して[OK]をクリックし、設定を保存します。 |
| [Table] (テーブル) | 書き込むテーブルの名前を入力します。一度に1つのテーブルしか書き込めないことにご注意ください。 |
| [Action on table] (テーブルでのアクション) | 定義済みのテーブルで、次のオペレーションの1つを実行できます。<br><br><ul> <li> <p> <span>[None] (なし)</span>: 操作は行われません。</p> </li> <li> <p> <span>[Drop and create table] (ドロップしてテーブルを作成)</span>: テーブルが削除され、再作成されます。</p> </li> <li> <p> <span>[Create table] (テーブルを作成)</span>: テーブルが存在しないため、作成されます。</p> </li> <li> <p> <span>[Create table if not exists] (テーブルが存在しない場合は作成)</span>: テーブルが存在しない場合は作成されます。</p> </li> <li> <p> <span>[Drop table if exists and create] (テーブルが存在する場合はドロップして作成)</span>: テーブルが既に存在する場合は削除されて再作成されます。</p> </li> <li> <p> <span>[Clear table] (テーブルをクリア)</span>: テーブルのコンテンツが削除されます。</p> </li> <li> <p> <span>[Truncate table] (テーブルを切り詰め)</span>: テーブルのコンテンツがすぐに削除されます。ただし、オペレーションをロールバックすることはできません。</p> </li> </ul> |
| [Action on data] (データでのアクション) | 定義済みテーブルのデータで、次の操作の1つを実行できます。<br><br><ul> <li> <p> <span>[Insert] (挿入)</span>: テーブルに新しいエントリー－が追加されます。重複が見つかると、ジョブは停止します。</p> </li> <li> <p> <span>[Update] (アップデート)</span>: 既存のエントリーが変更されます。</p> </li> <li> <p> <span>[Insert or update] (挿入またはアップデート)</span>: 新しいレコードを挿入します。指定された参照を持つレコードが既に存在する場合は、更新されます。</p> </li> <li> <p> <span>[Update or insert] (アップデートまたは挿入)</span>: 指定された参照を使用してレコードをアップデートします。レコードが存在しない場合は、新しいレコードが挿入されます。</p> </li> <li> <p> <span>[Delete] (削除)</span>: 入力フローに対応するエントリーを削除します。</p> </li> <li> <p> <span>[Replace] (置換)</span>: テーブルに新しいエントリーを追加します。プライマリキーまたはユニークなインデックスで、テーブル内の古い行に新しい行と同じ値のものがある場合は、新しい行が挿入される前に古い行が削除されます。</p> </li> <li> <p> <span>[Insert or update on duplicate key or unique index] (重複キーまたはユニークなインデックスの挿入またはアップデート)</span>: 挿入する値が存在しない場合は、エントリーを追加します。挿入する値が既に存在し、ユニークなインデックスまたはプライマリキーに違反するリスクがある場合は、エントリーをアップデートします。</p> </li> <li> <p> <span>[Insert Ignore]</span>: 重複キーエラーを防ぐために新しい行のみ追加します。</p> </li> </ul><br><br>情報メモ警告:<br><br>*[Update] (アップデート)と[Delete] (削除)操作のベースとなるプライマリキーとして、少なくとも1つのカラムを指定する必要があります。それには、[Edit schema] (スキーマを編集) をクリックし、プライマリキーに指定するカラムの横にあるチェックボックスをオンにします。高度な用途として、[Advanced settings] (詳細設定)ビューをクリックし、アップデートおよび削除オペレーションのプライマリキーを同時に定義することもできます。これを設定するには、以下のようにします:[Use field options] (フィールドオプションの使用)チェックボックスをオンにし、[Key in update column] (アップデートカラムの入力)で、アップデート操作のベースとするカラム名の横にあるチェックボックスをオンにします。削除操作についても、[Key in delete column] (削除カラムのキー)で同じ手順を実行します。*<br><br>ダイナミックスキーマ機能は以下のモードで使用できます: [Insert] (挿入)、[Update] (アップデート)、[Insert or update] (挿入またはアップデート)、[Update or insert] (アップデートまたは挿入)、[Delete] (削除)。 |
| [Schema] (スキーマ)と[Edit schema] (スキーマを編集) | <ul> <li> <p>スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語の<kbd>line</kbd>を避けます。</p> <p>このコンポーネントはダイナミックスキーマ機能の利点を備えているので、ソースファイルから不明なカラムを取得したり、各カラムを個別にマッピングしなくてもソースからカラムを一括してコピーしたりできます。ダイナミックスキーマの詳細は、<a href="https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/dynamic-schema" target="_blank">ダイナミックスキーマ</a>をご覧ください。</p> <p>ダイナミックスキーマ機能は、テーブルの不明なカラムを取得するしくみになっており、その他の目的には使用しないことをお勧めします。テーブルの作成には推奨しません。</p> </li> <li> <p> <span>[Built-in] (組み込み)</span>: そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。</p> </li> <li> <p> <span>[Repository] (リポジトリー)</span>: スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。</p> <p>再使用するスキーマに整数またはファンクションのデフォルト値が指定されている場合は、これらのデフォルト値を引用符で囲まないようにご注意ください。引用符で囲まれている場合は手動で削除します。</p> <p>詳細は、<a href="https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/retrieving-table-schemas?tocId=_C1~eFOlN~GM_JR2qkBYZg" target="_blank">テーブルスキーマを取得</a>をご覧ください。</p> </li> <li> <p>スキーマを変更するには<span>[Edit schema] (スキーマを編集)</span>をクリックします。現在のスキーマが<span>リポジトリー</span>タイプの場合は、3つのオプションを利用できます。</p> <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> </li> </ul> |
| [Specify a data source alias] (データソースエイリアスを指定) | このチェックボックスをオンにし、データソース設定で定義した共有接続プールを使用するために、 *Talend Runtime* 側で作成したデータソースのエイリアスを指定します。このオプションは、 *Talend Runtime* 内にジョブをデプロイして実行する時にのみ機能します。<br><br>このチェックボックスは、[Use an existing connection] (既存の接続を使用)チェックボックスをオンにすると表示されなくなります。 |
| [Data source alias] (データソースエイリアス) | *Talend Runtime* 側に作成されたデータソースのエイリアスを入力します。<br><br>このフィールドは、[Specify a data source alias] (データソースのエイリアスの指定)チェックボックスが選択される場合にのみ表示されます。 |
| [Die on error] (エラー発生時に強制終了) | このチェックボックスは、デフォルトで選択されています。エラーの発生した行をスキップし、エラーが発生していない行の処理を完了するには、このチェックボックスをオフにします。必要に応じて[Row] (行) &gt; [Rejects] (リジェクト)リンクを使用してエラーの発生している行を取得できます。 |

## 詳細設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| [Additional JDBC parameters] (追加のJDBCパラメーター) | 作成するデータベース接続に接続の追加プロパティを指定します。<br><br>[Basic settings] (基本設定]ビューの[Use an existing connection] (既存の接続を使用)チェックボックスをオンにすると、このフィールドは表示されなくなります。<br><br>情報メモ注:<br><br>事前定義済みのグローバル変数のリストにアクセスするには、Ctrl + スペースを押します。 |
| 挿入の拡張 | 行を1つずつ挿入するのでなく、指定した一連の行を一括挿入するには、このチェックボックスをオンにします。システムパフォーマンスが大幅に向上します。<br><br>このチェックボックスは、[Basic settings] (基本設定)ビューの[Action on data] (データでのアクション)リストで[Insert] (挿入)オプションが選択されている場合にのみ使用できます。<br><br>情報メモ注:<br><br>このオプションは[Reject] (リジェクト)リンクと互換性がありません。したがって、このコンポーネントに[Row] (行) &gt; [Rejects] (リジェクト)リンクを使用する場合は、このチェックボックスをオフにする必要があります。 |
| [Number of rows per insert] (挿入あたりの行数) | オペレーションごとに挿入される行数を指定します。指定する値が大きいほどメモリの使用量が増えるため、パフォーマンスがその分低下します。<br><br>このフィールドは、[Extend Insert] (拡張インサート)チェックボックスが選択される場合にのみ表示されます。 |
| [Use Batch] (バッチを使用) | このチェックボックスをオンにして、データ処理のバッチモードを有効にします。<br><br>このチェックボックスは、[Basic settings] (基本設定)ビューの[Action on data] (データでのアクション)リストから[Update] (アップデート)または[Delete] (削除)オプションが選択されている場合にのみ使用できます。 |
| [Batch Size] (バッチサイズ) | 各バッチで処理するレコードの数を指定します。<br><br>このフィールドは、[Use batch mode] (バッチモードを使用)チェックボックスがオンの時のみ利用可能です。 |
| [Commit every] (コミットする間隔) | データベースにコミットされる前にバッチに含める行数を入力します。このオプションにより、トランザクションの質(ただしロールバックは含まない)、特に高いパフォーマンスレベルが保証されます。 |
| 追加のカラム | このオプションにより、SQLファンクションを呼び出してカラムにアクションを実行できます。ただし、挿入、更新、削除のアクションでないこと、事前処理を必要とするアクションでないことが条件です。このオプションは、データベーステーブルを作成したばかりの時は使用できません(事前に削除した場合でも)。テーブルの下の[+]ボタンをクリックしてカラムを追加し、各カラムに次のパラメーターを設定するために使われます。<br><br><ul> <li> <p> <span>[Name] (名前)</span>: 変更または挿入するスキーマカラムの名前を入力します。</p> </li> <li> <p> <span>[SQL expression:] (SQL式)</span>: 対応するカラム内のデータを変更する、またはカラム内にデータを挿入するために実行するSQLステートメントを入力します。</p> </li> <li> <p> <span>[Position] (位置)</span>:参照カラムに対して実行されるアクションに応じて、<span>[Before] (実行前)</span>、 <span>[After] (実行後)</span>または<span>[Replace] (置換)</span>を選択します。</p> </li> <li> <p> <span>[Reference column] (参照カラム)</span>: 新しいカラム、または変更するカラムを探すか、または置換するために<span>tAmazonAuroraOutput</span>使える参照カラムを入力します。</p> </li> </ul> |
| フィールドオプションの使用 | 対応するカラムのリクエストをカスタマイズする場合、特に、データに対して複数のアクションが実行される場合に、このチェックボックスをオンにします。<br><br><ul> <li> <p> <span>[Key in update] (キー入力アップデート)</span>: データのアップデートに基づいて対応するカラムのチェックボックスをオンにします。</p> </li> <li> <p> <span>[Key in delete] (削除の入力)</span>: データ削除の基準とする対応するカラムのチェックボックスをオンにします。</p> </li> <li> <p> <span>[Updatable] (アップデート可能)</span>: 対応するカラムのデータをアップデートできる場合は、チェックボックスをオンにします。</p> </li> <li> <p> <span>挿入可能</span>: 対応する列のデータを挿入できる場合は、チェックボックスをオンにします。</p> </li> </ul> |
| [Use Hint Options] (Hint句を使用) | クエリーの実行を最適化するためのヒントを設定するには、このチェックボックスをオンにします。 |
| [Hint Options] (ヒントオプション) | テーブルの下の[+]ボタンをクリックしてヒントを追加し、各ヒントに次のパラメーターを設定するために使われます。このテーブルは、[Use Hint Options] (ヒントオプションの使用)チェックボックスが選択されている場合にのみ表示されます。<br><br><ul> <li> <p> <span>[HINT] (ヒント)</span>:構文<span>/*+ */</span>を使って、必要とするヒントを指定します。</p> </li> <li> <p> <span>[POSITION] (位置)</span>:SQLステートメントのどこにヒントを置くかを指定します。</p> </li> <li> <p> <span>SQL STMT*</span>: 使用するSQLステートメント<span>[INSERT] (挿入)</span>, <span>[UPDATE] (アップデート)</span>、または<span>[DELETE] (削除)</span>を選択します。</p> </li> </ul> |
| [Debug query mode] (デバッグクエリーモード) | このチェックボックスをオンにすると、データベースのエントリーの処理中に各ステップが表示されます。 |
| [Use duplicate key update mode insert] (重複キーアップデートモードの挿入を使用) | このチェックボックスをオンにしてONDUPLICATE KEY UPDATEモードをアクティブにし[+]表示されたテーブルの下のボタンをクリックして、アップデートするカラムを追加し、対応するカラムで実行するアップデートアクションを指定します。<br><br><ul> <li> <p> <span>[Column] (カラム)</span>: アップデートするカラムの名前を入力します。</p> </li> <li> <p> <span>[Value] (値)</span>:カラムに対して実行するアクションを入力します。</p> </li> </ul><br><br>このチェックボックスは、[Basic settings] (基本設定)ビューの[Action on data] (データでのアクション)リストから[Insert] (挿入)オプションが選択されている場合にのみ有効です。 |
| [tStatCatcher Statistics] (tStatCatcher統計) | このチェックボックスをオンにすると、ジョブレベルおよび各コンポーネントレベルでジョブ処理メタデータが収集されます。 |

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

| 変数 | 説明 |
| --- | --- |
| グローバル変数 | NB\_LINE: 入力コンポーネントによって読み取られた行の数、または出力コンポーネントに転送された行の数。これはAfter変数で、整数を返します。<br><br>NB\_LINE\_UPDATED: アップデートされた行の数。これはAfter変数で、整数を返します。<br><br>NB\_LINE\_INSERTED: 挿入された行の数。これはAfter変数で、整数を返します。<br><br>NB\_LINE\_DELETED: 削除された行の数。これはAfter変数で、整数を返します。<br><br>NB\_LINE\_REJECTED: 拒否された行の数。これは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)をご覧ください。 |

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| **使用ルール** | このコンポーネントは出力コンポーネントとして使用する必要があります。このコンポーネントを使って、Amazon Auroraデータベース内のテーブルまたはテーブルのデータにアクションを実行できます。また、[Row] (行) &gt; [Rejects] (リジェクト)リンクを使って、エラーのあるデータをフィルタリングするリジェクトフローを作成することもできます。同様のシナリオについては、をご覧ください。 |
| [Dynamic settings] (ダイナミック設定) | [+]ボタンをクリックしてテーブルに行を追加し、[Code] (コード)フィールドにコンテキスト変数を入力して、ジョブ内で計画した複数の接続からデータベース接続をダイナミックに選択します。この機能は、データストラクチャーが同じでデータベースが異なるデータベーステーブルにアクセスする必要がある場合、特に、Talend Studioを介さずにジョブをデプロイおよび実行する必要がある時など、ジョブの設定を変更できない環境で作業している場合に役立ちます。<br><br>[Dynamic settings] (ダイナミック設定)テーブルは、[Basic settings] (基本設定)ビューで[Use an existing connection] (既存の接続を使用)チェックボックスがオンになっている時のみ利用可能です。ダイナミックパラメーターを定義すると、[Basic settings] (基本設定)ビューの[Component List] (コンポーネントリスト)ボックスは利用できなくなります。<br><br>ダイナミックパラメーターの定義法を示すユースケースについては、[コンテキストベースのダイナミック接続によってデータベースからデータを読み取り](https://help.qlik.com/talend/r/ja-JP/8.0/components/defining-context-groups/reading-data-from-databases-through-context-based-dynamic-connections)と、[ダイナミックにロードされた接続パラメーターを使って異なるMySQLデータベースからデータを読み取り](https://help.qlik.com/talend/r/ja-JP/8.0/components/context/reading-data-from-different-mysql-databases-using-dynamically-loaded-connection-parameters)をご覧ください。ダイナミック設定とコンテキスト変数の詳細は、[ダイナミックスキーマ](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/dynamic-schema)と[コンテキストグループを作成し、その中でコンテキスト変数を定義](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/creating-context-group-and-define-context-variables-in-it)をご覧ください。 |

**関連概念**

* [Amazon Auroraを使ってデータを処理](https://help.qlik.com/talend/ja-JP/components/8.0/amazon-aurora/tamazonaurorainput-tamazonauroracommit-tlogrow-handling-data-with-amazon-aurora-standard-component-this)