Google BigQuery Connector for CData Sync

Build 25.0.9540
  • Google BigQuery
    • 接続の確立
      • 高度な統合
      • 必要最小限のロール
    • 高度な機能
      • SSL の設定
      • ファイアウォールとプロキシ
    • データモデル
      • ビュー
        • Datasets
        • PartitionsList
        • PartitionsValues
        • Projects
      • ストアドプロシージャ
        • CancelJob
        • DeleteObject
        • DeleteTable
        • GetJob
        • GetOAuthAccessToken
        • GetOAuthAuthorizationURL
        • InsertJob
        • InsertLoadJob
        • RefreshOAuthAccessToken
        • UploadObject
      • 外部データソース
      • データ型マッピング
      • 追加メタデータ
    • 接続文字列オプション
      • Authentication
        • AuthScheme
        • ProjectId
        • DatasetId
      • BigQuery
        • AllowLargeResultSets
        • UseQueryCache
        • PageSize
        • PollingInterval
        • UseLegacySQL
      • Storage API
        • UseStorageAPI
        • UseArrowFormat
        • StorageThreshold
        • StoragePageSize
        • StorageTimeout
      • Uploading
        • InsertMode
        • WaitForBatchResults
        • GCSBucket
        • GCSBucketFolder
        • TempTableDataset
      • OAuth
        • OAuthClientId
        • OAuthClientSecret
        • DelegatedServiceAccounts
        • RequestingServiceAccount
      • JWT OAuth
        • OAuthJWTCert
        • OAuthJWTCertType
        • OAuthJWTCertPassword
        • OAuthJWTCertSubject
        • OAuthJWTIssuer
        • OAuthJWTSubject
      • SSL
        • SSLServerCert
      • Firewall
        • FirewallType
        • FirewallServer
        • FirewallPort
        • FirewallUser
        • FirewallPassword
      • Proxy
        • ProxyAutoDetect
        • ProxyServer
        • ProxyPort
        • ProxyAuthScheme
        • ProxyUser
        • ProxyPassword
        • ProxySSLType
        • ProxyExceptions
      • Logging
        • LogModules
      • Schema
        • Location
        • BrowsableSchemas
        • BrowsableCatalogs
        • Tables
        • Views
        • RefreshViewSchemas
        • PrimaryKeyIdentifiers
        • AllowedTableTypes
        • FlattenObjects
      • Miscellaneous
        • AllowAggregateParameters
        • ApplicationName
        • AuditLimit
        • AuditMode
        • AWSWorkloadIdentityConfig
        • AzureWorkloadIdentityConfig
        • BigQueryOptions
        • EmptyArraysAsNull
        • GenerateSchemaFiles
        • HidePartitionColumns
        • MaximumBillingTier
        • MaximumBytesBilled
        • MaxRows
        • Other
        • PseudoColumns
        • QueryPassthrough
        • SupportCaseSensitiveTables
        • TableSamplePercent
        • Timeout
        • UserDefinedViews
        • WorkloadPoolId
        • WorkloadProjectId
        • WorkloadProviderId
    • Third Party Copyrights

Google BigQuery Connector for CData Sync

概要

CData Sync App は、Google BigQuery データをデータベース、データレイク、またはデータウェアハウスに継続的にパイプライン化する簡単な方法を提供し、分析、レポート、AI、および機械学習で簡単に利用できるようにします。

Google BigQuery コネクタはCData Sync アプリケーションから使用可能で、Google BigQuery からデータを取得して、サポートされている任意の同期先に移動できます。

Google BigQuery バージョンサポート

Sync App は、Google アカウントまたはGoogle Apps ドメインのBigQuery テーブルへのSQL-92 読み/書きアクセスを可能にします。BigQuery の完全な集計構文および結合構文がサポートされています。さらに、BigQuery 構文のステートメントはパススルーできます。Sync App は、BigQuery Web services API のバージョン2.0 を使用しています。Google Developer Console にてプロジェクトを作成し、API を有効にする必要があります。プロジェクトを作成しこのAPI に認証する手順については、Google への接続 を参照してください。

Google BigQuery Connector for CData Sync

接続の確立

Google BigQuery への接続を追加

Google BigQuery への接続を追加するには:

  1. アプリケーションコンソールで、接続ページに移動します。
  2. 接続の追加パネルで、追加したい接続のアイコンを選択します。
  3. Google BigQuery アイコンが利用できない場合は、Add More アイコンをクリックしてCData サイトからGoogle BigQuery コネクタをダウンロードおよびインストールします。

必須プロパティについては、設定タブを参照してください。

通常必須ではない接続プロパティについては、高度な設定タブを参照してください。

Google BigQuery への接続

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

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

Google BigQuery への認証

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

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

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

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

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

Web アプリケーション

Web アプリケーション経由で接続する場合は、Google BigQuery にカスタムOAuth アプリケーションを作成および登録する必要があります。それからSync App を使用して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:Sync App が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:インターネットブラウザに対応したマシンにSync App をインストールし、後述の「OAuth 設定を転送」の説明に従い、通常のブラウザベースのフローで認証後にOAuth 認証値を転送します。
  2. 次に、ヘッドレスマシンからアクセストークンを自動的にリフレッシュするようにSync App を設定します。

オプション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. ログインして、Sync App にアクセス許可を与えます。すると、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 認証値が保存される場所に設定。アクセストークンの自動リフレッシュを有効にするために、この場所がSync App に読み書きのアクセス許可を与えることを確認してください。

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

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

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

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

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

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

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

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

Workload Identity Federation

Workload Identity Federation が設定されている場合、ドライバーはID プロバイダーを認証し、Google Security Token Service に認証トークンを提供します。Google STS はこのトークンを検証し、Google のサービスにアクセスできるOAuth トークンを生成します。

次のID プロバイダーが現在サポートされています。

  • AWS を使用するには、AuthScheme をAWSWorkloadIdentity に設定し、AWSWorkloadIdentityConfig をID プロバイダーに接続するように設定します。
  • Azure を使用するには、AuthScheme をAzureWorkloadIdentity に設定し、AzureWorkloadIdentityConfig をID プロバイダーに接続するように設定します。

オプションとして、サービスアカウントの偽装も、RequestingServiceAccount を認証情報を偽装するサービスアカウントに設定することで構成できます。

Google BigQuery Connector for CData Sync

高度な統合

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

結果セットの保存

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

自動結果テーブル

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

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

課金の制限

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

バルクモード

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

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

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

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

Google BigQuery Connector for CData Sync

必要最小限のロール

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

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

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

Google BigQuery Connector for CData Sync

高度な機能

このセクションでは、Google BigQuery Sync App の高度な機能を厳選して説明します。

ユーザー定義ビュー

Sync App はユーザー定義ビューの使用をサポートします。これは事前設定されたユーザー定義クエリによって内容が決定される仮想テーブルです。 このビューは、ドライバーに発行されるクエリを直接制御できない場合に有効です。 カスタムビューの作成と設定の概要については、ユーザー定義ビュー を参照してください。

SSL の設定

SSL の設定 を使用して、Sync App が証明書のネゴシエーションをどのように扱うかを調整します。さまざまな証明書形式を選択できます。詳しくは、「接続文字列オプション」にあるSSLServerCert プロパティを参照してください。

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

Windows プロキシとHTTP プロキシを含むファイアウォールとプロキシ に合致するようSync App を設定します。トンネル接続を設定することもできます。

クエリ処理

Sync App は、Google BigQuery にできるだけ多くのSELECT ステートメント処理をオフロードし、残りのクエリをクライアント側のインメモリで処理します。

詳しくは、クエリ処理 を参照してください。

ログ

CData ログを調整するために使用可能な設定の概要については、ログ を参照してください。基本的なロギングに必要なのは2つの接続プロパティだけですが、より詳細なロギングをサポートする多くの機能があり、LogModules 接続プロパティを使用してロギングする情報のサブセットを指定することができます。

Google BigQuery Connector for CData Sync

SSL の設定

SSL 設定のカスタマイズ

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

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

Google BigQuery Connector for CData Sync

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

Firewall またはProxy 経由の接続

HTTP プロキシ

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

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

その他のプロキシ

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

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

Google BigQuery Connector for CData Sync

データモデル

概要

Sync App は、Google Cloud 組織内で定義されたGoogle BigQuery データをモデル化します。指定されたプロジェクトおよびデータセットからデータを取得するようにさらに絞り込むことができます。

接続後、Sync App はGoogle BigQuery の階層を模倣し、Google BigQuery の各プロジェクトを独自のカタログとしてモデル化します。カタログ内では、対応するプロジェクトのデータセットが個別のスキーマとしてモデル化されます。 データセット内のテーブルとビューは、それぞれのスキーマ内のテーブルとビューとしてモデル化されます。さらに、Sync App には静的な'CData' カタログが含まれており、静的な'Google BigQuery' スキーマが含まれ、Google BigQuery 階層外にある情報を格納しています。

カタログ

Google BigQuery の各プロジェクトはカタログとしてモデル化されます。例えば、Google Cloud に'test-project' と'cloud-data' というID を持つ2つのプロジェクトがある場合、Sync Appは2つのカタログを表示し、1つは'test-project'、もう1つは'cloud-data' という名前になります。カタログは、ProjectId 接続プロパティまたは完全修飾テーブル名のいずれかで指定できます。

さらに、データモデルには単一の静的な'CData' カタログが含まれており、クライアントサイドビューのデータが格納されています。その使用方法については、次のセクションで詳しく説明します。

スキーマ

プロジェクト内の各データセットは、プロジェクトの対応するカタログ内のスキーマとしてモデル化されます。例えば、プロジェクト'test-project' に'DatasetTest' と'BusinessData' という2つのデータセットがある場合、'test-project' カタログには'DatasetTest' と'BusinessData' というスキーマが含まれます。スキーマは、DatasetId 接続プロパティまたは完全修飾テーブル名のいずれかで指定できます。

'CData' カタログには、1つの静的な'Google BigQuery' スキーマが含まれています。このスキーマには、'PartitionsList' や'PartitionsValues' などのクライアントサイドビューが含まれています。これらのクライアントサイドビューは、カタログを'CData' に、スキーマを'Google BigQuery' に設定することでアクセスできます。次に例を示します。

SELECT * FROM [CData].[Google BigQuery].PartitionsList

テーブル

テーブルは、Google BigQuery から動的に取得されます。例えば、テーブル'Accounts' がプロジェクト'test-project' およびデータセット'BusinessData' にある場合は、次のようにクエリできます。
SELECT * FROM [test-project].[BusinessData].Accounts

ProjectId およびDatasetId プロパティを設定することで、特定のプロジェクトおよびデータセットからデータを取得するように接続を構成できるため、これらをクエリに含める必要がありません。例えば、ProjectId が'test-project' に設定され、DatasetId が'BusinessData' に設定されている場合、クエリには以下に示すようにテーブル名のみを含める必要があります。

SELECT * FROM Accounts

ビュー

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

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

また、Sync App はGoogle BigQuery 内で定義されたサーバーサイドビューもサポートします。これらのビューは、テーブルと同じようにSELECT ステートメントで使用できます。しかし、ビュースキーマは容易に古くなる可能性があり、Sync App はそれらを更新する必要があります。詳しくは「RefreshViewSchemas」を参照してください。

ストアドプロシージャ

ストアドプロシージャ は、SQL クエリを介して呼び出されるアクションです。Sync App はこれらを使用してGoogle BigQuery のテーブルやジョブを管理し、OAuth の操作を行います。

Sync App が提供するクライアント側のストアドプロシージャに加え、Google BigQuery で定義されたサーバー側のストアドプロシージャもサポートされます。Sync App はプロシージャのパラメータ名を使用したCALL およびEXEC の両方をサポートしています。

Note:Sync App は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.GetStockedValue productId = 24, discountRate = 0.75

Google BigQuery Connector for CData Sync

ビュー

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

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

Google BigQuery Connector for CData Sync ビュー

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

Google BigQuery Connector for CData Sync

Datasets

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

Columns

Name Type Description
Id [KEY] String データセットの完全修飾された一意の識別子で、BigQuery が内部的にプロジェクトやリージョンにまたがってデータセットを参照するために使用します。
Kind String このレコードが表すリソースのタイプ。データセットの場合、通常'bigquery#dataset' を返します。
FriendlyName String データセットの人間が読める説明的な名前。この名前は一意である必要はなく、ユーザーインタフェースでよく使われます。
DatasetReference_ProjectId String データセットを含むプロジェクトのID。これはデータセットおよびそのリソースのコンテナとして機能します。
DatasetReference_DatasetId String 指定されたプロジェクト内のデータセットのID。これはプロジェクト名自体を除いた、プロジェクトに限定された一意の名前です。
Location String データセットが存在する地理的位置。

Google BigQuery Connector for CData Sync

PartitionsList

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

Columns

Name Type Description
Id [KEY] String テーブルパーティションの一意の識別子で、通常パーティションキーとパーティション値を含みます。これはテーブル内の各パーティションを区別するのに役立ちます。
ProjectId String パーティショニングされたデータを含むテーブルを所有するGoogle Cloud プロジェクトのID。
DatasetId String パーティショニングされたテーブルが存在するBigQuery データセットのID。
TableName String パーティショニングされたBigQuery テーブルの名前。このテーブルには、指定された列に基づく複数のパーティションが含まれます。
ColumnName String テーブルのパーティションを定義するために使用される列の名前。これは通常、日付か整数のフィールドです。
ColumnType String パーティショニングに使用される列のデータ型。一般的な値には、パーティショニング戦略に応じてDATE、INTEGER、またはTIMESTAMP が含まれます。
Kind String テーブルに適用されるパーティショニングの方法。オプションには、DATE(日時フィールドでパーティショニング)、RANGE(数値範囲でパーティショニング)、またはINGESTION(データロード時間でパーティショニング)が含まれます。
RequireFilter Boolean 値が'true' の場合、クエリにはパーティション列のフィルタを含める必要があり、テーブルのフルスキャンを回避できます。値が'false' の場合、テーブルをクエリする際にフィルタは必須ではありません。

Google BigQuery Connector for CData Sync

PartitionsValues

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

Columns

