Cloud

Build 24.0.9180
  • Google BigQuery
    • はじめに
      • 接続の確立
      • 高度な統合
      • 必要最小限のロール
      • SSL の設定
      • ファイアウォールとプロキシ
    • データモデル
      • テーブル
      • ビュー
        • Datasets
        • PartitionsList
        • PartitionsValues
        • Projects
      • ストアドプロシージャ
        • CancelJob
        • DeleteTable
        • GetJob
        • InsertJob
        • InsertLoadJob
      • システムテーブル
        • sys_catalogs
        • sys_schemas
        • sys_tables
        • sys_tablecolumns
        • sys_procedures
        • sys_procedureparameters
        • sys_keycolumns
        • sys_foreignkeys
        • sys_primarykeys
        • sys_indexes
        • sys_connection_props
        • sys_sqlinfo
        • sys_identity
        • sys_information
      • データ型マッピング
    • 接続文字列オプション
      • Authentication
        • AuthScheme
        • ProjectId
        • DatasetId
        • BillingProjectId
      • BigQuery
        • AllowLargeResultSets
        • DestinationTable
        • UseQueryCache
        • PageSize
        • PollingInterval
        • AllowUpdatesWithoutKey
        • FilterColumns
        • UseLegacySQL
        • PrivateEndpointName
      • Storage API
        • UseStorageAPI
        • UseArrowFormat
        • StorageThreshold
        • StoragePageSize
      • Uploading
        • InsertMode
        • WaitForBatchResults
        • TempTableDataset
      • OAuth
        • OAuthClientId
        • OAuthClientSecret
        • DelegatedServiceAccounts
        • RequestingServiceAccount
      • JWT OAuth
        • OAuthJWTCert
        • OAuthJWTCertType
        • OAuthJWTCertPassword
        • OAuthJWTCertSubject
        • OAuthJWTIssuer
        • OAuthJWTSubject
      • SSL
        • SSLServerCert
      • Logging
        • Verbosity
      • Schema
        • BrowsableSchemas
        • RefreshViewSchemas
        • ShowTableDescriptions
        • PrimaryKeyIdentifiers
        • AllowedTableTypes
        • FlattenObjects
      • Miscellaneous
        • StorageTimeout
        • EmptyArraysAsNull
        • HidePartitionColumns
        • AllowAggregateParameters
        • ApplicationName
        • AuditLimit
        • AuditMode
        • AWSWorkloadIdentityConfig
        • BigQueryOptions
        • MaximumBillingTier
        • MaximumBytesBilled
        • MaxRows
        • PseudoColumns
        • SupportCaseSensitiveTables
        • TableSamplePercent
        • Timeout
        • WorkloadPoolId
        • WorkloadProjectId
        • WorkloadProviderId
    • Third Party Copyrights

Google BigQuery - CData Cloud

概要

CData Cloud は、クラウドホスト型のソリューションで、複数の標準サービスやプロトコルにまたがるGoogle BigQuery へのアクセスを実現します。MySQL またはSQL Server データベースに接続できるアプリケーションであれば、CData Cloud を介してGoogle BigQuery に接続できます。

CData Cloud により、他のOData エンドポイントや標準SQL Server / MySQL データベースと同じように、Google BigQuery への接続を標準化し、構成することができます。

主要機能

  • SQL をフルサポート:Google BigQuery は、標準のリレーショナルデータベースとして表示され、Filter、Group、Join などの操作を実行できます。これらの操作は基盤となるAPI でサポートされているかどうかに関わらず、標準SQL を使用します。
  • CRUD サポート:読み取りと書き込みの両方の操作がサポートされており、Cloud またはデータソースのダウンストリームで設定できるセキュリティ設定によってのみ制限されます。
  • セキュアアクセス:管理者は、ユーザーを作成し、特定のデータベースへのアクセス、読み取り専用操作、または完全な読み書きの権限を定義することができます。
  • 包括的なデータモデルとダイナミックディスカバリー:CData Cloud は、動的データや検索可能なメタデータへのフルアクセスなど、基盤となるデータソースで公開されるすべてのデータへの包括的なアクセスを提供します。

CData Cloud

はじめに

このページでは、CData Cloud でのGoogle BigQuery への接続の確立 のガイド、利用可能なリソースに関する情報、および使用可能な接続プロパティのリファレンスについて説明します。

Google BigQuery への接続

接続の確立 は、CData Cloud にデータベースを作成するためのGoogle BigQuery への認証方法と必要な接続プロパティの設定方法について示します。

CData Cloud サービスからデータにアクセス

利用可能な標準サービスを経由してGoogle BigQuery からデータにアクセスする方法と、CData Cloud の管理については、CData Cloud ドキュメント で詳しく説明します。

CData Cloud

接続の確立

Database タブで対応するアイコンを選択して、Google BigQuery に接続します。必須プロパティはSettings にリストされています。Advanced タブには、通常は必要ない接続プロパティが表示されます。

Google BigQuery への接続

デフォルトでは、Cloud はデータベース内の利用可能なすべてのプロジェクトに接続します。接続の範囲を限定するには、以下のプロパティを組み合わせて設定します。

  • ProjectId:ドライバーが接続するプロジェクトを指定
  • BillingProjectId:課金されるプロジェクトを指定
  • DatasetId:ドライバーがアクセスするデータセットを指定

Google BigQuery への認証

Cloud は、認証にユーザーアカウントおよびGCP インスタンスアカウントの使用をサポートします。

以下のセクションでは、Google BigQuery の利用可能な認証スキームについて説明します。

  • ユーザーアカウント(OAuth)
  • サービスアカウント(OAuthJWT)
  • GCP インスタンスアカウント

ユーザーアカウント(OAuth)

AuthScheme は、すべてのユーザーアカウントフローでOAuth に設定する必要があります。

Web アプリケーション

Web アプリケーション経由で接続する場合は、Google BigQuery にカスタムOAuth アプリケーションを作成および登録する必要があります。それからCloud を使用してOAuth トークンの値を取得および管理します。カスタムアプリケーションについて詳しくは、カスタムOAuth アプリの作成 を参照してください。

OAuth アクセストークンの取得

次の接続プロパティを設定し、OAuthAccessToken を取得します。

  • OAuthClientId:アプリケーション設定のクライアントId に設定。
  • OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。

続いてストアドプロシージャを呼び出し、OAuth 交換を完了します。

  1. GetOAuthAuthorizationURL ストアドプロシージャを呼び出します。CallbackURL インプットをアプリケーション設定で指定したコールバックURL に設定します。ストアドプロシージャがOAuth エンドポイントのURL を返します。
  2. ステップ1でストアドプロシージャが返したURL に移動します。カスタムOAuth アプリケーションにログインして、Web アプリケーションを認可します。認証されると、ブラウザはコールバックURL にリダイレクトします。
  3. GetOAuthAccessToken ストアドプロシージャを呼び出します。AuthMode をWEB に、Verifier インプットをコールバックURL のクエリ文字列の"code" パラメータに設定します。

アクセストークンとリフレッシュトークンを取得すると、データに接続し、OAuth アクセストークンを自動または手動でリフレッシュすることができるようになります。

OAuth アクセストークンの自動リフレッシュ

ドライバーがOAuth アクセストークンを自動的にリフレッシュするようにするには、最初のデータ接続で次のように設定します。

  • InitiateOAuth:REFRESH に設定。
  • OAuthClientId:アプリケーション設定のクライアントId に設定。
  • OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。
  • OAuthAccessToken:GetOAuthAccessToken によって返されたアクセストークンに設定。
  • OAuthRefreshToken:GetOAuthAccessToken によって返されたリフレッシュトークンに設定。
  • OAuthSettingsLocation:Cloud がOAuth トークン値を保存する場所に設定。これは接続間で維持されます。
次回のデータ接続では、OAuthAccessToken およびOAuthRefreshToken の値は、OAuthSettingsLocation から取得されます。

OAuth アクセストークンの手動リフレッシュ

データ接続時に手動でOAuth アクセストークンをリフレッシュするために必要な値は、OAuth リフレッシュトークンのみです。

GetOAuthAccessToken によって返されたExpiresIn パラメータ値が経過した後に、RefreshOAuthAccessToken ストアドプロシージャを使用し、手動でOAuthAccessToken をリフレッシュします。次の接続プロパティを設定します。

  • OAuthClientId:アプリケーション設定のクライアントId に設定。
  • OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。

次に、RefreshOAuthAccessToken を呼び出し、OAuthRefreshToken にGetOAuthAccessToken によって返されたOAuth リフレッシュトークンを指定します。新しいトークンが取得できたら、OAuthAccessToken プロパティにRefreshOAuthAccessToken によって返された値を設定し、新しい接続をオープンします。

最後に、OAuth リフレッシュトークンを保存し、OAuth アクセストークンの有効期限が切れた後に手動でリフレッシュできるようにします。

ヘッドレスマシン

ヘッドレスマシンのユーザーアカウントでOAuth を使用するようにドライバーを設定するには、インターネットブラウザに対応した別の端末で認証する必要があります。

  1. 以下のオプションから選択します。
    • オプション1:後述の「Verifier code を取得および交換」に従い、OAuthVerifier 値を取得します。
    • オプション2:インターネットブラウザに対応したマシンにCloud をインストールし、後述の「OAuth 設定を転送」の説明に従い、通常のブラウザベースのフローで認証後にOAuth 認証値を転送します。
  2. 次に、ヘッドレスマシンからアクセストークンを自動的にリフレッシュするようにCloud を設定します。

オプション1:Verifier code を取得および交換

Verifier code を取得するには、OAuth Authorization URL で認証する必要があります。

インターネットブラウザに対応したマシンから認証してOAuthVerifier 接続プロパティを取得する方法は次のとおりです。

  1. 以下のオプションから選択します。
    • 埋め込みOAuth アプリケーションを使用する場合は、Google BigQuery OAuth endpoint をクリックし、ブラウザでエンドポイントを開きます。
    • カスタムOAuth アプリケーションを使用するには、以下のプロパティを設定し、認証URL を作成します。
      • InitiateOAuth:OFF に設定。
      • OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId に設定。
      • OAuthClientSecret:アプリケーションの登録時に割り当てられたクライアントシークレットに設定。
      次に、適切なCallbackURL を指定してGetOAuthAuthorizationURL ストアドプロシージャを呼び出します。ストアドプロシージャによって返されたURL をブラウザで開きます。
  2. ログインして、Cloud にアクセス許可を与えます。すると、verifier code を含むコールバックURL にリダイレクトされます。
  3. verifier code の値を保存します。後ほどこれをOAuthVerifier 接続プロパティに設定します。
次に、OAuth verifier code をOAuth リフレッシュトークンおよびアクセストークンと交換する必要があります。次のプロパティを設定します。

ヘッドレスマシンでは、次の接続プロパティを設定してOAuth 認証値を取得します。

  • InitiateOAuth:REFRESH に設定。
  • OAuthVerifier:verifier code に設定。
  • OAuthClientId:(カスタムアプリのみ)カスタムOAuth アプリケーション設定のクライアントId に設定。
  • OAuthClientSecret:(カスタムアプリのみ)カスタムOAuth アプリケーション設定のクライアントシークレットに設定。
  • OAuthSettingsLocation:これを設定すると、暗号化されたOAuth 認証値が指定された場所に永続化されます。

OAuth 設定ファイルが生成されたら、以下のように接続プロパティをリセットする必要があります。

  • InitiateOAuth:REFRESH に設定。
  • OAuthClientId:(カスタムアプリのみ)アプリケーションの登録時に割り当てられたクライアントId に設定。
  • OAuthClientSecret:(カスタムアプリのみ)アプリケーションの登録時に割り当てられたクライアントシークレットに設定。
  • OAuthSettingsLocation:暗号化されたOAuth 認証値を含む場所に設定。アクセストークンの自動リフレッシュを有効にするために、この場所がCloud に読み書きのアクセス許可を与えることを確認してください。

オプション2:OAuth 設定を転送

ヘッドレスマシンでの接続に先立ち、インターネットブラウザに対応したデバイスでドライバとの接続を作成し、インストールする必要があります。上述の「デスクトップアプリケーション」の説明に従って、接続プロパティを設定します。

「デスクトップアプリケーション」の手順が完了すると、生成された認証値は、OAuthSettingsLocation で指定された場所に暗号化されて書き込まれます。デフォルトのファイル名はOAuthSettings.txt です。

接続が正常にテストされたら、OAuth 設定ファイルをヘッドレスマシンにコピーします。

ヘッドレスマシンで、次の接続プロパティを設定し、データに接続します。

  • InitiateOAuth:REFRESH に設定。
  • OAuthClientId:(カスタムアプリのみ)アプリケーションの登録時に割り当てられたクライアントId に設定。
  • OAuthClientSecret:(カスタムアプリのみ)アプリケーションの登録時に割り当てられたクライアントシークレットに設定。
  • OAuthSettingsLocation:OAuth 設定ファイルの場所に設定。アクセストークンの自動リフレッシュを有効にするために、この場所がCloud に読み書きのアクセス許可を与えることを確認してください。

GCP インスタンスアカウント

GCP 仮想マシン上で実行している場合は、Cloud は仮想マシンに関連付けられたサービスアカウントを使用して認証できます。 このモードを使用するには、AuthScheme をGCPInstanceAccount に設定します。

CData Cloud

高度な統合

次のセクションでは、高度な統合で必要となるCloud 機能を設定する方法を説明します。

結果セットの保存

大きな結果セットは、テンポラリテーブルまたは永続テーブルに保存する必要があります。 次のプロパティを使用して、テーブルの永続性を制御できます。

自動結果テーブル

必要に応じて、AllowLargeResultSets プロパティを有効にして、Cloud が自動的に宛先テーブルを作成するようにします。 クエリ結果が大きすぎてBigQuery クエリキャッシュに収まらない場合、Cloud はデータプロジェクト内に隠しデータセットを作成し、そのデータセット内の宛先テーブルを使用してクエリを再実行します。 データセットは、その中で作成されたすべてのテーブルが24時間で期限切れになるように設定されています。

状況によっては、Cloud で作成されたデータセットの名前を変更したい場合があります。 例えば、複数のユーザーがCloud を使用していて、他のユーザーによって作成されたデータセットへの書き込み権限を持っていない場合などです。 この方法の詳細は、TempTableDataset を参照してください。

明示的な結果テーブル

