# tCosmosDBSQLAPIInput

SQL APIを介し、Cosmosデータベースコレクションからデータを取得します。

## tCosmosDBSQLAPIInputの標準プロパティ

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

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

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

## 基本設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| [Property type] (プロパティタイプ) | [Built-in] (組み込み)と[Repository] (リポジトリー)のいずれかです。<br><br><ul> <li> <span>[Built-In] (組み込み)</span>: 一元的に保存されるプロパティデータはありません。</li> <li> <span>[Repository] (リポジトリー)</span>: プロパティが保管されるリポジトリーファイルを選択します。後続フィールドは、取得されたデータを使用して自動的に入力されます。</li> </ul> |
| [Edit Schema] (スキーマを編集) | スキーマとは行の説明のことです。処理して次のコンポーネントに渡すフィールド(カラム)数を定義します。Sparkジョブを作成する場合、フィールドの命名時は予約語のlineを避けます。<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>JSONドキュメント全体カラムとしてすべて読み取る必要がある場合は、引用符を使用せずに[DB column] (DBカラム)内でアスタリスク(\*)を付けます。<br><br>ダイナミックスキーマは、Talendが提供する8.0.1-R2024-04以降のTalend Studioマンスリーアップデートをインストール済みである場合のみ利用できます。詳細は管理者にお問い合わせください。 |
| [Guess Schema] (推測スキーマ) | このボタンをクリックして、ドキュメントからスキーマを取得します。 |
| URI | CosmosユーザーアカウントのURIを入力します。フィールドでプロンプトが表示されると、CosmosデータベースユーザーアカウントのURIはhttps://{アカウント名}.document.azure.com:443という形式になります。URIは、[Azure Portal]の[Keys] (キー)ペインで取得できます。関連情報は、[Create an Azure Cosmos DB account](https://docs.microsoft.com/en-us/azure/cosmos-db/create-cosmosdb-resources-portal)をクリックしてください。 |
| [Primary key] (プライマリキー) | Cosmosユーザーアカウントのプライマリキーを入力します。プライマリキーは、[Azure Portal]の[Keys] (キー)ペインで取得できます。関連情報は、[Create an Azure Cosmos DB account](https://docs.microsoft.com/en-us/azure/cosmos-db/create-cosmosdb-resources-portal)をクリックしてください。<br><br>プライマリキーを入力するには、[Primary key] (プライマリキー)フィールドの横にある[...]ボタンをクリックし、[Enter a new password] (新しいパスワードを入力)ダイアログボックスを表示させ、テキストフィールドにプライマリキーを入力して[OK]をクリックします。プライマリキーは、[pure password] (純粋なパスワード)モードではJSON文字列で、[Java mode] (Javaモード)ではJava式として入力できます。テキストフィールドの上部にある[switch to Java mode] (Javaモードに切り替え)または[switch to pure password mode] (純粋なパスワードに切り替え)をクリックすることで、2つのモードの間で切り替えられます。<br><br>情報メモ注:<br><br><ul> <li>この2つのパスワードモードは、<span>Talend</span>が提供する8.0.1 R2022-05以降の<span>Talend Studio</span>マンスリーアップデートをインストール済みである時のみ利用可能です。詳細は管理者にお問い合わせください。</li> <li><span>Talend</span>が提供する8.0.1 R2022-05以降の<span>Talend Studio</span>マンスリーアップデートがインストールされていない場合は、<span>[Java mode] (Javaモード)</span>でのみプライマリキーを入力できます。 </li> </ul> |
| [Database ID] (データベースID) | データベースの名前を入力します |
| [Collection ID] (コレクション ID) | コレクション名を入力します。 |
| [Use query] (クエリーを使用) | このオプションをオンにすると、クエリーステートメントを使ってデータを取得できます。[Query] (クエリー)フィールドにクエリーステートメントを入力できます。 |

## 詳細設定

| [Properties] (プロパティ) | 説明 |
| --- | --- |
| [tStatCatcher Statistics] (tStatCatcher統計) | このチェックボックスをオンにすると、コンポーネントレベルでログデータを収集できます。 |
| [Connection mode] (接続モード) | 使用する接続モードを指定します。GatewayとDirectHttpsの2つのオプションを利用できます。関連情報を参照するには、[ConnectionMode](https://docs.microsoft.com/en-us/java/api/com.microsoft.azure.cosmosdb.connectionmode?view=azure-java-legacy)をクリックしてください。 |
| [Max connection pool size] (最大接続プールサイズ) | 最大接続プールサイズを設定するために使われます。デフォルトは1000です。 |
| [Consistency level] (一貫性レベル) | 一貫性レベルを設定するために使われます。関連情報は、 [\[Consistency levels\] (一貫性レベル)](https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels) をクリックしてください。 |

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

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

## 使用方法

| 使用方法のガイダンス | 説明 |
| --- | --- |
| **使用ルール** | 開始コンポーネントとしてtCosmosDBSQLAPIInputを使うと、SQL APIを介してCosmosデータベース内のコレクションからデータを取得し、後続コンポーネントに転送して表示または保管できます。 |
| **認証付きHTTPSプロキシにおけるCosmos DBの制限事項** | HTTPプロキシとHTTPSプロキシはtSetProxyコンポーネントで動作しますが、次の点に注意してください。<br><br><ul> <li>このコンポーネントの<span>tSetProxy</span>の<span>[Use authorization] (認証を使用する)</span>オプションを使用した場合、認証付きのHTTPSプロキシは動作しません。これは、Cosmos DB SDKがHTTPSプロキシトンネル接続にJavaの<span>[Authenticator] (認証)</span>を使用せず、代わりにJVMシステム プロパティに依存しているためです。</li> <li>このコンポーネントを認証付きHTTPSプロキシで動作させるには、<span><span>[Run] (実行)</span><abbr> &gt; </abbr><span>[Advanced Settings] (詳細設定)</span><abbr> &gt; </abbr><span>[JVM arguments] (JVM引数)</span></span> でプロキシ認証情報をJVM引数として手動で設定する必要があります。 <pre><code><pre><code><code>-Dhttps.proxyUser=&lt;username&gt;-Dhttps.proxyPassword=&lt;password&gt;</code></code></pre></code></pre></li> </ul><br><br>追加の制限事項: プロキシ設定はグローバルなJVMシステムプロパティを通じて管理されるため、同じジョブ内で異なるコンポーネントに複数の異なるプロキシ設定を使用することは推奨されません。設定が意図したとおりに機能しない可能性があります。 |