Name Type Description
Id String パーティションの一意の識別子で、同じテーブル内の他のパーティションと区別します。
RangeLow String パーティション値の範囲の開始境界。この値は、RANGE パーティショニングの場合は整数、TIME またはINGESTION パーティショニングの場合は日付として表されます。
RangeHigh String パーティション値の範囲の終了境界。この値は、RANGE パーティショニングの場合は整数、TIME またはINGESTION パーティショニングの場合は日付として表されます。
RangeInterval String 各パーティション範囲のサイズ。RANGE パーティショニングにのみ適用され、値がどのようにパーティションにグループ化されるかを定義します。
DateResolution String TIME またはINGESTION パーティショニングに適用される粒度のレベル。有効な値はDAY、HOUR、MONTH、およびYEAR です。
ProjectId String パーティションに関連付けられたテーブルを所有するGoogle Cloud プロジェクトのID。
DatasetId String パーティショニングされたテーブルを含むデータセットのID。
TableName String パーティショニングされた、このパーティションが属するテーブルの名前。

Google BigQuery Connector for CData Sync

Projects

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

Columns

Name Type Description
Id [KEY] String Google Cloud プロジェクトのグローバルに一意な識別子で、通常Application Programming Interface (API)リクエストやリソースの命名に使用されます。
Kind String このエントリで表されるリソースの種類。例えば、'bigquery#project' です。
FriendlyName String プロジェクトに割り当てられた人間が読みやすい表示名で、ユーザーインターフェース(UI)での識別を容易にするために使用されます。
NumericId String Google Cloud によってプロジェクトに自動的に割り当てられる数値識別子。このID はすべてのプロジェクトにわたって一意です。
ProjectReference_ProjectId String プロジェクトを一意に識別する参照値で、通常API コールやスキーマ定義で使用されます。

Google BigQuery Connector for CData Sync

ストアドプロシージャ

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

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

Google BigQuery Connector for CData Sync ストアドプロシージャ

Name Description
CancelJob 実行中のBigQuery ジョブをキャンセルします。
DeleteObject Deletes an object from a bucket.
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.

Google BigQuery Connector for CData Sync

CancelJob

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

Input

Name Type Description
JobId String キャンセルしたいBigQuery ジョブの一意の識別子。
Region String ジョブが実行されている地理的なロケーション。デフォルトのUS またはEU マルチリージョン以外のジョブに必要です。

Result Set Columns

Name Type Description
JobId String キャンセルされたジョブの一意の識別子。
Region String ジョブがキャンセルされたときに実行されていた地理的なロケーション。
Configuration_query_query String キャンセルされたジョブに関連付けられたSQL クエリテキスト。
Configuration_query_destinationTable_tableId String キャンセルされたジョブが結果を書き込むように設定されていた宛先テーブルのテーブルID。
Configuration_query_destinationTable_projectId String キャンセルされたジョブの設定で指定された宛先テーブルのプロジェクトID。
Configuration_query_destinationTable_datasetId String キャンセルされたジョブの設定で指定された宛先テーブルのデータセットID。
Status_State String ジョブの最終状態。例えば'DONE' や'CANCELLED' など。
Status_errorResult_reason String ジョブが失敗またはキャンセルされた理由を示す簡潔なコード。例えば'jobCancelled' や'accessDenied' など。
Status_errorResult_message String ジョブの実行中またはキャンセル中に発生したエラーを説明する、人間が読める詳細なメッセージ。

Google BigQuery Connector for CData Sync

DeleteObject

Deletes an object from a bucket.

Input

Name Type Description
RemotePath String Path from which the object will be deleted, such as 'gs://cdata_test_bucket/temp.csv'.

Result Set Columns

Name Type Description
Success String Indicator if the stored procedure was successful or not.

Google BigQuery Connector for CData Sync

DeleteTable

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

Input

Name Type Description
TableId String 削除するテーブルのID を指定します。Project ID およびDataset ID は、接続プロパティから取得するか、projectId:datasetId.TableId の形式でオーバーライドできます。

Result Set Columns

Name Type Description
Success String テーブルが正常に削除された場合は'true' を返します。削除に失敗した場合は、'false' を返す代わりに例外がスローされます。

Google BigQuery Connector for CData Sync

GetJob

既存のジョブの設定情報と実行状態を取得します。

Input

Name Type Description
JobId String 取得するBigQuery ジョブの一意の識別子を指定します。これは通常、ジョブ作成時に割り当てられます。
Region String ジョブが実行される地理的なロケーションを特定します。この値は、US およびEU 以外のリージョンで必要です。

Result Set Columns

Name Type Description
JobId String 取得されたジョブの一意の識別子を返します。入力で指定されたジョブID と一致します。
Region String ジョブが実行中または実行されていたリージョンを返します。リージョン固有の設定やトラブルシューティングに役立ちます。
Configuration_query_query String ジョブで実行された完全なSQL クエリ文字列を返します。
Configuration_query_destinationTable_tableId String 該当する場合、クエリ結果が保存されたテーブルID を返します。
Configuration_query_destinationTable_projectId String ジョブ結果の宛先テーブルを含むプロジェクトID を返します。
Configuration_query_destinationTable_datasetId String ジョブ結果の宛先テーブルを含むデータセットID を返します。
Status_State String ジョブの現在のライフサイクル状態を示します。有効な値は'PENDING'、'RUNNING'、および'DONE' です。
Status_errorResult_reason String エラーが発生した場合に、ジョブが失敗した理由を表す簡潔なエラーコードを提供します。
Status_errorResult_message String 該当する場合は、ジョブ実行中に発生したエラーを説明する詳細なメッセージを提供します。

Google BigQuery Connector for CData Sync

GetOAuthAccessToken

さまざまなGoogle サービスで認証で使用されるOAuth アクセストークンを取得します。

NOTE:このストアドプロシージャを実行したのち、OAuthRefreshToken が結果セットの一部として返されなかった場合、Prompt 値をCONSENT に変更してプロシージャを再度実行します。これにより、アプリは強制的に再認証を行い、新しいトークン情報を送信します。

Input

Name Type Description
AuthMode String 使用する認証モードのタイプ。

使用できる値は次のとおりです。APP, WEB

デフォルト値はWEBです。

Verifier String アプリの接続権限が許可された後にGoogle から返される検証コード。WEB Authmode のみ。
Scope String Google API へのアクセス権の範囲。デフォルトでは、このデータプロバイダーで使われるすべてのAPI へのアクセスが指定されます。
CallbackURL String 応答の送信先を指定します。このパラメータの値は、http スキームまたはhttps スキーム、大文字小文字の区別、末尾のフォワードスラッシュ('/')などが、APIs Console に登録された値の1つに正確に一致しなければなりません。
Prompt String このフィールドは、ユーザーに提示するプロンプトを示します。次の値を指定できます:NONE、CONSENT、SELECT ACCOUNT。デフォルトはSELECT_ACCOUNT で、ユーザーは接続するアカウントを選択するよう求められます。CONSENT に設定されている場合は、特定のスコープのセットについてアプリケーションに以前に同意している場合でも、ユーザーには毎回同意ページが表示されます。最後に、NONE に設定されている場合、認証または同意画面はユーザーに表示されません。

デフォルト値はSELECT_ACCOUNTです。

AccessType String ユーザーがブラウザを使用中でないときに、アプリケーションがGoogle API にアクセスする必要があるかどうかを示します。このパラメータのデフォルトはOFFLINE です。ユーザーがブラウザを使用中でないときに、アプリケーションがアクセストークンをリフレッシュする必要がある場合は、OFFLINE を使用します。これにより、アプリケーションは、ユーザーの認可コードを初めて交換するときにリフレッシュトークンを取得します。

使用できる値は次のとおりです。ONLINE, OFFLINE

デフォルト値はOFFLINEです。

State String 応答を受け取ったときにアプリケーションで使用する何らかの状態を示します。Google Authorization Server はこのパラメーターを往復するので、アプリケーションは送信した値と同じ値を受け取ります。考えられる用途には、ユーザーをサイト内の正しいリソースにリダイレクトする、ノンスを使用する、クロスサイトリクエストフォージェリを防止するなどがあります。

Result Set Columns

Name Type Description
OAuthAccessToken String Google から返される認証トークン。これは、引き続きこの特定のサービスの他の操作を呼び出すために使用できます。
OAuthRefreshToken String 新しいアクセストークンを取得するために使用されるトークン。
ExpiresIn String アクセストークンの残りの有効期間。

Google BigQuery Connector for CData Sync

GetOAuthAuthorizationURL

さまざまなGoogle サービスで認証で使用されるOAuth 認可URL を取得します。

Input

Name Type Description
Scope String Google API へのアクセス権の範囲。デフォルトでは、このデータプロバイダーで使われるすべてのAPI へのアクセスが指定されます。
CallbackURL String 応答の送信先を指定します。このパラメータの値は、http スキームまたはhttps スキーム、大文字小文字の区別、末尾のフォワードスラッシュ('/')などが、APIs Console に登録された値の1つに正確に一致しなければなりません。
Prompt String このフィールドは、ユーザーに提示するプロンプトを示します。次の値を指定できます:NONE、CONSENT、SELECT ACCOUNT。デフォルトはSELECT_ACCOUNT で、ユーザーは接続するアカウントを選択するよう求められます。CONSENT に設定されている場合は、特定のスコープのセットについてアプリケーションに以前に同意している場合でも、ユーザーには毎回同意ページが表示されます。最後に、NONE に設定されている場合、認証または同意画面はユーザーに表示されません。

デフォルト値はSELECT_ACCOUNTです。

AccessType String ユーザーがブラウザを使用中でないときに、アプリケーションがGoogle API にアクセスする必要があるかどうかを示します。このパラメータのデフォルトはOFFLINE です。ユーザーがブラウザを使用中でないときに、アプリケーションがアクセストークンをリフレッシュする必要がある場合は、OFFLINE を使用します。これにより、アプリケーションは、ユーザーの認可コードを初めて交換するときにリフレッシュトークンを取得します。

使用できる値は次のとおりです。ONLINE, OFFLINE

デフォルト値はOFFLINEです。

State String 応答を受け取ったときにアプリケーションで使用する何らかの状態を示します。Google Authorization Server はこのパラメーターを往復するので、アプリケーションは送信した値と同じ値を受け取ります。考えられる用途には、ユーザーをサイト内の正しいリソースにリダイレクトする、ノンスを使用する、クロスサイトリクエストフォージェリを防止するなどがあります。

Result Set Columns

Name Type Description
URL String ユーザー認証を完了するためのURL。

Google BigQuery Connector for CData Sync

InsertJob

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

Input

Name Type Description
Query String Google BigQuery で実行するSQL クエリ。これはデータ取得クエリまたはデータ操作言語(DML)操作です。
IsDML String 値が'true' の場合、クエリはINSERT、UPDATE、DELETE などのDML ステートメントとして扱われます。値が'false' の場合、クエリは読み取り専用操作として扱われます。

デフォルト値はfalseです。

DestinationTable String クエリ結果を保存する完全修飾された宛先テーブルで、projectId:datasetId.tableId の形式で指定します。このフィールドは、'WRITE_EMPTY' 以外の書き込み処理を使用する場合に必須です。
WriteDisposition String 結果を宛先テーブルにどのように書き込むかを指定します。可能なオプションには、既存のテーブルを切り捨てる、既存のテーブルに追加する、またはテーブルが空の場合にのみ書き込むことが含まれます。

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

デフォルト値はWRITE_TRUNCATEです。

DryRun String 値が'true' の場合、BigQuery はクエリを実行せずに検証するためのドライランを行います。値が'false' の場合、クエリは通常通り実行されます。
MaximumBytesBilled String BigQuery が処理を許可されるバイト数の上限を設定します。クエリがこの上限を超える場合、ジョブは実行前にキャンセルされます。
Region String ジョブが実行される地理的リージョン。指定されていない場合、接続またはジョブの設定で指定されたリージョンがデフォルトになります。

Result Set Columns

Name Type Description
JobId String 新しく送信されたBigQuery ジョブに割り当てられる一意の識別子。
Region String ジョブが送信され、実行されているリージョン。
Configuration_query_query String ジョブ実行に使用されるSQL クエリテキスト。
Configuration_query_destinationTable_tableId String クエリ結果が書き込まれた宛先テーブルのID。
Configuration_query_destinationTable_projectId String 宛先テーブルを含むGoogle Cloud プロジェクトのID。
Configuration_query_destinationTable_datasetId String 宛先テーブルを含むデータセットのID。
Status_State String ジョブの現在のステータス。PENDING、RUNNING、DONE など。
Status_errorResult_reason String ジョブが失敗した理由を説明する簡潔なエラーコード(該当する場合)。
Status_errorResult_message String ジョブがエラーに遭遇した場合にBigQuery から返される、人間が読める詳細なエラーメッセージ。

Google BigQuery Connector for CData Sync

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 (GCS) Uniform Resource Identifiers (URIs) that point to the source files for the load job. Each URI must follow the format gs://bucket/path/to/file.
SourceFormat String Specifies the format of the input files, such as CSV, JSON, AVRO, or PARQUET.

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

DestinationTable String The fully qualified table where the data should be loaded, formatted as projectId.datasetId.tableId.
DestinationTableProperties String A JavaScript Object Notation (JSON) object specifying metadata properties for the destination table, such as its friendly name, description, and any associated labels.
DestinationTableSchema String A JSON array defining the schema fields for the destination table. Each field includes a name, type, and mode.
DestinationEncryptionConfiguration String A JSON object containing Customer-managed Encryption Key (CMEK) settings for encrypting the destination table.
SchemaUpdateOptions String A JSON array of schema update options to apply when the destination table exists. Options may include allowing field addition or relaxing field modes.
TimePartitioning String A JSON object specifying how the destination table should be partitioned by time, including partition type and optional partitioning field.
RangePartitioning String A JSON object defining range-based partitioning for the destination table. Includes the partitioning field, start, end, and interval values.
Clustering String A JSON object listing the fields to use for clustering the destination table to improve query performance.
Autodetect String If the value is 'true', BigQuery automatically detects schema and format options for CSV and JSON files.
CreateDisposition String Specifies whether the destination table should be created if it does not already exist. Options include CREATE_IF_NEEDED and CREATE_NEVER.

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