DestinationTable プロパティを有効にすると、Cloud は指定されたテーブルにクエリ結果を書き込みます。 単一のテーブルにクエリ結果を書き込むといくつかの制限が発生するため、このオプションを使用する際には注意が必要です。

  • 同じ接続で2つのクエリ結果を同時に読み取ることはできません。2つのクエリが実行され、その結果が同時に読み込まれる場合、 最後に実行を完了したクエリがもう一方のクエリのデータを上書きします。
  • データセットはテーブルと同じリージョンに作成する必要があります。BigQueryは、クエリが実行された場所とは異なるリージョンに宛先テーブルを書き込むことをサポートしていません。
  • Cloud がクエリごとに一時テーブルを作成することに依存しないでください。 クエリの中には、BigQuery でクエリジョブを実行せずに、内部で処理したり、テーブルから直接読み込んだりするものもあります。

課金の制限

接続内の任意のクエリの最大コストに対する制限をオーバーライドするには、MaximumBillingTier を設定します。

バルクモード

Google BigQuery では、行のバッチを操作するためのインターフェースがいくつか提供されています。 Cloud は、InsertMode オプションを経由してこれらのメソッドをサポートしており、それぞれが異なるユースケースに特化しています。

  • Streaming API は、最も重要な要素が素早く挿入できることである場合の使用を想定しています。 ただし、API 経由で挿入された行はキューに入れられ、遅れてテーブルに表示されます。 この遅延は20~30分に及ぶこともあり、データを挿入してすぐに他の操作を実行したい場合には、このAPI は不適合です。 ストリーミングキューに行がある間は、テーブルを変更しないようにする必要があります。 Google BigQuery は、ストリーミングキューに行がある間はテーブルでDML 操作を実行できないようにし、テーブルのメタデータ(名前、スキーマなど)を変更することによってまだコミットされていないストリーム行が失われる可能性を防ぎます。
  • DML モードAPI は、標準SQL INSERT クエリを使用してデータをアップロードします。 これは、アップロードされた行にエラーがあった場合に即座にレポートされるため、最も堅牢なデータアップロード方法です。 Cloud もまたこのAPI を同期的に使用するため、INSERT の処理が終わると、待機することなく他の操作で任意の行を使用できます。 ただし、これは最も遅い挿入方法であり、データ量が少ない場合にのみ使用する必要があります。
  • Upload モードは、データのアップロードにマルチパートアップロードAPI を使用します。 この方法は、低コストで中規模から大規模のデータのロードを合理的な時間内に実行することを目的とします。 このモードを使用する場合、Cloud は挿入された行をGoogle が管理するストレージにアップロードし、それらのロードジョブを作成します。 このジョブが実行されると、Cloud は待機するか(WaitForBatchResults を参照)、非同期で実行させることができます。 ジョブを待機すると、ジョブが遭遇したエラーがレポートされますが、より多くの時間がかかります。 ジョブが失敗したかどうかを待たずに判断するには、ジョブのストアドプロシージャを使用してジョブのステータスを手動で確認する必要があります。
  • GCSStaging モードはUpload とほぼ同じですが、Google が管理するストレージではなく、Google Cloud Storage アカウントを使用して、ステージングされたデータを保存する点が異なります。 Cloudは、ロード完了後にファイルを削除しなければならないため、このモードでは非同期に動作できず、したがってWaitForBatchResults は無効です。
    これは外部データに依存するため、GCSBucket をバケット名に設定し、Scope(スペース区切りのスコープのセット)が少なくともスコープhttps://www.googleapis.com/auth/bigquery およびhttps://www.googleapis.com/auth/devstorage.read_write を含むことを確認する必要があります。 また、GCS で使用されるdevstorage スコープでは、Google BigQuery ではユーザーアカウントでこのスコープを使用できないため、サービスアカウントでの接続を必要とします。

バルクINSERT に加えて、Cloud はバルクUPDATE およびバルクDELETE 操作の実行もサポートします。 そのためには、Cloud は設定するフィルタと行を含むデータをBigQuery の新しいテーブルにアップロードし、2つのテーブル間でMERGE を実行してテンポラリテーブルをドロップする必要があります。 InsertMode は、テンポラリテーブルに行を挿入する方法を決定しますが、Streaming モードとDML モードはサポートされていません。

ほとんどの場合、Cloud はバルクアップデートのSET 句とWHERE 句のどちらにどのカラムが必要かを判断できます。 「バルクUPDATE をサポートするには、主キーを定義してください」といったエラーが表示された場合は、PrimaryKeyIdentifiers を使用して、キーとして扱うカラムをCloud に指示できます。 更新では、キーカラムの値は一致する行を見つけるためにのみ使用され、キーカラムの値の更新はできません。

CData Cloud

必要最小限のロール

サービスアカウントに最小限必要なロール

次のロールにより、SELECT クエリをサービスアカウントで機能させることができます:

  • BigQuery Data Viewer (roles/bigquery.dataViewer):データおよびメタデータの読み取り
  • BigQuery Filtered Data Viewer (roles/bigquery.filteredDataViewer):フィルタリングされたテーブルデータの参照
  • BigQuery Job User (roles/bigquery.jobUser):プロジェクト内でのクエリを含むジョブの実行

CData Cloud

SSL の設定

SSL 設定のカスタマイズ

デフォルトでは、Cloud はサーバーとのTLS のネゴシエーションを試みます。サーバー証明書は、デフォルトのシステム信頼済み証明書ストアで検証されます。SSLServerCert 接続プロパティを使用して、証明書の検証方法をオーバーライドできます。

別の証明書を指定するには、SSLServerCert 接続プロパティを参照してください。

CData Cloud

ファイアウォールとプロキシ

Firewall またはProxy 経由の接続

HTTP プロキシ

HTTP プロキシへの認証には、以下のように設定します。

  • ProxyServer:HTTP トラフィックをルートするプロキシサーバーのホストネームもしくはIP アドレス。
  • ProxyPort:プロキシサーバーが起動しているTCP ポート。
  • ProxyAuthScheme:プロキシサーバーに対して認証する際にCloud が使用する認証方法。
  • ProxyUser:プロキシサーバーに登録されているユーザーアカウントのユーザー名。
  • ProxyPassword:ProxyUser に紐付けられたパスワード。

その他のプロキシ

次のプロパティを設定します。

  • プロキシベースのファイヤーウォールを使用するには、FirewallType、FirewallServer、およびFirewallPort を設定します。
  • 接続をトンネルするには、FirewallType をTUNNEL に設定します。
  • 認証するには、FirewallUser とFirewallPassword を設定します。
  • SOCKS プロキシへの認証には、さらにFirewallType をSOCKS5 に設定します。

CData Cloud

データモデル

CData Cloud は、ProjectId とDatasetId が設定されているGoogle BigQuery 内で定義されたデータをモデル化します。

ビュー

ビュー は変更ができないクライアントサイドのテーブルです。Cloud はこれらを使って、接続しているGoogle BigQuery のプロジェクトやデータセットに関するメタデータをレポートします。

さらに、Cloud はGoogle BigQuery 内で定義されたサーバーサイドのビューもサポートしています。 これらのビューは、テーブルと同じ方法でSELECT ステートメントで使用できます。 しかしながら、ビュースキーマは容易に古くなってしまうためCloud でリフレッシュが必要です。 詳しくは、RefreshViewSchemas を参照してください。

外部データソース

Google BigQuery はAmazon S3リージョン(aws-us-east-1など)やAzure Storage リージョン(azure-useast2など)にデータを保存する外部データセットを作成できます。 Cloud はこれらのデータセットをサポートしますが、2つの大きな制約があります。

  1. Google BigQuery は外部テーブルを読み取り専用として扱います。 それらに対してINSERT、UPDATE、DELETE クエリを実行することはできません。 また、Google BigQuery は外部データセットに同期先テーブルを作成できないため、DestinationTable とは互換性がありません。
  2. Google BigQuery は外部データセット用のStorage API をサポートしていません。 それらをクエリするには、UseStorageApi オプションを無効にする必要があります。 この場合Cloud の読み込みスループットが制限されるため、大きなクエリを実行する場合は、最高のパフォーマンスを得るためにGoogle BigQuery にデータをコピーすることが推奨されます。

ストアドプロシージャ

ストアドプロシージャ は、データソースのファンクションライクなインターフェースです。Cloud はこれらを使用してGoogle BigQuery のテーブルやジョブを管理し、OAuth の操作を行います。

Cloud が提供するクライアント側のストアドプロシージャに加え、Google BigQuery で定義されたサーバー側のストアドプロシージャもサポートされます。 Cloud はプロシージャのパラメータ名を使用したCALL およびEXEC の両方をサポートしています。 Cloud はIN パラメータおよび結果セットの戻り値のみをサポートすることに注意してください。

CALL `psychic-valve-137816`.Northwind.MostPopularProduct()
CALL `psychic-valve-137816`.Northwind.GetStockedValue(24, 0.75)

EXEC `psychic-valve-137816`.Northwind.MostPopularProduct
EXEC `psychic-valve-137816`.Northwind.GetSockedValue productId = 24, discountRate = 0.75

追加のメタデータ

テーブルの説明

Google BigQuery はテーブルの設定記述をサポートしますが、Cloud はデフォルトではこれらをレポートしません。 ShowTableDescriptions は、テーブルの説明をレポートするために使用できます。

主キー

Google BigQuery は主キーを元々サポートしていませんが、Cloud は主キーを定義できるため、データを修正するために主キーを必要とする環境でも使用できます。 主キーは、PrimaryKeyIdentifiers オプションで定義できます。

ポリシータグ

データカタログサービスのポリシータグがテーブルで定義されている場合、PolicyTags カラムを使用してシステムテーブルから取得できます。

SELECT ColumnName, PolicyTags FROM sys_tablecolumns
WHERE CatalogName = 'psychic-valve-137816'
AND SchemaName = 'Northwind'
AND TableName = 'Customers

CData Cloud

テーブル

テーブル

テーブル定義は、接続文字列オプションにて指定されたGoogle Bigquery のProject やDataset を元に動的に生成されます。

CData Cloud

ビュー

ビューは、データを示すという点でテーブルに似ていますが、ビューは読み取り専用です。

クエリは、ビューに対して通常のテーブルと同様に実行することができます。

CData Cloud - Google BigQuery ビュー

Name Description
Datasets 指定されたプロジェクトのアクセス可能なデータセットをすべてリストします。
PartitionsList テーブルのパーティション定義をリストします。
PartitionsValues テーブルのパーティション範囲をリストします。
Projects 許可されたユーザーのプロジェクトをすべてリストします。

CData Cloud

Datasets

指定されたプロジェクトのアクセス可能なデータセットをすべてリストします。

Columns

Name Type Description
Id [KEY] String データセットの一意の完全修飾不透過ID。
Kind String リソースタイプ。
FriendlyName String データセットのわかりやすい名前。
DatasetReference_ProjectId String コンテナプロジェクトへの一意の参照。
DatasetReference_DatasetId String プロジェクト名を使用しない、データセットへの一意の参照。

CData Cloud

PartitionsList

テーブルのパーティション定義をリストします。

Columns

Name Type Description
Id [KEY] String パーティションの一意の識別子。
ProjectId String テーブルが属するプロジェクト。
DatasetId String テーブルが属するデータセット。
TableName String テーブル名。
ColumnName String パーティションに使用する列の名前。
ColumnType String パーティション列のタイプ。
Kind String テーブルが使用するパーティションのタイプ。DATE、RANGE、INGESTION のいずれか。
RequireFilter Boolean テーブルをクエリするためにパーティション列のフィルタが必要かどうか。

CData Cloud

PartitionsValues

テーブルのパーティション範囲をリストします。

Columns

Name Type Description
Id String パーティションの一意の識別子。
RangeLow String パーティション列の最小値。Kind がRANGE の場合は整数、それ以外の場合は日付。
RangeHigh String パーティション列の最大値。Kind がRANGE の場合は整数、それ以外の場合は日付。
RangeInterval String 各パーティションに含まれる値の範囲。Kind がRANGE の場合のみ有効。
DateResolution String TIME またはINGESTION パーティション列に対して、date がどれだけ重要であるか。DAY、HOUR、MONTH、YEAR のいずれか。

CData Cloud

Projects

許可されたユーザーのプロジェクトをすべてリストします。

Columns

Name Type Description
Id [KEY] String プロジェクトの一意の識別子。
Kind String リソースタイプ。
FriendlyName String プロジェクトのわかりやすい名前。
NumericId String プロジェクトの数値ID。
ProjectReference_ProjectId String プロジェクトへの一意の参照。

CData Cloud

ストアドプロシージャ

ストアドプロシージャはファンクションライクなインターフェースで、Google BigQuery の単純なSELECT/INSERT/UPDATE/DELETE 処理にとどまらずCloud の機能を拡張します。

ストアドプロシージャは、パラメータのリストを受け取り、目的の機能を実行し、プロシージャが成功したか失敗したかを示すとともにGoogle BigQuery から関連するレスポンスデータを返します。

CData Cloud - Google BigQuery ストアドプロシージャ

Name Description
CancelJob 実行中のBigQuery ジョブをキャンセルします。
DeleteTable 指定されたテーブルをGoogle BigQuery から削除します。
GetJob 既存のジョブの設定情報と実行ステータスを取得します。
InsertJob Google BigQuery ジョブを挿入します。このジョブは、後でクエリの結果を取得するために選択できます。
InsertLoadJob Inserts a Google BigQuery load job, which adds data from Google Cloud Storage into an existing table.

CData Cloud

CancelJob

実行中のBigQuery ジョブをキャンセルします。

Input

Name Type Description
JobId String キャンセルするジョブのId。
Region String ジョブが実行されているリージョン。ジョブがUS またはEU リージョンの場合は不要です。

Result Set Columns

Name Type Description
JobId String キャンセルされたジョブのJobId。
Region String ジョブが実行されていたリージョン。
Configuration_query_query String キャンセルされたジョブのクエリ。
Configuration_query_destinationTable_tableId String キャンセルされたジョブの対象テーブルのtableId。
Configuration_query_destinationTable_projectId String 新しく挿入されたジョブの対象テーブルのprojectId。
Configuration_query_destinationTable_datasetId String 新しく挿入されたジョブの対象テーブルのdatasetId。
Status_State String ジョブの実行状態。
Status_errorResult_reason String エラーの概要を示す短いエラーコード。
Status_errorResult_message String エラーの可読文字列。

CData Cloud

DeleteTable

指定されたテーブルをGoogle BigQuery から削除します。

Input

Name Type Description
TableId String 削除するテーブルのTableId。ProjectIdとDatasetId は、接続プロパティから取得されますが、projectId:datasetId.TableId の形式でオーバーライドすることもできます。

Result Set Columns

Name Type Description
Success String 処理が成功した場合はtrue を返し、それ以外の場合は例外を返します。

CData Cloud

GetJob

既存のジョブの設定情報と実行ステータスを取得します。

Input

