# tSnowflakeOutputの標準プロパティ

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

標準のtSnowflakeOutputコンポーネントは、Cloudファミリーに属しています。

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

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

## 基本設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| データベース | 目的のデータベースタイプをリストから選択し、[Apply] (適用)をクリックします。 |
| [Property Type] (プロパティタイプ) | 接続の詳細を設定する方法を選択します。<br><br><ul> <li> <p> <span>[Built-In] (組み込み)</span>: このコンポーネントの接続の詳細がローカルに設定されます。関連するすべての接続のプロパティ値を手動で指定する必要があります。</p> </li> <li> <p> <span>[Repository] (リポジトリー)</span>: <span><span>[Repository] (リポジトリー)</span><abbr> &gt; </abbr><span>[Metadata] (メタデータ)</span></span>で一元的に保存された接続の詳細が、このコンポーネントによって再使用されます。 </p> <p>このチェックボックスの横にある <span>[...]</span> ボタンをクリックし、表示された <span>[Repository Content] (リポジトリーのコンテンツ)</span>ダイアログボックスで、再使用する接続の詳細をオンにすると、関連するすべての接続のプロパティに値が自動的に入力されます。</p> </li> </ul><br><br>[Connection Component] (接続コンポーネント)ドロップダウンリストから、他の接続コンポーネントを選択した場合、このプロパティは、利用できません。 |
| [Connection Component] (接続コンポーネント) | このコンポーネントで再利用するデータベース接続を開くコンポーネントを選択します。 |
| [Account] (アカウント) | [Account] (アカウント)フィールドに、Snowflakeによって割り当てられたアカウント名を二重引用符で囲んで入力します。 |
| [Authentication Type] (認証タイプ) | 認証タイプを設定するために使われます。<br><br><ul> <li> <p> <span>[Basic] (基本)</span>: キーペア認証が有効でない場合は、このオプションを選択します。 </p> </li> <li> <p> <span>[Key Pair] (キーペア)</span>: キーペア認証が有効な場合は、このオプションを選択します。</p> <p>関連情報は、<a href="https://docs.snowflake.net/manuals/user-guide/jdbc-configure.html#using-key-pair-authentication" target="_blank">[Using Key Pair Authentication] (キーペア認証を使う)</a>をご覧ください。</p> </li> <li> <p> <span>OAuth 2.0</span>: このオプションをオンにすると、データアクセスで外部OAuthを使用できます。</p> <p>関連情報は、<a href="https://docs.snowflake.com/en/user-guide/oauth-ext-overview.html" target="_blank">外部OAuthの概要</a>をご覧ください。</p> </li> </ul><br><br>情報メモ注: [Key Pair] (キーペア)オプションを選択する前に、tSetKeyStoreコンポーネントの[Basic settings] (基本設定)ビューでキーペア認証データが次のように設定済みであることを確認します。<br><br><ol> <li><span>[TrustStore type] (TrustStoreタイプ)</span>フィールドをそのままにしておきます。</li> <li><span>[TrustStore file] (TrustStoreファイル)</span>を<kbd>""</kbd>に設定します。</li> <li><span>[TrustStore password] (TrustStoreパスワード)</span>フィールドをクリアします。</li> <li><span>[Need Client authentication] (クライアント認証が必要)</span>を選択します。</li> <li>KeyStoreファイルへのパスを二重引用符で囲んで<span>[KeyStore file] (KeyStoreファイル)</span>フィールドに入力します(または<span>[KeyStore file] (KeyStoreファイル)</span>フィールドの右側にある<span>[…]</span>ボタンをクリックして、KeyStoreファイルに移動します)。</li> <li>KeyStoreファイルのパスワードを<span>[KeyStore password] (KeyStoreパスワード)</span>フィールドに入力します。</li> <li><span>[Check server identity] (サーバーIDをチェック)</span>オプションをクリアします。</li> </ol> |
| [OAuth token endpoint] (OAuthトークンエンドポイント) | OAuth 2.0トークンエンドポイントを入力します。<br><br>このオプションは、[Authentication Type] (認証タイプ)ドロップダウンリストから、OAuth 2.0が選択されている場合に利用できます。 |
| [Client ID] (クライアントID) | アプリケーションのクライアントIDを入力します。<br><br>このオプションは、[Authentication Type] (認証タイプ)ドロップダウンリストから、OAuth 2.0が選択されている場合に利用できます。 |
| [Client Secret] (クライアントシークレット) | アプリケーションのクライアントシークレットを入力します。<br><br>このオプションは、[Authentication Type] (認証タイプ)ドロップダウンリストから、OAuth 2.0が選択されている場合に利用できます。 |
| [Grant type] (付与タイプ) | アクセストークン取得のために付与タイプを設定します。[Client Credentials] (クライアント認証情報)と[Password] (パスワード)という2つのオプションがあります。<br><br>関連情報は、[クライアント認証情報](https://tools.ietf.org/html/rfc6749#section-1.3.4)と[リソース所有者のパスワード認証情報](https://tools.ietf.org/html/rfc6749#section-1.3.3)をご覧ください。<br><br>このオプションは、[Authentication Type] (認証タイプ)ドロップダウンリストから、OAuth 2.0が選択されている場合に利用できます。 |
| [OAuth username] (OAuthユーザー名) | OAuthユーザー名を入力します。<br><br>このオプションは、[Grant type] (付与タイプ)ドロップダウンリストから、パスワードが選択されている場合に利用できます。 |
| [OAuth password] (OAuthパスワード) | OAuthパスワードを入力します。<br><br>パスワードを入力するためには、パスワードフィールドの横にある[...]ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符で囲んで入力した後、[OK]クリックして設定を保存します。<br><br>このオプションは、[Grant type] (付与タイプ)ドロップダウンリストから、パスワードが選択されている場合に利用できます。<br><br>情報メモ注: OAuthパスワードではスペースがサポートされていません。 |
| [Scope] (スコープ) | スコープを入力します。関連情報は[スコープ](https://docs.snowflake.com/en/user-guide/oauth-ext-overview.html#scopes)をご覧ください。<br><br>このオプションは、[Authentication Type] (認証タイプ)ドロップダウンリストから、OAuth 2.0が選択されている場合に利用できます。 |
| [User Id] (ユーザーID)と[Password] (パスワード) | Snowflakeにログインするための認証情報を二重引用符で囲んで入力します。<br><br><ul> <li> <p><span>[User ID]</span>フィールドに、Snowflakeの<em>LOGIN_NAME</em>パラメーターを使って、Snowflakeで定義されているログイン名を二重引用符で囲んで入力します。詳細は、Snowflakeシステムの管理者にお問い合わせください。</p> </li> <li> <p>パスワードを入力するためには、パスワードフィールドの横にある<span>[...]</span>ボタンをクリックし、ポップアップダイアログボックスにパスワードを二重引用符で囲んで入力して<span>[OK]</span>をクリックし、設定を保存します。</p> </li> </ul> |
| [Warehouse] (ウェアハウス) | 使用するSnowflakeウェアハウスの名前を二重引用符で囲んで入力します。この名前では大文字と小文字が区別され、Snowflakeでは通常は大文字です。 |
| [Schema] (スキーマ) | 使用するデータベーススキーマの名前を二重引用符で囲んで入力します。この名前では大文字と小文字が区別され、Snowflakeでは通常は大文字です。 |
| [Database] (データベース) | 使用するSnowflakeデータベースの名前を二重引用符で囲んで入力します。この名前では大文字と小文字が区別され、Snowflakeでは通常は大文字です。 |
| [Table] (テーブル) | [...]ボタンをクリックし、表示されるウィザードで、使用するSnowflakeテーブルを選択します。 |
| [Schema] (スキーマ)と[Edit schema] (スキーマを編集) | スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。<br><br>[Built-in] (組み込み): そのコンポーネントに対してのみスキーマを作成し、ローカルに保管します。<br><br>[Repository] (リポジトリー): スキーマは作成済みで、リポジトリーに保管されています。さまざまなプロジェクトやジョブデザインで再利用できます。<br><br>処理するSnowflake データ型がVARIANT(変数)、OBJECT(オブジェクト)、またはARRAY(配列)の場合は、コンポーネントでスキーマを定義する際にスキーマエディターウィザードの[Type] (タイプ)カラムの対応するデータで[String] (文字列)を選択します。<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><br><br>null不可能なプリミティブフィールドの入力値がnullの場合、そのフィールドを含むデータ行は拒否されることにご注意ください。<br><br>このコンポーネントはダイナミックスキーマ機能の利点を備えているので、ソースファイルから不明なカラムを取得したり、各カラムを個別にマッピングしなくてもソースからカラムを一括してコピーしたりできます。ダイナミックスキーマの詳細は、[ダイナミックスキーマ](https://help.qlik.com/talend/r/ja-JP/8.0/studio-user-guide/dynamic-schema)をご覧ください。<br><br>ダイナミックスキーマ機能は、テーブルの不明なカラムを取得するしくみになっており、その他の目的には使用しないことをお勧めします。テーブルの作成には推奨しません。 |
| [Table Action] (テーブルアクション) | テーブルで実行するアクションを選択します。<br><br><ul> <li> <span>[NONE] (なし)</span>: テーブルをそのままにしておきます。</li> <li> <span>[DROP_CREATE]</span>: テーブルを削除し、再作成します。</li> <li> <span>[CREATE] (作成)</span>: 新しいテーブルを作成します。</li> <li> <span>[CREATE_IF_NOT_EXISTS]</span>: テーブルが存在しない場合は作成します。</li> <li> <span>[DROP_IF_EXISTS_AND_CREATE]</span>: テーブルが既に存在する場合は削除し、再作成します。</li> <li> <span>[CLEAR] (クリア)</span>: テーブル内のすべてのデータレコードを削除します。</li> <li> <span>[TRUNCATE] (切り詰め)</span>: テーブル内のすべての行を削除します。このアクションにより、テーブルが占めているスペースが解除されます。</li> </ul> |
| [Output Action] (出力アクション) | Snowflakeデータベーステーブル内の受信データとデータレコードに対して実行する操作を選択します。Snowflakeテーブルのデータを挿入、削除、アップデート、マージできます。このオプションでは、[Table] (テーブル)フィールド内で指定したSnowflakeテーブルが既に存在することを想定しています。<br><br><ul> <li> <span>[INSERT] (挿入)</span>: Snowflakeテーブルに新しいレコードを挿入します。</li> <li> <span>[UPDATE] (アップデート)</span>: Snowflakeテーブルの既存のレコードをアップデートします。</li> <li> <span>[UPSERT] (アップサート)</span>: 新しいレコードを作成し、既存のレコードをアップデートします。<span>[Upsert Key Column] (キーカラムのアップサート)</span>ドロップダウンリストから、スキーマカラムを結合キーに指定するか、または<span>[Advanced settings] (詳細設定)</span>ビューで<span>[Use schema keys for upsert] (スキーマキーをアップサートに使う)</span>を選択することでスキーマキーを操作に使うように指定する必要があります。 <div><span>情報メモ</span><span>注:</span> <span>[Upsert Key Column] (キーカラムのアップサート)</span>ドロップダウンリストは、<span>[Use schema keys for upsert] (スキーマキーをアップサートに使う)</span>が選択されていない場合に利用できます。</div></li> <li> <span>[DELETE] (削除)</span>: Snowflakeテーブルからレコードを削除します。</li> </ul> |
| Die on error (エラー発生時に強制終了) | このオプションを選択して、エラーが発生した時にジョブの実行を終了します。このオプションをオフにして、エラーの発生した行をスキップし、エラーが発生していない行の処理を完了させます。<br><br>このオプションは[Row &gt; Reject] (行 &gt; リジェクト)接続で動作できません。 |

## 詳細設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| [Additional JDBC Parameters] (追加のJDBCパラメーター) | 作成するデータベース接続に追加のJDBCパラメーターを指定します。 |
| [Login Timeout] (ログインタイムアウト) | Snowflakeのログイン試行のタイムアウト期間を分単位で指定します。この期間内にレスポンスが返されないと、エラーが生成されます。 |
| ロール | Snowflakeセッションを開始するために使用するデフォルトアクセス制御ロールを、二重引用符で囲んで入力します。<br><br>このロールは既に存在していて、Snowflakeへの接続に使用するユーザーIDに付与されている必要があります。このフィールドを空のままにしておくと、PUBLICロールが自動的に付与されます。Snowflakeのアクセス制御モデルについては、[アクセス制御モデルの理解](https://docs.snowflake.net/manuals/user-guide/security-access-control.html)をご覧ください。 |
| [URL suffix] (URLサフィックス) | 目的のSnowflakeカスタムドメインURLを二重引用符で囲んで入力します。Snowflake URL形式の詳細は、[Standard account URLs](https://docs.snowflake.com/en/user-guide/organizations-connect#standard-account-urls)をご覧ください。<br><br>tSnowflakeConnection以外のSnowflakeコンポーネントの場合、このフィールドは[Basic settings] (基本設定)ビューで[Connection Component] (接続コンポーネント)ドロップダウンリストから、[Use this Component] (このコンポーネントを使用)を選択した場合に利用できます。 |
| [Allow Snowflake to convert columns and tables to uppercase] (Snowflakeによるカラムとテーブルの大文字への変換を許可) | このチェックボックスをオンにすると、定義された小文字のテーブル名とスキーマカラム名が大文字に変換されます。引用符で囲まれていない識別子は、Snowflake識別子構文に一致している必要があります。<br><br>チェックボックスをオフにすると、すべての識別子が自動的に引用符で囲まれます。<br><br>このプロパティは、[Manual Query] (手動クエリー)チェックボックスがオンの場合は利用できません。<br><br>Snowflake識別子構文の詳細は、[識別子構文](https://docs.snowflake.net/manuals/sql-reference/identifiers-syntax.html)をご覧ください。 |
| [Convert empty strings to null] (空の文字列をNullに変換) | 空の文字列をNullに変換するには、このオプションを選択します。 |
| [Use existing database schema as the dynamic schema] (既存のデータベーススキーマをダイナミックスキーマとして使用) | ダイナミックスキーマ機能を使用している場合にこのチェックボックスをオンにすれば、(テーブルが存在する場合は)データベース自体からスキーマを選べるようになれます。このオプションが選択されていなければ、デフォルトでは入力スキーマが選択されていません。 |
| [Use schema keys for upsert] (スキーマキーをアップサートに使う) | このオプションをオンにすると、スキーマキーをアップサート操作に使用できます。このオプションは、[Basic settings] (基本設定)ビューで[Output Action] (出力アクション)ドロップダウンリストから、[UPSERT] (アップサート)を選択した場合に利用できます。 |
| カスタムDBタイプ | このチェックボックスをオンにして、スキーマ内の各カラムにDBタイプを指定します。<br><br>このプロパティは、[Basic settings] (基本設定)の[Table Action] (テーブルアクション)ドロップダウンリストからテーブル作成のアクションを選択した場合のみ利用できます。 |
| ダイナミックスキーマを持つテーブル作成用のカスタムの日付タイプのマッピング | ダイナミックスキーマ機能を使用している場合は、このチェックボックスを選択して日付タイプのデータにカスタムマッピングを適用し、[Convert Date values to] (日付値を次に変換]ドロップダウンリストからマッピングを選択します。<br><br>このオプションは、[Basic settings] (基本設定)ビューで[Table Action] (テーブルアクション)ドロップダウンリストから次のオプションを選択した場合に利用できます。<br><br><ul> <li> <span>CREATE</span> </li> <li> <span>DROP_CREATE</span> </li> <li> <span>CREATE_IF_NOT_EXISTS</span> </li> </ul> |
| [Use schema date pattern] (スキーマの日付パターンを使用) | スキーマで定義されている日付パターンを使ってDate型のスキーマカラム内のデータを変換するには、このオプションを選択します。このためには、[Custom DB Type] (カスタムDBタイプ)フィールドで、スキーマカラムのDBタイプをSTRING、TEXT、またはVARCHARに指定することも必要です。 |
| [Use vectors] (ベクターを使用) | このコンポーネントはベクター検索機能をサポートしています。このオプションを使えば、ベクター検索で使用するベクターデータ型を保持するカラム指定できます。そのためには、[Vector properties] (ベクターのプロパティ)テーブルでカラム名(Column)、スキーマカラムのデータ型(Vector type）、そのサイズ(size)を指定する必要があります。<br><br>Snowflakeベクター検索の詳細は、該当する[Snowflakeのドキュメンテーション](https://docs.snowflake.com/en/sql-reference/data-types-vector)をご覧ください。 |
| [tStatCatcher Statistics] (tStatCatcher統計) | このチェックボックスをオンにすると、ジョブレベルおよび各コンポーネントレベルでジョブ処理メタデータが収集されます。 |

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

| 変数 | 説明 |
| --- | --- |
| NB\_LINE | 処理された行数。これはAfter変数で、整数を返します。 |
| NB\_SUCCESS | 正しく処理された行数。これはAfter変数で、整数を返します。 |
| NB\_REJECT | 却下された行数。これはAfter変数で、整数を返します。 |
| ERROR\_MESSAGE | エラー発生時にコンポーネントによって生成されるエラーメッセージ。これはAfter変数で、文字列を返します。 |

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| **使用ルール** | このコンポーネントは、ジョブ内のデータフローの終了コンポーネントです。このコンポーネントは、[Row] (行) &gt; [Main] (メイン)リンクからデータを受け取ります。<br><br>[Row] (行) &gt; [Rejects] (リジェクト)リンクを介してエラーメッセージを他のコンポーネントに送信することもできます。エラーについて示される情報の例は次のとおりです。<br><br><ul> <li> <p>エラーが発生したカラムの名前。</p> </li> <li> <p>エラーが発生した行の番号。</p> </li> <li> <p>解析エラーまたは変換エラーなど、エラーのカテゴリー。</p> </li> <li> <p>エラーが発生した行の文字オフセット。</p> </li> <li> <p>関連するエラーメッセージ。</p> </li> <li> <p>エラーが発生したバイトのオフセット。</p> </li> <li> <p>エラーが発生した行の番号。</p> </li> <li> <p>エラーのSQLSTATE。</p> </li> <li> <p>Snowflakeエラーコード。</p> </li> </ul> |