デフォルト値はCREATE_IF_NEEDEDです。

WriteDisposition String Determines how data is written to the destination table. Options include WRITE_TRUNCATE, WRITE_APPEND, and WRITE_EMPTY.

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

デフォルト値はWRITE_APPENDです。

Region String The region where the load job should be executed. Both the source GCS files and the destination BigQuery dataset must reside in the same region.
DryRun String If the value is 'true', BigQuery validates the job without executing it. Useful for estimating costs or checking errors.

デフォルト値はfalseです。

MaximumBadRecords String The number of invalid records allowed before the entire job is aborted. If this value is not set, all records must be valid.

デフォルト値は0です。

IgnoreUnknownValues String If the value is 'true', fields in the input data that are not part of the table schema are ignored. If 'false', such fields cause errors.

デフォルト値はfalseです。

AvroUseLogicalTypes String If the value is 'true', Avro logical types are used when mapping Avro data to BigQuery schema types.

デフォルト値はtrueです。

CSVSkipLeadingRows String The number of header rows to skip at the beginning of each CSV file.
CSVEncoding String The character encoding used in the CSV files, such as UTF-8 or ISO-8859-1.

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

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

CSVNullMarker String If set, specifies the string used to represent NULL values in the CSV files. By default, NULL values are not allowed.
CSVFieldDelimiter String The character used to separate fields in the CSV files. Common values include commas (,), tabs (\t), or pipes (|).

デフォルト値は,です。

CSVQuote String The character used to quote fields in CSV files. Set to an empty string to disable quoting.

デフォルト値は"です。

CSVAllowQuotedNewlines String If the value is 'true', quoted fields in CSV files are allowed to contain newline characters.

デフォルト値はfalseです。

CSVAllowJaggedRows String If the value is 'true', rows in CSV files may have fewer fields than expected. If 'false', missing fields cause an error.

デフォルト値はfalseです。

DSBackupProjectionFields String A JSON list of field names to import from a Cloud Datastore backup.
ParquetOptions String A JSON object containing import-specific options for Parquet files, such as whether to interpret INT96 timestamps.
DecimalTargetTypes String A JSON list specifying the order of preference for converting decimal data types to BigQuery types, such as NUMERIC or BIGNUMERIC.
HivePartitioningOptions String A JSON object describing the source-side Hive-style partitioning used in the input files.

Result Set Columns

Name Type Description
JobId String The unique identifier assigned to the newly created load job.
Region String The region where the load job was executed.
Configuration_load_destinationTable_tableId String The ID of the destination table that received the loaded data.
Configuration_load_destinationTable_projectId String The ID of the project containing the destination table for the load job.
Configuration_load_destinationTable_datasetId String The ID of the dataset containing the destination table for the load job.
Status_State String The current execution state of the job, such as PENDING, RUNNING, or DONE.
Status_errorResult_reason String A brief error code that explains why the load job failed, if applicable.
Status_errorResult_message String A detailed message describing the reason for the job failure, if any.

Google BigQuery Connector for CData Sync

RefreshOAuthAccessToken

さまざまなGoogle サービスで認証で使用されるOAuth アクセストークンを取得します。

Input

Name Type Description
OAuthRefreshToken String オリジナル認可コードエクスチェンジから返されるリフレッシュトークン。

Result Set Columns

Name Type Description
OAuthAccessToken String Google から返される認証トークン。これは、引き続きこの特定のサービスの他の操作を呼び出すために使用できます。
OAuthRefreshToken String 新しいアクセストークンを取得するために使用されるトークン。
ExpiresIn String アクセストークンの残りの有効期間。

Google BigQuery Connector for CData Sync

UploadObject

Uploads objects in a single operation. Use the SimpleUploadLimit connection property to adjust the threshold in bytes in order to perform a multipart upload.

Input

Name Type Description
LocalFilePath String The path to the file that will be uploaded in the bucket, such as 'C:/temp/my_file.txt'. If this is a path to a folder, then all the files in the folder will be uploaded in the bucket.
RemotePath String Path to where the object will be uploaded, such as 'gs://my_bucket/my_file.txt'.

Result Set Columns

Name Type Description
Object String Object name for the object that is uploaded.
Success String Indicator if the stored procedure was successful or not.

Google BigQuery Connector for CData Sync

外部データソース

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

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

Google BigQuery Connector for CData Sync

データ型マッピング

データ型マッピング

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

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

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

ARRAY は同じ型を持つ値のグループであり、任意のサイズを持つことができます。 Sync App は配列を単一の複合値として扱い、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 型

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

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

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

5-11 -10 -3:0:0.2.5

型パラメータ

Sync App は、以下のデータ型のパラメータを公開します。 いずれの場合も型パラメータはオプションであり、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

Google BigQuery Connector for CData Sync

追加メタデータ

テーブルの説明

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

主キー

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

ポリシータグ

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

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

Google BigQuery Connector for CData Sync

接続文字列オプション

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

接続を確立する方法について詳しくは、接続の確立を参照してください。

Authentication


プロパティ説明
AuthSchemeGoogle BigQuery への接続に使用する認証方法を指定します。
ProjectIdSpecifies the Google Cloud project used to resolve unqualified table names and execute jobs in Google BigQuery.
DatasetIdSpecifies the dataset used to resolve unqualified table references in SQL queries.

BigQuery


プロパティ説明
AllowLargeResultSetsSpecifies whether large result sets are allowed to be stored in temporary tables.
UseQueryCacheSpecifies whether to use Google BigQuery's built-in query cache for eligible queries.
PageSizeSpecifies the number of results to return per page from Google BigQuery when paging through query results.
PollingIntervalSpecifies the number of seconds to wait between status checks when polling for query completion.
UseLegacySQLSpecifies whether to use Google BigQuery's Legacy SQL dialect instead of Standard SQL when generating queries.

Storage API


プロパティ説明
UseStorageAPISpecifies whether to use the Google BigQuery Storage API for bulk data reads instead of the standard REST API.
UseArrowFormatSpecifies whether to use the Arrow format instead of Avro when reading data through the Google BigQuery Storage API.
StorageThresholdSpecifies the minimum number of rows a query must return for the provider to use the Google BigQuery Storage API to read results.
StoragePageSizeSpecifies the number of rows to buffer per page when executing queries using the Google BigQuery Storage API.
StorageTimeoutSpecifies the maximum time, in seconds, that a Storage API connection may remain active before the provider resets the connection.

Uploading


プロパティ説明
InsertModeSpecifies the method used to insert data into Google BigQuery.
WaitForBatchResultsSpecifies whether the provider should wait for Google BigQuery batch load jobs to complete before returning from an INSERT operation.
GCSBucketSpecifies the name of the Google Cloud Storage (GCS) bucket where bulk data is uploaded for staging.
GCSBucketFolderSpecifies the name of the folder within the GCS bucket where bulk data is uploaded for staging.
TempTableDatasetSpecifies the prefix of the dataset used to store temporary tables during bulk UPDATE or DELETE operations.

OAuth


プロパティ説明
OAuthClientIdカスタムOAuth アプリケーションに割り当てられたクライアントID(コンシューマーキーとも呼ばれます)を指定します。このID は、認証時にOAuth 認可サーバーにアプリケーションを識別させるために必要です。
OAuthClientSecretカスタムOAuth アプリケーションに割り当てられたクライアントシークレットを指定します。この機密情報は、OAuth 認可サーバーに対してアプリケーションを認証するために使用されます。(カスタムOAuth アプリケーションのみ)
DelegatedServiceAccounts委任されたリクエストのためのサービスアカウントE メールをスペース区切りで指定します。
RequestingServiceAccount委任されたリクエストを行うためのサービスアカウントのE メールを指定します。

JWT OAuth


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

SSL


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

Firewall


プロパティ説明
FirewallTypeprovider がプロキシベースのファイアウォールを介してトラフィックをトンネリングするために使用するプロトコルを指定します。
FirewallServerファイアウォールを通過し、ユーザーのクエリをネットワークリソースに中継するために使用されるプロキシのIP アドレス、DNS 名、またはホスト名を識別します。
FirewallPortプロキシベースのファイアウォールで使用するTCP ポートを指定します。
FirewallUserプロキシベースのファイアウォールに認証するアカウントのユーザーID を識別します。
FirewallPasswordプロキシベースのファイアウォールで認証するユーザーアカウントのパスワードを指定します。

Proxy


プロパティ説明
ProxyAutoDetectprovider が、手動で指定されたプロキシサーバーを使用するのではなく、既存のプロキシサーバー構成についてシステムプロキシ設定をチェックするかどうかを指定します。
ProxyServerHTTP トラフィックをルートするプロキシサーバーのホストネームもしくはIP アドレスを指定します。
ProxyPortクライアントとの間でHTTP トラフィックをルーティングするために予約された、指定されたプロキシサーバーのTCP ポートを指定します。
ProxyAuthSchemeProxyServer 接続プロパティで指定されたプロキシサーバーに対して認証する際にprovider が使用する認証方法を指定します。
ProxyUserProxyServer 接続プロパティで指定されたプロキシサーバーに登録されているユーザーアカウントのユーザー名を提供します。
ProxyPasswordProxyUser 接続プロパティで指定されたユーザーのパスワードを指定します。
ProxySSLTypeProxyServer 接続プロパティで指定されたプロキシサーバーに接続する際に使用するSSL タイプを指定します。
ProxyExceptionsProxyServer 接続プロパティで設定されたプロキシサーバー経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリストを指定します。

Logging


プロパティ説明
LogModulesログファイルに含めるコアモジュールを指定します。セミコロンで区切られたモジュール名のリストを使用します。デフォルトでは、すべてのモジュールがログに記録されます。

Schema


プロパティ説明
Locationテーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリの場所を指定します。サービスの要件に応じて、これは絶対パスまたは相対パスのいずれかで表されます。
BrowsableSchemasレポートされるスキーマを利用可能なすべてのスキーマのサブセットに制限するオプション設定。例えば、 BrowsableSchemas=SchemaA,SchemaB,SchemaC です。
BrowsableCatalogsOptional setting that restricts the catalogs reported to a subset of all available catalogs. For example, BrowsableCatalogs=CatalogA,CatalogB,CatalogC .
Tablesレポートされるテーブルを利用可能なすべてのテーブルのサブセットに制限するオプション設定。例えば、 Tables=TableA,TableB,TableC です。
Viewsレポートされたビューを使用可能なテーブルのサブセットに制限するオプション設定。例えば、 Views=ViewA,ViewB,ViewC です。
RefreshViewSchemasSpecifies whether the provider should automatically refresh view schemas by querying the views directly.
PrimaryKeyIdentifiersSpecifies rules for assigning primary keys to tables.
AllowedTableTypesSpecifies which types of tables are visible when listing tables in the dataset.
FlattenObjectsSpecifies whether STRUCT fields in Google BigQuery are flattened into individual top-level columns.

Miscellaneous


プロパティ説明
AllowAggregateParametersSpecifies whether raw aggregate values can be used in parameters when the QueryPassthrough connection property is enabled.
ApplicationNameSpecifies the name of the application using the provider, in the format application/version. For example, AcmeReporting/1.0.
AuditLimitSpecifies the maximum number of rows that can be stored in the in-memory audit table.
AuditModeSpecifies which provider actions should be recorded in audit tables.
AWSWorkloadIdentityConfigAWS 経由でWorkload Identity Federation を使用する場合に指定する設定プロパティ。
AzureWorkloadIdentityConfigAzure 経由でWorkload Identity Federation を使用する場合に指定する設定プロパティ。
BigQueryOptionsSpecifies a comma-separated list of custom Google BigQuery provider options.
EmptyArraysAsNullSpecifies whether empty arrays are represented as null or as an empty array.
GenerateSchemaFilesスキーマを生成して保存するユーザーの好みのタイミングを示します。
HidePartitionColumnsSpecifies whether the pseudocolumns _PARTITIONDATE and _PARTITIONTIME are hidden in partitioned tables.
MaximumBillingTierSpecifies the maximum billing tier for a query, represented as a positive integer multiplier of the standard cost per terabyte.
MaximumBytesBilledSpecifies the maximum number of bytes a Google BigQuery job is allowed to process before it is cancelled.
MaxRows集計やGROUP BY を含まないクエリで返される最大行数を指定します。
Other特定の問題に対処するため、特殊なシナリオ向けの高度な接続プロパティを指定します。このプロパティは、サポートチームの指示がある場合にのみ使用してください。
PseudoColumnsテーブルカラムとして公開する擬似カラムを、'TableName=ColumnName;TableName=ColumnName' の形式の文字列で指定します。
QueryPassthroughこのオプションは、クエリをGoogle BigQuery サーバーにas-is で渡します。
SupportCaseSensitiveTablesSpecifies whether the provider distinguishes between tables and datasets with the same name but different casing.
TableSamplePercentSpecifies the percentage of each table to sample when generating queries using the TABLESAMPLE clause.
TimeoutSpecifies the maximum number of seconds to wait before timing out an operation.
UserDefinedViewsカスタムビューを定義するJSON 構成ファイルへのファイルパスを指定します。provider は、このファイルで指定されたビューを自動的に検出して使用します。
WorkloadPoolIdWorkload Identity Federation プールのID。
WorkloadProjectIdWorkload Identity Federation プールをホストするGoogle Cloud プロジェクトのID。
WorkloadProviderIdWorkload Identity Federation プールプロバイダーのID。
Google BigQuery Connector for CData Sync

Authentication

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


プロパティ説明
AuthSchemeGoogle BigQuery への接続に使用する認証方法を指定します。
ProjectIdSpecifies the Google Cloud project used to resolve unqualified table names and execute jobs in Google BigQuery.
DatasetIdSpecifies the dataset used to resolve unqualified table references in SQL queries.
Google BigQuery Connector for CData Sync

AuthScheme

Google BigQuery への接続に使用する認証方法を指定します。

解説

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

Google BigQuery Connector for CData Sync

ProjectId

Specifies the Google Cloud project used to resolve unqualified table names and execute jobs in Google BigQuery.