Name Type Description
JobId String 返すジョブのId。
Region String ジョブが実行されているリージョン。ジョブがUS またはEU リージョンの場合は不要です。

Result Set Columns

Name Type Description
JobId String 新しく挿入されたジョブのJobId。
Region String ジョブが実行されているリージョン。
Configuration_query_query String 新しく挿入されたジョブのクエリ。
Configuration_query_destinationTable_tableId String 新しく挿入されたジョブの対象テーブルのtableId。
Configuration_query_destinationTable_projectId String 新しく挿入されたジョブの対象テーブルのprojectId。
Configuration_query_destinationTable_datasetId String 新しく挿入されたジョブの対象テーブルのdatasetId。
Status_State String ジョブの実行状態。
Status_errorResult_reason String エラーの概要を示す短いエラーコード。
Status_errorResult_message String エラーの可読文字列。

CData Cloud

InsertJob

Google BigQuery ジョブを挿入します。このジョブは、後でクエリの結果を取得するために選択できます。

Input

Name Type Description
Query String Google BigQuery に送信するクエリ。
IsDML String クエリがDML ステートメントの場合はtrue、そうでない場合はfalse。

デフォルト値はfalseです。

DestinationTable String DestProjectId:DestDatasetId.DestTable 形式のクエリのデスティネーションテーブル。
WriteDisposition String データを対象テーブルに書き込む方法。例えば、既存の結果を切り捨てる、既存の結果を連結する、テーブルが空の場合にのみ書き込むといった方法を指定できます。

使用できる値は次のとおりです。WRITE_TRUNCATE, WRITE_APPEND, WRITE_EMPTY

デフォルト値はWRITE_TRUNCATEです。

DryRun String これがジョブのドライランかどうか。
MaximumBytesBilled String 指定された場合、BigQuery はこのバイト数を超えて処理しようとするとジョブをキャンセルします。
Region String ジョブの実行を開始するリージョン。

Result Set Columns

Name Type Description
JobId String 新しく挿入されたジョブのJobId。
Region String ジョブが実行されているリージョン。
Configuration_query_query String 新しく挿入されたジョブのクエリ。
Configuration_query_destinationTable_tableId String 新しく挿入されたジョブの対象テーブルのtableId。
Configuration_query_destinationTable_projectId String 新しく挿入されたジョブの対象テーブルのprojectId。
Configuration_query_destinationTable_datasetId String 新しく挿入されたジョブの対象テーブルのdatasetId。
Status_State String ジョブの実行状態。
Status_errorResult_reason String エラーの概要を示す短いエラーコード。
Status_errorResult_message String エラーの可読文字列。

CData Cloud

InsertLoadJob

Inserts a Google BigQuery load job, which adds data from Google Cloud Storage into an existing table.

Input

Name Type Description
SourceURIs String A space-separated list of Google Cloud Storage URIs
SourceFormat String The source format that the files are formatted in.

使用できる値は次のとおりです。AVRO, NEWLINE_DELIMITED_JSON, DATASTORE_BACKUP, PARQUET, ORC, CSV

DestinationTable String The destination table for the query, in the format DestProjectId.DestDatasetId.DestTable
DestinationTableProperties String A JSON object containing the table friendlyName, description and list of labels.
DestinationTableSchema String A JSON list contianing the fields used to create the table.
DestinationEncryptionConfiguration String A JSON object giving the KMS encryption settings for the table.
SchemaUpdateOptions String A JSON list giving the options to apply when updating the destination table schema.
TimePartitioning String A JSON object giving the time partitioning type and field.
RangePartitioning String A JSON object giving the range partitioning field and buckets.
Clustering String A JSON object giving the fields to be used for clustering.
Autodetect String Whether options and schema should be automatically determined for JSON and CSV files.
CreateDisposition String Whether to create the destination table if it does not exist.

使用できる値は次のとおりです。CREATE_IF_NEEDED, CREATE_NEVER

デフォルト値はCREATE_IF_NEEDEDです。

WriteDisposition String How to write data to the destination table, such as truncate existing results, appending existing results, or writing only when the table is empty.

使用できる値は次のとおりです。WRITE_TRUNCATE, WRITE_APPEND, WRITE_EMPTY

デフォルト値はWRITE_APPENDです。

Region String The region to start executing the job in. Both the GCS resources and the BigQuery dataset must be in the same region.
DryRun String Whether or not this is a dry run of the job.

デフォルト値はfalseです。

MaximumBadRecords String If provided, the number of records that can be invalid before the entire job is canceled. By default all records must be valid.

デフォルト値は0です。

IgnoreUnknownValues String Whether to ignore unknown fields in the input file or treat them as errors. By default they are treated as errors.

デフォルト値はfalseです。

AvroUseLogicalTypes String Whether to use Avro logical types when converting Avro data into BigQuery types.

デフォルト値はtrueです。

CSVSkipLeadingRows String How many rows to skip at the start of CSV files. Usually used for skipping header rows.
CSVEncoding String The name of the encoding used for CSV files.

使用できる値は次のとおりです。ISO-8859-1, UTF-8

デフォルト値はUTF-8です。

CSVNullMarker String If provided, this string is used for NULL values within CSV files. By default CSV files cannot use NULL.
CSVFieldDelimiter String The character used to separate columns within CSV files.

デフォルト値は,です。

CSVQuote String The character used for quoted fields in CSV files. May be set to empty to disable quoting.

デフォルト値は"です。

CSVAllowQuotedNewlines String Whether CSV files can contain newlines within quoted fields.

デフォルト値はfalseです。

CSVAllowJaggedRows String Whether lines in CSV files may contain missing fields. False by default

デフォルト値はfalseです。

DSBackupProjectionFields String A JSON list of fields to load from a Cloud datastore backup.
ParquetOptions String A JSON object giving the Parquet-specific import options.
DecimalTargetTypes String A JSON list giving the preference order applied to numeric types.
HivePartitioningOptions String A JSON object giving the source-side partitioning options.

Result Set Columns

Name Type Description
JobId String The JobId of the newly insert Job.
Region String The region where the job is executing.
Configuration_load_destinationTable_tableId String The destination table tableId of the newly inserted Job.
Configuration_load_destinationTable_projectId String The destination table projectId of the newly inserted Job.
Configuration_load_destinationTable_datasetId String The destination table datasetId of the newly inserted Job.
Status_State String Running state of the job.
Status_errorResult_reason String A short error code that summarizes the error.
Status_errorResult_message String A human-readable description of the error.

CData Cloud

システムテーブル

このセクションで説明されているシステムテーブルをクエリして、スキーマ情報、データソース機能に関する情報、およびバッチ操作の統計にアクセスできます。

スキーマテーブル

以下のテーブルは、Google BigQuery のデータベースメタデータを返します。

  • sys_catalogs:利用可能なデータベースをリスト。
  • sys_schemas:利用可能なスキーマをリスト。
  • sys_tables:利用可能なテーブルおよびビューをリスト。
  • sys_tablecolumns:利用可能なテーブルおよびビューのカラムについて説明。
  • sys_procedures:利用可能なストアドプロシージャについて説明。
  • sys_procedureparameters:ストアドプロシージャパラメータについて説明。
  • sys_keycolumns:主キーおよび外部キーについて説明。
  • sys_indexes:利用可能なインデックスについて説明。

データソーステーブル

以下のテーブルは、データソースへの接続方法およびクエリ方法についての情報を返します。

  • sys_connection_props:利用可能な接続プロパティについての情報を返す。
  • sys_sqlinfo:Cloud がデータソースにオフロードできるSELECT クエリについて説明。

クエリ情報テーブル

次のテーブルは、データ変更クエリ(バッチ処理を含む)のクエリ統計を返します。

  • sys_identity:バッチ処理または単一の更新に関する情報を返す。

CData Cloud

sys_catalogs

利用可能なデータベースをリストします。

次のクエリは、接続文字列で決定されるすべてのデータベースを取得します。

SELECT * FROM sys_catalogs

Columns

Name Type Description
CatalogName String データベース名。

CData Cloud

sys_schemas

利用可能なスキーマをリストします。

次のクエリは、すべての利用可能なスキーマを取得します。

          SELECT * FROM sys_schemas
          

Columns

Name Type Description
CatalogName String データベース名。
SchemaName String スキーマ名。

CData Cloud

sys_tables

利用可能なテーブルをリストします。

次のクエリは、利用可能なテーブルおよびビューを取得します。

          SELECT * FROM sys_tables
          

Columns

Name Type Description
CatalogName String テーブルまたはビューを含むデータベース。
SchemaName String テーブルまたはビューを含むスキーマ。
TableName String テーブル名またはビュー名。
TableType String テーブルの種類(テーブルまたはビュー)。
Description String テーブルまたはビューの説明。
IsUpdateable Boolean テーブルが更新可能かどうか。

CData Cloud

sys_tablecolumns

利用可能なテーブルおよびビューのカラムについて説明します。

次のクエリは、[publicdata].[samples].github_nested テーブルのカラムとデータ型を返します。

SELECT ColumnName, DataTypeName FROM sys_tablecolumns WHERE TableName='github_nested' AND CatalogName='publicdata' AND SchemaName='samples'

Columns

Name Type Description
CatalogName String テーブルまたはビューを含むデータベースの名前。
SchemaName String テーブルまたはビューを含むスキーマ。
TableName String カラムを含むテーブルまたはビューの名前。
ColumnName String カラム名。
DataTypeName String データ型の名前。
DataType Int32 データ型を示す整数値。この値は、実行時に環境に基づいて決定されます。
Length Int32 カラムのストレージサイズ。
DisplaySize Int32 指定されたカラムの通常の最大幅(文字数)。
NumericPrecision Int32 数値データの最大桁数。文字データおよび日時データの場合は、カラムの長さ(文字数)。
NumericScale Int32 カラムのスケール(小数点以下の桁数)。
IsNullable Boolean カラムがNull を含められるかどうか。
Description String カラムの簡単な説明。
Ordinal Int32 カラムのシーケンスナンバー。
IsAutoIncrement String カラムに固定増分値が割り当てられるかどうか。
IsGeneratedColumn String 生成されたカラムであるかどうか。
IsHidden Boolean カラムが非表示かどうか。
IsArray Boolean カラムが配列かどうか。
IsReadOnly Boolean カラムが読み取り専用かどうか。
IsKey Boolean sys_tablecolumns から返されたフィールドがテーブルの主キーであるかどうか。

CData Cloud

sys_procedures

利用可能なストアドプロシージャをリストします。

次のクエリは、利用可能なストアドプロシージャを取得します。

          SELECT * FROM sys_procedures
          

Columns

Name Type Description
CatalogName String ストアドプロシージャを含むデータベース。
SchemaName String ストアドプロシージャを含むスキーマ。
ProcedureName String ストアドプロシージャの名前。
Description String ストアドプロシージャの説明。
ProcedureType String PROCEDURE やFUNCTION などのプロシージャのタイプ。

CData Cloud

sys_procedureparameters

ストアドプロシージャパラメータについて説明します。

次のクエリは、RefreshOAuthAccessToken ストアドプロシージャのすべての入力パラメータについての情報を返します。

SELECT * FROM sys_procedureparameters WHERE ProcedureName='RefreshOAuthAccessToken' AND Direction=1 OR Direction=2

Columns

Name Type Description
CatalogName String ストアドプロシージャを含むデータベースの名前。
SchemaName String ストアドプロシージャを含むスキーマの名前。
ProcedureName String パラメータを含むストアドプロシージャの名前。
ColumnName String ストアドプロシージャパラメータの名前。
Direction Int32 パラメータのタイプに対応する整数値:input (1)。input/output (2)、またはoutput(4)。input/output タイプパラメータは、入力パラメータと出力パラメータの両方になれます。
DataTypeName String データ型の名前。
DataType Int32 データ型を示す整数値。この値は、実行時に環境に基づいて決定されます。
Length Int32 文字データの場合は、許可される文字数。数値データの場合は、許可される桁数。
NumericPrecision Int32 数値データの場合は最大精度。文字データおよび日時データの場合は、カラムの長さ(文字数)。
NumericScale Int32 数値データの小数点以下の桁数。
IsNullable Boolean パラメータがNull を含められるかどうか。
IsRequired Boolean プロシージャの実行にパラメータが必要かどうか。
IsArray Boolean パラメータが配列かどうか。
Description String パラメータの説明。
Ordinal Int32 パラメータのインデックス。

CData Cloud

sys_keycolumns

主キーおよび外部キーについて説明します。

次のクエリは、[publicdata].[samples].github_nested テーブルの主キーを取得します。

         SELECT * FROM sys_keycolumns WHERE IsKey='True' AND TableName='github_nested' AND CatalogName='publicdata' AND SchemaName='samples'
          

Columns

Name Type Description
CatalogName String キーを含むデータベースの名前。
SchemaName String キーを含むスキーマの名前。
TableName String キーを含むテーブルの名前。
ColumnName String キーカラムの名前
IsKey Boolean カラムがTableName フィールドで参照されるテーブル内の主キーかどうか。
IsForeignKey Boolean カラムがTableName フィールドで参照される外部キーかどうか。
PrimaryKeyName String 主キーの名前。
ForeignKeyName String 外部キーの名前。
ReferencedCatalogName String 主キーを含むデータベース。
ReferencedSchemaName String 主キーを含むスキーマ。
ReferencedTableName String 主キーを含むテーブル。
ReferencedColumnName String 主キーのカラム名。

CData Cloud

sys_foreignkeys

外部キーについて説明します。

次のクエリは、他のテーブルを参照するすべての外部キーを取得します。

         SELECT * FROM sys_foreignkeys WHERE ForeignKeyType = 'FOREIGNKEY_TYPE_IMPORT'
          

カラム

名前 タイプ 説明
CatalogName String キーを含むデータベースの名前。
SchemaName String キーを含むスキーマの名前。
TableName String キーを含むテーブルの名前。
ColumnName String キーカラムの名前
PrimaryKeyName String 主キーの名前。
ForeignKeyName String 外部キーの名前。
ReferencedCatalogName String 主キーを含むデータベース。
ReferencedSchemaName String 主キーを含むスキーマ。
ReferencedTableName String 主キーを含むテーブル。
ReferencedColumnName String 主キーのカラム名。
ForeignKeyType String 外部キーがインポート(他のテーブルを指す)キーかエクスポート(他のテーブルから参照される)キーかを指定します。

CData Cloud

sys_primarykeys

主キーについて説明します。

次のクエリは、すべてのテーブルとビューから主キーを取得します。

         SELECT * FROM sys_primarykeys
          

Columns

Name Type Description
CatalogName String キーを含むデータベースの名前。
SchemaName String キーを含むスキーマの名前。
TableName String キーを含むテーブルの名前。
ColumnName String キーカラムの名前。
KeySeq String 主キーのシーケンス番号。
KeyName String 主キーの名前。