解説

This property works in combination with BillingProjectId to determine how queries are billed and how table names are resolved.

Job Execution

The Sync App must create a Google BigQuery job to execute certain operations, including:

  • Complex SELECT statements
  • UPDATE and DELETE statements
  • INSERT statements when InsertMode is set to DML

The job’s billing project is selected using the following priority:

  1. BillingProjectId is used if it is set.
  2. Otherwise, this property is used.
  3. If both are unset, the project is determined from the first fully qualified table in the query. A fully qualified table name includes the project ID, dataset ID, and table name, in the format: project.dataset.table

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

This query runs under the psychic-valve-137816 project.

Note: When QueryPassthrough is enabled, only rules 1 and 2 apply. Either BillingProjectId or this property must be set to execute passthrough queries.

Table Resolution

This property also defines the default data project used to resolve unqualified table names.

In contrast to job execution (which prioritizes BillingProjectId), unqualified table references are resolved using ProjectId first.

When a table reference does not include a project, the Sync App uses the following order to determine the project:

  1. This property, if set
  2. Then BillingProjectId
  3. If both are unset, the project is determined from the first fully qualified table in the query

/* Unqualified table: resolved using ProjectId */
SELECT FirstName, LastName FROM `Northwind`.`customers`

/* Fully qualified table: resolved using specified project */
SELECT FirstName, LastName FROM `psychic-valve-137816`.`Northwind`.`customers`

/* Mixed example: 'orders' is resolved using project from 'customers' */
SELECT * 
FROM `psychic-valve-137816`.`Northwind`.`customers`
INNER JOIN `Northwind`.`orders` ON ...

Note: When QueryPassthrough is enabled, only this property and BillingProjectId can be used to resolve unqualified tables. All cross-project references must be fully qualified.

Set this property to your active Google Cloud project to control billing and resolve table references when queries omit full project names.

Google BigQuery Connector for CData Sync

DatasetId

Specifies the dataset used to resolve unqualified table references in SQL queries.

解説

When a query references a table without specifying a dataset, this property determines how the Sync App resolves the dataset. Using a defined DatasetId can reduce ambiguity and improve reliability in query parsing, particularly in passthrough scenarios.

Tables in Google BigQuery can be referenced either with or without a dataset:

/* Unqualified reference (dataset resolved from connection) */
SELECT FirstName, LastName FROM `customers`

/* Fully qualified reference */
SELECT FirstName, LastName FROM `project-id`.`Northwind`.`customers`

The Sync App uses the following rules to resolve unqualified tables:

  1. If DatasetId is set, its value is used as the default dataset.
  2. If not set, the dataset of the first fully qualified table in the query is used to resolve any unqualified tables.

For example, in the following query, orders is treated as part of the Northwind dataset:

SELECT * FROM `project-id`.`Northwind`.`customers`
INNER JOIN `orders` ON ...

When QueryPassthrough is enabled, only the first rule applies. In passthrough mode, either set this property or qualify all table names explicitly.

Set this property when working with queries that include unqualified table names, especially if you're using passthrough or querying across multiple datasets.

Google BigQuery Connector for CData Sync

BigQuery

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


プロパティ説明
AllowLargeResultSetsSpecifies whether large result sets are allowed to be stored in temporary tables.
UseQueryCacheSpecifies whether to use Google BigQuery's built-in query cache for eligible queries.
PageSizeSpecifies the number of results to return per page from Google BigQuery when paging through query results.
PollingIntervalSpecifies the number of seconds to wait between status checks when polling for query completion.
UseLegacySQLSpecifies whether to use Google BigQuery's Legacy SQL dialect instead of Standard SQL when generating queries.
Google BigQuery Connector for CData Sync

AllowLargeResultSets

Specifies whether large result sets are allowed to be stored in temporary tables.

解説

When set to true, the Sync App permits queries that return large result sets to write results to a temporary table. This is required when query results exceed Google BigQuery’s default response limits.

When set to false, large result sets may cause queries to fail unless pagination or result limiting is used.

Enable this property if you expect queries to return large datasets and want the Sync App to store those results using temporary tables in Google BigQuery.

Storing large result sets in temporary tables may increase query execution time and storage usage. Enable this option only when necessary.

Google BigQuery Connector for CData Sync

UseQueryCache

Specifies whether to use Google BigQuery's built-in query cache for eligible queries.

解説

Google BigQuery automatically caches the results of recent queries. By default, if a matching cached result exists and the underlying data has not changed, Google BigQuery returns the cached result instead of re-executing the query. This improves performance and reduces cost without returning stale data since the cache is invalidated automatically when the referenced tables are modified.

When this property is set to true, the Sync App allows Google BigQuery to use cached results when available.

When set to false, the query is always executed directly against the current table data, bypassing the cache entirely.

Use this property to control whether cached results should be used for performance optimization. Disable caching for scenarios where full re-evaluation is necessary—such as benchmarking or auditing.

Google BigQuery Connector for CData Sync

PageSize

Specifies the number of results to return per page from Google BigQuery when paging through query results.

解説

This property controls how many rows are returned in each page of results from Google BigQuery. A higher value reduces the number of HTTP requests by returning more data at once, but may increase response time and memory usage. A lower value returns fewer rows per page and requires more requests, which may help avoid timeouts or reduce memory usage in constrained environments.

This property has no effect when UseStorageAPI is enabled and the query is eligible to use the Google BigQuery Storage API. In that case, use StoragePageSize to control paging behavior.

Adjust this property to balance throughput and stability based on your workload and network environment.

Larger page sizes reduce request overhead, but may increase the risk of timeouts. Smaller sizes improve reliability at the cost of increased request frequency.

Google BigQuery Connector for CData Sync

PollingInterval

Specifies the number of seconds to wait between status checks when polling for query completion.

解説

This property applies only to queries where results are stored to a table instead of streamed directly to the Sync App. Polling occurs in the following scenarios:

  • DestinationTable is set.
  • AllowLargeResultSets is set to true and the query exceeds the Timeout threshold.
  • UseStorageAPI is enabled and the query is too complex for immediate streaming.

In these cases, the Sync App submits the query and checks periodically to determine if results are ready. PollingInterval defines how many seconds to wait between each status check.

For example: PollingInterval=5 causes the Sync App to wait 5 seconds between polling attempts.

Using a shorter interval increases the number of API requests, which may be unnecessary for longer-running queries. A longer interval reduces polling frequency, but may delay result retrieval slightly after query completion.

Google BigQuery Connector for CData Sync

UseLegacySQL

Specifies whether to use Google BigQuery's Legacy SQL dialect instead of Standard SQL when generating queries.

解説

By default, the Sync App uses Standard SQL, which is the recommended and more feature-rich dialect supported by Google BigQuery.

When this property is set to true, the Sync App generates queries using Google BigQuery’s Legacy SQL dialect. Legacy SQL has different syntax and semantics and does not support certain modern features.

Key behavioral differences:

  • When UseLegacySQL is set to true, the value of AllowLargeResultSets is used during query generation.
  • When UseLegacySQL is set to false, the Sync App uses Standard SQL, and AllowLargeResultSets is ignored. Queries behave as if that property is always enabled.

Enable this property only if your environment requires compatibility with Legacy SQL, such as when working with legacy views, tools, or scripts that depend on that dialect. Standard SQL is generally more performant and flexible and is recommended for most use cases.

Google BigQuery Connector for CData Sync

Storage API

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


プロパティ説明
UseStorageAPISpecifies whether to use the Google BigQuery Storage API for bulk data reads instead of the standard REST API.
UseArrowFormatSpecifies whether to use the Arrow format instead of Avro when reading data through the Google BigQuery Storage API.
StorageThresholdSpecifies the minimum number of rows a query must return for the provider to use the Google BigQuery Storage API to read results.
StoragePageSizeSpecifies the number of rows to buffer per page when executing queries using the Google BigQuery Storage API.
StorageTimeoutSpecifies the maximum time, in seconds, that a Storage API connection may remain active before the provider resets the connection.
Google BigQuery Connector for CData Sync

UseStorageAPI

Specifies whether to use the Google BigQuery Storage API for bulk data reads instead of the standard REST API.

解説

When this property is set to true, the Sync App uses the Google BigQuery Storage API, which is optimized for high-throughput, low-latency data access.

Depending on the complexity of the query, the Sync App chooses one of two execution paths:

  • Direct execution via the Storage API is used for simple queries that meet all of the following conditions:
    • Read all columns
    • Reference only one table
    • Contain no clauses other than LIMIT
  • Query jobs whose results are read using the Storage API are used for all other queries. The Sync App submits a query job, stores the result in a temporary table, and uses the Storage API to read the result.

The Storage API typically offers better performance than the REST API but:

  • Requires additional OAuth scopes when using a custom OAuth app
  • Uses the StoragePageSize property instead of PageSize

If this property is set to false, the Sync App uses the Google BigQuery REST API, which:

  • Requires no extra permissions
  • Uses standard pricing
  • Is slower and less efficient for large result sets

Keep this property enabled for faster and more efficient data access, especially when working with large datasets. Disable it only if you require simpler authentication or need to reduce dependency on the Storage API.

Google BigQuery Connector for CData Sync

UseArrowFormat

Specifies whether to use the Arrow format instead of Avro when reading data through the Google BigQuery Storage API.

解説

This property only takes effect when UseStorageAPI is enabled. When reading data from Google BigQuery using the Storage API, the Sync App can request the result set in different formats. By default, it uses Avro, but enabling this property switches the format to Arrow.

Using Arrow can offer performance benefits for certain workloads, particularly those involving time series data or tables with many date, time, datetime, or timestamp fields. In these cases, Arrow can result in faster reads and more efficient memory usage.

For most other datasets, the difference in performance between Avro and Arrow is minimal. Enable this property when working with temporal data types or when you observe performance bottlenecks with Avro in Storage API reads.

Google BigQuery Connector for CData Sync

StorageThreshold

Specifies the minimum number of rows a query must return for the provider to use the Google BigQuery Storage API to read results.

解説

This property is only applicable when UseStorageAPI is set to true.

When UseStorageAPI is true, the Sync App attempts to use the Google BigQuery Storage API for efficient result retrieval. If a query is too complex to run directly on the Storage API, the Sync App creates a query job and stores the results in a temporary table.

This property defines the minimum number of rows the job must return for the Sync App to use the Storage API to read from that table. If the result set contains fewer rows than the specified value, the Sync App returns the results directly without using the Storage API.

Valid values range from 1 to 100,000. For example: StorageThreshold=50000

This means the Storage API will be used only if the query job returns 50,000 rows or more. Setting a lower value allows more queries to use the Storage API which may improve performance for smaller result sets, but could increase API costs. Setting a higher value limits Storage API usage to only large result sets, which can help control usage and cost, but may result in slower performance for medium-sized queries.

This property has no effect on queries that can be executed directly on the Storage API, as those do not require query jobs. Adjust this setting based on the typical size of your query results.

Google BigQuery Connector for CData Sync

StoragePageSize

Specifies the number of rows to buffer per page when executing queries using the Google BigQuery Storage API.

解説

This property applies only when UseStorageAPI is enabled and the query is eligible to run on the Google BigQuery Storage API. It controls how many rows the Sync App retrieves and buffers from the API in each page.

Larger values typically improve performance by reducing the number of round trips to the API, but will increase memory consumption. Smaller values reduce memory usage but may slow down query execution due to more frequent network calls.

Adjust this value based on your environment’s memory capacity and performance needs. For large, high-throughput queries, increasing the value may help. For resource-constrained systems, consider lowering it.

Google BigQuery Connector for CData Sync

StorageTimeout

Specifies the maximum time, in seconds, that a Storage API connection may remain active before the provider resets the connection.

解説

Some networks, proxies, or firewalls automatically close idle connections after a period of inactivity. This can affect Storage API operations if the Sync App streams data faster than it can be consumed. While the consumer is catching up, the connection may be idle long enough to be closed externally.

To avoid connection failures, the Sync App resets the Storage API connection after it has been open for the number of seconds specified by this property. For example: StorageTimeout=600. This causes the Sync App to reset the connection after 10 minutes.

Set this value to 0 to disable automatic connection resets.

Google BigQuery Connector for CData Sync

Uploading

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


プロパティ説明
InsertModeSpecifies the method used to insert data into Google BigQuery.
WaitForBatchResultsSpecifies whether the provider should wait for Google BigQuery batch load jobs to complete before returning from an INSERT operation.
GCSBucketSpecifies the name of the Google Cloud Storage (GCS) bucket where bulk data is uploaded for staging.
GCSBucketFolderSpecifies the name of the folder within the GCS bucket where bulk data is uploaded for staging.
TempTableDatasetSpecifies the prefix of the dataset used to store temporary tables during bulk UPDATE or DELETE operations.
Google BigQuery Connector for CData Sync

InsertMode

Specifies the method used to insert data into Google BigQuery.

解説

This property determines how data is uploaded during insert operations. Choose the insert mode based on your performance, data volume, and staging requirements.

Supported insert modes:

  • Streaming: Uses the Google BigQuery streaming API (also called insertAll) to insert rows in real time.
  • DML: Uses the Google BigQuery query API to construct and execute INSERT SQL statements for each row.
  • Upload: Uses a Google BigQuery load job to upload data from temporary server-side storage.
  • GCSStaging: Similar to Upload, but stages files in your own Google Cloud Storage bucket before loading. Requires setting GCSBucket.

When UseLegacySQL is set to true, only Streaming and Upload modes are supported. The legacy SQL dialect does not support DML statements.

Use this property to control how the Sync App handles insert operations, especially for high-volume or real-time data ingestion scenarios. For detailed guidance on tuning and usage, refer to 高度な統合.

Google BigQuery Connector for CData Sync

WaitForBatchResults

Specifies whether the provider should wait for Google BigQuery batch load jobs to complete before returning from an INSERT operation.

解説

This property only applies when InsertMode is set to Upload.

By default, this property is set to true, meaning the Sync App waits until the batch load job has completed. This ensures that any errors encountered during execution are detected and reported immediately. It also helps manage Google BigQuery load job limits by preventing multiple concurrent jobs on the same connection.