CData Cloud

sys_indexes

利用可能なインデックスについて説明します。インデックスをフィルタリングすることで、より高速なクエリ応答時間でセレクティブクエリを記述できます。

次のクエリは、主キーでないすべてのインデックスを取得します。

          SELECT * FROM sys_indexes WHERE IsPrimary='false'
          

Columns

Name Type Description
CatalogName String インデックスを含むデータベースの名前。
SchemaName String インデックスを含むスキーマの名前。
TableName String インデックスを含むテーブルの名前。
IndexName String インデックス名。
ColumnName String インデックスに関連付けられたカラムの名前。
IsUnique Boolean インデックスが固有の場合はTrue。そうでない場合はFalse。
IsPrimary Boolean インデックスが主キーの場合はTrue。そうでない場合はFalse。
Type Int16 インデックスタイプに対応する整数値:statistic (0)、clustered (1)、hashed (2)、またはother (3)。
SortOrder String 並べ替え順序:A が昇順、D が降順。
OrdinalPosition Int16 インデックスのカラムのシーケンスナンバー。

CData Cloud

sys_connection_props

利用可能な接続プロパティと、接続文字列に設定されている接続プロパティに関する情報を返します。

次のクエリは、接続文字列に設定されている、あるいはデフォルト値で設定されているすべての接続プロパティを取得します。

SELECT * FROM sys_connection_props WHERE Value <> ''

Columns

Name Type Description
Name String 接続プロパティ名。
ShortDescription String 簡単な説明。
Type String 接続プロパティのデータ型。
Default String 明示的に設定されていない場合のデフォルト値。
Values String 可能な値のカンマ区切りリスト。別な値が指定されていると、検証エラーがスローされます。
Value String 設定した値またはあらかじめ設定されたデフォルト。
Required Boolean プロパティが接続に必要かどうか。
Category String 接続プロパティのカテゴリ。
IsSessionProperty String プロパティが、現在の接続に関する情報を保存するために使用されるセッションプロパティかどうか。
Sensitivity String プロパティの機密度。これは、プロパティがロギングおよび認証フォームで難読化されているかどうかを通知します。
PropertyName String キャメルケースの短縮形の接続プロパティ名。
Ordinal Int32 パラメータのインデックス。
CatOrdinal Int32 パラメータカテゴリのインデックス。
Hierarchy String このプロパティと一緒に設定する必要がある、関連のある依存プロパティを表示します。
Visible Boolean プロパティが接続UI に表示されるかどうかを通知します。
ETC String プロパティに関するその他のさまざまな情報。

CData Cloud

sys_sqlinfo

Cloud がデータソースにオフロードできるSELECT クエリ処理について説明します。

SQL 構文の詳細については、SQL 準拠 を参照してください。

データソースのSELECT 機能

以下はSQL 機能のサンプルデータセットです。 SELECT 機能のいくつかの側面がサポートされている場合には、カンマ区切りのリストで返されます。サポートされていない場合、カラムにはNO が入ります。

名前説明有効な値
AGGREGATE_FUNCTIONSサポートされている集計関数。AVG, COUNT, MAX, MIN, SUM, DISTINCT
COUNTCOUNT 関数がサポートされているかどうか。YES, NO
IDENTIFIER_QUOTE_OPEN_CHAR識別子をエスケープするための開始文字。[
IDENTIFIER_QUOTE_CLOSE_CHAR識別子をエスケープするための終了文字。]
SUPPORTED_OPERATORSサポートされているSQL 演算子。=, >, <, >=, <=, <>, !=, LIKE, NOT LIKE, IN, NOT IN, IS NULL, IS NOT NULL, AND, OR
GROUP_BYGROUP BY がサポートされているかどうか。サポートされている場合、どのレベルでサポートされているか。NO, NO_RELATION, EQUALS_SELECT, SQL_GB_COLLATE
OJ_CAPABILITIESサポートされている外部結合の種類。NO, LEFT, RIGHT, FULL, INNER, NOT_ORDERED, ALL_COMPARISON_OPS
OUTER_JOINS外部結合がサポートされているかどうか。YES, NO
SUBQUERIESサブクエリがサポートされているかどうか。サポートされていれば、どのレベルでサポートされているか。NO, COMPARISON, EXISTS, IN, CORRELATED_SUBQUERIES, QUANTIFIED
STRING_FUNCTIONSサポートされている文字列関数。LENGTH, CHAR, LOCATE, REPLACE, SUBSTRING, RTRIM, LTRIM, RIGHT, LEFT, UCASE, SPACE, SOUNDEX, LCASE, CONCAT, ASCII, REPEAT, OCTET, BIT, POSITION, INSERT, TRIM, UPPER, REGEXP, LOWER, DIFFERENCE, CHARACTER, SUBSTR, STR, REVERSE, PLAN, UUIDTOSTR, TRANSLATE, TRAILING, TO, STUFF, STRTOUUID, STRING, SPLIT, SORTKEY, SIMILAR, REPLICATE, PATINDEX, LPAD, LEN, LEADING, KEY, INSTR, INSERTSTR, HTML, GRAPHICAL, CONVERT, COLLATION, CHARINDEX, BYTE
NUMERIC_FUNCTIONSサポートされている数値関数。ABS, ACOS, ASIN, ATAN, ATAN2, CEILING, COS, COT, EXP, FLOOR, LOG, MOD, SIGN, SIN, SQRT, TAN, PI, RAND, DEGREES, LOG10, POWER, RADIANS, ROUND, TRUNCATE
TIMEDATE_FUNCTIONSサポートされている日付および時刻関数。NOW, CURDATE, DAYOFMONTH, DAYOFWEEK, DAYOFYEAR, MONTH, QUARTER, WEEK, YEAR, CURTIME, HOUR, MINUTE, SECOND, TIMESTAMPADD, TIMESTAMPDIFF, DAYNAME, MONTHNAME, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, EXTRACT
REPLICATION_SKIP_TABLESレプリケーション中にスキップされたテーブルを示します。
REPLICATION_TIMECHECK_COLUMNSレプリケーション中に更新判断のカラムとして使用するかどうかを、(指定された順に)チェックするカラムのリストを含む文字列の配列。
IDENTIFIER_PATTERN識別子としてどの文字列が有効かを示す文字列値。
SUPPORT_TRANSACTIONプロバイダーが、コミットやロールバックなどのトランザクションをサポートしているかどうかを示します。YES, NO
DIALECT使用するSQL ダイアレクトを示します。
KEY_PROPERTIESUniform データベースを特定するプロパティを示します。
SUPPORTS_MULTIPLE_SCHEMASプロバイダー用に複数のスキームが存在するかどうかを示します。YES, NO
SUPPORTS_MULTIPLE_CATALOGSプロバイダー用に複数のカタログが存在するかどうかを示します。YES, NO
DATASYNCVERSIONこのドライバーにアクセスするために必要な、CData Sync のバージョン。Standard, Starter, Professional, Enterprise
DATASYNCCATEGORYこのドライバーのCData Sync カテゴリ。Source, Destination, Cloud Destination
SUPPORTSENHANCEDSQLAPI で提供されている以上の、追加SQL 機能がサポートされているかどうか。TRUE, FALSE
SUPPORTS_BATCH_OPERATIONSバッチ操作がサポートされているかどうか。YES, NO
SQL_CAPこのドライバーでサポートされているすべてのSQL 機能。SELECT, INSERT, DELETE, UPDATE, TRANSACTIONS, ORDERBY, OAUTH, ASSIGNEDID, LIMIT, LIKE, BULKINSERT, COUNT, BULKDELETE, BULKUPDATE, GROUPBY, HAVING, AGGS, OFFSET, REPLICATE, COUNTDISTINCT, JOINS, DROP, CREATE, DISTINCT, INNERJOINS, SUBQUERIES, ALTER, MULTIPLESCHEMAS, GROUPBYNORELATION, OUTERJOINS, UNIONALL, UNION, UPSERT, GETDELETED, CROSSJOINS, GROUPBYCOLLATE, MULTIPLECATS, FULLOUTERJOIN, MERGE, JSONEXTRACT, BULKUPSERT, SUM, SUBQUERIESFULL, MIN, MAX, JOINSFULL, XMLEXTRACT, AVG, MULTISTATEMENTS, FOREIGNKEYS, CASE, LEFTJOINS, COMMAJOINS, WITH, LITERALS, RENAME, NESTEDTABLES, EXECUTE, BATCH, BASIC, INDEX
PREFERRED_CACHE_OPTIONS使用したいcacheOptions を指定する文字列値。
ENABLE_EF_ADVANCED_QUERYドライバーがEntity Framework の高度なクエリをサポートしているかどうかを示します。サポートしていなければ、クエリはクライアントサイドで処理されます。YES, NO
PSEUDO_COLUMNS利用可能な疑似カラムを示す文字列の配列。
MERGE_ALWAYS値がtrue であれば、CData Sync 内でMerge Model が強制的に実行されます。TRUE, FALSE
REPLICATION_MIN_DATE_QUERYレプリケート開始日時を返すSELECT クエリ。
REPLICATION_MIN_FUNCTIONサーバーサイドでmin を実行するために使用する式名を、プロバイダーが指定できるようになります。
REPLICATION_START_DATEレプリケート開始日を、プロバイダーが指定できるようになります。
REPLICATION_MAX_DATE_QUERYレプリケート終了日時を返すSELECT クエリ。
REPLICATION_MAX_FUNCTIONサーバーサイドでmax を実行するために使用する式名を、プロバイダーが指定できるようになります。
IGNORE_INTERVALS_ON_INITIAL_REPLICATE初回のレプリケートで、レプリケートをチャンクに分割しないテーブルのリスト。
CHECKCACHE_USE_PARENTIDCheckCache 構文を親キーカラムに対して実行するかどうかを示します。TRUE, FALSE
CREATE_SCHEMA_PROCEDURESスキーマファイルの生成に使用できる、ストアドプロシージャを示します。

次のクエリは、WHERE 句で使用できる演算子を取得します。

SELECT * FROM sys_sqlinfo WHERE Name = 'SUPPORTED_OPERATORS'
WHERE 句では、個々のテーブルの制限や要件が異なる場合がありますので注意してください。詳しくは、データモデル セクションを参照してください。

Columns

Name Type Description
NAME String SQL 構文のコンポーネント、またはサーバー上で処理できる機能。
VALUE String サポートされるSQL またはSQL 構文の詳細。

CData Cloud

sys_identity

試行された変更に関する情報を返します。

次のクエリは、バッチ処理で変更された行のId を取得します。

         SELECT * FROM sys_identity
          

Columns

Name Type Description
Id String データ変更処理から返された、データベース生成Id。
Batch String バッチの識別子。1 は単一処理。
Operation String バッチ内の処理の結果:INSERTED、UPDATED、またはDELETED。
Message String SUCCESS、またはバッチ内の更新が失敗した場合のエラーメッセージ。

CData Cloud

sys_information

利用可能なシステム情報を説明します。

次のクエリは、すべてのカラムを取得します。

SELECT * FROM sys_information

Columns

NameTypeDescription
ProductString製品名。
VersionString製品のバージョン番号。
DatasourceString製品が接続するデータソースの名前。
NodeIdString製品がインストールされているマシンの固有識別子。
HelpURLString製品のヘルプドキュメントのURL。
LicenseString製品のライセンス情報。(この情報が利用できない場合、この項目は空白のままか「N/A」と表示されます。)
LocationString製品のライブラリが格納されているファイルパスの場所。
EnvironmentString製品が現在稼働している環境またはランタイムのバージョン。
DataSyncVersionString本コネクタを使用するために必要なCData Sync のティア。
DataSyncCategoryStringCData Sync 機能のカテゴリ(例:Source、Destination)。

CData Cloud

データ型マッピング

データ型マッピング

Cloud は、データソースの型を、スキーマで使用可能な対応するデータ型にマッピングします。以下のテーブルはこれらのマッピングを説明します。

Google BigQuery CData スキーマ
STRING string
BYTES binary
INTEGER long
FLOAT double
NUMERIC decimal
BIGNUMERIC decimal
BOOLEAN bool
DATE date
TIME time
DATETIME datetime
TIMESTAMP datetime
STRUCT 下記参照
ARRAY 下記参照
GEOGRAPHY string
JSON string
INTERVAL string

NUMERIC 型は38桁の精度をサポートし、BIGDECIMAL 型は76桁の精度をサポートすることに注意してください。 ほとんどのプラットフォームには、これらの値の精度を完全にサポートするdecimal 型がありません(.NET のdecimal は28桁をサポートし、Java のBigDecimal はデフォルトで38桁をサポートしています)。 この場合、クエリ時にこれらのカラムを文字列にキャストするか、IgnoreTypes=decimal を設定することでこれらを無視するように接続を構成することができます。

STRUCT およびARRAY 型

Google BigQuery では、単一の行に複合値を格納するために、STRUCT およびARRAY の2種類の型をサポートしています。 Google BigQuery の一部では、これらはRECORD やREPEATED 型としても知られています。

STRUCT は固定サイズの値を持つグループで、名前でアクセスされ、異なる型を持つことができます。 Cloud は構造体をフラット化し、個々のフィールドにドット付きの名前でアクセスできるようにします。 これらのドット付きの名前は引用符で囲む必要があることに注意してください。

-- trade_value STRUCT<currency STRING, value FLOAT>
SELECT CONCAT([trade_value.value], ' ', NULLIF([trade_value.currency], 'USD'))
FROM trades

ARRAY は同じ型を持つ値のグループであり、任意のサイズを持つことができます。 Cloud は配列を単一の複合値として扱い、JSON 集計としてレポートします。

STRUCT 型がARRAY フィールドを含むように、またはARRAY フィールドがSTRUCT 値のリストになるように、これらの型を組み合わせることができます。 フィールドの処理方法は、外側の型が優先されます。

/* Table contains fields: 
  stocks STRUCT<symbol STRING, prices ARRAY<FLOAT>>
  offers: ARRAY<STRUCT<currency STRING, value FLOAT>> 
*/

SELECT [stocks.symbol], /* ARRAY field can be read from STRUCT, but is converted to JSON */
       [stocks.prices], 
       [offers]         /* STRUCT fields in an ARRAY cannot be accessed */
FROM market

INTERVAL 型

Cloud はINTERVAL 型を文字列で表します。クエリがINTERVAL 型を必要とする場合は常に、BigQuery SQL INTERVAL 形式を使用してINTERVAL を指定する必要があります。