If this property is set to false, the Sync App submits the load job and returns control to the application immediately without checking the final status. While this may reduce perceived latency, it introduces the risk of silent failures and requires the application to manually track job status. It also increases the chance of exceeding Google BigQuery rate limits if multiple jobs are submitted too quickly.

Leave this property enabled for more reliable insert behavior and automatic error handling. Disable it only if your application handles job monitoring and rate-limiting logic independently.

Google BigQuery Connector for CData Sync

GCSBucket

Specifies the name of the Google Cloud Storage (GCS) bucket where bulk data is uploaded for staging.

解説

This property applies only when InsertMode is set to GCSStaging. In that mode, the Sync App stages data in the specified GCS bucket before loading it into Google BigQuery.

If InsertMode is set to GCSStaging and this property is not set, bulk operations will fail.

Set this property to the name of an existing GCS bucket that your authentication method can write to. For example: GCSBucket=my-staging-bucket.

Google BigQuery Connector for CData Sync

GCSBucketFolder

Specifies the name of the folder within the GCS bucket where bulk data is uploaded for staging.

解説

This property applies only when InsertMode is set to GCSStaging.

If this property is not set, the Sync App uploads staged data to the root of the specified GCS bucket.

Set this property to organize staged files under a specific folder path within the bucket. This helps prevent file collisions during concurrent operations and improves data organization across environments or workflows.

For example: GCSBucketFolder=staging/datahub/temp

This setting writes staged files to: gs://<GCSBucket>/staging/datahub/temp/

Google BigQuery Connector for CData Sync

TempTableDataset

Specifies the prefix of the dataset used to store temporary tables during bulk UPDATE or DELETE operations.

解説

The Sync App uses Google BigQuery MERGE statements to perform bulk UPDATE and DELETE operations. These operations require staging the modified data in a temporary table. This property defines the prefix used to name the dataset where those temporary tables are created.

The full dataset name is derived by appending the region of the target table to the specified prefix. This ensures that the temporary and target tables reside in the same region, which is required by Google BigQuery and helps avoid cross-region data transfer charges.

For example, if this property is set to the default value (_CDataTempTableDataset), the Sync App generates region-specific datasets by appending the region name to the prefix.

/* Used for tables in the US region */
_CDataTempTableDataset_US
/* Used for tables in the Asia Southeast 1 region */
_CDataTempTableDataset_asia_southeast1

This ensures that temporary tables used during bulk operations are stored in the same region as the target tables. Google BigQuery requires this for MERGE operations, and it helps avoid additional latency or data transfer costs.

Each Google BigQuery region must have its own temporary dataset, based on the specified prefix.

Use this property to customize the prefix used for temporary datasets in bulk write operations. This can help align with naming conventions or avoid naming conflicts in shared environments.

Google BigQuery Connector for CData Sync

OAuth

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


プロパティ説明
OAuthClientIdカスタムOAuth アプリケーションに割り当てられたクライアントID(コンシューマーキーとも呼ばれます)を指定します。このID は、認証時にOAuth 認可サーバーにアプリケーションを識別させるために必要です。
OAuthClientSecretカスタムOAuth アプリケーションに割り当てられたクライアントシークレットを指定します。この機密情報は、OAuth 認可サーバーに対してアプリケーションを認証するために使用されます。(カスタムOAuth アプリケーションのみ)
DelegatedServiceAccounts委任されたリクエストのためのサービスアカウントE メールをスペース区切りで指定します。
RequestingServiceAccount委任されたリクエストを行うためのサービスアカウントのE メールを指定します。
Google BigQuery Connector for CData Sync

OAuthClientId

カスタムOAuth アプリケーションに割り当てられたクライアントID(コンシューマーキーとも呼ばれます)を指定します。このID は、認証時にOAuth 認可サーバーにアプリケーションを識別させるために必要です。

解説

このプロパティは2つのケースで必要となります:

  • カスタムOAuth アプリケーションを使用する場合。たとえば、Web ベースの認証フロー、サービスベースの認証、またはアプリケーションの登録が必要な証明書ベースのフローなどが該当します。
  • ドライバーが埋め込みOAuth 資格情報を提供しない場合。

(ドライバーが埋め込みOAuth 資格情報を提供する場合、この値はすでにSync App によって設定されており、手動で入力する必要がないことがあります。)

OAuthClientId は、認証付きの接続を構成する際に、OAuthClientSecret やOAuthSettingsLocation などの他のOAuth 関連プロパティと一緒に使用されるのが一般的です。

OAuthClientId は、ユーザーがOAuth 経由で認証を行う前に設定する必要がある、主要な接続パラメータの1つです。 この値は、通常、ID プロバイダーのアプリケーション登録設定で確認できます。 Client ID、Application ID、Consumer Key などとラベル付けされた項目を探してください。

クライアントID は、クライアントシークレットのような機密情報とは見なされませんが、アプリケーションの識別情報の一部であるため、慎重に取り扱う必要があります。公開リポジトリや共有設定ファイルでこの値を露出させないようにしてください。

接続設定時にこのプロパティを使用する方法の詳細については、接続の確立 を参照してください。

Google BigQuery Connector for CData Sync

OAuthClientSecret

カスタムOAuth アプリケーションに割り当てられたクライアントシークレットを指定します。この機密情報は、OAuth 認可サーバーに対してアプリケーションを認証するために使用されます。(カスタムOAuth アプリケーションのみ)

解説

このプロパティ(アプリケーションシークレットまたはコンシューマシークレットとも呼ばれます)は、安全なクライアント認証を必要とするすべてのフローでカスタムOAuth アプリケーションを使用する場合に必要です。たとえば、Web ベースのOAuth、サービスベースの接続、証明書ベースの認可フローなどが該当します。 組み込みOAuth アプリケーションを使用する場合は必要ありません。

クライアントシークレットは、OAuth フローのトークン交換ステップで使用されます。このステップでは、ドライバーが認可サーバーにアクセストークンを要求します。 この値が欠落しているか正しくない場合、認証はinvalid_client またはunauthorized_client エラーで失敗します。

OAuthClientSecret は、ユーザーがOAuth 経由で認証を行う前に設定する必要がある、主要な接続パラメータの1つです。この値は、OAuth アプリケーションを登録する際にID プロバイダーから取得できます。

Notes:

  • この値は安全に保管し、公開リポジトリやスクリプト、安全でない環境では決して公開しないようにしてください。
  • クライアントシークレットは、一定期間が経過すると有効期限が切れる場合もあります。 アクセスを中断させないために、有効期限を常に監視し、必要に応じてシークレットをローテーションするようにしてください。

接続設定時にこのプロパティを使用する方法の詳細については、接続の確立 を参照してください。

Google BigQuery Connector for CData Sync

DelegatedServiceAccounts

委任されたリクエストのためのサービスアカウントE メールをスペース区切りで指定します。

解説

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

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

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

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

Google BigQuery Connector for CData Sync

RequestingServiceAccount

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

解説

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

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

Google BigQuery Connector for CData Sync

JWT OAuth

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


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

OAuthJWTCert

クライアント証明書のJWT 証明書ストアの名前を指定します。

解説

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

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

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

注記

  • Windows の共通のユーザーとシステム証明書ストアは以下のとおりです。
    • MY:個人証明書と関連付けられた秘密キーを 格納している証明書ストア。
    • CA:証明機関の証明書。
    • ROOT:ルート証明書。
    • SPC:ソフトウェア発行元証明書。
  • Javaでは、証明書ストアは通常、証明書および 任意の秘密キーを含むファイルです。
  • 証明書ストアの種類がPFXFile の場合は、 このプロパティにファイル名を設定します。
  • PFXBlob の場合は、このプロパティをPFX ファイルのバイナリコンテンツ(例えば、PKCS12証明書ストア)に設定する必要があります。

Google BigQuery Connector for CData Sync

OAuthJWTCertType

JWT 証明書を格納しているキーストアの種類を指定します。

解説

値説明注記
USER現在のユーザーが所有する証明書ストア。 Windows のみ使用可能です。
MACHINEマシンストア。Java やその他の非Windows 環境では使用できません。
PFXFILE証明書を含むPFX(PKCS12)ファイル。
PFXBLOBPFX(PKCS12)形式の証明書ストアをbase-64 でエンコードした文字列。
JKSFILE証明書を含むJava キーストア(JKS)ファイル。Java 専用。
JKSBLOBJava キーストア(JKS)形式の証明書ストアをbase-64 でエンコードした文字列。 Java 専用。
PEMKEY_FILE秘密鍵とオプションの証明書を含むPEM でエンコードされたファイル。
PEMKEY_BLOB秘密鍵とオプションの証明書をbase-64 でエンコードした文字列。
PUBLIC_KEY_FILEPEM またはDER でエンコードされた公開鍵証明書を含むファイル。
PUBLIC_KEY_BLOBPEM またはDER でエンコードされた公開鍵証明書をbase-64 でエンコードした文字列。
SSHPUBLIC_KEY_FILESSH 形式の公開鍵を含むファイル。
SSHPUBLIC_KEY_BLOBSSH 形式の公開鍵ををbase-64 でエンコードした文字列。
P7BFILE証明書を含むPKCS7 ファイル。
PPKFILEPuTTY 秘密キー(PPK)を含むファイル。
XMLFILEXML 形式の証明書を含むファイル。
XMLBLOBXML 形式の証明書を含む文字列。
BCFKSFILEBouncy Castle キーストアを含むファイル。
BCFKSBLOBBouncy Castle キーストアを含む文字列(base-64エンコード)。
GOOGLEJSONサービスアカウント情報を含むJSON ファイル。 Google サービスに接続する場合にのみ有効。
GOOGLEJSONBLOBサービスアカウントのJSON を含む文字列。 Google サービスに接続する場合にのみ有効。

Google BigQuery Connector for CData Sync

OAuthJWTCertPassword

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

解説

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

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

Google BigQuery Connector for CData Sync

OAuthJWTCertSubject

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

解説

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

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

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

一般的なフィールドには以下のものが含まれます。

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

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

Google BigQuery Connector for CData Sync

OAuthJWTIssuer

Java Web Token の発行者。

解説

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

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

Google BigQuery Connector for CData Sync

OAuthJWTSubject

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

解説

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

Google BigQuery Connector for CData Sync

SSL

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


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

SSLServerCert

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

解説

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

Note:'*' を使用してすべての証明書を受け入れるように指定することも可能ですが、セキュリティ上の懸念があるため推奨されません。

Google BigQuery Connector for CData Sync

Firewall

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


プロパティ説明
FirewallTypeprovider がプロキシベースのファイアウォールを介してトラフィックをトンネリングするために使用するプロトコルを指定します。
FirewallServerファイアウォールを通過し、ユーザーのクエリをネットワークリソースに中継するために使用されるプロキシのIP アドレス、DNS 名、またはホスト名を識別します。
FirewallPortプロキシベースのファイアウォールで使用するTCP ポートを指定します。
FirewallUserプロキシベースのファイアウォールに認証するアカウントのユーザーID を識別します。
FirewallPasswordプロキシベースのファイアウォールで認証するユーザーアカウントのパスワードを指定します。
Google BigQuery Connector for CData Sync

FirewallType

provider がプロキシベースのファイアウォールを介してトラフィックをトンネリングするために使用するプロトコルを指定します。

解説

プロキシベースのファイアウォール(またはプロキシファイアウォール)は、ユーザーのリクエストとそれがアクセスするリソースの間に介在するネットワークセキュリティデバイスです。 プロキシは認証済みのユーザーのリクエストを受け取り、ファイアウォールを通過して適切なサーバーにリクエストを送信します。

プロキシは、リクエストを送信したユーザーに代わってデータバケットを評価し転送するため、ユーザーはサーバーに直接接続することなく、プロキシのみに接続します。

Note:デフォルトでは、Sync App はシステムプロキシに接続します。この動作を無効化し、次のプロキシタイプのいずれかに接続するには、ProxyAutoDetect をfalse に設定します。

次の表は、サポートされている各プロトコルのポート番号情報です。

プロトコル デフォルトポート 説明
TUNNEL 80 Sync App がGoogle BigQuery への接続を開くポート。トラフィックはこの場所のプロキシを経由して行き来します。
SOCKS4 1080 Sync App がGoogle BigQuery への接続を開くポート。SOCKS 4 は次にFirewallUser 値をプロキシに渡し、接続リクエストが許容されるかどうかを決定します。
SOCKS5 1080 Sync App がGoogle BigQuery にデータを送信するポート。SOCKS 5 プロキシに認証が必要な場合には、FirewallUser およびFirewallPassword をプロキシが認識する認証情報に設定します。

HTTP プロキシへの接続には、ProxyServer およびProxyPort ポートを使ってください。HTTP プロキシへの認証には、ProxyAuthScheme、ProxyUser、およびProxyPassword を使ってください。

Google BigQuery Connector for CData Sync

FirewallServer

ファイアウォールを通過し、ユーザーのクエリをネットワークリソースに中継するために使用されるプロキシのIP アドレス、DNS 名、またはホスト名を識別します。

解説

プロキシベースのファイアウォール(またはプロキシファイアウォール)は、ユーザーのリクエストとそれがアクセスするリソースの間に介在するネットワークセキュリティデバイスです。 プロキシは認証済みのユーザーのリクエストを受け取り、ファイアウォールを通過して適切なサーバーにリクエストを送信します。

プロキシは、リクエストを送信したユーザーに代わってデータバケットを評価し転送するため、ユーザーはサーバーに直接接続することなく、プロキシのみに接続します。

Google BigQuery Connector for CData Sync

FirewallPort

プロキシベースのファイアウォールで使用するTCP ポートを指定します。

解説

プロキシベースのファイアウォール(またはプロキシファイアウォール)は、ユーザーのリクエストとそれがアクセスするリソースの間に介在するネットワークセキュリティデバイスです。 プロキシは認証済みのユーザーのリクエストを受け取り、ファイアウォールを通過して適切なサーバーにリクエストを送信します。

プロキシは、リクエストを送信したユーザーに代わってデータバケットを評価し転送するため、ユーザーはサーバーに直接接続することなく、プロキシのみに接続します。