YEAR-MONTH DAY HOUR:MINUTE:SECOND.FRACTION
INTERVAL 値を返すすべてのクエリは、ARRAY 集計に表示されない限りこの形式を使用し、その形式はCloud がどのようにデータを読み取るかに依存します。

例えば、「5年11ヶ月から10日と3時間2.5秒を引いた値」を正しい形式で表すと次のようになります。

5-11 -10 -3:0:0.2.5

型パラメータ

Cloud は、以下のデータ型のパラメータを公開します。 いずれの場合も型パラメータはオプションであり、Google BigQuery にはパラメータ化されていないデータ型のデフォルト値があります。

  • STRING(length)
  • BYTES(length)
  • NUMERIC(precision) またはNUMERIC(precision, scale)
  • BIGNUMERIC(precision) またはBIGNUMERIC(precision, scale)

これらのパラメータは、主にテーブルに書き込まれるデータを制限するためのものです。 これらは、STRING とBYTES ではカラムサイズとして、 NUMERIC とBIGNUMERIC では数値の精度とスケールとしてテーブルのメタデータに含まれます。

型パラメータはクエリには影響せず、クエリメタデータにはレポートされません。 例えば、以下の例では、入力がa STRING(100) およびb STRING(100) であっても、CONCAT の出力はただのSTRING です。

SELECT CONCAT(a, b) FROM table_with_length_params

CData Cloud

接続文字列オプション

接続文字列プロパティは、接続を確立するために使用できるさまざまなオプションです。このセクションでは、本プロバイダーの接続文字列で設定できるオプションの一覧を示します。詳細については各リンクをクリックしてください。

Authentication


プロパティ説明
AuthSchemeGoogle BigQuery に接続する際に使用する認証の種類。
ProjectId非修飾テーブルを解決し、ジョブを実行するために使用するProjectId。
DatasetIdThe DatasetId used to resolve unqualified tables.
BillingProjectIdジョブを実行する課金プロジェクトのProjectId。

BigQuery


プロパティ説明
AllowLargeResultSets大きなデータセットの場合に、大きなデータセットをテンポラリーテーブルに格納するかしないか。
DestinationTableThis property determines where query results are stored in Google BigQuery.
UseQueryCacheGoogle BigQuery のビルトインクエリキャッシュを使用するかどうかを指定します。
PageSizeGoogle BigQuery から返されるページあたりの結果数。
PollingIntervalジョブが完了したかどうかを確認するためのチェックの間隔を秒単位で決定します。
AllowUpdatesWithoutKey主キーなしで更新を許可するかどうか。
FilterColumnsこのプロパティを使用する前に、`AllowUpdatesWithoutKey` をtrue に設定してください。
UseLegacySQLこのクエリにBigQuery のレガシーSQL を使用するかどうかを指定します。デフォルトでは、Standard SQL が使われます。
PrivateEndpointNameWhen connecting over Private Access, this property specifies the name of the custom endpoint.

Storage API


プロパティ説明
UseStorageAPIバルクデータ読み出しにBigQuery のStorage API を使用するかどうかを指定します。
UseArrowFormatBigQuery のStorage API でArrow 形式を使用するかどうかを指定します。
StorageThresholdStorage API を呼び出すためにクエリが返す必要がある最小行数。
StoragePageSizeStorage API クエリに使用するページサイズを指定します。

Uploading


プロパティ説明
InsertModeデータを挿入する際に使用する方法を指定します。デフォルトでは、ストリーミングINSERT が使用されます。
WaitForBatchResultsバルクアップロードAPI を使用するときにジョブの完了を待つかどうか。 InsertMode がUpload に設定されている場合のみ有効です。
TempTableDatasetThe prefix of the dataset that will contain temporary tables when performing bulk UPDATE or DELETE operations.

OAuth


プロパティ説明
OAuthClientIdカスタムOAuth アプリケーションの作成時に割り当てられたクライアントId を指定します。(コンシューマーキーとも呼ばれます。)このID は、カスタムアプリケーションをOAuth 認可サーバーに登録します。
OAuthClientSecretカスタムOAuth アプリケーションの作成時に割り当てられたクライアントシークレットを指定します。( コンシューマーシークレット とも呼ばれます。)このシークレットは、カスタムアプリケーションをOAuth 認可サーバーに登録します。
DelegatedServiceAccounts委任されたリクエストのためのサービスアカウントE メールのスペース区切りのリスト。
RequestingServiceAccount委任されたリクエストを行うためのサービスアカウントのE メール。

JWT OAuth


プロパティ説明
OAuthJWTCertJWT 証明書のストア。
OAuthJWTCertTypeJWT 証明書を格納するキーストアの種類。
OAuthJWTCertPasswordOAuth JWT 証明書のパスワード。パスワードを必要とする証明書ストアにアクセスするために使用されます。証明書ストアがパスワードを必要としない場合は、このプロパティを空白のままにします。
OAuthJWTCertSubjectOAuth JWT 証明書のサブジェクトで、ストアで一致する証明書を検索するために使用されます。部分一致と、先頭の証明書を選択するためのワイルドカード '*' をサポートします。
OAuthJWTIssuerJava Web Token の発行者。
OAuthJWTSubjectアプリケーションからデリゲートアクセスの要求対象となるユーザーサブジェクト。

SSL


プロパティ説明
SSLServerCertTLS/SSL を使用して接続する際に、サーバーが受け入れ可能な証明書を指定します。

Logging


プロパティ説明
VerbosityログファイルのVerbosity レベルを指定し、記録される情報の詳細度を制御します。サポートされる値の範囲は1から5までです。

Schema


プロパティ説明
BrowsableSchemasレポートされるスキーマを利用可能なすべてのスキーマのサブセットに制限するオプション設定。例えば、 BrowsableSchemas=SchemaA,SchemaB,SchemaC です。
RefreshViewSchemasprovider が自動的に最新のビュースキーマを決定することを許可します。
ShowTableDescriptionsプラットフォームのメタデータAPI とsys_tables / sys_views を介してテーブルの説明を返すかどうかを制御します。
PrimaryKeyIdentifiersSet this property to define primary keys.
AllowedTableTypesSpecifies what kinds of tables will be visible.
FlattenObjectsDetermines whether the provider flattens STRUCT fields into top-level columns.

Miscellaneous


プロパティ説明
StorageTimeoutHow long a Storage API connection may remain active before the provider reconnects.
EmptyArraysAsNullWhether empty arrays are represented as 'null' or as '[]'
HidePartitionColumnsWhether partition tables will show the columns _PARTITIONDATE and _PARTITIONTIME.
AllowAggregateParametersQueryPassthrough が有効になっているときに、パラメータで生の集計を使用できるようにします。
ApplicationNameAn application name in the form application/version. For example, AcmeReporting/1.0.
AuditLimit監査テーブル内に保存される行の最大数。
AuditMode監査テーブルに記録するprovider アクション。
AWSWorkloadIdentityConfigAWS 経由でWorkload Identity Federation を使用する場合に指定する設定プロパティ。
BigQueryOptionsBigQuery オプションのカンマ区切りのリスト。
MaximumBillingTierMaximumBillingTier はTB あたりの基本料金の乗数となる正の整数です。例えばMaximumBillingTier を2 に設定すると、そのクエリの最大費用はTB あたり2x 基本価格になります。
MaximumBytesBilledBigQuery がジョブがキャンセルされる前に消費を許容するバイト数を制限します。
MaxRows集計やGROUP BY を使用しないクエリで返される最大行数を指定します。
PseudoColumnsテーブルカラムとして公開する擬似カラムを指定します。'TableName=ColumnName;TableName=ColumnName' という形式を使用します。デフォルトは空の文字列で、このプロパティを無効にします。
SupportCaseSensitiveTablesデフォルトでは、provider はテーブル名を大文字小文字を区別しないものとして扱います。そのため、複数のテーブルが同じ名前で大文字小文字だけが異なる場合、メタデータには1つだけがレポートされます。
TableSamplePercentThis determines what percent of a table is sampled with the TABLESAMPLE operator.
Timeoutタイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。
WorkloadPoolIdWorkload Identity Federation プールのID。
WorkloadProjectIdWorkload Identity Federation プールをホストするGoogle Cloud プロジェクトのID。
WorkloadProviderIdWorkload Identity Federation プールプロバイダーのID。
CData Cloud

Authentication

このセクションでは、本プロバイダーの接続文字列で設定可能なAuthentication プロパティの全リストを提供します。


プロパティ説明
AuthSchemeGoogle BigQuery に接続する際に使用する認証の種類。
ProjectId非修飾テーブルを解決し、ジョブを実行するために使用するProjectId。
DatasetIdThe DatasetId used to resolve unqualified tables.
BillingProjectIdジョブを実行する課金プロジェクトのProjectId。
CData Cloud

AuthScheme

Google BigQuery に接続する際に使用する認証の種類。

Possible Values

OAuth, OAuthJWT, AWSWorkloadIdentity

データ型

string

デフォルト値

"OAuth"

解説

  • OAuth:標準のユーザーアカウントを使用してOAuth 認証を実行する場合に設定。
  • OAuthJWT:OAuth サービスアカウントを使用してOAuth 認証を実行する場合に設定。
  • GCPInstanceAccount:Google Cloud Platform インスタンスからアクセストークンを取得する場合に設定。
  • AWSWorkloadIdentity:Workload Identity Federation を使用して認証する場合に設定。 Cloud はAWSWorkloadIdentityConfig に従ってAWS を認証し、Google Security Token Serivce に認証トークンを提供します。 Google STS はこのトークンを検証し、Google のサービスにアクセスできるOAuth トークンを生成します。

CData Cloud

ProjectId

非修飾テーブルを解決し、ジョブを実行するために使用するProjectId。

データ型

string

デフォルト値

""

解説

This property and BillingProjectId are used to determine billing for jobs and resolve unqualified table names.

Job Execution

The Cloud must create a job within Google BigQuery to execute certain kinds of queries. For example, complex SELECT statements, UPDATE and DELETE statements, and INSERT statements (when InsertMode is DML) are all executed using jobs. The project where a job executes determines how the job is billed.

The Cloud determines the billing project using these rules. Note that only the first two rules apply when QueryPassthrough is enabled. Either this property or BillingProjectId must be set to execute passthrough queries.

  1. The BillingProjectId is used if that property is not empty.
  2. Then this property is used.
  3. If both properties are empty, the project is determined from the catalog of the first table in the query. The job created for the following query executes in the psychic-valve-137816 project.

SELECT FirstName, LastName FROM `psychic-valve-137816`.`Northwind`.`customers`

Table Resolution

In addition to setting the billing project, the Cloud also uses this property to determine the default data project. The data project is used to resolve tables included in queries when they are not fully qualified:

/* Unqualified, resolved against connection properties */
SELECT FirstName, LastName FROM `Northwind`.`customers`

/* Qualified, project specified as catalog */
SELECT FirstName, LastName FROM `psychic-valve-137816`.`Northwind`.`customers`

Any unqualified table references in the query are resolved using the following rules. Note that only methods 1 and 2 are supported when QueryPassthrough is enabled. This means that any tables outside the default data project must be explicitly qualified.

  1. This property is used if it is not empty.
  2. Then the BillingProjectId property is used.
  3. If both properties are empty, the catalog from the first table in the query is used. In the following query the `Northwind`.`orders` table is treated as if it comes from the psychic-valve-137186 project.

SELECT ... FROM `psychic-valve-137816`.`Northwind`.`customers`
INNER JOIN `Northwind`.`orders`
ON ...

CData Cloud

DatasetId

The DatasetId used to resolve unqualified tables.

データ型

string

デフォルト値

""

解説

When a query refers to a table it can leave the dataset implicit, or qualify the dataset directly as the schema portion of the table:

/* Implicit, resolved against connection string */
SELECT FirstName, LastName FROM `customers`

/* Explicit, dataset specified as schema */
SELECT FirstName, LastName FROM `psychic-valve-137816`.`Northwind`.`customers`

Any unqualified table references in the query are resolved using the following rules. Note that only method 1 is supported when QueryPassthrough is enabled. This means that passthrough queries must set this property or qualify all tables.

  1. If this property is set then the specified dataset is used.
  2. Otherwise the schema from the first table in the query is used. In the following query the `orders` table is treated as if it comes from the Northwind dataset.

SELECT ... FROM `psychic-valve-137816`.`Northwind`.`customers`
INNER JOIN `orders`
ON ...

CData Cloud

BillingProjectId

ジョブを実行する課金プロジェクトのProjectId。

データ型

string

デフォルト値

""

解説

このプロパティは、ProjectId と共に、Cloud がジョブを実行するプロジェクトを決定するために使用されます。 詳しくはそのページを参照してください。

CData Cloud

BigQuery

このセクションでは、本プロバイダーの接続文字列で設定可能なBigQuery プロパティの全リストを提供します。


プロパティ説明
AllowLargeResultSets大きなデータセットの場合に、大きなデータセットをテンポラリーテーブルに格納するかしないか。
DestinationTableThis property determines where query results are stored in Google BigQuery.
UseQueryCacheGoogle BigQuery のビルトインクエリキャッシュを使用するかどうかを指定します。
PageSizeGoogle BigQuery から返されるページあたりの結果数。
PollingIntervalジョブが完了したかどうかを確認するためのチェックの間隔を秒単位で決定します。
AllowUpdatesWithoutKey主キーなしで更新を許可するかどうか。
FilterColumnsこのプロパティを使用する前に、`AllowUpdatesWithoutKey` をtrue に設定してください。
UseLegacySQLこのクエリにBigQuery のレガシーSQL を使用するかどうかを指定します。デフォルトでは、Standard SQL が使われます。
PrivateEndpointNameWhen connecting over Private Access, this property specifies the name of the custom endpoint.
CData Cloud

AllowLargeResultSets

大きなデータセットの場合に、大きなデータセットをテンポラリーテーブルに格納するかしないか。

データ型

bool

デフォルト値

false

解説

大きなデータセットの場合に、大きなデータセットをテンポラリーテーブルに格納するかしないか。

CData Cloud

DestinationTable

This property determines where query results are stored in Google BigQuery.

データ型

string

デフォルト値

""

解説

Google BigQuery queries have a maximum amount of data they are allowed to return directly. If this limit is exceeded, then queries will fail with an error message like Response too large to return. When this option is enabled the response limit does not apply, because all query responses are stored in a Google BigQuery table before being returned.

This option is set differently depending upon whether your connection is using UseLegacySQL or not. By default this option is set using the standard SQL syntax:

DestinationTable=project-name.dataset-name.table-name

When UseLegacySQL is enabled, this option is set using the legacy table syntax:

DestinationTable=project-name:dataset-name.table-name

When using this option with multiple connections, make sure that each connection has its own destination table. Sharing a table between connections can lead to results getting lost because parallel queries can overwrite each others results.

CData Cloud

UseQueryCache

Google BigQuery のビルトインクエリキャッシュを使用するかどうかを指定します。

データ型

bool

デフォルト値

true

解説

Google BigQuery は最近のクエリの結果をキャッシュし、デフォルトでこのキャッシュをクエリに使用します。Google BigQuery はテーブルが更新されると自動的にキャッシュを更新するので、クエリが古いデータを返すリスクがなくパフォーマンスは一般的に良くなります。

これがfalse に設定されている場合、クエリは常にテーブルに対して直接実行されます。

CData Cloud

PageSize

Google BigQuery から返されるページあたりの結果数。

データ型

string

デフォルト値

"100000"

解説

PageSize は、Google BigQuery から返されるページあたりの結果数をコントロールできます。 より大きなページサイズを設定することにより、一度のHTTP リクエストで返せるデータの量を増やすことができます。ただし、実行にはより長い時間がかかります。 より小さなページサイズを設定することにより、すべてのデータを取得するのに必要なHTTP リクエスト数が増加します。ただし、タイムアウト切断が起こらないようにすることを推奨します。

UseStorageApi が有効になっていて、実行中のクエリをStorage API で実行できる場合、このオプションは効果がないことに注意してください。 詳しくは、StoragePageSize を参照してください。

CData Cloud

PollingInterval

ジョブが完了したかどうかを確認するためのチェックの間隔を秒単位で決定します。

データ型

string

デフォルト値

"1"

解説

これはCloud に直接ストリーミングされるのではなく、テーブルに保存されるクエリにのみ適用されます。 これは3つの場合にのみ適用されます:

  • DestinationTable が設定されている場合。
  • AllowLargeResultSets がTrue でクエリが Timeout 秒以上かかる場合。
  • UseStorageApi が有効でクエリが複雑な場合。

このプロパティは、クエリ結果が準備できているかを確認する間隔をどの長さにするかを決定します。 非常に大きなクエリ結果や複雑なクエリは処理に時間がかかります。ポーリング間隔が短い場合には、クエリ状況を確認する不要な要求が送られる結果を引き起こします。

CData Cloud

AllowUpdatesWithoutKey

主キーなしで更新を許可するかどうか。

データ型

bool

デフォルト値

false

解説

主キーなしで更新を許可するかどうか。

CData Cloud

FilterColumns

このプロパティを使用する前に、`AllowUpdatesWithoutKey` をtrue に設定してください。

データ型

string

デフォルト値

""

解説

このプロパティを使用する前に、`AllowUpdatesWithoutKey` をtrue に設定することを忘れないでください。

プロパティを次のように設定します。

`filterColumns=col1[,col2[,col3]];`

CData Cloud

UseLegacySQL

このクエリにBigQuery のレガシーSQL を使用するかどうかを指定します。デフォルトでは、Standard SQL が使われます。

データ型

bool

デフォルト値

false

解説

True に設定すると、クエリはBigQuery のレガシーSQL ダイアレクトを使用してクエリをリビルドします。 False に設定した場合は、クエリはBigQuery の標準SQL を使用します:https://cloud.google.com/bigquery/sql-reference/
UseLegacySQL がfalse に設定された場合は、AllowLargeResultSets の値は無視されます。クエリはAllowLargeResultSets がtrue の場合と同じように実行されます。

CData Cloud

PrivateEndpointName

When connecting over Private Access, this property specifies the name of the custom endpoint.

データ型

string

デフォルト値

""

解説

For example, if this property is set to 'xyz', then the endpoints accessed by the driver will be changed to 'bigquery-xyz.p.googleapis.com', 'bigquerystorage-xyz.p.googleapis.com', 'storage-xyz.p.googleapis.com', etc.

Note that if this property is used, then all endpoints must part of the private endpoint map. For instance, you cannot use the private access endpoint for one endpoint (as in 'bigquery-xyz.p.googleapis.com') but leave the default endpoint for another (as in 'bigquerystorage.googleapis.com').

CData Cloud

Storage API

このセクションでは、本プロバイダーの接続文字列で設定可能なStorage API プロパティの全リストを提供します。


プロパティ説明
UseStorageAPIバルクデータ読み出しにBigQuery のStorage API を使用するかどうかを指定します。
UseArrowFormatBigQuery のStorage API でArrow 形式を使用するかどうかを指定します。
StorageThresholdStorage API を呼び出すためにクエリが返す必要がある最小行数。
StoragePageSizeStorage API クエリに使用するページサイズを指定します。
CData Cloud

UseStorageAPI

バルクデータ読み出しにBigQuery のStorage API を使用するかどうかを指定します。

データ型

bool

デフォルト値

true

解説

デフォルトで、Cloud はデフォルトのREST API の代わりにStorage API を使用します。 クエリの複雑さに応じて、Cloud は次の2つの方法のいずれかでクエリを実行します:

  • 1つのテーブルのみからすべてのカラムを読み取る、LIMIT 以外の余分な句を持たない単純なクエリは、Storage API 内で直接実行されます。
  • 他のすべてのクエリは、テンポラリテーブルに書き込むクエリジョブとして実行されます。クエリが完了すると、Storage API を使用してテンポラリテーブルから結果が読み出されます。

BigQuery Storage API は、REST API(このオプションをfalse に設定することでアクセス可能)よりも速く効率的にデータを読み出すことができますが、価格が異なり、独自のOAuth アプリを使用する際は追加のOAuth 権限が必要になります。 また、PageSize の代わりに別個のStoragePageSize プロパティを使用します。

BigQuery REST API は追加の権限を必要とせず、標準価格を使用しますが、Storage API よりも低速です。

CData Cloud

UseArrowFormat

BigQuery のStorage API でArrow 形式を使用するかどうかを指定します。

データ型

bool

デフォルト値

false

解説

このプロパティは、UseStorageApi が有効になっている場合にのみ効果があります。Storage API に対して読み取りを実行する場合、Cloud はさまざまな形式のデータをリクエストできます。 デフォルトではAvro を使用しますが、このオプションを有効にするとArrow が使用されます。

このオプションは、時系列データや、その他の多くのdate、time、datetime、timestamp フィールドを持つデータセットを扱う場合に有効にする必要があります。 Arrow を使用するこれらのデータセットでは、Avro を使用するものよりも顕著な改善が見られます。 それ以外の場合、Avro とArrow の読み取り時間は非常に近く、両者を切り替えても大きな違いはありません。

CData Cloud

StorageThreshold

Storage API を呼び出すためにクエリが返す必要がある最小行数。

データ型

string

デフォルト値

"100000"

解説

Cloud は、Storage API で直接実行するには複雑すぎるクエリを受け取ると、クエリジョブを作成し、Storage API を使用してクエリ結果テーブルから読み取ります。 クエリジョブが、このオプションで設定された行数よりも少ない値を返した場合、結果は直接返されStorage API は使用されません。

この値は1 から100000 の間に設定する必要があります。大きい値では、結果セットが大きい場合にのみStorage API を使用しますが、クエリジョブからより多くの結果を読み取ることで遅延が発生します。 値が小さいほど遅延は小さくなりますが、より多くのクエリにStorage API を使用します。

このオプションは、UseStorageApi が有効になっていて、実行中のクエリをStorage API で直接実行できない場合にのみ効果があることに注意してください。 Storage で直接実行されるクエリは、クエリジョブを作成しません。

CData Cloud

StoragePageSize

Storage API クエリに使用するページサイズを指定します。

データ型

string

デフォルト値

"10000"

解説

UseStorageApi が有効で、実行中のクエリがStorage API で実行可能な場合、このオプションはCloud がクライアントでバッファできる行数を制御します。

一般的に、値を大きくすると、メモリを消費しますがクエリが高速になります。値を小さくすると、メモリは節約されますがクエリは遅くなります。

CData Cloud

Uploading

このセクションでは、本プロバイダーの接続文字列で設定可能なUploading プロパティの全リストを提供します。


プロパティ説明
InsertModeデータを挿入する際に使用する方法を指定します。デフォルトでは、ストリーミングINSERT が使用されます。
WaitForBatchResultsバルクアップロードAPI を使用するときにジョブの完了を待つかどうか。 InsertMode がUpload に設定されている場合のみ有効です。
TempTableDatasetThe prefix of the dataset that will contain temporary tables when performing bulk UPDATE or DELETE operations.
CData Cloud

InsertMode

データを挿入する際に使用する方法を指定します。デフォルトでは、ストリーミングINSERT が使用されます。

Possible Values

Streaming, DML, Upload

データ型

string

デフォルト値

"Streaming"

解説

This section provides only a summary of the mechanisms that each of these modes use. Please see 高度な統合 for more details on how to use each of these modes.

  • Streaming uses the Google BigQuery streaming API (also called insertAll).
  • DML uses the Google BigQuery query API to generate INSERT SQL statements which insert individual rows.
  • Upload uses the Google BigQuery upload API to create a load job which copies the rows from temporary server-side storage.
  • GCSStaging is similar to the Upload mode except that it uses your Google Cloud Storage account instead of public storage.

UseLegacySQL がtrue の場合、Streaming とUploadモードのみ使用可能です。レガシーSQL ダイアレクトはDML ステートメントをサポートしていません。

CData Cloud

WaitForBatchResults

バルクアップロードAPI を使用するときにジョブの完了を待つかどうか。 InsertMode がUpload に設定されている場合のみ有効です。

データ型

bool

デフォルト値

true

解説

このプロパティは、Cloud がバッチジョブによるステータス報告を待つかどうかを決定します。 By default property is true and INSERT queries will complete only once Google BigQuery has finished executed them. When this property is false the INSERT query will complete as soon as a job is submitted for it.

The default mode is recommended for reliability:

  1. INSERTs will never fail silently. If the Cloud does not wait for the job to finish, it will never receive an error if the job failed to execute.
  2. If the INSERT batch size is small enough, the Cloud may submit jobs quickly enough that it hits Google BigQuery's load job limits. This does not happen when waiting for batch results because the Cloud will not allow more than one job to execute at the same time on the same connection.

You can disable this option to achieve lower delays when inserting, but you must also make sure to obey the Google BigQuery rate limits and check the status of each job to track their status and determine whether they have succeeded or failed.

CData Cloud

TempTableDataset

The prefix of the dataset that will contain temporary tables when performing bulk UPDATE or DELETE operations.

データ型

string

デフォルト値

"_CDataTempTableDataset"

解説

Internally bulk UPDATE and DELETE use Google BigQuery MERGE queries, which require creating a table to hold all the update operations. This option is used along with the target table's region to determine the name of the dataset where these temporary tables are created. Each region must have its own temporary dataset so that the temporary table and the MERGE table can be stored in the same project/dataset. This avoids unnecessary data transfer charges.

For example, the Cloud would create a dataset called "_CDataTempTableDataset_US" for tables in the US region and a dataset called "_CDataTempTableDataset_asia_southeast_1" for tables in the Singapore region.

CData Cloud

OAuth

このセクションでは、本プロバイダーの接続文字列で設定可能なOAuth プロパティの全リストを提供します。


プロパティ説明
OAuthClientIdカスタムOAuth アプリケーションの作成時に割り当てられたクライアントId を指定します。(コンシューマーキーとも呼ばれます。)このID は、カスタムアプリケーションをOAuth 認可サーバーに登録します。
OAuthClientSecretカスタムOAuth アプリケーションの作成時に割り当てられたクライアントシークレットを指定します。( コンシューマーシークレット とも呼ばれます。)このシークレットは、カスタムアプリケーションをOAuth 認可サーバーに登録します。
DelegatedServiceAccounts委任されたリクエストのためのサービスアカウントE メールのスペース区切りのリスト。
RequestingServiceAccount委任されたリクエストを行うためのサービスアカウントのE メール。
CData Cloud

OAuthClientId

カスタムOAuth アプリケーションの作成時に割り当てられたクライアントId を指定します。(コンシューマーキーとも呼ばれます。)このID は、カスタムアプリケーションをOAuth 認可サーバーに登録します。

データ型

string

デフォルト値

""

解説

OAuthClientId は、ユーザーがOAuth 経由で認証を行う前に設定する必要があるいくつかの接続パラメータの1つです。詳細は接続の確立を参照してください。

CData Cloud

OAuthClientSecret

カスタムOAuth アプリケーションの作成時に割り当てられたクライアントシークレットを指定します。( コンシューマーシークレット とも呼ばれます。)このシークレットは、カスタムアプリケーションをOAuth 認可サーバーに登録します。

データ型

string

デフォルト値

""

解説

OAuthClientSecret は、ユーザーがOAuth 経由で認証を行う前に設定する必要があるいくつかの接続パラメータの1つです。詳細は接続の確立を参照してください。

CData Cloud

DelegatedServiceAccounts

委任されたリクエストのためのサービスアカウントE メールのスペース区切りのリスト。

データ型

string

デフォルト値

""

解説

サービスアカウントE メールは、スペース区切りのリストで指定する必要があります。

各サービスアカウントは、チェーン内の次のサービスアカウントのroles/iam.serviceAccountTokenCreator ロールを付与されている必要があります。

チェーンの最後のサービスアカウントは、リクエストするサービスアカウントのroles/iam.serviceAccountTokenCreator ロールが付与されている必要があります。 リクエストするサービスアカウントはRequestingServiceAccount プロパティで指定されたものです。

委任されたリクエストの場合、リクエストするサービスアカウントは、iam.serviceAccounts.getAccessToken 権限を持つ必要があることに注意してください。これは、serviceAccountTokenCreator ロールを介して付与することもできます。

CData Cloud

RequestingServiceAccount

委任されたリクエストを行うためのサービスアカウントのE メール。

データ型

string

デフォルト値

""

解説

委任されたリクエストで認証情報が要求されたアカウントのサービスアカウントのE メール。DelegatedServiceAccounts の委任されたサービスアカウントのリストを用いて、このプロパティは、委任されたリクエストを行うために使用されます。

このサービスアカウントには、IAM 権限iam.serviceAccounts.getAccessToken が必要です。

CData Cloud

JWT OAuth

このセクションでは、本プロバイダーの接続文字列で設定可能なJWT OAuth プロパティの全リストを提供します。


プロパティ説明
OAuthJWTCertJWT 証明書のストア。
OAuthJWTCertTypeJWT 証明書を格納するキーストアの種類。
OAuthJWTCertPasswordOAuth JWT 証明書のパスワード。パスワードを必要とする証明書ストアにアクセスするために使用されます。証明書ストアがパスワードを必要としない場合は、このプロパティを空白のままにします。
OAuthJWTCertSubjectOAuth JWT 証明書のサブジェクトで、ストアで一致する証明書を検索するために使用されます。部分一致と、先頭の証明書を選択するためのワイルドカード '*' をサポートします。
OAuthJWTIssuerJava Web Token の発行者。
OAuthJWTSubjectアプリケーションからデリゲートアクセスの要求対象となるユーザーサブジェクト。
CData Cloud