Google BigQuery Connector for CData Sync

FirewallUser

プロキシベースのファイアウォールに認証するアカウントのユーザーID を識別します。

解説

プロキシベースのファイアウォール(またはプロキシファイアウォール)は、ユーザーのリクエストとそれがアクセスするリソースの間に介在するネットワークセキュリティデバイスです。 プロキシは認証済みのユーザーのリクエストを受け取り、ファイアウォールを通過して適切なサーバーにリクエストを送信します。

プロキシは、リクエストを送信したユーザーに代わってデータバケットを評価し転送するため、ユーザーはサーバーに直接接続することなく、プロキシのみに接続します。

Google BigQuery Connector for CData Sync

FirewallPassword

プロキシベースのファイアウォールで認証するユーザーアカウントのパスワードを指定します。

解説

プロキシベースのファイアウォール(またはプロキシファイアウォール)は、ユーザーのリクエストとそれがアクセスするリソースの間に介在するネットワークセキュリティデバイスです。 プロキシは認証済みのユーザーのリクエストを受け取り、ファイアウォールを通過して適切なサーバーにリクエストを送信します。

プロキシは、リクエストを送信したユーザーに代わってデータバケットを評価し転送するため、ユーザーはサーバーに直接接続することなく、プロキシのみに接続します。

Google BigQuery Connector for CData Sync

Proxy

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


プロパティ説明
ProxyAutoDetectprovider が、手動で指定されたプロキシサーバーを使用するのではなく、既存のプロキシサーバー構成についてシステムプロキシ設定をチェックするかどうかを指定します。
ProxyServerHTTP トラフィックをルートするプロキシサーバーのホストネームもしくはIP アドレスを指定します。
ProxyPortクライアントとの間でHTTP トラフィックをルーティングするために予約された、指定されたプロキシサーバーのTCP ポートを指定します。
ProxyAuthSchemeProxyServer 接続プロパティで指定されたプロキシサーバーに対して認証する際にprovider が使用する認証方法を指定します。
ProxyUserProxyServer 接続プロパティで指定されたプロキシサーバーに登録されているユーザーアカウントのユーザー名を提供します。
ProxyPasswordProxyUser 接続プロパティで指定されたユーザーのパスワードを指定します。
ProxySSLTypeProxyServer 接続プロパティで指定されたプロキシサーバーに接続する際に使用するSSL タイプを指定します。
ProxyExceptionsProxyServer 接続プロパティで設定されたプロキシサーバー経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリストを指定します。
Google BigQuery Connector for CData Sync

ProxyAutoDetect

provider が、手動で指定されたプロキシサーバーを使用するのではなく、既存のプロキシサーバー構成についてシステムプロキシ設定をチェックするかどうかを指定します。

解説

この接続プロパティをTrue に設定すると、Sync App は既存のプロキシサーバー構成についてシステムプロキシ設定をチェックします(プロキシサーバーの詳細を手動で入力する必要はありません)。

この接続プロパティは他のプロキシ設定より優先されます。特定のプロキシサーバーに接続するためにSync App を構成する場合は、ProxyAutoDetect をFalse に設定します。

HTTP プロキシへの接続には、ProxyServer を参照してください。SOCKS やトンネリングなどの他のプロキシには、FirewallType を参照してください。

Google BigQuery Connector for CData Sync

ProxyServer

HTTP トラフィックをルートするプロキシサーバーのホストネームもしくはIP アドレスを指定します。

解説

ProxyAutoDetect がFalse に設定されている場合、Sync App はこの接続プロパティで指定されたプロキシサーバーを通じてのみHTTP トラフィックをルーティングします。

ProxyAutoDetect がTrue(デフォルト)に設定されている場合、Sync App は代わりにシステムプロキシ設定で指定されたプロキシサーバーを介してHTTP トラフィックをルーティングします。

Google BigQuery Connector for CData Sync

ProxyPort

クライアントとの間でHTTP トラフィックをルーティングするために予約された、指定されたプロキシサーバーのTCP ポートを指定します。

解説

ProxyAutoDetect がFalse に設定されている場合、Sync App はこの接続プロパティで指定されたProxyServer ポートを通じてのみHTTP トラフィックをルーティングします。

ProxyAutoDetect がTrue(デフォルト)に設定されている場合、Sync App は代わりにシステムプロキシ設定で指定されたプロキシサーバーポートを介してHTTP トラフィックをルーティングします。

その他のプロキシタイプについては、FirewallType を参照してください。

Google BigQuery Connector for CData Sync

ProxyAuthScheme

ProxyServer 接続プロパティで指定されたプロキシサーバーに対して認証する際にprovider が使用する認証方法を指定します。

解説

サポートされる認証の種類:

  • BASIC:Sync App はHTTP Basic 認証を行います。
  • DIGEST:Sync App はHTTP ダイジェスト認証を行います。
  • NTLM:Sync App はNTLM トークンを取得します。
  • NEGOTIATE: Sync App は認証において有効なプロトコルに応じて、NTLM もしくはKerberos トークンを取得します。
  • NONE:ProxyServer が認証を必要としないことを示します。

NONE 以外のすべての値については、ProxyUser およびProxyPassword 接続プロパティも設定する必要があります。

SOCKS 5 認証のような他の認証タイプを使用するには、FirewallType を参照してください。

Google BigQuery Connector for CData Sync

ProxyUser

ProxyServer 接続プロパティで指定されたプロキシサーバーに登録されているユーザーアカウントのユーザー名を提供します。

解説

ProxyUser および ProxyPassword 接続プロパティは、ProxyServer で指定されたHTTP プロキシに対して接続よび認証するために使用されます。

ProxyAuthScheme で利用可能な認証タイプを1つ選択した後、このプロパティを以下のように設定します。

ProxyAuthScheme の値 ProxyUser に設定する値
BASIC プロキシサーバーに登録されているユーザーのユーザー名。
DIGEST プロキシサーバーに登録されているユーザーのユーザー名。
NEGOTIATE プロキシサーバーが属するドメインまたは信頼されたドメイン内の有効なユーザーであるWindows ユーザーのユーザー名。user@domain またはdomain\user の形式で指定。
NTLM プロキシサーバーが属するドメインまたは信頼されたドメイン内の有効なユーザーであるWindows ユーザーのユーザー名。user@domain またはdomain\user の形式で指定。
NONE ProxyPassword 接続プロパティは設定しないでください。

Note:Sync App は、ProxyAutoDetect がFalse に設定されている場合にのみ、このユーザー名を使用します。 ProxyAutoDetect がTrue(デフォルト)に設定されている場合、Sync App は代わりにシステムのプロキシ設定で指定されているユーザー名を使用します。

Google BigQuery Connector for CData Sync

ProxyPassword

ProxyUser 接続プロパティで指定されたユーザーのパスワードを指定します。

解説

ProxyUser および ProxyPassword 接続プロパティは、ProxyServer で指定されたHTTP プロキシに対して接続よび認証するために使用されます。

ProxyAuthScheme で利用可能な認証タイプを1つ選択した後、このプロパティを以下のように設定します。

ProxyAuthScheme の値 ProxyPassword に設定する値
BASIC ProxyUser で指定したプロキシサーバーユーザーに紐付けられたパスワード。
DIGEST ProxyUser で指定したプロキシサーバーユーザーに紐付けられたパスワード。
NEGOTIATE ProxyUser で指定したWindows ユーザーアカウントに紐付けられたパスワード。
NTLM ProxyUser で指定したWindows ユーザーアカウントに紐付けられたパスワード。
NONE ProxyPassword 接続プロパティは設定しないでください。

SOCKS 5 認証もしくは、トンネリングは、FirewallType を参照してください。

Note:Sync App は、ProxyAutoDetect がFalse に設定されている場合にのみ、このパスワードを使用します。 ProxyAutoDetect がTrue(デフォルト)に設定されている場合、Sync App は代わりにシステムのプロキシ設定で指定されているパスワードを使用します。

Google BigQuery Connector for CData Sync

ProxySSLType

ProxyServer 接続プロパティで指定されたプロキシサーバーに接続する際に使用するSSL タイプを指定します。

解説

このプロパティは、ProxyServer で指定されたHTTP プロキシへの接続にSSL を使用するかどうかを決定します。この接続プロパティには、以下の値を設定できます。

AUTOデフォルト設定。ProxyServer がHTTPS URL に設定されている場合、Sync App は、TUNNEL オプションを使用します。ProxyServer がHTTP URL に設定されている場合、コンポーネントはNEVER オプションを使用します。
ALWAYS接続は、常にSSL 有効となります。
NEVER接続は、SSL 有効になりません。
TUNNEL接続はトンネリングプロキシ経由で行われます。プロキシサーバーがリモートホストへの接続を開き、プロキシを経由して通信が行われます。

Google BigQuery Connector for CData Sync

ProxyExceptions

ProxyServer 接続プロパティで設定されたプロキシサーバー経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリストを指定します。

解説

ProxyServer は、このプロパティで定義されたアドレスを除くすべてのアドレスに使用されます。セミコロンを使用してエントリを区切ります。

Note:Sync App はデフォルトでシステムプロキシ設定を使用するため、それ以上の設定は必要ありません。 この接続にプロキシ例外を明示的に設定する場合は、ProxyAutoDetect をFalse に設定します。

Google BigQuery Connector for CData Sync

Logging

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


プロパティ説明
LogModulesログファイルに含めるコアモジュールを指定します。セミコロンで区切られたモジュール名のリストを使用します。デフォルトでは、すべてのモジュールがログに記録されます。
Google BigQuery Connector for CData Sync

LogModules

ログファイルに含めるコアモジュールを指定します。セミコロンで区切られたモジュール名のリストを使用します。デフォルトでは、すべてのモジュールがログに記録されます。

解説

Sync App は、実行する各操作の詳細を Logfile 接続プロパティで指定されたログファイルに書き込みます。

ログに記録される各操作は、モジュールと呼ばれるカテゴリに分類されます。各モジュールには対応する短いコードがあり、個々の Sync App の操作がどのモジュールに属するかを示すラベルとして使用されます。

この接続プロパティにモジュールコードをセミコロン区切りのリストで設定すると、指定したモジュールに属する操作のみがログファイルに書き込まれます。この設定は今後のログ記録にのみ適用され、既存のログファイルの内容には影響しません。例: INFO;EXEC;SSL;META;

デフォルトでは、すべてのモジュールの操作がログに含まれます。

モジュールを明示的に除外するには、先頭に「-」を付けます。例: -HTTP

サブモジュールにフィルターを適用するには、<モジュール名>.<サブモジュール名> の構文で指定します。たとえば、次の値を設定すると、Sync App は HTTP モジュールに属するアクションのみをログに記録し、さらに HTTP モジュールの Res サブモジュールに属するアクションを除外します: HTTP;-HTTP.Res

Verbosity 接続プロパティによるログファイルのフィルタリングは、この接続プロパティによるフィルタリングよりも優先されます。そのため、Verbosity 接続プロパティで指定したレベルよりも高い詳細レベルの操作は、この接続プロパティで指定したモジュールに属していても、ログファイルには出力されません。

使用可能なモジュールとサブモジュールは次のとおりです。

モジュール名 モジュールの説明 サブモジュール
INFO 一般情報。接続文字列、製品バージョン(ビルド番号)、および初期接続メッセージが含まれます。
  • Connec — 接続の作成または破棄に関連する情報。
  • Messag — 接続、接続文字列、製品バージョンに関するメッセージの汎用ラベル。これらのメッセージは通常、サービスから直接受信して転送されるものではなく、Sync App 固有のものです。
EXEC クエリ実行。ユーザーが記述した SQL クエリ、解析済み SQL クエリ、正規化済み SQL クエリの実行メッセージが含まれます。クエリおよびクエリページの成功/失敗メッセージもここに表示されます。
  • Messag — クエリ実行に関するメッセージ。これらのメッセージは通常、サービスから直接受信して転送されるものではなく、Sync App 固有のものです。
  • Normlz — クエリの正規化ステップ。クエリの正規化とは、ユーザーが送信したクエリを、最適なパフォーマンスで同じ結果を得られるように書き換える処理です。
  • Origin — ユーザーの元のクエリ(ユーザーが実行した正確で未変更の非正規化クエリ)を記録するメッセージに適用されるラベル。
  • Page — クエリのページングに関連するメッセージ。
  • Parsed — クエリの解析ステップ。解析とは、ユーザーが送信したクエリを、処理しやすい標準化された形式に変換するプロセスです。
HTTP HTTP プロトコルメッセージ。HTTP リクエスト/レスポンス(POST メッセージを含む)、および Kerberos 関連のメッセージが含まれます。
  • KERB — Kerberos に関連する HTTP リクエスト。
  • Messag — HTTP プロトコルに関するメッセージ。これらのメッセージは通常、サービスから直接受信して転送されるものではなく、Sync App 固有のものです。
  • Unpack — サービス API から返された圧縮データを製品が解凍する際のメッセージに適用されるラベル。
  • Res — HTTP レスポンスを含むメッセージ。
  • Req — HTTP リクエストを含むメッセージ。
WSDL WSDL/XSD ファイルの生成に関するメッセージ。 —
SSL SSL 証明書メッセージ。
  • Certif — SSL 証明書に関するメッセージ。
AUTH 認証関連の失敗/成功メッセージ。
  • Messag — 認証に関するメッセージ。これらのメッセージは通常、サービスから直接受信して転送されるものではなく、Sync App 固有のものです。
  • OAuth — OAuth 認証に関連するメッセージ。
  • Krbros — Kerberos 関連の認証メッセージ。
SQL SQL トランザクション、SQL 一括転送メッセージ、および SQL 結果セットメッセージが含まれます。
  • Bulk — 一括クエリ実行に関するメッセージ。
  • Cache — パフォーマンス向上のため、製品のキャッシュへの行データの読み書きに関連するメッセージ。
  • Messag — SQL トランザクションに関するメッセージ。これらのメッセージは通常、サービスから直接受信して転送されるものではなく、Sync App 固有のものです。
  • ResSet — クエリの結果セット。
  • Transc — 実行されたジョブ数やバックアップテーブルの処理に関する情報を含む、トランザクション処理に関連するメッセージ。