OAuthJWTCert

JWT 証明書のストア。

データ型

string

デフォルト値

""

解説

クライアント証明書のための証明書ストア名。

OAuthJWTCertType フィールドは、OAuthJWTCert により指定された証明書ストアの種類を指定します。 ストアがパスワードで保護されている場合は、OAuthJWTCertPassword でパスワードを指定します。

OAuthJWTCert は、OAuthJWTCertSubject フィールドとともにクライアント証明書を指定するために使われます。 OAuthJWTCert に値がある場合で、OAuthJWTCertSubject が設定されている場合は、証明書の検索が始まります。 詳しくは、OAuthJWTCertSubject フィールドを参照してください。

証明書ストアの指定はプラットフォームに依存します。

Windows の共通のユーザとシステム証明書ストアの指定は以下のとおりです。

MY個人証明書と関連付けられた秘密キーを格納している証明書ストア。
CA証明機関の証明書。
ROOTルート証明書。
SPCソフトウェア発行元証明書。

Javaでは、証明書ストアは通常、証明書および任意の秘密キーを含むファイルです。

証明書ストアの種類がPFXFile の場合は、このプロパティにファイル名を設定します。 PFXBlob の場合は、このプロパティをPFX ファイルのバイナリコンテンツ(例えば、PKCS12証明書ストア)に設定する必要があります。

CData Cloud

OAuthJWTCertType

JWT 証明書を格納するキーストアの種類。

Possible Values

PFXBLOB, JKSBLOB, PEMKEY_BLOB, PUBLIC_KEY_BLOB, SSHPUBLIC_KEY_BLOB, XMLBLOB, BCFKSBLOB, GOOGLEJSONBLOB

データ型

string

デフォルト値

"GOOGLEJSONBLOB"

解説

このプロパティには次の値の一つを設定できます。

USERWindows の場合、現在のユーザーにより所有された証明書ストアであることを指定します。 Note:この種類はJava では利用できません。
MACHINEWindows の場合、この証明書ストアがシステムストアであることを指定します。 Note:この種類はJava では利用できません。
PFXFILEこの証明書ストアは、証明書を含むPFX(PKCS12)ファイルの名前です。
PFXBLOBこの証明書ストアは、PFX(PKCS12)形式の証明書ストアを表すBase-64でエンコードされた文字列です。
JKSFILEこの証明書ストアは、証明書を含むJava key store(JKS)ファイルの名前です。 Note:この種類はJava のみで利用できます。
JKSBLOBこの証明書ストアは、Java key store(JKS)形式の証明書ストアを表すBase-64でエンコードされた文字列です。 Note:この種類はJava のみで利用できます。
PEMKEY_FILEこの証明書ストアは、秘密キーと任意の証明書を含むPEM でエンコードされたファイルの名前です。
PEMKEY_BLOBこの証明書ストアは、秘密キーと任意の証明書を含むBase-64でエンコードされた文字列です。
PUBLIC_KEY_FILEこの証明書ストアは、PEM またはDER でエンコードされた公開キーの証明書を含むファイルの名前です。
PUBLIC_KEY_BLOBこの証明書ストアは、PEM またはDER でエンコードされた公開キーの証明書を含むBase-64でエンコードされた文字列です。
SSHPUBLIC_KEY_FILEこの証明書ストアは、SSH 公開キーを含むファイルの名前です。
SSHPUBLIC_KEY_BLOBこの証明書ストアは、SSH 公開キーを含むBase-64でエンコードされた文字列です。
P7BFILEこの証明書ストアは、証明書を含むPKCS7 ファイルの名前です。
PPKFILEこの証明書ストアは、PuTTY 秘密キー(PPK)を含むファイルの名前です。
XMLFILEこの証明書ストアは、XML 形式の証明書を含むファイルの名前です。
XMLBLOBこの証明書ストアは、XML 形式の証明書を含む文字列の名前です。
BCFKSFILEこの証明書ストアは、Bouncy Castle キーストアを含むファイルの名前です。
BCFKSBLOBこの証明書ストアは、Bouncy Castle キーストアを含む文字列(Base-64エンコード)です。
GOOGLEJSONこの証明書ストアは、サービスアカウント情報を含むJSON ファイルの名前です。Google サービスに接続する場合にのみ有効です。
GOOGLEJSONBLOBこの証明書ストアは、サービスアカウントのJSON を含む文字列です。Google サービスに接続する場合にのみ有効です。

CData Cloud

OAuthJWTCertPassword

OAuth JWT 証明書のパスワード。パスワードを必要とする証明書ストアにアクセスするために使用されます。証明書ストアがパスワードを必要としない場合は、このプロパティを空白のままにします。

データ型

string

デフォルト値

""

解説

このプロパティは、証明書ストアを開くために必要なパスワードを指定します。ただし、ストアの種類がパスワードを必要とする場合に限ります。 パスワードが必要かどうかを判断するには、ご利用の証明書ストアのドキュメントまたは設定を参照してください。

GOOGLEJSON OAuthJWTCertType を使用する場合は必要ありません。Google JSON キーは暗号化されていません。

CData Cloud

OAuthJWTCertSubject

OAuth JWT 証明書のサブジェクトで、ストアで一致する証明書を検索するために使用されます。部分一致と、先頭の証明書を選択するためのワイルドカード '*' をサポートします。

データ型

string

デフォルト値

"*"

解説

このプロパティの値は、ストアで一致する証明書を検索するために使用されます。検索プロセスは以下のように動作します。

  • サブジェクトに完全に一致する証明書が見つかれば、該当する証明書が選択されます。
  • 完全に一致するものがない場合、ストアは、サブジェクトがプロパティ値を含む証明書を検索します。
  • 一致する証明書がない場合、証明書は選択されません。

値を '*' に設定すると、ストアの先頭の証明書が自動的に選択されます。 証明書のサブジェクトは識別名フィールドおよび値のカンマ区切りのリストです。 例:CN=www.server.com, OU=test, C=US, [email protected]。一般的なフィールドには以下のものが含まれます。

フィールド説明
CN共通名。一般的には、www.server.com のようなホスト名です。
O法人名
OU法人の部署名
L法人の住所(市町村名)
S法人の住所(都道府県)
C国名
EE メールアドレス

フィールド値にカンマが含まれる場合は、引用符で囲んでください。例:"O=ACME, Inc."。

CData Cloud

OAuthJWTIssuer

Java Web Token の発行者。

データ型

string

デフォルト値

""

解説

Java Web Token の発行者。 サービスアカウントのE メールアドレスの値を入力します。

GOOGLEJSON OAuthJWTCertType を使用する場合は必要ありません。Google JSON キーには、発行者アカウントのコピーが含まれています。

CData Cloud

OAuthJWTSubject

アプリケーションからデリゲートアクセスの要求対象となるユーザーサブジェクト。

データ型

string

デフォルト値

""

解説

アプリケーションからデリゲートアクセスの要求対象となるユーザーサブジェクトです。 アプリケーションが委任されたアクセスをリクエストするユーザーのE メールアドレスを入力します。

CData Cloud

SSL

このセクションでは、本プロバイダーの接続文字列で設定可能なSSL プロパティの全リストを提供します。


プロパティ説明
SSLServerCertTLS/SSL を使用して接続する際に、サーバーが受け入れ可能な証明書を指定します。
CData Cloud

SSLServerCert

TLS/SSL を使用して接続する際に、サーバーが受け入れ可能な証明書を指定します。

データ型

string

デフォルト値

""

解説

TLS/SSL 接続を使用する場合は、このプロパティを使用して、サーバーが受け入れるTLS/SSL 証明書を指定できます。コンピュータによって信頼されていない他の証明書はすべて拒否されます。

このプロパティは、次のフォームを取ります:

説明 例
フルPEM 証明書(例では省略されています) -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE-----
証明書を保有するローカルファイルへのパス。 C:\cert.cer
公開鍵(例では省略されています) -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY-----
MD5 Thumbprint (hex 値はスペースおよびコロン区切り) ecadbdda5a1529c58a1e9e09828d70e4
SHA1 Thumbprint (hex 値はスペースおよびコロン区切り) 34a929226ae0819f2ec14b4a3d904f801cbb150d

これを指定しない場合は、マシンが信用するすべての証明書が受け入れられます。

すべての証明書の受け入れを示すには、'*'を使用します。セキュリティ上の理由から、これはお勧めできません。

CData Cloud

Logging

このセクションでは、本プロバイダーの接続文字列で設定可能なLogging プロパティの全リストを提供します。


プロパティ説明
VerbosityログファイルのVerbosity レベルを指定し、記録される情報の詳細度を制御します。サポートされる値の範囲は1から5までです。
CData Cloud

Verbosity

ログファイルのVerbosity レベルを指定し、記録される情報の詳細度を制御します。サポートされる値の範囲は1から5までです。

データ型

string

デフォルト値

"1"

解説

このプロパティは、Cloud がログファイルに含める詳細レベルを定義します。 Verbosity レベルを高くするとログに記録される情報の詳細が増えますが、ログファイルが大きくなり取り込まれるデータが増えるためパフォーマンスが低下する可能性があります。

デフォルトのVerbosity レベルは1で、通常の運用にはこれが推奨されます。 より高いVerbosity レベルは主にデバッグを目的としています。 各レベルの詳細については、ログ を参照してください。

LogModules プロパティと組み合わせることで、Verbosity は特定の情報カテゴリに対するログの詳細度を調整できます。

CData Cloud

Schema

このセクションでは、本プロバイダーの接続文字列で設定可能なSchema プロパティの全リストを提供します。


プロパティ説明
BrowsableSchemasレポートされるスキーマを利用可能なすべてのスキーマのサブセットに制限するオプション設定。例えば、 BrowsableSchemas=SchemaA,SchemaB,SchemaC です。
RefreshViewSchemasprovider が自動的に最新のビュースキーマを決定することを許可します。
ShowTableDescriptionsプラットフォームのメタデータAPI とsys_tables / sys_views を介してテーブルの説明を返すかどうかを制御します。
PrimaryKeyIdentifiersSet this property to define primary keys.
AllowedTableTypesSpecifies what kinds of tables will be visible.
FlattenObjectsDetermines whether the provider flattens STRUCT fields into top-level columns.
CData Cloud

BrowsableSchemas

レポートされるスキーマを利用可能なすべてのスキーマのサブセットに制限するオプション設定。例えば、 BrowsableSchemas=SchemaA,SchemaB,SchemaC です。

データ型

string

デフォルト値

""

解説

利用可能なデータベーススキーマをすべてリストすると余分な時間がかかり、パフォーマンスが低下します。 接続文字列にスキーマのリストを指定することで、時間を節約しパフォーマンスを向上させることができます。

CData Cloud

RefreshViewSchemas

provider が自動的に最新のビュースキーマを決定することを許可します。

データ型

bool

デフォルト値

true

解説

BigQuery ビューを使用する場合、BigQuery はビュー自体とともにビュースキーマのコピーを保存します。ただし、これらの保存されたビュースキーマは、ビューで使用されるテーブルが変更されても更新されません。これは、保存されたビュースキーマが容易に古くなり、ビューを使用するクエリが失敗する可能性があることを意味します。

デフォルトでは、Cloud は保存されたビュースキーマを使用せず、代わりにビューをクエリして、利用可能なカラムを決定します。これにより、スキーマが最新であることが保証されますが、Cloud がジョブのクエリを開始する必要があります。

このオプションを無効にすると、保存されたビュースキーマを使用するようにCloud に強制できます。これにより、ビュースキーマを取得するときにCloud がクエリを実行することを防ぐことができますが、同時に、スキーマが古い場合はビューを使用するクエリが失敗することも意味します。

CData Cloud

ShowTableDescriptions

プラットフォームのメタデータAPI とsys_tables / sys_views を介してテーブルの説明を返すかどうかを制御します。

データ型

bool

デフォルト値

false

解説

デフォルトでは、テーブルの説明は表示されません。これは、API が、テーブルの読み取りに通常必要なリクエスト以上の追加のリクエストを必要とするためです。

このオプションを有効にするとテーブルの説明が表示されますが、テーブルリストを取得する際に、テーブルごとに追加のAPI リクエストが発生します。これにより、大規模なデータセットでのメタデータ操作が遅くなる可能性があります。

CData Cloud

PrimaryKeyIdentifiers

Set this property to define primary keys.

データ型

string

デフォルト値

""

解説

Google BigQuery does not natively support primary keys, but for certain DML operations or database tools you may need to define them. By default this option is disabled and no tables will have primary keys except for the ones defined in schema files (if you set Location).

Primary keys are defined using a list of rules which match tables and provide a list of key columns. For example, PrimaryKeyIdentifiers="*=key;transactions=tx_date,tx_serial;user_comments=" has three rules separated by semicolons:

  1. The first rule *=key means that every table without a more specific rule will have one primary key column called key. Tables that do not have a key column will not have any primary keys.
  2. The second rule transactions=tx_date,tx_serial means that the transactions table will have the two primary key columns tx_date and tx_serial. If any of those columns are missing from the table then they will be ignored.
  3. The third rule user_comments= means that the user_comments table will have no primary keys. The only use that empty key lists have is in overriding the default rule. If there is no default rule present then the only tables with primary keys would be the ones explicitly listed.

Note that the table names can include just the table, the table and dataset or the table, dataset and project. Both column and table names may be quoted using SQL quotes:

/* Rules with just table names use the connection ProjectId (or DataProjectId) and DatasetId. 
   All these rules refer to the same table with a connection where ProjectId=someProject;DatasetId=someDataset */
someTable=a,b,c
someDataset.someTable=a,b,c
someProject.someDataset.someTable=a,b,c

/* Any table or column name may be quoted */
`someProject`."someDataset".[someTable]=`a`,[b],"c"

CData Cloud

AllowedTableTypes

Specifies what kinds of tables will be visible.

データ型

string

デフォルト値

"TABLE,EXTERNAL,VIEW,MATERIALIZED_VIEW"

解説

This option is a comma-separated list of the table type values that the Cloud displays. Any table-like or view-like entity that doesn't have a matching type will not be reported when listing tables.

  • TABLE Standard tables
  • EXTERNAL Read-only table stored on another service (like GCS or Drive)
  • SNAPSHOT A read-only table that preserves the data of another table at a specific point in time
  • VIEW Standard views
  • MATERIALIZED_VIEW A view that is recalculated and cached each time its base table changes

For example, to restrict the Cloud to listing only simple tables and views, this option would be set to TABLE,VIEW