META メタデータキャッシュとスキーマメッセージ。
  • Cache — パフォーマンス向上のため、製品のキャッシュ内のカラムおよびテーブル定義の読み取りと変更に関連するメッセージ。
  • Schema — サービススキーマからのメタデータの取得またはサービススキーマの変更に関連するメッセージ。
  • MemSto — インメモリメタデータキャッシュへの書き込みまたは読み取りに関連するメッセージ。
  • Storag — メモリ内ではなく、ディスクまたは外部データストアへのメタデータの保存に関連するメッセージ。
FUNC SQL 関数の実行に関連する情報。
  • Errmsg — SQL 関数の実行に関連するエラーメッセージ。
TCP TCP トランスポートレイヤーメッセージでの送受信生バイト。
  • Send — TCP プロトコル経由で送信された生データ。
  • Receiv — TCP プロトコル経由で受信した生データ。
FTP File Transfer Protocol に関するメッセージ。
  • Info — FTP プロトコルでの通信に関連するステータスメッセージ。
  • Client — FTP 通信中に FTP クライアント(製品)が実行したアクションに関連するメッセージ。
  • Server — FTP 通信中に FTP サーバーが実行したアクションに関連するメッセージ。
SFTP Secure File Transfer Protocol に関するメッセージ。
  • Info — SFTP プロトコルでの通信に関連するステータスメッセージ。
  • To_Server — SFTP 通信中に SFTP クライアント(製品)が実行したアクションに関連するメッセージ。
  • From_Server — SFTP 通信中に SFTP サーバーが実行したアクションに関連するメッセージ。
POP Post Office Protocol 経由で転送されるデータに関するメッセージ。
  • Client — POP 通信中に POP クライアント(製品)が実行したアクションに関連するメッセージ。
  • Server — POP 通信中に POP サーバーが実行したアクションに関連するメッセージ。
  • Status — POP プロトコルでの通信に関連するステータスメッセージ。
SMTP Simple Mail Transfer Protocol 経由で転送されるデータに関するメッセージ。
  • Client — SMTP 通信中に SMTP クライアント(製品)が実行したアクションに関連するメッセージ。
  • Server — SMTP 通信中に SMTP サーバーが実行したアクションに関連するメッセージ。
  • Status — SMTP プロトコルでの通信に関連するステータスメッセージ。
CORE 他のモジュールでカバーされていない、さまざまな製品内部操作に関連するメッセージ。 —
DEMN SQL リモーティングに関連するメッセージ。 —
CLJB 一括データアップロード(クラウドジョブ)に関するメッセージ。
  • Commit — 一括データアップロードの送信。
SRCE 他のモジュールに属さない、製品が生成するその他のメッセージ。 —
TRANCE 低レベルの製品操作に関する高度なメッセージ。 —

Google BigQuery Connector for CData Sync

Schema

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


プロパティ説明
Locationテーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリの場所を指定します。サービスの要件に応じて、これは絶対パスまたは相対パスのいずれかで表されます。
BrowsableSchemasレポートされるスキーマを利用可能なすべてのスキーマのサブセットに制限するオプション設定。例えば、 BrowsableSchemas=SchemaA,SchemaB,SchemaC です。
BrowsableCatalogsOptional setting that restricts the catalogs reported to a subset of all available catalogs. For example, BrowsableCatalogs=CatalogA,CatalogB,CatalogC .
Tablesレポートされるテーブルを利用可能なすべてのテーブルのサブセットに制限するオプション設定。例えば、 Tables=TableA,TableB,TableC です。
Viewsレポートされたビューを使用可能なテーブルのサブセットに制限するオプション設定。例えば、 Views=ViewA,ViewB,ViewC です。
RefreshViewSchemasSpecifies whether the provider should automatically refresh view schemas by querying the views directly.
PrimaryKeyIdentifiersSpecifies rules for assigning primary keys to tables.
AllowedTableTypesSpecifies which types of tables are visible when listing tables in the dataset.
FlattenObjectsSpecifies whether STRUCT fields in Google BigQuery are flattened into individual top-level columns.
Google BigQuery Connector for CData Sync

Location

テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリの場所を指定します。サービスの要件に応じて、これは絶対パスまたは相対パスのいずれかで表されます。

解説

Location プロパティは、定義をカスタマイズしたり(例えば、カラム名を変更する、カラムを無視するなど)、新しいテーブル、ビュー、またはストアドプロシージャでデータモデルを拡張する場合にのみ必要です。

指定しない場合、デフォルトの場所は%APPDATA%\\CData\\GoogleBigQuery Data Provider\\Schema となり、%APPDATA%はユーザーのコンフィギュレーションディレクトリに設定されます:

プラットフォーム %APPDATA%
Windows APPDATA 環境変数の値
Linux ~/.config

Google BigQuery Connector for CData Sync

BrowsableSchemas

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

解説

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

Google BigQuery Connector for CData Sync

BrowsableCatalogs

Optional setting that restricts the catalogs reported to a subset of all available catalogs. For example, BrowsableCatalogs=CatalogA,CatalogB,CatalogC .

解説

Listing all available database catalogs can take extra time, thus degrading performance. Providing a list of catalogs in the connection string saves time and improves performance.

Google BigQuery Connector for CData Sync

Tables

レポートされるテーブルを利用可能なすべてのテーブルのサブセットに制限するオプション設定。例えば、 Tables=TableA,TableB,TableC です。

解説

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

利用可能なテーブルがたくさんあり、すでに作業したいテーブルが決まっている場合、このプロパティを使用して対象のテーブルのみに表示を制限することができます。これを行うには、カンマ区切りのリストで使用したいテーブルを指定します。各テーブルは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space` です。

Note:複数のスキーマまたはカタログを持つデータソースに接続する場合は、表示する各テーブルを完全修飾名で指定する必要があります。これにより、複数のカタログやスキーマに存在するテーブルが混同されることを防ぎます。

Google BigQuery Connector for CData Sync

Views

レポートされたビューを使用可能なテーブルのサブセットに制限するオプション設定。例えば、 Views=ViewA,ViewB,ViewC です。

解説

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

利用可能なビューがたくさんあり、すでに作業したいビューが決まっている場合、このプロパティを使用して対象のビューのみに表示を制限することができます。これを行うには、カンマ区切りのリストで使用したいビューを指定します。各ビューは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space` です。

Note:複数のスキーマまたはカタログを持つデータソースに接続する場合は、確認する各ビューを完全修飾名で指定する必要があります。これにより、複数のカタログやスキーマに存在するビューが混同されることを防ぎます。

Google BigQuery Connector for CData Sync

RefreshViewSchemas

Specifies whether the provider should automatically refresh view schemas by querying the views directly.

解説

Google BigQuery stores a static schema with each view. However, this schema is not updated when the underlying tables change. As a result, stored view schemas can become outdated, potentially causing query failures.

When this property is set to true, the Sync App queries each view to retrieve the current schema instead of relying on the stored schema. This ensures accuracy but may trigger a query job and incur additional overhead.

When set to false, the Sync App uses the stored view schema without validating it. This avoids creating query jobs, which can reduce overhead in environments where schema stability is guaranteed, but introduces the risk of failures if the view is out of sync with its base tables.

Keep this property enabled unless you're certain that your view schemas are stable or you need to avoid query jobs during schema discovery.

Google BigQuery Connector for CData Sync

PrimaryKeyIdentifiers

Specifies rules for assigning primary keys to tables.

解説

Google BigQuery does not natively support primary keys. However, certain operations such as updates, deletes, or integrations with external tools may require primary key definitions. This property allows you to define primary keys manually using a semicolon-separated list of rules.

Each rule follows the format: <table_pattern>=<comma-separated list of columns>

For example: PrimaryKeyIdentifiers="*=key;transactions=tx_date,tx_serial;user_comments="

This defines three rules:

  • *=key: All tables use key as the primary key unless overridden. Tables that do not contain a key column will not have a primary key.
  • transactions=tx_date,tx_serial: The transactions table uses tx_date and tx_serial as composite primary keys. If either of those columns is missing from the table, no primary key is assigned.
  • user_comments=: The user_comments table is explicitly configured to have no primary key, overriding the default.

Rules may match just the table name, the dataset and table, or the project, dataset, and table for increasing specificity:

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

You may quote table and column names using any valid SQL quoting style:

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

If this property is not set, the Sync App uses schema files defined through Location to determine primary keys. Otherwise, all tables are treated as having no primary key by default.

Google BigQuery Connector for CData Sync

AllowedTableTypes

Specifies which types of tables are visible when listing tables in the dataset.

解説

This property accepts a comma-separated list of table type values. The Sync App includes only the table types you specify when listing tables during metadata discovery. All other table-like entities are excluded from the results.

  • TABLE: Standard Google BigQuery tables
  • EXTERNAL: Read-only tables stored outside Google BigQuery, such as in Google Cloud Storage or Google Drive
  • SNAPSHOT: Read-only tables that preserve the state of another table at a specific point in time
  • VIEW: Standard Google BigQuery views
  • MATERIALIZED_VIEW: Views that are automatically cached and refreshed when their base tables change

For example, to return only standard tables and views, set this property to: TABLE,VIEW.

Use this property to filter out unnecessary table types and streamline metadata results based on your application's needs.

Google BigQuery Connector for CData Sync

FlattenObjects

Specifies whether STRUCT fields in Google BigQuery are flattened into individual top-level columns.

解説

When set to true, the Sync App flattens each field in a STRUCT column into its own column. The original STRUCT column is omitted from the results. This flattening is applied recursively for nested STRUCT fields.

For example, the following table is reported as three columns when flattening is enabled: location.coords.lat, location.coords.lon, and location.country

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

When set to false, the Sync App returns the STRUCT column as a single column containing a JSON object. In the example above, only the location column is reported.

Enable this property to access nested STRUCT fields as individual columns. Disable it if your application prefers to handle STRUCTs as JSON values.

Google BigQuery Connector for CData Sync

Miscellaneous

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


プロパティ説明
AllowAggregateParametersSpecifies whether raw aggregate values can be used in parameters when the QueryPassthrough connection property is enabled.
ApplicationNameSpecifies the name of the application using the provider, in the format application/version. For example, AcmeReporting/1.0.
AuditLimitSpecifies the maximum number of rows that can be stored in the in-memory audit table.
AuditModeSpecifies which provider actions should be recorded in audit tables.
AWSWorkloadIdentityConfigAWS 経由でWorkload Identity Federation を使用する場合に指定する設定プロパティ。
AzureWorkloadIdentityConfigAzure 経由でWorkload Identity Federation を使用する場合に指定する設定プロパティ。
BigQueryOptionsSpecifies a comma-separated list of custom Google BigQuery provider options.
EmptyArraysAsNullSpecifies whether empty arrays are represented as null or as an empty array.
GenerateSchemaFilesスキーマを生成して保存するユーザーの好みのタイミングを示します。
HidePartitionColumnsSpecifies whether the pseudocolumns _PARTITIONDATE and _PARTITIONTIME are hidden in partitioned tables.
MaximumBillingTierSpecifies the maximum billing tier for a query, represented as a positive integer multiplier of the standard cost per terabyte.
MaximumBytesBilledSpecifies the maximum number of bytes a Google BigQuery job is allowed to process before it is cancelled.
MaxRows集計やGROUP BY を含まないクエリで返される最大行数を指定します。
Other特定の問題に対処するため、特殊なシナリオ向けの高度な接続プロパティを指定します。このプロパティは、サポートチームの指示がある場合にのみ使用してください。
PseudoColumnsテーブルカラムとして公開する擬似カラムを、'TableName=ColumnName;TableName=ColumnName' の形式の文字列で指定します。
QueryPassthroughこのオプションは、クエリをGoogle BigQuery サーバーにas-is で渡します。
SupportCaseSensitiveTablesSpecifies whether the provider distinguishes between tables and datasets with the same name but different casing.
TableSamplePercentSpecifies the percentage of each table to sample when generating queries using the TABLESAMPLE clause.
TimeoutSpecifies the maximum number of seconds to wait before timing out an operation.
UserDefinedViewsカスタムビューを定義するJSON 構成ファイルへのファイルパスを指定します。provider は、このファイルで指定されたビューを自動的に検出して使用します。
WorkloadPoolIdWorkload Identity Federation プールのID。
WorkloadProjectIdWorkload Identity Federation プールをホストするGoogle Cloud プロジェクトのID。
WorkloadProviderIdWorkload Identity Federation プールプロバイダーのID。
Google BigQuery Connector for CData Sync

AllowAggregateParameters

Specifies whether raw aggregate values can be used in parameters when the QueryPassthrough connection property is enabled.

解説

When set to false, string parameters are automatically quoted and escaped. This ensures safe query construction, but prevents the use of raw aggregate values such as arrays or structs as parameters.