CData Cloud

FlattenObjects

Determines whether the provider flattens STRUCT fields into top-level columns.

データ型

bool

デフォルト値

true

解説

By default the Cloud reports each field in a STRUCT column as its own column while the STRUCT column itself is hidden. This process is recursively applied to nested STRUCT values. For example, if the following table is defined in Google BigQuery then the Cloud reports 3 columns: location.coords.lat, location.coords.lon and location.country:

CREATE TABLE t(location STRUCT<coords STRUCT<lat FLOAT64, lon FLOAT64>, country STRING>);

If this property is disabled, then the top-level STRUCT is not expanded and is left as its own column. The value of this column is reported as a JSON aggregate. In the above example, the Cloud reports only the location column when flattening is disabled.

CData Cloud

Miscellaneous

このセクションでは、本プロバイダーの接続文字列で設定可能なMiscellaneous プロパティの全リストを提供します。


プロパティ説明
StorageTimeoutHow long a Storage API connection may remain active before the provider reconnects.
EmptyArraysAsNullWhether empty arrays are represented as 'null' or as '[]'
HidePartitionColumnsWhether partition tables will show the columns _PARTITIONDATE and _PARTITIONTIME.
AllowAggregateParametersQueryPassthrough が有効になっているときに、パラメータで生の集計を使用できるようにします。
ApplicationNameAn application name in the form application/version. For example, AcmeReporting/1.0.
AuditLimit監査テーブル内に保存される行の最大数。
AuditMode監査テーブルに記録するprovider アクション。
AWSWorkloadIdentityConfigAWS 経由でWorkload Identity Federation を使用する場合に指定する設定プロパティ。
BigQueryOptionsBigQuery オプションのカンマ区切りのリスト。
MaximumBillingTierMaximumBillingTier はTB あたりの基本料金の乗数となる正の整数です。例えばMaximumBillingTier を2 に設定すると、そのクエリの最大費用はTB あたり2x 基本価格になります。
MaximumBytesBilledBigQuery がジョブがキャンセルされる前に消費を許容するバイト数を制限します。
MaxRows集計やGROUP BY を使用しないクエリで返される最大行数を指定します。
PseudoColumnsテーブルカラムとして公開する擬似カラムを指定します。'TableName=ColumnName;TableName=ColumnName' という形式を使用します。デフォルトは空の文字列で、このプロパティを無効にします。
SupportCaseSensitiveTablesデフォルトでは、provider はテーブル名を大文字小文字を区別しないものとして扱います。そのため、複数のテーブルが同じ名前で大文字小文字だけが異なる場合、メタデータには1つだけがレポートされます。
TableSamplePercentThis determines what percent of a table is sampled with the TABLESAMPLE operator.
Timeoutタイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。
WorkloadPoolIdWorkload Identity Federation プールのID。
WorkloadProjectIdWorkload Identity Federation プールをホストするGoogle Cloud プロジェクトのID。
WorkloadProviderIdWorkload Identity Federation プールプロバイダーのID。
CData Cloud

StorageTimeout

How long a Storage API connection may remain active before the provider reconnects.

データ型

string

デフォルト値

"300"

解説

Google BigQuery and many proxies/firewalls restrict the amount of time that idle connections stay alive before they are forcibly closed. This can be a problem when using the Storage API because the Cloud may stream data faster than it can be consumed. While the consumer is catching up, the Cloud does not use its connection and it may be closed by the next time the Cloud uses it.

To avoid this the Cloud will automatically close and reopen the connection if it has been active for too long. This property controls how many seconds the connection has to be active for the Cloud to reset it. To disable these resets this property can also be set to 0 or a negative value.

CData Cloud

EmptyArraysAsNull

Whether empty arrays are represented as 'null' or as '[]'

データ型

bool

デフォルト値

true

解説

This property is enabled by default, so empty arrays are represented as 'null' for consistency with representing empty aggregates. To mimic the native driver and represente empty arrays as '[]', this property can be disabled.

CData Cloud

HidePartitionColumns

Whether partition tables will show the columns _PARTITIONDATE and _PARTITIONTIME.

データ型

bool

デフォルト値

false

解説

This property is disabled by default, so partition tables will show the pseudocolumns _PARTITIONDATE and _PARTITIONTIME. To hide these columns, as is done in the native driver and the BigQuery console, this property can be enabled.

CData Cloud

AllowAggregateParameters

QueryPassthrough が有効になっているときに、パラメータで生の集計を使用できるようにします。

データ型

bool

デフォルト値

false

解説

このオプションは、QueryPassthrough 経由でダイレクトクエリを使用する場合の文字列パラメータの処理方法に影響します。例えば、このクエリを考えてみましょう:

INSERT INTO proj.data.tbl(x) VALUES (@x)

デフォルトでは、このオプションは無効になっており、文字列パラメータは引用符で囲まれSQL 文字列にエスケープされます。つまり、任意の値を文字列パラメータとして安全に使用できますが、パラメータを生の集計値として使用できないことも意味します。

/*
 * If @x is set to: test value ' contains quote
 *
 * Result is a valid query
*/
INSERT INTO proj.data.tbl(x) VALUES ('test value \' contains quote')

/*
 * If @x is set to: ['valid', ('aggregate', 'value')]
 *
 * Result contains string instead of aggregate:
*/
INSERT INTO proj.data.tbl(x) VALUES ('[\'valid\', (\'aggregate\', \'value\')]')

このオプションを有効にすると、文字列パラメータはクエリに直接挿入されます。つまり、生の集計をパラメータとして使用できますが、すべての単純な文字列をエスケープする必要があることも意味します。

/*
 * If @x is set to: test value ' contains quote
 *
 * Result is an invalid query
*/
INSERT INTO proj.data.tbl(x) VALUES (test value ' contains quote)

/*
 * If @x is set to: ['valid', ('aggregate', 'value')]
 *
 * Result is an aggregate
*/
INSERT INTO proj.data.tbl(x) VALUES (['valid', ('aggregate', 'value')])

CData Cloud

ApplicationName

An application name in the form application/version. For example, AcmeReporting/1.0.

データ型

string

デフォルト値

""

解説

The Cloud identifies itself to BigQuery using a Google partner User-Agent header. The first part of the User-Agent is fixed and identifies the client as a specific build of the CData Cloud. The last portion reports the specific application using the Cloud.

CData Cloud

AuditLimit

監査テーブル内に保存される行の最大数。

データ型

string

デフォルト値

"1000"

解説

AuditMode オプションで監査が有効になっている場合、このプロパティを使用して、 監査テーブルで一度に許可される行数を決定します。

デフォルトではこのプロパティは1000です。これは、監査テーブルで使用できるのは 直近の1000監査イベントのみであることを意味します。

このプロパティは-1 に設定することも可能です。これにより、監査テーブルのサイズに 制限がなくなります。このモードでは、Cloud が過剰なメモリを使用しないように、 Cloud監査テーブルを定期的にクリアする必要があります。

DELETE FROM AuditJobs#TEMP

CData Cloud

AuditMode

監査テーブルに記録するprovider アクション。

データ型

string

デフォルト値

""

解説

Cloud は、クエリを実行する際の特定の内部アクションを記録できます。 このオプションにリストされているアクションのそれぞれについて、Cloud はテンポラリ監査テーブルを作成して、アクションが発生したタイミング、アクションを引き起こしたクエリ、その他の関連情報を記録します。

デフォルトではこのオプションは'none' に設定されており、Cloud は監査情報を記録しません。 このオプションは、以下のアクションのカンマ区切りリストに設定することもできます。

モード名 監査テーブル 説明 カラム
start-jobs AuditJobs#TEMP Cloud によって開始されたすべてのジョブを記録します Timestamp,Query,ProjectId,Location,JobId

これらのテーブルのサイズを制限する方法の詳細については、AuditLimit を参照してください。

CData Cloud

AWSWorkloadIdentityConfig

AWS 経由でWorkload Identity Federation を使用する場合に指定する設定プロパティ。

データ型

string

デフォルト値

""

解説

このプロパティは、Key=Value プロパティのセミコロン区切りリストとしてフォーマットされ、値はオプションで引用符で囲むこともできます。 例えば、この設定はユーザーのルートキーを使用してAWS で認証します:

AWSWorkloadIdentityConfig="AuhtScheme=AwsRootKeys;AccessKey='AKIAABCDEF123456';SecretKey=...;Region=us-east-1"

CData Cloud

BigQueryOptions

BigQuery オプションのカンマ区切りのリスト。

データ型

string

デフォルト値

""

解説

Google BigQuery オプションのリスト:

オプション説明
gbqoImplicitJoinAsUnionこのオプションは、ドライバーがSQL92 で予期されるようにIMPLICIT JOIN をCROSS JOIN に変換することを防止します。そのかわりに、そのままIMPLICIT JOIN として残され、Google BigQuery はUNION ALL として実行します。

CData Cloud

MaximumBillingTier

MaximumBillingTier はTB あたりの基本料金の乗数となる正の整数です。例えばMaximumBillingTier を2 に設定すると、そのクエリの最大費用はTB あたり2x 基本価格になります。

データ型

string

デフォルト値

""

解説

このジョブの課金階層を制限します。この階層を超えるリソース使用量を持つクエリは失敗します(料金は発生しません)。指定がない場合は、プロジェクトのデフォルトに設定されます。 BigQuery が標準のTB 課金階層で完了できないクエリを実行した場合、BigQuery はbillingTierLimitExceeded エラー、およびクエリの費用がどのくらいになるかの見積もりを返します。 より高い課金階層でクエリを実行するには、クエリリクエストの一部としてmaximumBillingTier の新しい値を渡します。MaximumBillingTier はTB あたりの基本料金の乗数となる正の整数です。例えばMaximumBillingTier を2 に設定すると、そのクエリの最大費用はTB あたり2x 基本価格になります。

CData Cloud

MaximumBytesBilled

BigQuery がジョブがキャンセルされる前に消費を許容するバイト数を制限します。

データ型

string

デフォルト値

""

解説

この値を設定すると、すべてのジョブはこの値をデフォルトの請求上限として使用します。ジョブがこれ以上のバイトを使用している場合、BigQuery はそれをキャンセルし課金されません。 デフォルトでは上限はなく、すべてのジョブは消費したバイト数に応じて課金されます。

これは、DestinationTable を使用する場合、またはInsertJob ストアドプロシージャを使用する場合にのみ効果があります。BigQuery では標準のクエリジョブにバイト制限を設定できません。

CData Cloud

MaxRows

集計やGROUP BY を使用しないクエリで返される最大行数を指定します。

データ型

int

デフォルト値

-1

解説

このプロパティは、集計やGROUP BY 句を含まないクエリに対してCloud が返す行数の上限を設定します。 この制限により、クエリがデフォルトで過度に大きな結果セットを返さないようにします。

クエリにLIMIT 句が含まれている場合、クエリで指定された値がMaxRows 設定よりも優先されます。 MaxRows が"-1" に設定されている場合、LIMIT 句が明示的にクエリに含まれていない限り、行の制限は行われません。

このプロパティは、非常に大きなデータセットを返す可能性のあるクエリを実行する際に、パフォーマンスを最適化し過剰なリソース消費を防ぐのに役立ちます。

CData Cloud

PseudoColumns

テーブルカラムとして公開する擬似カラムを指定します。'TableName=ColumnName;TableName=ColumnName' という形式を使用します。デフォルトは空の文字列で、このプロパティを無効にします。

データ型

string

デフォルト値

""

解説

このプロパティを使用すると、Cloud がテーブルカラムとして公開する擬似カラムを定義できます。

個々の擬似カラムを指定するには、以下の形式を使用します。"Table1=Column1;Table1=Column2;Table2=Column3"

すべてのテーブルのすべての擬似カラムを含めるには、次のようにします:"*=*"

CData Cloud

SupportCaseSensitiveTables

デフォルトでは、provider はテーブル名を大文字小文字を区別しないものとして扱います。そのため、複数のテーブルが同じ名前で大文字小文字だけが異なる場合、メタデータには1つだけがレポートされます。

データ型

bool

デフォルト値

false

解説

このプロパティをtrue に設定すると、同じ名前で大文字小文字が異なるテーブルの名前は変更され、メタデータですべてレポートされるようになります。

CData Cloud

TableSamplePercent

This determines what percent of a table is sampled with the TABLESAMPLE operator.

データ型

string

デフォルト値

""

解説

This option can be set to make the Cloud use the TABLESAMPLE for each table referenced by a query. The value determines what percent is provided to the PERCENT clause. That clause will only be generated if this property's value is above zero.

-- Input SQL
SELECT * FROM `tbl`

-- Generated Google BigQuery SQL when TableSamplePercent=10
SELECT * FROM `tbl` TABLESAMPLE SYSTEM (10 PERCENT)

This option is subject to a few limitations:

  • It is applied during query converison and has no effect when QueryPassthrough is set.
  • More rows may be returned than expected due to how the server implements TABLESAMPLE. Please see the Google BigQuery documentation for more information.
  • TABLESAMPLE is not supported on views. If a view is queried in sampling mode, the Cloud will omit the TABLESAMPLE clause for the view.

CData Cloud

Timeout

タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。

データ型

string

デフォルト値

"300"

解説

Timeout が0に設定されている場合は、操作がタイムアウトしません。処理が正常に完了するか、エラー状態になるまで実行されます。

Timeout の有効期限が切れても処理が完了していない場合は、Cloud は例外をスローします。

CData Cloud

WorkloadPoolId

Workload Identity Federation プールのID。

データ型

string

デフォルト値

""

解説

Workload Identity Federation プールのID。

CData Cloud

WorkloadProjectId

Workload Identity Federation プールをホストするGoogle Cloud プロジェクトのID。

データ型

string

デフォルト値

""

解説

Workload Identity Federation プールをホストするGoogle Cloud プロジェクトのID。

CData Cloud

WorkloadProviderId

Workload Identity Federation プールプロバイダーのID。

データ型

string

デフォルト値

""

解説

Workload Identity Federation プールプロバイダーのID。

CData Cloud

Third Party Copyrights

protobuf v. 3.5.1

Copyright 2008 Google Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Code generated by the Protocol Buffer compiler is owned by the owner of the input file used when generating it. This code is not standalone and requires a support library to be linked with it. This support library is itself covered by the above license.

Google API Protobuf Definitions (Arrow)

Apache License Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

(a) You must give any other recipients of the Work or Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Google API Protobuf Definitions (Avro)

Apache License Version 2.0, January 2004
http://www.apache.org/licenses/v

vro TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.

"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

(a) You must give any other recipients of the Work or Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright (c) 2025 CData Software, Inc. - All rights reserved.
Build 24.0.9180