/*
 * 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\')]')

When set to true, string parameters are inserted directly into the query without quoting or escaping. This allows raw aggregate values such as arrays or structs to be passed as parameters, but it requires that all literal strings are properly escaped by the user.

/*
 * 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')])

Enable this property if you need to pass raw aggregate values through parameters and can ensure proper manual escaping of strings.

Google BigQuery Connector for CData Sync

ApplicationName

Specifies the name of the application using the provider, in the format application/version. For example, AcmeReporting/1.0.

解説

The Sync App identifies itself to Google BigQuery using a custom User-Agent header.

This header includes a fixed portion that identifies the client as a specific build of the CData Sync App, and an optional portion that reports the application name and version specified through this property.

Providing an application name helps with query attribution and monitoring in environments where multiple tools or services connect to Google BigQuery.

Set this property if you want your application name to appear in the User-Agent string sent in Google BigQuery API requests.

Google BigQuery Connector for CData Sync

AuditLimit

Specifies the maximum number of rows that can be stored in the in-memory audit table.

解説

When auditing is enabled using the AuditMode property, AuditLimit controls how many rows are retained in the audit table at one time.

By default, this property is set to 1000, meaning only the 1000 most recent audit events are preserved. Older entries are removed as new ones are added.

To disable the limit and retain all audit rows, set the property to -1. This may significantly increase memory usage. In that case, clear the audit table periodically to manage resource consumption.

You can clear the audit table using a command like:

DELETE FROM AuditJobs#TEMP

Adjust this property based on your logging needs and available memory. Use higher values or disable the limit only if you plan to manage audit data manually.

Google BigQuery Connector for CData Sync

AuditMode

Specifies which provider actions should be recorded in audit tables.

解説

The Sync App can log internal actions it performs when running queries. When this property is set, the Sync App creates temporary in-memory audit tables to track the specified actions, including the timestamp, triggering query, and other relevant details.

By default, no audit modes are enabled, and the Sync App does not log any audit information. To enable auditing, set this property to a comma-separated list of supported modes.

The following audit mode is currently available:

Mode Name Audit Table Description Columns
start-jobs AuditJobs#TEMP Records all jobs started by the Sync App Timestamp,Query,ProjectId,Location,JobId

For example, to track Google BigQuery jobs started by the Sync App, set this property to: start-jobs.

Use this property to gain visibility into internal operations for monitoring or troubleshooting.

Refer to AuditLimit for guidance on managing the size of audit tables.

Google BigQuery Connector for CData Sync

AWSWorkloadIdentityConfig

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

解説

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

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

Google BigQuery Connector for CData Sync

AzureWorkloadIdentityConfig

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

解説

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

AzureWorkloadIdentityConfig="AuthScheme=AzureServicePrincipal;AzureTenant=directory (tenant) id;OAuthClientID=application (client) id;OAuthClientSecret=client secret;AzureResource=application id uri;"

Google BigQuery Connector for CData Sync

BigQueryOptions

Specifies a comma-separated list of custom Google BigQuery provider options.

解説

This property enables specialized Google BigQuery behaviors that are not exposed through standard connection settings.

Supported options:

OptionDescription
gbqoImplicitJoinAsUnionPreserves implicit joins rather than rewriting them as CROSS JOINs, which is the expected SQL92 behavior. BigQuery interprets implicit joins as UNION ALL, which may be useful for supporting legacy query patterns or specific transformations.

Use this property when you need to control specific Google BigQuery behaviors that aren’t handled through other settings.

Google BigQuery Connector for CData Sync

EmptyArraysAsNull

Specifies whether empty arrays are represented as null or as an empty array.

解説

When this property is set to true, the Sync App represents empty arrays as "null". This aligns with how the Sync App handles empty aggregates and can help simplify downstream comparisons or processing logic.

When set to false, empty arrays are represented as "[]", which mimics the behavior of the native Google BigQuery Sync App.

Enable this property to normalize the handling of empty values by treating empty arrays as "null". Disable it if your application or tools expect an explicit empty array instead.

Google BigQuery Connector for CData Sync

GenerateSchemaFiles

スキーマを生成して保存するユーザーの好みのタイミングを示します。

解説

このプロパティは、Location で指定されたパスの.rsd ファイルにスキーマをアウトプットします。

有効な設定は次のとおりです。

  • Never:スキーマファイルは生成されません。
  • OnUse:スキーマファイルがまだ存在していない場合に、初めてテーブルが参照されるときにスキーマファイルが生成されます。
  • OnStart:現在スキーマファイルを持たないあらゆるテーブルに対して、接続時にスキーマファイルが生成されます。
  • OnCreate:CREATE TABLE SQL クエリを実行すると、スキーマファイルが生成されます。
ファイルを再生成したい場合には、既存のファイルを削除する必要があることに注意してください。

SQL でスキーマを生成する

GenerateSchemaFiles をOnUse に設定すると、Sync App はSELECT クエリを実行したときにスキーマを生成します。スキーマはクエリのそれぞれの参照されたテーブルに対して生成されます。

GenerateSchemaFiles をOnCreate に設定すると、CREATE TABLE クエリが実行されたときにのみスキーマが生成されます。

接続時にスキーマを生成する

このプロパティのもう一つの使い方は、接続するときにデータベース内のすべてのテーブルのスキーマを取得することです。これには、GenerateSchemaFiles をOnStart に設定して接続します。

Google BigQuery Connector for CData Sync

HidePartitionColumns

Specifies whether the pseudocolumns _PARTITIONDATE and _PARTITIONTIME are hidden in partitioned tables.

解説

When this property is set to false, partitioned tables include the pseudocolumns _PARTITIONDATE and _PARTITIONTIME in the reported schema. These columns can help filter queries and understand partition structure.

When set to true, the Sync App hides these columns, matching the behavior of the native Google BigQuery Sync App and the Google BigQuery web console.

Enable this property to suppress internal partition columns from metadata and result sets when they are not needed by your application.

Hiding these columns does not affect query execution, but may simplify schema handling in environments where internal fields are unnecessary.

Google BigQuery Connector for CData Sync

MaximumBillingTier

Specifies the maximum billing tier for a query, represented as a positive integer multiplier of the standard cost per terabyte.

解説

This property limits the maximum billing tier that Google BigQuery can use when executing a query. If the query requires more resources than the specified tier allows, it fails with a "billingTierLimitExceeded" error. You are not charged for failed queries.

The billing tier is a positive integer that acts as a multiplier of the standard per-terabyte pricing. For example, setting MaximumBillingTier to 2 allows the query to consume up to twice the standard cost per TB.

If this property is not set, Google BigQuery uses the default billing tier configured for your Google Cloud project.

Use this property to control the cost exposure of complex or resource-intensive queries. If a query fails due to billing tier limits, the error message typically includes the estimated required tier.

Restricting the billing tier helps prevent runaway costs but may block queries that require higher compute capacity. Adjust the tier upward as needed based on the query’s resource demands and Google BigQuery’s cost estimate.

Google BigQuery Connector for CData Sync

MaximumBytesBilled

Specifies the maximum number of bytes a Google BigQuery job is allowed to process before it is cancelled.

解説

This property sets a billing cap for each job. If the job attempts to process more data than the specified limit, Google BigQuery cancels the job and you are not billed.

By default, there is no cap, and jobs are billed for all bytes processed.

This property only applies when using DestinationTable or when submitting jobs via the InsertJob stored procedure. Standard query jobs do not support byte limits and ignore this setting.

For example, setting MaximumBytesBilled to 1000000000 caps the job at approximately 1 GB of processed data.

Use this property to prevent unexpected billing charges from large queries. It is especially useful in environments where cost control is a priority.

Google BigQuery Connector for CData Sync

MaxRows

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

解説

このプロパティのデフォルト値である-1 は、クエリに明示的にLIMIT 句が含まれていない限り、行の制限が適用されないことを意味します。 (クエリにLIMIT 句が含まれている場合、クエリで指定された値がMaxRows 設定よりも優先されます。)

MaxRows を0より大きい整数に設定することで、クエリがデフォルトで過度に大きな結果セットを返さないようにします。

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

Google BigQuery Connector for CData Sync

Other

特定の問題に対処するため、特殊なシナリオ向けの高度な接続プロパティを指定します。このプロパティは、サポートチームの指示がある場合にのみ使用してください。

解説

このプロパティにより、シニアユーザーはサポートチームのアドバイスに基づいて、特定の状況に対応する隠しプロパティを設定できます。 これらの設定は通常のユースケースには必要ありませんが、特定の要件に対応したり、追加の機能を提供したりすることができます。 複数のプロパティを定義するには、セミコロンで区切られたリストを使用します。

Note:特定のシナリオや問題に対処するためにサポートチームから助言があった場合にのみ、これらのプロパティを設定することを強く推奨します。

統合およびフォーマット

プロパティ説明
DefaultColumnSizeデータソースがメタデータにカラムの長さを提供しない場合に、文字列フィールドのデフォルトの長さを設定します。デフォルト値は2000です。
ConvertDateTimeToGMT=True日時の値を、マシンのローカルタイムではなくGMT グリニッジ標準時に変換します。デフォルト値はFalse(ローカルタイムを使用)です。
RecordToFile=filename基底のソケットデータ転送を指定のファイルに記録します。

Google BigQuery Connector for CData Sync

PseudoColumns

テーブルカラムとして公開する擬似カラムを、'TableName=ColumnName;TableName=ColumnName' の形式の文字列で指定します。

解説

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

個々の擬似カラムを指定するには、以下の形式を使用します。

Table1=Column1;Table1=Column2;Table2=Column3

すべてのテーブルのすべての擬似カラムを含めるには、次を使用してください:

*=*

Google BigQuery Connector for CData Sync

QueryPassthrough

このオプションは、クエリをGoogle BigQuery サーバーにas-is で渡します。

解説

これが設定されていると、クエリはGoogle BigQuery に直接渡されます。

Google BigQuery Connector for CData Sync

SupportCaseSensitiveTables

Specifies whether the provider distinguishes between tables and datasets with the same name but different casing.

解説

By default, the Sync App treats table and dataset names as case-insensitive when retrieving metadata. If multiple tables or datasets exist with the same name but different casing (for example: Customers, customers, and CUSTOMERS), only one of them is shown in system views such as sys_tables.

When this property is set to true, the Sync App includes all case-variant tables and datasets in metadata. To prevent name collisions, the Sync App renames duplicate entries by appending disambiguating information to their names (for example: customers becomes customers_1).

This setting affects both metadata and queries. When the Sync App disambiguates table or dataset names in metadata, those renamed versions must also be used in SQL queries. For example, if two tables exist such as Customers and customers, you may need to query them as: "SELECT * FROM Customers" and "SELECT * FROM customers_1".

Enable this property if your environment contains tables and datasets with the same name in different casing and you need all of them represented in the metadata.

Note that this property will be automatically disabled if QueryPassthrough is enabled, due to the properties being incompatable with one another.

Google BigQuery Connector for CData Sync

TableSamplePercent

Specifies the percentage of each table to sample when generating queries using the TABLESAMPLE clause.

解説

When this property is set to a value greater than 0, the Sync App adds a TABLESAMPLE SYSTEM (n PERCENT) clause to eligible table references during query generation.

/* Input SQL */
SELECT * FROM `tbl`

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

This instructs Google BigQuery to return a sample of approximately the specified percentage of rows.

Use this property to limit result size during exploration or testing of large tables. Set a value between 1 and 100 to indicate the sampling percentage.

Limitations:

  • This property affects only generated SQL and has no effect when QueryPassthrough is enabled.
  • The actual number of rows returned may exceed the specified percentage depending on how Google BigQuery implements sampling.
  • The TABLESAMPLE clause is not supported on views. The Sync App omits the clause when generating queries against views.

Google BigQuery Connector for CData Sync

Timeout

Specifies the maximum number of seconds to wait before timing out an operation.

解説

This property controls how long the Sync App waits for a query or API operation to complete. If the operation does not finish within the specified time, the operation is cancelled and an exception is thrown.

If Timeout is set to 0, operations do not time out. They continue until they complete or encounter an error.

If Timeout is set to a positive number, and the operation exceeds the configured limit, the Sync App cancels the operation and returns a timeout error. For example: Timeout=600. This sets the timeout to 10 minutes.

Use this property to enforce a maximum execution time for long-running operations. Increase the value for large datasets or complex queries. Decrease it if you need to limit resource usage or responsiveness.

Google BigQuery Connector for CData Sync

UserDefinedViews

カスタムビューを定義するJSON 構成ファイルへのファイルパスを指定します。provider は、このファイルで指定されたビューを自動的に検出して使用します。

解説

UserDefinedViews を使用すると、UserDefinedViews.json というJSON 形式の構成ファイルを通じてカスタムビューを定義および管理できます。 これらのビューはSync App によって自動的に認識され、標準のデータベースビューのようにカスタムSQL クエリを実行できるようになります。 JSON ファイルは、各ビューをルート要素として定義し、その子要素として"query" を持ちます。この"query" にはビューのSQL クエリが含まれています。

次に例を示します。

{
	"MyView": {
		"query": "SELECT * FROM [publicdata].[samples].github_nested WHERE MyColumn = 'value'"
	},
	"MyView2": {
		"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
	}
}

このプロパティを使用して、1つのファイルに複数のビューを定義し、ファイルパスを指定できます。 次に例を示します。

UserDefinedViews=C:\Path\To\UserDefinedViews.json
UserDefinedViews でビューを指定すると、Sync App はそのビューだけを参照します。

詳しくは、ユーザー定義ビュー を参照してください。

Google BigQuery Connector for CData Sync

WorkloadPoolId

Workload Identity Federation プールのID。

解説

Workload Identity Federation プールのID。

Google BigQuery Connector for CData Sync

WorkloadProjectId

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

解説

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

Google BigQuery Connector for CData Sync

WorkloadProviderId

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

解説

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

Google BigQuery Connector for CData Sync

Third Party Copyrights

LZMA from 7Zip LZMA SDK

LZMA SDK is placed in the public domain.

Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original LZMA SDK code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.

LZMA2 from XZ SDK

Version 1.9 and older are in the public domain.

Xamarin.Forms

Xamarin SDK

The MIT License (MIT)

Copyright (c) .NET Foundation Contributors

All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

NSIS 3.10

Copyright (C) 1999-2025 Contributors THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.

1. DEFINITIONS

"Contribution" means:

a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and b) in the case of each subsequent Contributor:

i) changes to the Program, and

ii) additions to the Program;

where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.

"Contributor" means any person or entity that distributes the Program.

"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.

"Program" means the Contributions distributed in accordance with this Agreement.

"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.

2. GRANT OF RIGHTS

a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.

b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.

c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.

d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.

3. REQUIREMENTS

A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:

a) it complies with the terms and conditions of this Agreement; and

b) its license agreement:

i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;

ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;

iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and

iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.

When the Program is made available in source code form:

a) it must be made available under this Agreement; and

b) a copy of this Agreement must be included with each copy of the Program.

Contributors may not remove or alter any copyright notices contained within the Program.

Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.

4. COMMERCIAL DISTRIBUTION

Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.

For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.

5. NO WARRANTY

EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED 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. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.

6. DISCLAIMER OF LIABILITY

EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), 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 OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

7. GENERAL

If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.

If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.

All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.

Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.

This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.

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)

v1beta1/arrow.proto

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)

v1/avro.proto

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) 2026 CData Software, Inc. - All rights reserved.
Build 25.0.9540