CData Sync App は、Avro データをデータベース、データレイク、またはデータウェアハウスに継続的にパイプライン化する簡単な方法を提供し、分析、レポート、AI、および機械学習で簡単に利用できるようにします。
Avro コネクタはCData Sync アプリケーションから使用可能で、Avro からデータを取得して、サポートされている任意の同期先に移動できます。
Sync App はApache Avro V1.10.1を利用します。
Apache Avro は、バイナリとJSON の2つのシリアル化エンコーディングを指定しています。Sync App はバイナリでエンコードされたAvro ファイルのみを解析します。
CData Sync App は、Avro ストリーミング専用です。
このストリームファイルのコンテンツには、リモートで保存されたAvro ファイルに関連するファイル名やフォルダ名などのメタデータはすべて含まれていません。
ファイルのメタデータとファイルの実際のコンテンツの両方にアクセスする必要がある場合は、CData Sync App は、Avro ファイルがリモートで格納されているサービスの関連ファイルシステムドライバーと併せて使用する必要があります。
以下のファイルシステムドライバーが利用可能です。
保存されているAvro ファイルメタデータに接続するための設定方法については、関連するCData ファイルシステムドライバーのドキュメントを参照してください。
必須プロパティについては、設定タブを参照してください。
通常必須ではない接続プロパティについては、高度な設定タブを参照してください。
CData Sync App を使用すると、ローカルおよびリモートのAvro リソースに接続できます。データソースへの接続に必要なプロパティに加えて、URI プロパティをAvro リソースの場所に設定します。
ConnectionType をLocal に設定します。ローカルファイルは、SELECT をサポートします。
URI をAvro ファイルを含むフォルダに設定します。 C:\folder1。
クラウド上のファイルをINSERT、UPDATE、DELETE する必要がある場合は、そのクラウドサービスに対応するCData Sync App をダウンロードし(ストアドプロシージャでサポートされています)、ローカルファイルの対応するSync App に変更を加え、そのクラウドソース用のストアドプロシージャを使ってファイルをアップロードできます。
例えば、SharePoint 上に格納されたファイルをアップデートしたい場合、CData SharePoint Sync App のDownloadDocument プロシージャを使用してAvro ファイルをダウンロードし、CData Avro Sync App でローカルのAvro ファイルをアップデートして、最後にSharePoint Sync App のUploadDocument プロシージャを使って変更されたファイルをSharePoint にアップロードできます。
URI 接続プロパティの先頭にある一意の接頭辞は、Sync App が対象とするクラウドデータストアを識別するために使用され、残りのパスは目的のフォルダ(1ファイルにつき1テーブル)または単一ファイル(単一テーブル)への相対パスとなります。
Amazon S3 に格納されているAvro リソースを識別するために以下を設定します。
Amazon S3 でホストされているAvro ファイルへの接続および認証について詳しくは、Amazon S3 への接続 を参照してください。
Azure Blob Storage に格納されているAvro リソースを識別するために以下を設定します。
Amazon Blob Storage でホストされているAvro ファイルへの接続および認証について詳しくは、Azure Blob Storage への接続 を参照してください。
Azure Data Lake Storage に格納されているAvro リソースを識別するために以下を設定します。
Azure Data Lake Storage でホストされているAvro ファイルへの接続および認証について詳しくは、Azure Data Lake Storage への接続 を参照してください。
接続するには次のプロパティを設定します。
Azure アクセスキーまたはAzure 共有アクセス署名のいずれかで認証できます。次のいずれか1つを設定してください。
Box に格納されているAvro リソースを識別するために以下を設定します。
Box でホストされているAvro ファイルへの接続および認証について詳しくは、Box への接続 を参照してください。
Dropbox に格納されているAvro リソースを識別するために以下を設定します。
Dropbox でホストされているAvro ファイルへの接続および認証について詳しくは、Dropbox への接続 を参照してください。
Sync App は、FTP サーバーへのプレーンテキスト接続およびSSL/TLS 接続の両方をサポートします。
次の接続プロパティを設定して接続します。
Google Cloud Storage に格納されているAvro リソースを識別するために以下を設定します。
Google Cloud Storage でホストされているAvro ファイルへの接続および認証について詳しくは、Google Cloud Storage への接続 を参照してください。
Google Drive に格納されているAvro リソースを識別するために以下を設定します。
Google Drive でホストされているAvro ファイルへの接続および認証について詳しくは、Google Drive への接続 を参照してください。
HDFS に格納されているAvro リソースを識別するために以下を設定します。
HDFS データソースへの接続に使用できる認証方法は、匿名認証とKerberos 認証の2つがあります。
匿名認証
状況によっては、認証接続プロパティなしでHDFS に接続できます。 そのためには、AuthScheme プロパティをNone(デフォルト)に設定します。
Kerberos を使用した認証
認証資格情報が必要な場合、認証にKerberos を使用することができます。 Kerberos で認証する方法についての詳細は、Kerberos の使用 を参照してください。
HTTP streams に格納されているAvro リソースを識別するために以下を設定します。
HTTP Streams でホストされているAvro ファイルへの接続および認証について詳しくは、HTTP Streams への接続 を参照してください。
IBM Cloud Object Storage に格納されているAvro リソースを識別するために以下を設定します。
IBM Cloud Object Storage でホストされているAvro ファイルへの接続および認証について詳しくは、IBM Object Storage への接続 を参照してください。
OneDrive に格納されているAvro リソースを識別するために以下を設定します。
OneDrive でホストされているAvro ファイルへの接続および認証について詳しくは、OneDrive への接続 を参照してください。
HMAC で認証するには、次のプロパティを設定します。
SFTP に格納されているAvro リソースを識別するために以下を設定します。
SFTP でホストされているAvro ファイルへの接続および認証について詳しくは、SFTP への接続 を参照してください。
SharePoint Online に格納されているAvro リソースを識別するために以下を設定します。
SharePoint Online でホストされているAvro ファイルへの接続および認証について詳しくは、SharePoint Online への接続 を参照してください。
データへの接続には、以下を設定してください。
Avro への接続に使用できる認証方法は、以下を含めいくつかあります。
アカウントのルートクレデンシャルで認証するには、次の設定パラメータを設定します。
Note: この認証スキームの使用は、簡単なテスト以外ではAmazon では推奨されていません。アカウントのルート認証情報はユーザーの完全な権限を持つため、これが最も安全性の低い認証方法になります。
AuthScheme をAwsEC2Roles に設定します。
EC2 インスタンスからSync App を使用していて、そのインスタンスにIAM ロールが割り当てられている場合は、 認証にIAM ロールを使用できます。Sync App は自動的にIAM ロールの認証情報を取得し、それらを使って認証するため、AWSAccessKey およびAWSSecretKey を指定する必要はありません。
認証にIAM ロールも使用している場合は、さらに以下を指定する必要があります。
Avro Sync App は、IMDSv2 をサポートしています。IMDSv1 とは異なり、新バージョンでは認証トークンが必須です。エンドポイントおよびレスポンスは、両バージョンで同じです。
IMDSv2 では、Avro Sync App はまずIMDSv2 メタデータトークンの取得を試み、それを使用してAWS メタデータエンドポイントを呼び出します。トークンを取得できない場合、Sync App はIMDSv1 を使用します。
AuthScheme をAwsIAMRoles に設定します。
多くの場合、認証にはAWS ルートユーザーのダイレクトなセキュリティ認証情報ではなく、IAM ロールを使用することをお勧めします。AWS ルートユーザーのAWSAccessKey およびAWSSecretKey を指定している場合、ロールは使用できない場合があります。
AWS ロールとして認証するには、次のプロパティを設定します。
ADFS に接続するには、AuthScheme をADFS に設定し、次のプロパティを設定します。
ADFS への認証を行うには、次のSSOProperties を設定します。
接続文字列の例:
AuthScheme=ADFS;User=username;Password=password;SSOLoginURL='https://sts.company.com';SSOProperties='RelyingParty=https://saml.salesforce.com';
ADFS 統合フローでは、現在ログインしているWindows ユーザーの資格情報で接続します。 ADFS 統合フローを使用するには、User およびPassword を指定せず、それ以外の設定は上記のADFS ガイドと同じ手順を実行してください。
Okta に接続するには、AuthScheme をOkta に設定し、次のプロパティを設定します。
Okta クライアントリクエストコンテキストをオーバーライドする信頼されたアプリケーションまたはプロキシを使用する場合、またはMFA を設定している場合は、Okta を使用して認証するためにSSOProperties を組み合わせて使用する必要があります。必要に応じて、以下のいずれかを設定します。
接続文字列の例:
AuthScheme=Okta;SSOLoginURL='https://example.okta.com/home/appType/0bg4ivz6cJRZgCz5d6/46';User=oktaUserName;Password=oktaPassword;
PingFederate に接続するには、AuthScheme をPingFederate に設定し、次のプロパティを設定します。
SSOLoginURL 用の相互SSL 認証(WS-Trust STS エンドポイント)を有効化するには、次の SSOProperties を設定します。
接続文字列の例:
authScheme=pingfederate;SSOLoginURL=https://mycustomserver.com:9033/idp/sts.wst;SSOExchangeUrl=https://us-east-1.signin.aws.amazon.com/platform/saml/acs/764ef411-xxxxxx;user=admin;password=PassValue;AWSPrincipalARN=arn:aws:iam::215338515180:saml-provider/pingFederate;AWSRoleArn=arn:aws:iam::215338515180:role/SSOTest2;
多要素認証を必要とするユーザーおよびロールには、以下を指定してください。
Note: 一時的な認証情報の有効期間(デフォルトは3600秒)を制御するには、TemporaryTokenDuration プロパティを設定します。
一時クレデンシャルで認証するには、次を設定します。
Sync App は、一時クレデンシャルの有効期間中、長期的な認証情報(IAM ユーザー認証情報など)によって提供されるものと同じ権限を使用してリソースをリクエストできるようになりました。
一時クレデンシャルおよびIAM ロールの両方を使用して認証するには、上記のすべてのパラメータを設定し、さらに以下のパラメータを指定します。
認証にはクレデンシャルファイルを使用することができます。AccessKey/SecretKey 認証、一時クレデンシャル、ロール認証、またはMFA に関連するすべての設定が使用できます。 これを行うには、次のプロパティを設定して認証します。
この設定では、2つの別個のAzure AD アプリケーションが必要になります。
Azure AD に接続するには、AuthScheme をAzureAD に設定し、次のプロパティを設定します。
Azure AD を認証するには、これらのSSOProperties を設定します。
接続文字列の例:
AuthScheme=AzureAD;OAuthClientId=3ea1c786-d527-4399-8c3b-2e3696ae4b48;OauthClientSecret=xxx;CallbackUrl=https://localhost:33333;SSOProperties='Resource=https://signin.aws.amazon.com/saml;AzureTenant=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx';
AzureBlob ユーザーの認証情報を取得するには、以下の手順に従ってください。
AzureStorageAccount をAzure Blob Storage アカウント名に設定します。
Azure Blob Storage への認証には、アクセスキー、Shared Access Signature(SAS)、Azure AD ユーザー、Azure MSI、またはAzure サービスプリンシパルを使用できます。
Azure アクセスキーで認証するには、以下のように設定します。
AuthScheme は、すべてのユーザーアカウントフローでAzureAD に設定する必要があります。
Azure サービスプリンシパルとしての認証は、OAuth クライアントクレデンシャルフローを介して処理されます。直接のユーザー認証は行われません。代わりに、クレデンシャルはアプリケーション自体のためだけに作成されます。アプリで実行されるすべてのタスクは、デフォルトユーザーコンテキストなしで実行されます。リソースへのアプリケーションのアクセスは、割り当てられたロールの権限によって制御されます。
AzureAD アプリとAzure サービスプリンシパルの作成
Azure サービスプリンシパルを使用して認証する場合、Azure AD テナントにAzure AD アプリケーションを作成して登録する必要があります。詳しくは、カスタムOAuth アプリケーションの作成 を参照してください。
portal.azure.com の[アプリの登録]で[API のアクセス許可]に移動し、Microsoft Graph アクセス許可を選択します。アクセス許可には2つの異なるアクセス許可セットがあります。委任されたアクセス許可とアプリケーションの許可です。クライアントの資格情報認証時に使用されるアクセス許可は、[アプリケーションの許可]の下にあります。
アプリケーションへのロールの割り当て
サブスクリプションのリソースにアクセスするには、アプリケーションにロールを割り当てる必要があります。
クライアントシークレット
次の接続プロパティを設定します。
証明書
次の接続プロパティを設定します。
これで接続する準備が整いました。クライアント資格情報での認証は、他の接続同様に自動的に行われますが、ユーザーにプロンプトするウィンドウは表示されません。ユーザーコンテキストがないため、ブラウザのポップアップは必要ないからです。接続が行われ、内部的に処理されます。
Azure Data Lake Storage のアクセス許可を持つAzure VM で接続する場合は、AuthScheme をAzureMSI に設定します。
クライアントシークレットではなくサービスプリンシパルで認証したい場合は、クライアント証明書で認証できます。認証するには以下のように設定します。
カスタムAzureAD アプリケーションには、AzureAD とAzure サービスプリンシパルを使用するAzureAD の2種類があります。いずれもOAuth ベースです。
以下の場合はユーザー自身のAzureAD アプリケーションクレデンシャルを選択できます。
下記の手順に従って、アプリケーションのAzureAD 値、OAuthClientId およびOAuthClientSecret を取得します。
Azure サービスプリンシパルを使用して認証する場合は、カスタムAzureAD アプリケーションと必要なリソースにアクセスできるサービスプリンシパル両方の作成が必要です。次の手順に従って、カスタムAzureAD アプリケーションを作成し、Azure サービスプリンシパル認証用の接続プロパティを取得します。
下記の手順に従って、アプリケーションのAzureAD 値を取得します。
AzureStorageAccount をAzure Data Lake Storage アカウント名に設定します。
Azure Data Lake Storage への認証には、アクセスキー、Shared Access Signature(SAS)、Azure AD ユーザー、Azure MSI、またはAzure サービスプリンシパルを使用できます。
Azure アクセスキーで認証するには、以下のように設定します。
AuthScheme は、すべてのユーザーアカウントフローでAzureAD に設定する必要があります。
Azure サービスプリンシパルとしての認証は、OAuth クライアントクレデンシャルフローを介して処理されます。直接のユーザー認証は行われません。代わりに、クレデンシャルはアプリケーション自体のためだけに作成されます。アプリで実行されるすべてのタスクは、デフォルトユーザーコンテキストなしで実行されます。リソースへのアプリケーションのアクセスは、割り当てられたロールの権限によって制御されます。
AzureAD アプリとAzure サービスプリンシパルの作成
Azure サービスプリンシパルを使用して認証する場合、Azure AD テナントにAzure AD アプリケーションを作成して登録する必要があります。詳しくは、カスタムOAuth アプリケーションの作成 を参照してください。
portal.azure.com の[アプリの登録]で[API のアクセス許可]に移動し、Microsoft Graph アクセス許可を選択します。アクセス許可には2つの異なるアクセス許可セットがあります。委任されたアクセス許可とアプリケーションの許可です。クライアントの資格情報認証時に使用されるアクセス許可は、[アプリケーションの許可]の下にあります。
アプリケーションへのロールの割り当て
サブスクリプションのリソースにアクセスするには、アプリケーションにロールを割り当てる必要があります。
クライアントシークレット
次の接続プロパティを設定します。
証明書
次の接続プロパティを設定します。
これで接続する準備が整いました。クライアント資格情報での認証は、他の接続同様に自動的に行われますが、ユーザーにプロンプトするウィンドウは表示されません。ユーザーコンテキストがないため、ブラウザのポップアップは必要ないからです。接続が行われ、内部的に処理されます。
Azure Data Lake Storage のアクセス許可を持つAzure VM で接続する場合は、AuthScheme をAzureMSI に設定します。
クライアントシークレットではなくサービスプリンシパルで認証したい場合は、クライアント証明書で認証できます。認証するには以下のように設定します。
カスタムAzureAD アプリケーションには、AzureAD とAzure サービスプリンシパルを使用するAzureAD の2種類があります。いずれもOAuth ベースです。
以下の場合はユーザー自身のAzureAD アプリケーションクレデンシャルを選択できます。
下記の手順に従って、アプリケーションのAzureAD 値OAuthClientId およびOAuthClientSecret を取得します。
Azure サービスプリンシパルを使用して認証する場合は、カスタムAzureAD アプリケーションと必要なリソースにアクセスできるサービスプリンシパル両方の作成が必要です。次の手順に従って、カスタムAzureAD アプリケーションを作成し、Azure サービスプリンシパル認証用の接続プロパティを取得します。
下記の手順に従って、アプリケーションのAzureAD 値を取得します。
Box への接続には、OAuth 認証標準を使用します。ユーザーアカウントまたはサービスアカウントで認証できます。組織全体のアクセススコープをSync App に許可するには、サービスアカウントが必要です。下記で説明するとおり、Sync App はこれらの認証フローをサポートします。
AuthScheme は、すべてのユーザーアカウントフローでOAuth に設定する必要があります。
この方法で認証するには、AuthScheme をOAuthJWT に設定します。
サービスアカウントには、ブラウザによるユーザー認証なしのサイレント認証があります。また、サービスアカウントを使用して、エンタープライズ全体のアクセススコープをSync App に委任することもできます。
このフローでは、OAuth アプリケーションを作成する必要があります。アプリの作成および認可については、カスタムOAuth アプリの作成 を参照してください。これでサービスアカウントにアクセス権があるBox データに接続できます。
次の接続プロパティを設定して、接続してください。
独自の OAuth アプリケーション認証情報を使用することもできます。
Box エンタープライズ管理コンソールで:
Note: Box は、セキュリティ上の理由から秘密キーのバックアップを行いません。公開 / 非公開JSON ファイルのバックアップに注意してください。秘密キーを忘れた場合は、キーペア全体をリセットする必要があります。
openssl genrsa -des3 -out private.pem 2048 openssl rsa -in private.pem -outform PEM -pubout -out public.pem
Note: Windows 環境でOpenSSL を実行するには、Cygwin パッケージをインストールします。
アプリケーションの作成と登録が完了したら、メインメニューから設定をクリックして設定にアクセスできます。 表示されるリダイレクトURI、クライアントID およびクライアントシークレットを控えておきます。これらの値は後で必要になります。
JWT アクセススコープを変更する場合は、エンタープライズ管理コンソールでアプリケーションを再認可する必要があります。
Dropbox はOAuth 認証標準を利用しています。
CData の埋め込みOAuth アプリを使うか、カスタムOAuth アプリの作成 のどちらかを選択してください。
埋め込みアプリは以下のスコープを含みます。
以下の場合はユーザー自身のOAuth アプリケーションクレデンシャルを選択できます。
Avro のアプリ設定でこれ以上値を指定する必要はありません。
ProjectId プロパティを接続するプロジェクトのId に設定します。
Sync App は、認証にユーザーアカウントおよびGCP インスタンスアカウントの使用をサポートします。
以下のセクションでは、Google Cloud Storage の利用可能な認証スキームについて説明します。
AuthScheme は、すべてのユーザーアカウントフローでOAuth に設定する必要があります。
OAuth アクセストークンの取得
次の接続プロパティを設定し、OAuthAccessToken を取得します。
続いてストアドプロシージャを呼び出し、OAuth 交換を完了します。
アクセストークンとリフレッシュトークンを取得すると、データに接続し、OAuth アクセストークンを自動または手動でリフレッシュすることができるようになります。
OAuth アクセストークンの自動リフレッシュ
ドライバーがOAuth アクセストークンを自動的にリフレッシュするようにするには、最初のデータ接続で次のように設定します。
OAuth アクセストークンの手動リフレッシュ
データ接続時に手動でOAuth アクセストークンをリフレッシュするために必要な値は、OAuth リフレッシュトークンのみです。
GetOAuthAccessToken によって返されたExpiresIn パラメータ値が経過した後に、RefreshOAuthAccessToken ストアドプロシージャを使用し、手動でOAuthAccessToken をリフレッシュします。次の接続プロパティを設定します。
次に、RefreshOAuthAccessToken を呼び出し、OAuthRefreshToken にGetOAuthAccessToken によって返されたOAuth リフレッシュトークンを指定します。新しいトークンが取得できたら、OAuthAccessToken プロパティにRefreshOAuthAccessToken によって返された値を設定し、新しい接続をオープンします。
最後に、OAuth リフレッシュトークンを保存し、OAuth アクセストークンの有効期限が切れた後に手動でリフレッシュできるようにします。
オプション1:Verifier code を取得および交換
Verifier code を取得するには、OAuth Authorization URL で認証する必要があります。
インターネットブラウザに対応したマシンから認証してOAuthVerifier 接続プロパティを取得する方法は次のとおりです。
ヘッドレスマシンでは、次の接続プロパティを設定してOAuth 認証値を取得します。
OAuth 設定ファイルが生成されたら、以下のように接続プロパティをリセットする必要があります。
オプション2:OAuth 設定を転送
ヘッドレスマシンでの接続に先立ち、インターネットブラウザに対応したデバイスでドライバとの接続を作成し、インストールする必要があります。上述の「デスクトップアプリケーション」の説明に従って、接続プロパティを設定します。
「デスクトップアプリケーション」の手順が完了すると、生成された認証値は、OAuthSettingsLocation で指定された場所に暗号化されて書き込まれます。デフォルトのファイル名はOAuthSettings.txt です。
接続が正常にテストされたら、OAuth 設定ファイルをヘッドレスマシンにコピーします。
ヘッドレスマシンで、次の接続プロパティを設定し、データに接続します。
GCP 仮想マシン上で実行している場合は、Sync App は仮想マシンに関連付けられたサービスアカウントを使用して認証できます。 このモードを使用するには、AuthScheme をGCPInstanceAccount に設定します。
(OAuthAccessToken およびその他の設定パラメータを取得および設定する方法についての情報は、「Avro への接続」の デスクトップ認証セクションを参照してください。)
ただし、Web 経由で接続するには、カスタムOAuth アプリケーションの作成が必要です。また、カスタムOAuth アプリケーションは、一般的に使用される3つの認証フローをすべてシームレスにサポートするため、これらの認証フロー用にカスタムOAuth アプリケーションを作成(独自のOAuth アプリケーションクレデンシャルを使用)することもできます。
カスタムOAuth アプリケーションは、次のような場合に有用です。
以下のセクションでは、Directory API を有効化し、ユーザーアカウント(OAuth)およびサービスアカウント(OAuth / JWT)用のカスタムOAuth アプリケーションを作成する方法について説明します。
AuthScheme がOAuth であり、Web アプリケーション上で認証する必要があるユーザーの場合は、必ずカスタムOAuth アプリケーションを作成する必要があります。 (デスクトップおよびヘッドレスフローでのカスタムOAuth アプリケーションの作成は任意です。)
以下の手順に従います。
Note: クライアントシークレットはGoogle Cloud コンソールからアクセス可能です。
新しいサービスアカウントを作成するには:
サービスアカウントフローを完了させるには、Google Cloud Console で秘密キーを生成します。サービスアカウントフローにおいて、ドライバーはOAuthAccessToken へのJSON Web Token (JWT) を交換します。秘密キーはJWT の署名に必要です。ドライバーには、サービスアカウントに付与されているのと同じ権限が与えられます。
Sync App は、認証にユーザーアカウントおよびGCP インスタンスアカウントの使用をサポートします。
以下のセクションでは、Google Drive の利用可能な認証スキームについて説明します。
AuthScheme は、すべてのユーザーアカウントフローでOAuth に設定する必要があります。
GCP 仮想マシン上で実行している場合は、Sync App は仮想マシンに関連付けられたサービスアカウントを使用して認証できます。 このモードを使用するには、AuthScheme をGCPInstanceAccount に設定します。
(OAuthAccessToken およびその他の設定パラメータを取得および設定する方法についての情報は、「Avro への接続」の デスクトップ認証セクションを参照してください。)
ただし、Web 経由で接続するには、カスタムOAuth アプリケーションの作成が必要です。また、カスタムOAuth アプリケーションは、一般的に使用される3つの認証フローをすべてシームレスにサポートするため、これらの認証フロー用にカスタムOAuth アプリケーションを作成(独自のOAuth アプリケーションクレデンシャルを使用)することもできます。
カスタムOAuth アプリケーションは、次のような場合に有用です。
以下のセクションでは、Directory API を有効化し、ユーザーアカウント(OAuth)およびサービスアカウント(OAuth / JWT)用のカスタムOAuth アプリケーションを作成する方法について説明します。
AuthScheme がOAuth であり、Web アプリケーション上で認証する必要があるユーザーの場合は、必ずカスタムOAuth アプリケーションを作成する必要があります。 (デスクトップおよびヘッドレスフローでのカスタムOAuth アプリケーションの作成は任意です。)
以下の手順に従います。
Note: クライアントシークレットはGoogle Cloud コンソールからアクセス可能です。
新しいサービスアカウントを作成するには:
サービスアカウントフローを完了させるには、Google Cloud Console で秘密キーを生成します。サービスアカウントフローにおいて、ドライバーはOAuthAccessToken へのJSON Web Token (JWT) を交換します。秘密キーはJWT の署名に必要です。ドライバーには、サービスアカウントに付与されているのと同じ権限が与えられます。
Sync App は、HTTP(S) ストリームに格納されたAvro データへの接続を汎用的にサポートします。
ユーザー / パスワード、Digest アクセス、OAuth、OAuthJWT、OAuth PASSWORD フローなど、複数の認証方式に対応しています。
また、認証設定のないストリームに接続することも可能です。
認証なしでHTTP(S)ストリームに接続するには、AuthScheme 接続プロパティをNone に設定します。
接続するには以下を設定します。
接続するには以下を設定します。
OAuth では認証するユーザーにブラウザでAvro との通信を要求します。次のセクションで説明するとおり、Sync App はさまざまな方法でこれをサポートします。
次の手順を実行する前に、操作したいAvro データを持つサービスにOAuth アプリを登録する必要があります。
ほとんどのサービスではカスタムアプリケーションを作成する場合、開発者登録をしてサービスのUI でアプリを作成する必要があります。
ただし、すべてのサービスに当てはまるわけではありません。アプリの作成をサービスプロバイダーに依頼しなければならない場合もあります。どんな場合でも、OAuthClientId、OAuthClientSecret、およびCallbackURL の値を取得する必要があります。
AuthScheme をOAuthJWT に設定します。
Sync App は、ユーザーが双方向のサインオンを実行できない状況で、認可グラントとしてのJWT の使用をサポートします。 次の接続プロパティを設定して、接続してください。
JWT 署名のアルゴリズムを直接設定できないことに注意してください。Sync App は、RS256 アルゴリズムにのみ対応しています。
Sync App は以下のフィールドを含むJWT を構築してOAuthAccessTokenURL にアクセストークンを送信します。
AuthScheme:OAuthPassword に設定。
OAuth では認証するユーザーにブラウザでAvro との通信を要求します。次のセクションで説明するとおり、Sync App はさまざまな方法でこれをサポートします。
次の手順を実行する前に、操作したいAvro データを持つサービスにOAuth アプリを登録する必要があります。
ほとんどのサービスではカスタムアプリケーションを作成する場合、開発者登録をしてサービスのUI でアプリを作成する必要があります。
ただし、すべてのサービスに当てはまるわけではありません。アプリの作成をサービスプロバイダーに依頼しなければならない場合もあります。どんな場合でも、OAuthClientId、OAuthClientSecret、およびCallbackURL の値を取得する必要があります。
次の接続プロパティを設定して、接続してください。
IBM Cloud アカウントにCloud Object Storage がまだない場合は、以下の手順に従ってアカウントにSQL Query のインスタンスをインストールできます。
IBM Cloud Object Storage に接続するにはApiKey が必要です。これは次のようにして取得できます。
Region をIBM インスタンスリージョンに設定します。
HMAC またはOAuth のいずれかを使用して、IBM Cloud Object Storage への認証ができます。
次のプロパティを設定して認証します。
ConnectionType=IBM Object Storage Source;URI=ibmobjectstorage://bucket1/folder1; AccessKey=token1; SecretKey=secret1; Region=eu-gb;
OAuth 認証を使用して認証するには以下を設定します。
ConnectionType=IBM Object Storage Source;URI=ibmobjectstorage://bucket1/folder1; ApiKey=key1; Region=eu-gb; AuthScheme=OAuth; InitiateOAuth=GETANDREFRESH;
接続すると、Sync App がOAuth プロセスを完了します。
OneDrive への認証には、Azure AD ユーザー、MSI 認証、Azure サービスプリンシパルを使用できます。
AuthScheme は、すべてのユーザーアカウントフローでAzureAD に設定する必要があります。
Azure サービスプリンシパルとしての認証は、OAuth クライアントクレデンシャルフローを介して処理されます。直接のユーザー認証は行われません。代わりに、クレデンシャルはアプリケーション自体のためだけに作成されます。アプリで実行されるすべてのタスクは、デフォルトユーザーコンテキストなしで実行されます。リソースへのアプリケーションのアクセスは、割り当てられたロールの権限によって制御されます。
AzureAD アプリとAzure サービスプリンシパルの作成
Azure サービスプリンシパルを使用して認証する場合、Azure AD テナントにAzure AD アプリケーションを作成して登録する必要があります。詳しくは、カスタムOAuth アプリケーションの作成 を参照してください。
portal.azure.com の[アプリの登録]で[API のアクセス許可]に移動し、Microsoft Graph アクセス許可を選択します。アクセス許可には2つの異なるアクセス許可セットがあります。委任されたアクセス許可とアプリケーションの許可です。クライアントの資格情報認証時に使用されるアクセス許可は、[アプリケーションの許可]の下にあります。
アプリケーションへのロールの割り当て
サブスクリプションのリソースにアクセスするには、アプリケーションにロールを割り当てる必要があります。
クライアントシークレット
次の接続プロパティを設定します。
証明書
次の接続プロパティを設定します。
これで接続する準備が整いました。クライアント資格情報での認証は、他の接続同様に自動的に行われますが、ユーザーにプロンプトするウィンドウは表示されません。ユーザーコンテキストがないため、ブラウザのポップアップは必要ないからです。接続が行われ、内部的に処理されます。
Azure Data Lake Storage のアクセス許可を持つAzure VM で接続する場合は、以下AuthScheme をAzureMSI に設定します。
クライアントシークレットではなくサービスプリンシパルで認証したい場合は、クライアント証明書で認証できます。認証するには以下のように設定します。
カスタムAzureAD アプリケーションには、AzureAD とAzure サービスプリンシパルを使用するAzureAD の2種類があります。いずれもOAuth ベースです。
以下の場合はユーザー自身のAzureAD アプリケーションクレデンシャルを選択できます。
下記の手順に従って、アプリケーションのAzureAD 値OAuthClientId およびOAuthClientSecret を取得します。
Azure サービスプリンシパルを使用して認証する場合は、カスタムAzureAD アプリケーションと必要なリソースにアクセスできるサービスプリンシパル両方の作成が必要です。次の手順に従って、カスタムAzureAD アプリケーションを作成し、Azure サービスプリンシパル認証用の接続プロパティを取得します。
下記の手順に従って、アプリケーションのAzureAD 値を取得します。
SFTP に認証するには、ユーザーとパスワード、またはSSH 証明書を使用します。さらに、認証なしでの接続が有効なSFTP サーバーに接続することもできます。
サーバーが認証なしでの接続に対応している場合、接続するには、SSHAuthMode をNone に設定します。
SFTP サーバーに紐づいているユーザー資格情報を入力します。
接続するには以下を設定します。
サービスプロバイダ | Okta | OneLogin | ADFS | AzureAD |
Amazon S3 | Y | Y | Y | |
Azure Blob Storage | ||||
Azure Data Lake Store Gen1 | ||||
Azure Data Lake Store Gen2 | ||||
Azure Data Lake Store Gen2 with SSL | ||||
Google Drive | ||||
OneDrive | ||||
Box | ||||
Dropbox | ||||
SharePoint Online SOAP | Y | Y | Y | |
SharePoint Online REST | ||||
Wasabi | ||||
Google Cloud Storage | ||||
Oracle Cloud Storage | ||||
Azure File |
Azure AD の設定
この構成の背景にあるメインテーマはOAuth 2.0 On-Behalf-Of flow です。 これにはAzure AD アプリケーションが2つ必要です。
"Azure AD テストユーザーの割り当て" の手順は、ユーザーを割り当てる際にAWS ロールを選択できるように、プロビジョニング後まで保存しておきます。
CData ドライバーの共通プロパティ
次のSSOProperties がAzure Active Directory への認証に必要です。すべてのサービスプロバイダーに指定する必要があります。
OAuth 2.0 On-Behalf-Of フローからSSO SAML レスポンスを取得するので、次のOAuth 接続プロパティを指定する必要があります。
Amazon S3
Amazon S3 サービスプロバイダーに接続するときは、共通プロパティに加えて、次のプロパティを指定する必要があります。
AuthScheme=AzureAD;InitiateOAuth=GETANDREFRESH;OAuthClientId=d593a1d-ad89-4457-872d-8d7443aaa655;OauthClientSecret=g9-oy5D_rl9YEKfN-45~3Wm8FgVa2F;SSOProperties='Tenant=94be7-edb4-4fda-ab12-95bfc22b232f;Resource=https://signin.aws.amazon.com/saml;';AWSRoleARN=arn:aws:iam::2153385180:role/AWS_AzureAD;AWSPrincipalARN=arn:aws:iam::215515180:saml-provider/AzureAD;
OneLogin の設定
特定のプロバイダーへのシングルサインオン処理に使用するアプリケーションを、作成する必要があります。
SharePoint SOAP
以下のプロパティは、SharePoint SOAP サービスプロバイダーに接続する際には指定する必要があります。
AuthScheme='OneLogin';User=test;Password=test;SSOProperties='Domain=test.cdata;';
Okta の設定
特定のプロバイダーへのシングルサインオン処理に使用するアプリケーションを、作成する必要があります。
SharePoint SOAP
以下のプロパティは、SharePoint SOAP サービスプロバイダーに接続する際には指定する必要があります。
AuthScheme='Okta';User=test;Password=test;SSOProperties='Domain=test.cdata;';
Amazon S3
以下のプロパティは、Amazon S3サービスプロバイダーに接続する際には指定する必要があります。
AuthScheme=Okta;User=OktaUser;Password=OktaPassword;SSOLoginURL='https://{subdomain}.okta.com/home/amazon_aws/0oan2hZLgQiy5d6/272';
ADFS の設定
特定のプロバイダーへのシングルサインオン処理に使用するアプリケーションを、作成する必要があります。
SharePoint SOAP
以下のプロパティは、SharePoint SOAP サービスプロバイダーに接続する際には指定する必要があります。
AuthScheme='ADFS';User=test;Password=test;SSOProperties='Domain=test.cdata;';
Amazon S3
以下のプロパティは、SharePoint SOAP サービスプロバイダーに接続する際には指定する必要があります。
AuthScheme=ADFS;User=username;Password=password;SSOLoginURL='https://sts.company.com';ADFS 統合
ADFS 統合フローでは、現在ログインしているWindows ユーザーの資格情報で接続します。 ADFS 統合フローを使用するには、User およびPassword を指定せず、それ以外の設定は上記のADFS ガイドと同じステップを実行してください。
Kerberos でAvro への認証を行うには、AuthScheme をNEGOTIATE に設定します。
Kerberos 経由でAvro への認証を行うには、認証プロパティを定義し、Kerberos が認証チケットを取得する方法を選択する必要があります。
Sync App は、 KRB5CCNAME および / またはKerberosKeytabFile 変数が存在するかどうかに応じて、必要なKerberos チケットを取得する3 つの方法を提供します。
MIT Kerberos 資格情報キャッシュファイル
このオプションを使用すると、MIT Kerberos チケットマネージャーまたはkinit コマンドを使ってチケットを取得できます。このオプションでは、User またはPassword 接続プロパティを設定する必要はありません。
このオプションは、KRB5CCNAME がシステムに作成されている必要があります。
MIT Kerberos 資格情報キャッシュファイル経由でチケット検索を有効にするには:
チケットの取得に成功すると、チケット情報がKerberos チケットマネージャーに表示され、クレデンシャルキャッシュファイルに保存されます。
Sync App はキャッシュファイルを使用してAvro に接続するためのKerberos チケットを取得します。
Note: KRB5CCNAME を編集したくない場合は、KerberosTicketCache プロパティを使用してファイルパスを手動で設定することができます。この設定後に、Sync App は指定されたキャッシュファイルを使用してAvro に接続するためのKerberos チケットを取得します。
Keytab ファイル
お使いの環境にKRB5CCNAME 環境変数がない場合、Keytab ファイルを使用してKerberos チケットを取得できます。
この方法を使用するには、User プロパティを目的のユーザー名に設定し、KerberosKeytabFile プロパティをユーザーに関連付けられたキータブファイルを指すファイルパスに設定します。
User およびPassword
お使いの環境にKRB5CCNAME 環境変数およびKerberosKeytabFile プロパティが設定されていない場合、ユーザーとパスワードの組み合わせを使用してチケットを取得できます。
この方法を使用するには、User およびPassword プロパティを、Avro での認証に使用するユーザー / パスワードの組み合わせに設定します。
このようなクロスレルム認証を有効にするには、KerberosRealm およびKerberosKDC プロパティをユーザー認証に必要な値に設定します。また、KerberosServiceRealm およびKerberosServiceKDC プロパティを、 サービスチケットの取得に必要な値に設定します。
In this section we will show how to control the various schemes that the Sync App offers to bridge the gap with relational SQL and nested Avro services. The CData Sync App provides a managed way for you to use the two prevailing techniques for dealing with nested Avro data:
By default, the Sync App automatically detects the rows in a document, so that you do not need to know the structure of the underlying data to query it with SQL. Set the DataModel property to choose a basic configuration of how the Sync App models object arrays into tables. Set the FlattenObjects and FlattenArrays properties to configure how nested data is flattened into columns. See 階層データの解析 for a guide.
Below is the raw data used throughout this chapter. The data includes entries for people, the cars they own, and various maintenance services performed on those cars:
{ "type": "record", "name": "People", "fields": [ { "name": "personal", "type": [ "null", { "type": "record", "name": "Personal", "namespace": "root", "fields": [ { "name": "name", "type": [ "null", { "type": "record", "name": "Name", "namespace": "root.personal", "fields": [ { "name": "last", "type": ["null", "string"] }, { "name": "first", "type": ["null", "string"] } ] } ] }, { "name": "gender", "type": ["null", "string"] }, { "name": "age", "type": ["null", "long"] } ] } ] }, { "name": "vehicles", "type": { "type": "array", "items": { "type": "record", "name": "Vehicles", "namespace": "root", "fields": [ { "name": "insurance", "type": [ "null", { "type": "record", "name": "Insurance", "namespace": "root.vehicles", "fields": [ { "name": "policy_num", "type": ["null", "long"] }, { "name": "company", "type": ["null", "string"] } ] } ] }, { "name": "maintenance", "type": { "type": "array", "items": { "type": "record", "name": "Maintenance", "namespace": "root.vehicles", "fields": [ { "name": "desc", "type": ["null", "string"] }, { "name": "date", "type": ["null", "string"] } ] } } }, { "name": "model", "type": ["null", "string"] }, { "name": "type", "type": ["null", "string"] } ] } } }, { "name": "source", "type": ["null", "string"] } ] }
The following is the sample data set for the "People" table:
{ "people": [ { "personal": { "age": 20, "gender": "M", "name": { "first": "John", "last": "Doe" } }, "vehicles": [ { "type": "car", "model": "Honda Civic", "insurance": { "company": "ABC Insurance", "policy_num": "12345" }, "maintenance": [ { "date": "07-17-2017", "desc": "oil change" }, { "date": "01-03-2018", "desc": "new tires" } ] }, { "type": "truck", "model": "Dodge Ram", "insurance": { "company": "ABC Insurance", "policy_num": "12345" }, "maintenance": [ { "date": "08-27-2017", "desc": "new tires" }, { "date": "01-08-2018", "desc": "oil change" } ] } ], "source": "internet" }, { "personal": { "age": 24, "gender": "F", "name": { "first": "Jane", "last": "Roberts" } }, "vehicles": [ { "type": "car", "model": "Toyota Camry", "insurance": { "company": "Car Insurance", "policy_num": "98765" }, "maintenance": [ { "date": "05-11-2017", "desc": "tires rotated" }, { "date": "11-03-2017", "desc": "oil change" } ] }, { "type": "car", "model": "Honda Accord", "insurance": { "company": "Car Insurance", "policy_num": "98765" }, "maintenance": [ { "date": "10-07-2017", "desc": "new air filter" }, { "date": "01-13-2018", "desc": "new brakes" } ] } ], "source": "phone" } ] }
By default, the Sync App automatically infers a relational schema by inspecting the Avro data. This section describes the connection properties available to configure these dynamic schemas.
The columns identified during the discovery process depend on the FlattenArrays and FlattenObjects properties. If FlattenObjects is set (this is the default), nested objects will be flattened into a series of columns.
To provide an example of how these options work, consider the following schema:
{ "type" : "record", "name" : "Root", "fields" : [ { "name" : "id", "type" : [ "null", "long" ] }, { "name" : "name", "type" : [ "null", "string" ] }, { "name" : "annual_revenue", "type" : [ "null", "long" ] }, { "name" : "offices", "type" : { "type" : "array", "items" : "string" } }, { "name" : "address", "type" : [ "null", { "type" : "record", "name" : "Address", "namespace" : "root", "fields" : [ { "name" : "city", "type" : [ "null", "string" ] }, { "name" : "state", "type" : [ "null", "string" ] }, { "name" : "street", "type" : [ "null", "string" ] } ] } ] }] }
Also consider the following example data for the above schema:
{ "id": 12, "name": "Lohia Manufacturers Inc.", "annual_revenue": 35600000, "offices": [ "Chapel Hill", "London", "New York" ], "address": { "city": "Chapel Hill", "state": "NC", "street": "Main Street" } }
If FlattenObjects is set, all nested objects will be flattened into a series of columns. The above example will be represented by the following columns:
Column Name | Data Type | Example Value |
id | Integer | 12 |
name | String | Lohia Manufacturers Inc. |
address.street | String | Main Street |
address.city | String | Chapel Hill |
address.state | String | NC |
offices | String | ["Chapel Hill", "London", "New York"] |
annual_revenue | Double | 35,600,000 |
If FlattenObjects is not set, then the address.street, address.city, and address.state columns will not be broken apart. The address column of type string will instead represent the entire object. Its value would be the following:
{street: "Main Street", city: "Chapel Hill", state: "NC"}
The FlattenArrays property can be used to flatten array values into columns of their own. This is only recommended for arrays that are expected to be short, for example the coordinates below:
"coord": [ -73.856077, 40.848447 ]The FlattenArrays property can be set to 2 to represent the array above as follows:
Column Name | Data Type | Example Value |
coord.0 | Float | -73.856077 |
coord.1 | Float | 40.848447 |
The Sync App offers three basic configurations to model object arrays as tables, described in the following sections. The Sync App will parse the document and identify the object arrays.
For users who simply need access to the entirety of their Avro data, flattening the data into a single table is the best option. The Sync App will use streaming and only parses the data once per query in this mode.
With DataModel set to "FlattenedDocuments" values will act in the same manner as a SQL JOIN. Any nested sibling values (child paths at the same height) will be treated as a SQL CROSS JOIN.
Below is a sample query and the results, based on the sample document in Raw データ. This implicitly JOINs the people collection with the vehicles collection and implicitly JOINs the vehicles collection with the maintenance collection.
Use the following connection string to query the Raw データ in this example.
URI=C:\people.avro;DataModel=FlattenedDocuments;
The following query drills into the nested elements in each people object.
SELECT
[personal.age] AS age,
[personal.gender] AS gender,
[personal.name.first] AS name_first,
[personal.name.last] AS name_last,
[source],
[type],
[model],
[insurance.company] AS ins_company,
[insurance.policy_num] AS ins_policy_num,
[date] AS maint_date,
[desc] AS maint_desc
FROM
[people]
With horizontal and vertical flattening based on the described paths, each vehicle object is implicitly JOINed to its parent people object and each maintenance object is implicitly JOINed to its parent vehicle object.
age | gender | first_name | last_name | source | type | model | ins_company | ins_policy_num | maint_date | maint_desc | |
20 | M | John | Doe | internet | car | Honda Civic | ABC Insurance | 12345 | 2017-07-17 | oil change | |
20 | M | John | Doe | internet | car | Honda Civic | ABC Insurance | 12345 | 2018-01-03 | new tires | |
20 | M | John | Doe | internet | truck | Dodge Ram | ABC Insurance | 12345 | 2017-08-27 | new tires | |
20 | M | John | Doe | internet | truck | Dodge Ram | ABC Insurance | 12345 | 2018-01-08 | oil change | |
24 | F | Jane | Roberts | phone | car | Toyota Camry | Car Insurance | 98765 | 2017-05-11 | tires rotated | |
24 | F | Jane | Roberts | phone | car | Toyota Camry | Car Insurance | 98765 | 2017-11-03 | oil change | |
24 | F | Jane | Roberts | phone | car | Honda Accord | Car Insurance | 98765 | 2017-10-07 | new air filter | |
24 | F | Jane | Roberts | phone | car | Honda Accord | Car Insurance | 98765 | 2018-01-13 | new brakes |
Using a top-level document view of the data provides ready access to top-level elements. The Sync App returns nested elements in aggregate, as single columns.
One aspect to consider is performance. You forgo the time and resources to process and parse nested elements -- the Sync App parses the returned data once, using streaming to read the data. Another consideration is your need to access any data stored in nested parent elements, and the ability of your tool or application to process the data.
With DataModel set to "Document" (the default), the Sync App scans only a single object array, the top-level object array by default. The top-level object elements are available as columns due to the default object flattening. Nested object arrays are returned as aggregated strings.
Below is a sample query and the results, based on the sample document in Raw データ. The query results in a single "people" table.
Set the DataModel connection property to "Document" to perform the following query and see the example result set.
URI=C:\people.avro;DataModel=Document;
The following query pulls the top-level object elements and the vehicles array into the results.
SELECT
[personal.age] AS age,
[personal.gender] AS gender,
[personal.name.first] AS name_first,
[personal.name.last] AS name_last,
[source],
[vehicles]
FROM
[people]
With a document view of the data, the personal object is flattened into 4 columns and the source and vehicles elements are returned as individual columns, resulting in a table with 6 columns.
age | gender | name_first | name_last | source | vehicles | |
20 | M | John | Doe | internet | [{"type":"car","model":"Honda Civic","insurance":{"company":"ABC Insurance","policy_num":"12345"},"maintenance":[{"date":"07-17-2017","desc":"oil change"},{"date":"01-03-2018","desc":"new tires"}]},{"type":"truck","model":"Dodge Ram","insurance":{"company":"ABC Insurance","policy_num":"12345"},"maintenance":[{"date":"08-27-2017","desc":"new tires"},{"date":"01-08-2018","desc":"oil change"}]}]
| |
24 | F | Jane | Roberts | phone | [{"type":"car","model":"Toyota Camry","insurance":{"company":"Car Insurance","policy_num":"98765"},"maintenance":[{"date":"05-11-2017","desc":"tires rotated"},{"date":"11-03-2017","desc":"oil change"}]},{"type":"car","model":"Honda Accord","insurance":{"company":"Car Insurance","policy_num":"98765"},"maintenance":[{"date":"10-07-2017","desc":"new air filter"},{"date":"01-13-2018","desc":"new brakes"}]}]
|
The CData Sync App can be configured to create a relational model of the data, treating nested object arrays as individual tables containing a primary key and a foreign key that links to the parent document. This is particularly useful if you need to work with your data in existing BI, reporting, and ETL tools that expect a relational data model.
With DataModel set to "Relational", any JOINs are controlled by the query. Any time you perform a JOIN query, the file or source will be queried once for each table (nested array) included in the query.
Below is a sample query against the sample document in Raw データ, using a relational model.
URI=C:\people.avro;DataModel=Relational;'
The following query explicitly JOINs the people, vehicles, and maintenance tables.
SELECT
[people].[personal.age] AS age,
[people].[personal.gender] AS gender,
[people].[personal.name.first] AS first_name,
[people].[personal.name.last] AS last_name,
[people].[source],
[vehicles].[type],
[vehicles].[model],
[vehicles].[insurance.company] AS ins_company,
[vehicles].[insurance.policy_num] AS ins_policy_num,
[maintenance].[date] AS maint_date,
[maintenance].[desc] AS maint_desc
FROM
[people]
JOIN
[vehicles]
ON
[people].[_id] = [vehicles].[people_id]
JOIN
[maintenance]
ON
[vehicles].[_id] = [maintenance].[vehicles_id]
In the example query, each maintenance object is JOINed to its parent vehicle object, which is JOINed to its parent people object to produce a table with 8 rows (2 maintenance entries for each of 2 vehicles each for 2 people).
age | gender | first_name | last_name | source | type | model | ins_company | ins_policy_num | maint_date | maint_desc | ||
20 | M | John | Doe | internet | car | Honda Civic | ABC Insurance | 12345 | 2017-07-17 | oil change | ||
20 | M | John | Doe | internet | car | Honda Civic | ABC Insurance | 12345 | 2018-01-03 | new tires | ||
20 | M | John | Doe | internet | truck | Dodge Ram | ABC Insurance | 12345 | 2017-08-27 | new tires | ||
20 | M | John | Doe | internet | truck | Dodge Ram | ABC Insurance | 12345 | 2018-01-08 | oil change | ||
24 | F | Jane | Roberts | phone | car | Toyota Camry | Car Insurance | 98765 | 2017-05-11 | tires rotated | ||
24 | F | Jane | Roberts | phone | car | Toyota Camry | Car Insurance | 98765 | 2017-11-03 | oil change | ||
24 | F | Jane | Roberts | phone | car | Honda Accord | Car Insurance | 98765 | 2017-10-07 | new air filter | ||
24 | F | Jane | Roberts | phone | car | Honda Accord | Car Insurance | 98765 | 2018-01-13 | new brakes |
このセクションでは、Avro Sync App の高度な機能を厳選して説明します。
Sync App を使用すると、事前設定されたクエリによって内容が決定されるユーザー定義ビューと呼ばれる仮想テーブルを定義できます。 このビューは、ドライバーに発行されるクエリを直接制御できない場合に有効です。 カスタムビューの作成と設定の概要については、ユーザー定義ビュー を参照してください。
SSL の設定 を使用して、Sync App が証明書のネゴシエーションをどのように扱うかを調整します。さまざまな証明書形式を選択できます。 詳しくは、接続文字列オプションにあるSSLServerCert プロパティを参照してください。
Windows プロキシとHTTP プロキシを含むファイアウォールとプロキシ に合致するようSync App を設定します。トンネル接続を設定することもできます。
Sync App は、Avro にできるだけ多くのSELECT ステートメント処理をオフロードし、残りのクエリをクライアント側のインメモリで処理します。
詳しくはクエリ処理 を参照してください。
CData ログを調整するために使用可能な設定の概要については、ログ を参照してください。基本的なロギングでは、 次の2つの接続プロパティを設定するだけです。LogModules 接続プロパティを使用してログに記録する情報のサブセットを選択できる、 より洗練されたロギングをサポートする多数の機能があります。
デフォルトでは、Sync App はサーバーの証明書をシステムの信頼できる証明書ストアと照合してSSL / TLS のネゴシエーションを試みます。
別の証明書を指定するには、利用可能なフォーマットについてSSLServerCert プロパティを参照してください。
Avro Sync App はクライアント証明書の設定もサポートしています。次を設定すれば、クライアント証明書を使って接続できます。
Windows のシステムプロキシ経由の接続では、接続プロパティを追加で設定する必要はありません。他のプロキシに接続するには、ProxyAutoDetect をfalse に設定します。
さらにHTTP プロキシへの認証には、ProxyServer とProxyPort に加えてProxyAuthScheme、ProxyUser、およびProxyPassword を設定します。
次のプロパティを設定します。
このセクションでは、利用可能なAPI オブジェクトを示し、Avro API へのSQL の実行について詳しく説明します。
プロパティ | 説明 |
AuthScheme | リモートサービスに接続する際に使用する認証の種類。 |
AccessKey | アカウントのアクセスキー。この値にはセキュリティ認証情報ページからアクセスできます。 |
SecretKey | アカウントのシークレットキー。この値にはセキュリティ認証情報ページからアクセスできます。 |
ApiKey | IBM Cloud にユーザーを識別させるためのAPI キー。 |
User | The user account used to authenticate. |
Password | The password used to authenticate the user. |
SharePointEdition | 使用しているSharePoint のエディション。SharePointOnline またはSharePointOnPremise のいずれかに設定します。 |
プロパティ | 説明 |
ConnectionType | Avro のファイルが保存および取得されるファイルストレージサービス、サーバー、またはファイルアクセスプロトコルを指定します。 |
URI | Avro リソースロケーションのUniform Resource Identifier (URI)。 |
DataModel | Specifies the data model to use when parsing Avro documents and generating the database metadata. |
Region | S3ライクなWeb サービスのホスティングリージョン。 |
ProjectId | Google Cloud Storage インスタンスが存在するプロジェクトのId。 |
OracleNamespace | 使用するOracle Cloud Object Storage ネームスペース。 |
StorageBaseURL | クラウドストレージサービスプロバイダーのURL。 |
UseVirtualHosting | True(デフォルト)の場合、バケットはホスト形式のリクエストを使用してリクエストで参照されます:http://yourbucket.s3.amazonaws.com/yourobject。False に設定した場合、Bean はパス形式のリクエストを使用します:http://s3.amazonaws.com/yourbucket/yourobject。S3ベースのカスタムサービスの場合、CustomURL が指定されていると、このプロパティはFalse に設定されることに注意してください。 |
UseLakeFormation | このプロパティがtrue に設定される場合、AWSLakeFormation サービスは、設定されたIAM ロールに基づくユーザーに対してアクセスポリシーを適用する一時的な資格情報を取得するために使用されます。このサービスは、SAML アサーションを提供した上で、OKTA、ADFS、AzureAD、PingFederate 経由で認証する場合に使用できます。 |
プロパティ | 説明 |
AWSAccessKey | AWS アカウントのアクセスキー。この値には、[AWS セキュリティ認証情報]ページからアクセスできます。 |
AWSSecretKey | AWS アカウントのシークレットキー。この値には、[AWS セキュリティ認証情報]ページからアクセスできます。 |
AWSRoleARN | 認証時に使用するロールのAmazon リソースネーム。 |
AWSPrincipalARN | AWS アカウントのSAML ID プロバイダーのARN。 |
AWSRegion | Amazon Web サービスのホスティングリージョン。 |
AWSCredentialsFile | 認証に使用するAWS クレデンシャルファイルへのパス。 |
AWSCredentialsFileProfile | 提供されたAWSCredentialsFile から使用されるプロファイルの名前。 |
AWSSessionToken | AWS のセッショントークン。 |
AWSExternalId | 他のアカウントでロールを引き受ける際に必要となる一意の識別子。 |
MFASerialNumber | MFA デバイスが使用されている場合は、そのシリアル番号。 |
MFAToken | MFA デバイスから利用できる一時トークン。 |
TemporaryTokenDuration | 一時トークンが持続する時間(秒単位)。 |
ServerSideEncryption | 有効にすると、Amazon S3バケットへのファイルアップロードがサーバー側で暗号化されます。 |
SSEContext | A BASE64-encoded UTF-8 string holding JSON which represents a string-string (key-value) map. |
SSEEnableS3BucketKeys | Configuration to use an S3 Bucket Key at the object level when encrypting data with AWS KMS. Enabling this will reduce the cost of server-side encryption by lowering calls to AWS KMS. |
SSEKey | A symmetric encryption KeyManagementService key, that is used to protect the data when using ServerSideEncryption. |
プロパティ | 説明 |
AzureStorageAccount | Azure ストレージアカウント名。 |
AzureAccessKey | Azure アカウントに関連付けられているストレージキー。 |
AzureSharedAccessSignature | 認証に使用可能な共有アクセスキー署名。 |
AzureTenant | データにアクセスするために使用されるMicrosoft Online テナント。指定しない場合は、デフォルトのテナントが使用されます。 |
AzureEnvironment | 接続を確立するときに使用するAzure 環境。 |
プロパティ | 説明 |
SSOLoginURL | ID プロバイダーのログインURL。 |
SSOProperties | セミコロンで区切られたID プロバイダーへの接続に必要な追加プロパティ。 |
SSOExchangeUrl | SAML 応答を処理してサービスの資格情報と交換するために使用するURL。 |
プロパティ | 説明 |
OAuthVersion | 使われているOAuth のバージョン。 |
OAuthClientId | OAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられたクライアントId。 |
OAuthClientSecret | OAuth 認証サーバーにアプリケーションを登録する場合に割り当てられたクライアントシークレット。 |
Scope | 初期アクセストークンとリフレッシュトークンを取得するスコープを指定します。 |
OAuthGrantType | OAuth フローのグラント種別。 |
OAuthPasswordGrantMode | OAuthGrantType がPassword に設定されている場合のクライアントId とクライアントシークレットの渡し方。 |
OAuthIncludeCallbackURL | アクセストークンリクエストにコールバックURL を含めるかどうか。 |
OAuthAuthorizationURL | OAuth サービスの認可URL。 |
OAuthAccessTokenURL | OAuth アクセストークンを取得するURL。 |
OAuthRefreshTokenURL | OAuth トークンをリフレッシュするURL。 |
OAuthRequestTokenURL | サービスがリクエストトークンを取得するために提供するURL。これは、OAuth 1.0 では必須です。 |
AuthToken | OAuth アクセストークンをリクエストおよび取得するために使用される認証トークン。 |
AuthKey | OAuth アクセストークンをリクエストおよび取得するために使用される認証シークレット。 |
OAuthParams | OAuth アクセストークンのリクエストでparamname=value の形式でサブミットするその他のパラメータのカンマ区切りのリスト。 |
プロパティ | 説明 |
OAuthJWTCert | JWT 証明書のストア。 |
OAuthJWTCertType | JWT 証明書を格納するキーストアの種類。 |
OAuthJWTCertPassword | OAuth JWT 証明書のパスワード。 |
OAuthJWTCertSubject | OAuth JWT 証明書のサブジェクト。 |
プロパティ | 説明 |
KerberosKDC | ユーザーの認証で使用されるKerberos キー配布センター(KDC)サービス。 |
KerberosRealm | ユーザー認証に使用されるKerberos 領域。 |
KerberosSPN | Kerberos ドメインコントローラーのサービスプリンシパル名(SPN)。 |
KerberosKeytabFile | Kerberos プリンシパルと暗号化されたキーのペアを含むKeytab ファイル。 |
KerberosServiceRealm | サービスのKerberos レルム。 |
KerberosServiceKDC | サービスのKerberos KDC。 |
KerberosTicketCache | MIT Kerberos 資格情報キャッシュファイルへのフルパス。 |
プロパティ | 説明 |
SSLClientCert | SSL クライアント認証(2-way SSL)のためのTLS/SSL クライアント証明書ストア。 |
SSLClientCertType | TLS/SSL クライアント証明書を格納するキーストアの種類。 |
SSLClientCertPassword | TLS/SSL クライアント証明書のパスワード。 |
SSLClientCertSubject | TLS/SSL クライアント証明書のサブジェクト。 |
SSLMode | FTP またはFTPS サーバーに接続する際の認証メカニズム。 |
SSLServerCert | TLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。 |
プロパティ | 説明 |
SSHAuthMode | サービスへのSSH トンネルを確立する際に使用される認証方法。 |
SSHClientCert | SSHUser の認証に使用する証明書。 |
SSHClientCertPassword | SSHClientCert キーのパスワード(ある場合)。 |
SSHClientCertSubject | SSH クライアント証明書のサブジェクト。 |
SSHClientCertType | SSHClientCert 秘密鍵の種類。 |
SSHUser | SSH ユーザー。 |
SSHPassword | SSH パスワード。 |
プロパティ | 説明 |
FirewallType | プロキシベースのファイアウォールで使われるプロトコル。 |
FirewallServer | プロキシベースのファイアウォールの名前もしくはIP アドレス。 |
FirewallPort | プロキシベースのファイアウォールのTCP ポート。 |
FirewallUser | プロキシベースのファイアウォールに認証するために使うユーザー名。 |
FirewallPassword | プロキシベースのファイアウォールへの認証に使われるパスワード。 |
プロパティ | 説明 |
ProxyAutoDetect | これは、システムプロキシ設定を使用するかどうかを示します。 |
ProxyServer | HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。 |
ProxyPort | ProxyServer プロキシが起動しているTCP ポート。 |
ProxyAuthScheme | ProxyServer プロキシへの認証で使われる認証タイプ。 |
ProxyUser | ProxyServer プロキシへの認証に使われるユーザー名。 |
ProxyPassword | ProxyServer プロキシへの認証に使われるパスワード。 |
ProxySSLType | ProxyServer プロキシへの接続時に使用するSSL タイプ。 |
ProxyExceptions | ProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。 |
プロパティ | 説明 |
LogModules | ログファイルに含めるコアモジュール。 |
プロパティ | 説明 |
Location | テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。 |
BrowsableSchemas | このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。 |
Tables | このプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。 |
Views | 使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。 |
FlattenObjects | Set FlattenObjects to true to flatten object properties into columns of their own. Otherwise, objects nested in arrays are returned as strings of JSON. |
FlattenArrays | By default, nested arrays are returned as strings. The FlattenArrays property can be used to flatten the elements of nested arrays into columns of their own. Set FlattenArrays to the number of elements you want to return from nested arrays. |
プロパティ | 説明 |
AggregateFiles | When set to true, the provider will aggregate all the files in URI directory into a single result. |
Charset | Avro ファイルに移行、またはAvro ファイルから移行した文字データをエンコードおよびデコードするための、セッション毎の文字セットを指定します。デフォルト値はUTF-8 です。 |
DeleteDownloadedFiles | When set to true, the provider will delete parsed Avro files downloaded from cloud sources. |
DirectoryRetrievalDepth | IncludeSubdirectories が有効の場合に、再帰的にスキャンされるサブフォルダを制限します。 |
ExcludeFiles | テーブルとしてモデル化されたファイル一式から除外するファイル拡張子のカンマ区切りリスト。 |
FolderId | Google Drive のフォルダID。設定すると、URI で指定されたリソースの位置はすべての操作においてFolder ID からの相対位置となります。 |
IncludeDropboxTeamResources | Dropbox チームフォルダやファイルを含めるかどうかを示します。 |
IncludeFiles | テーブルとしてモデル化されたファイル一式に含めるファイル拡張子のカンマ区切りリスト。 |
IncludeItemsFromAllDrives | Google Drive の共有ドライブ項目を結果に含めるかどうか。存在しないかfalse に設定されている場合、共有ドライブ項目は返されません。 |
IncludeSubdirectories | ネストされたフォルダからファイルを読み出すかどうか。名前衝突が起こった場合は、テーブル名の前にアンダースコアで区切られたフォルダ名が付けられます。 |
InsertMode | The behavior when using bulk INSERTs to create Avro files. |
MaxRows | クエリで集計またはGROUP BY を使用しない場合に返される行数を制限します。これはLIMIT 句よりも優先されます。 |
MetadataDiscoveryURI | 複数のファイルを1つのテーブルに集約する際に使用します。このプロパティは、集約されたテーブルのスキーマを決定するために読み込む特定のファイルを指定します。 |
Other | これらの隠しプロパティは特定のユースケースでのみ使用されます。 |
PageSize | (Optional) PageSize value. |
PathSeparator | Determines the character which will be used to replace the file separator. |
PseudoColumns | このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。 |
TemporaryLocalFolder | The path, or URI, to the folder that is used to temporarily download avro file(s). |
Timeout | タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。 |
UserDefinedViews | カスタムビューを含むJSON コンフィギュレーションファイルを指すファイルパス。 |
このセクションでは、本プロバイダーの接続文字列で設定可能なAuthentication プロパティの全リストを提供します。
プロパティ | 説明 |
AuthScheme | リモートサービスに接続する際に使用する認証の種類。 |
AccessKey | アカウントのアクセスキー。この値にはセキュリティ認証情報ページからアクセスできます。 |
SecretKey | アカウントのシークレットキー。この値にはセキュリティ認証情報ページからアクセスできます。 |
ApiKey | IBM Cloud にユーザーを識別させるためのAPI キー。 |
User | The user account used to authenticate. |
Password | The password used to authenticate the user. |
SharePointEdition | 使用しているSharePoint のエディション。SharePointOnline またはSharePointOnPremise のいずれかに設定します。 |
リモートサービスに接続する際に使用する認証の種類。
ConnectionType をAmazon S3 に設定する場合、以下のオプションが利用できます。
ConnectionType をAzure Blob Storage、Azure Data Lake Storage Gen1、Azure Data Lake Storage Gen2、Azure Data Lake Storage Gen2 SSL、OneDrive のいずれかに設定する場合、以下のオプションが利用可能です。
ConnectionType をBox に設定する場合、以下のオプションが利用できます。
ConnectionType をDropbox に設定する場合、以下のオプションのみ利用できます。
OAuth:OAuth1.0 またはOAuth2.0 のいずれかを使用し、特定のフローはOAuthGrantType によって決定されます。OAuth のどのバージョンを使用するかを決定するには、OAuthVersion を設定する必要があります。
ConnectionType をFTP またはFTPS に設定する場合、以下のオプションのみ利用できます。
Basic:基本的なユーザー資格情報(ユーザー / パスワード)。
ConnectionType がGoogle Cloud Storage またはGoogle Drive を指している場合、以下のオプションが利用できます。
ConnectionType をHDFS またはHDFS Secure に設定する場合、以下のオプションが利用できます。
ConnectionType をHTTP またはHTTPS に設定する場合、以下のオプションが利用できます。
ConnectionType をIBM Object Storage Source に設定する場合、以下のオプションも利用できます。
ConnectionType をOracle Cloud Storage に設定する場合、以下のオプションのみ利用できます。
HMAC:AccessKey およびSecretKey を使用して、Oracle Cloud Storage を認証します。
このConnectionType は、SFTP というAuthScheme を使用するのがデフォルトですが、実際は認証方式はSSHAuthMode プロパティを使用して制御されます。詳しくは、このプロパティのドキュメントを参照してください。
ConnectionType をSharePoint REST に設定する場合、以下のオプションも利用できます。
ConnectionType をSharePoint SOAP に設定する場合、以下のオプションも利用できます。
アカウントのアクセスキー。この値にはセキュリティ認証情報ページからアクセスできます。
アカウントのアクセスキー。この値には、使用しているサービスに応じたセキュリティ認証情報ページからアクセスできます。
アカウントのシークレットキー。この値にはセキュリティ認証情報ページからアクセスできます。
アカウントのシークレットキー。この値には、使用しているサービスに応じたセキュリティ認証情報ページからアクセスできます。
IBM Cloud にユーザーを識別させるためのAPI キー。
Avro REST API のリソースへのアクセスは、トークンを取得するためのAPI キーで管理されています。API キーは、[Manage(管理)]->[Access(IAM)]->[Users(ユーザー)]と移動して、[Create(作成)]をクリックすることで作成できます。
The user account used to authenticate.
Together with Password, this field is used to authenticate against the server.
This property will refer to different things based on the context, namely the value of ConnectionType and AuthScheme:
The password used to authenticate the user.
The User and Password are together used to authenticate with the server.
This property will refer to different things based on the context, namely the value of ConnectionType and AuthScheme:
このセクションでは、本プロバイダーの接続文字列で設定可能なConnection プロパティの全リストを提供します。
プロパティ | 説明 |
ConnectionType | Avro のファイルが保存および取得されるファイルストレージサービス、サーバー、またはファイルアクセスプロトコルを指定します。 |
URI | Avro リソースロケーションのUniform Resource Identifier (URI)。 |
DataModel | Specifies the data model to use when parsing Avro documents and generating the database metadata. |
Region | S3ライクなWeb サービスのホスティングリージョン。 |
ProjectId | Google Cloud Storage インスタンスが存在するプロジェクトのId。 |
OracleNamespace | 使用するOracle Cloud Object Storage ネームスペース。 |
StorageBaseURL | クラウドストレージサービスプロバイダーのURL。 |
UseVirtualHosting | True(デフォルト)の場合、バケットはホスト形式のリクエストを使用してリクエストで参照されます:http://yourbucket.s3.amazonaws.com/yourobject。False に設定した場合、Bean はパス形式のリクエストを使用します:http://s3.amazonaws.com/yourbucket/yourobject。S3ベースのカスタムサービスの場合、CustomURL が指定されていると、このプロパティはFalse に設定されることに注意してください。 |
UseLakeFormation | このプロパティがtrue に設定される場合、AWSLakeFormation サービスは、設定されたIAM ロールに基づくユーザーに対してアクセスポリシーを適用する一時的な資格情報を取得するために使用されます。このサービスは、SAML アサーションを提供した上で、OKTA、ADFS、AzureAD、PingFederate 経由で認証する場合に使用できます。 |
Avro のファイルが保存および取得されるファイルストレージサービス、サーバー、またはファイルアクセスプロトコルを指定します。
ConnectionType を以下のいずれかに設定します。
Avro リソースロケーションのUniform Resource Identifier (URI)。
URI プロパティを設定して、ファイルまたはストリームへのパスを指定します。
NOTE:
複数ファイルのパースおよびマージに使用できる、より高度な機能については、 を参照してください。
以下は、使用可能なデータソースのURI 形式の例です。
サービスプロバイダ | URI 形式 | |
Local | Single File Path One table
localPath file://localPath Directory Path (one table per file) localPath file://localPath | |
HTTP またはHTTPS | http://remoteStream
https://remoteStream | |
Amazon S3 | Single File Path One table
s3://remotePath Directory Path (one table per file) s3://remotePath | |
Azure Blob Storage | Single File Path One table
azureblob://mycontainer/myblob/ Directory Path (one table per file) azureblob://mycontainer/myblob/ | |
OneDrive | Single File Path One table
onedrive://remotePath Directory Path (one table per file) onedrive://remotePath | |
Google Cloud Storage | Single File Path One table
gs://bucket/remotePath Directory Path (one table per file) gs://bucket/remotePath | |
Google Drive | Single File Path One table
gdrive://remotePath Directory Path (one table per file) gdrive://remotePath | |
Box | Single File Path One table
box://remotePath Directory Path (one table per file) box://remotePath | |
FTP またはFTPS | Single File Path One table
ftp://server:port/remotePath Directory Path (one table per file) ftp://server:port/remotePath | |
SFTP | Single File Path One table
sftp://server:port/remotePath Directory Path (one table per file) sftp://server:port/remotePath | |
Sharepoint | Single File Path One table
sp://https://server/remotePath Directory Path (one table per file) sp://https://server/remotePath |
以下は、Avro ファイルまたはストリームへの接続文字列の例です。
サービスプロバイダ | URI 形式 | Connection example |
Local | Single File Path One table
localPath file://localPath Directory Path (one table per file) localPath file://localPath | URI=C:\folder1 |
Amazon S3 | Single File Path One table
s3://bucket1/folder1 Directory Path (one table per file) s3://bucket1/folder1 | URI=s3://bucket1/folder1; AWSAccessKey=token1; AWSSecretKey=secret1; AWSRegion=OHIO; |
Azure Blob Storage | Single File Path One table
azureblob://mycontainer/myblob/ Directory Path (one table per file) azureblob://mycontainer/myblob/ | URI=azureblob://mycontainer/myblob/; AzureStorageAccount=myAccount; AzureAccessKey=myKey;
URI=azureblob://mycontainer/myblob/; AzureStorageAccount=myAccount; AuthScheme=OAuth; |
OneDrive | Single File Path One table
onedrive://remotePath Directory Path (one table per file) onedrive://remotePath | URI=onedrive://folder1; AuthScheme=OAuth;
URI=onedrive://SharedWithMe/folder1; AuthScheme=OAuth; |
Google Cloud Storage | Single File Path One table
gs://bucket/remotePath Directory Path (one table per file) gs://bucket/remotePath | URI=gs://bucket/folder1; AuthScheme=OAuth; ProjectId=test; |
Google Drive | Single File Path One table
gdrive://remotePath Directory Path (one table per file) gdrive://remotePath | URI=gdrive://folder1; |
Box | Single File Path One table
box://remotePath Directory Path (one table per file) box://remotePath | URI=box://folder1; OAuthClientId=oauthclientid1; OAuthClientSecret=oauthcliensecret1; CallbackUrl=http://localhost:12345; |
FTP or FTPS | Single File Path One table
ftp://server:port/remotePath Directory Path (one table per file) ftp://server:port/remotePath | URI=ftps://localhost:990/folder1; User=user1; Password=password1; |
SFTP | sftp://server:port/remotePath | URI=sftp://127.0.0.1:22/remotePath; User=user1; Password=password1; |
Sharepoint | sp://https://server/remotePath | URI=sp://https://domain.sharepoint.com/Documents; User=user1; Password=password1; |
Specifies the data model to use when parsing Avro documents and generating the database metadata.
The Sync App splits documents into rows based on the objects nested in arrays. Select a DataModel configuration to configure how the Sync App models nested object arrays into tables.
The following DataModel configurations are available.
Document
Returns a single table representing a row for each top-level object. In this data model, any nested object arrays will not be flattened and will be returned as aggregates.
FlattenedDocuments
Returns a single table representing a SQL CROSS JOIN of the available documents in the file.
Relational
Returns multiple tables, one for each nested object array. In this data model, any nested documents (object arrays) will be returned as relational tables that contain a primary key and a foreign key that links to the parent table.
S3ライクなWeb サービスのホスティングリージョン。
S3ライクなWeb サービスのホスティングリージョン。
値 | リージョン |
商用クラウドリージョン | |
ap-hyderabad-1 | India South (Hyderabad) |
ap-melbourne-1 | Australia Southeast (Melbourne) |
ap-mumbai-1 | India West (Mumbai) |
ap-osaka-1 | Japan Central (Osaka) |
ap-seoul-1 | South Korea Central (Seoul) |
ap-sydney-1 | Australia East (Sydney) |
ap-tokyo-1 | Japan East (Tokyo) |
ca-montreal-1 | Canada Southeast (Montreal) |
ca-toronto-1 | Canada Southeast (Toronto) |
eu-amsterdam-1 | Netherlands Northwest (Amsterdam) |
eu-frankfurt-1 | Germany Central (Frankfurt) |
eu-zurich-1 | Switzerland North (Zurich) |
me-jeddah-1 | Saudi Arabia West (Jeddah) |
sa-saopaulo-1 | Brazil East (Sao Paulo) |
uk-london-1 | UK South (London) |
us-ashburn-1 (default) | US East (Ashburn, VA) |
us-phoenix-1 | US West (Phoenix, AZ) |
US Gov FedRAMP High Regions | |
us-langley-1 | US Gov East (Ashburn, VA) |
us-luke-1 | US Gov West (Phoenix, AZ) |
US Gov DISA IL5 Regions | |
us-gov-ashburn-1 | US DoD East (Ashburn, VA) |
us-gov-chicago-1 | US DoD North (Chicago, IL) |
us-gov-phoenix-1 | US DoD West (Phoenix, AZ) |
値 | リージョン |
eu-central-1 | Europe (Amsterdam) |
us-east-1 (Default) | US East (Ashburn, VA) |
us-east-2 | US East (Manassas, VA) |
us-west-1 | US West (Hillsboro, OR) |
Google Cloud Storage インスタンスが存在するプロジェクトのId。
Google Cloud Storage インスタンスが存在するプロジェクトのId。この値は、Google Cloud コンソールにアクセスして左上画面のプロジェクト名をクリックすると確認できます。ProjectId は一致するプロジェクトのId カラムに表示されます。
使用するOracle Cloud Object Storage ネームスペース。
使用するOracle Cloud Object Storage ネームスペース。リクエストを行う前に、この設定をOracle Cloud アカウントに関連付けられてたOracle Cloud Object Storage ネームスペースに設定する必要があります。お使いのアカウントのObject Storage ネームスペースを検索する方法については、Oracle Cloud ドキュメントのUnderstanding Object Storage Namespaces ページを参照してください。
クラウドストレージサービスプロバイダーのURL。
このプロパティは、以下を指定するために使われます。
このオプションのドメインが-my で終わる場合(例えば、https://bigcorp-my.sharepoint.com)、sp:// またはsprest:// スキームの代わりに onedrive:// スキームを使用する必要がある場合があります。
True(デフォルト)の場合、バケットはホスト形式のリクエストを使用してリクエストで参照されます:http://yourbucket.s3.amazonaws.com/yourobject。False に設定した場合、Bean はパス形式のリクエストを使用します:http://s3.amazonaws.com/yourbucket/yourobject。S3ベースのカスタムサービスの場合、CustomURL が指定されていると、このプロパティはFalse に設定されることに注意してください。
True(デフォルト)の場合、バケットはホスト形式のリクエストを使用してリクエストで参照されます:http://yourbucket.s3.amazonaws.com/yourobject。False に設定した場合、Bean はパス形式のリクエストを使用します:http://s3.amazonaws.com/yourbucket/yourobject。S3ベースのカスタムサービスの場合、CustomURL が指定されていると、このプロパティはFalse に設定されることに注意してください。
このプロパティがtrue に設定される場合、AWSLakeFormation サービスは、設定されたIAM ロールに基づくユーザーに対してアクセスポリシーを適用する一時的な資格情報を取得するために使用されます。このサービスは、SAML アサーションを提供した上で、OKTA、ADFS、AzureAD、PingFederate 経由で認証する場合に使用できます。
このプロパティがtrue に設定される場合、AWSLakeFormation サービスは、設定されたIAM ロールに基づくユーザーに対してアクセスポリシーを適用する一時的な資格情報を取得するために使用されます。このサービスは、SAML アサーションを提供した上で、OKTA、ADFS、AzureAD、PingFederate 経由で認証する場合に使用できます。
このセクションでは、本プロバイダーの接続文字列で設定可能なAWS Authentication プロパティの全リストを提供します。
プロパティ | 説明 |
AWSAccessKey | AWS アカウントのアクセスキー。この値には、[AWS セキュリティ認証情報]ページからアクセスできます。 |
AWSSecretKey | AWS アカウントのシークレットキー。この値には、[AWS セキュリティ認証情報]ページからアクセスできます。 |
AWSRoleARN | 認証時に使用するロールのAmazon リソースネーム。 |
AWSPrincipalARN | AWS アカウントのSAML ID プロバイダーのARN。 |
AWSRegion | Amazon Web サービスのホスティングリージョン。 |
AWSCredentialsFile | 認証に使用するAWS クレデンシャルファイルへのパス。 |
AWSCredentialsFileProfile | 提供されたAWSCredentialsFile から使用されるプロファイルの名前。 |
AWSSessionToken | AWS のセッショントークン。 |
AWSExternalId | 他のアカウントでロールを引き受ける際に必要となる一意の識別子。 |
MFASerialNumber | MFA デバイスが使用されている場合は、そのシリアル番号。 |
MFAToken | MFA デバイスから利用できる一時トークン。 |
TemporaryTokenDuration | 一時トークンが持続する時間(秒単位)。 |
ServerSideEncryption | 有効にすると、Amazon S3バケットへのファイルアップロードがサーバー側で暗号化されます。 |
SSEContext | A BASE64-encoded UTF-8 string holding JSON which represents a string-string (key-value) map. |
SSEEnableS3BucketKeys | Configuration to use an S3 Bucket Key at the object level when encrypting data with AWS KMS. Enabling this will reduce the cost of server-side encryption by lowering calls to AWS KMS. |
SSEKey | A symmetric encryption KeyManagementService key, that is used to protect the data when using ServerSideEncryption. |
AWS アカウントのアクセスキー。この値には、[AWS セキュリティ認証情報]ページからアクセスできます。
AWS アカウントのアクセスキー。この値には、[AWS セキュリティ認証情報]ページからアクセスできます。
AWS アカウントのシークレットキー。この値には、[AWS セキュリティ認証情報]ページからアクセスできます。
AWS アカウントのシークレットキー。この値には、[AWS セキュリティ認証情報]ページからアクセスできます。
認証時に使用するロールのAmazon リソースネーム。
AWS の外部で認証する場合は、AWS アカウント認証情報ではなく、ロールを認証に使用するのが 一般的です。AWSRoleARN を入力すると、CData Sync App はAWSAccessKey とAWSSecretKey を直接 使用する代わりに、ロールベースの認証を実行します。この認証を実行するためには、AWSAccessKey と AWSSecretKey を指定する必要があります。RoleARN を設定するときは、AWS ルートユーザーの 認証情報を使用できません。AWSAccessKey およびAWSSecretKey はIAM ユーザーのものである必要があります。
AWS アカウントのSAML ID プロバイダーのARN。
AWS アカウントのSAML ID プロバイダーのARN。
Amazon Web サービスのホスティングリージョン。
Amazon Web サービスのホスティングリージョン。利用可能な値はOHIO、NORTHERNVIRGINIA、NORTHERNCALIFORNIA、OREGON、CAPETOWN、HONGKONG、JAKARTA、MUMBAI、OSAKA、SEOUL、SINGAPORE、SYDNEY、TOKYO、CENTRAL、BEIJING、NINGXIA、FRANKFURT、IRELAND、LONDON、MILAN、PARIS、STOCKHOLM、ZURICH、BAHRAIN、UAE、SAOPAULO、GOVCLOUDEAST、GOVCLOUDWEST です。
認証に使用するAWS クレデンシャルファイルへのパス。
認証に使用するAWS クレデンシャルファイルへのパス。詳しくは、https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html を参照してください。
提供されたAWSCredentialsFile から使用されるプロファイルの名前。
提供されたAWSCredentialsFile から使用されるプロファイルの名前。詳しくは、https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html を参照してください。
他のアカウントでロールを引き受ける際に必要となる一意の識別子。
他のアカウントでロールを引き受ける際に必要となる一意の識別子。
MFA デバイスが使用されている場合は、そのシリアル番号。
AWS マネジメントコンソールにアクセスしてユーザーのセキュリティ認証情報を表示することで、IAM ユーザーのデバイスを見つけることができます。 仮想デバイスの場合、これは実際にはAmazon リソースネームです( arn:aws:iam::123456789012:mfa/user など)。
MFA デバイスから利用できる一時トークン。
MFA が必要な場合、この値はログインのためのテンポラリクレデンシャルを取得するためにMFASerialNumber とともに使用されます。 AWS から入手可能な一時的な認証情報はデフォルトで最長1時間しか持続しません(TemporaryTokenDuration を参照してください)。時間が経過したら、新しい認証情報を取得できるように、接続を 更新して新しいMFA トークンを指定する必要があります。 %AWSpSecurityToken; %AWSpTemporaryTokenDuration;
一時トークンが持続する時間(秒単位)。
一時トークンは、MFA 認証とロールベース認証の両方で使用されます。一時トークンは、やがてタイムアウトします。 そのときには、新しい一時トークンを取得する必要があります。MFA が使用されていない状況では、これは大したこと ではありません。一時トークンが期限切れになると、CData Sync App は内部的に新しい一時トークンをリクエストします。
ただし、MFA が必要な接続の場合は、新しい一時トークンを取得するために新しいMFAToken を接続で指定 する必要があります。これは、ユーザーによる接続の更新が必要になるため、より煩わしい問題です。指定できる 最大値と最小値は、使用されている接続によって大きく異なります。
ロールベース認証の場合は、最小期間は900秒(15分)で、最大期間は3600秒(1時間)です。 ロールベース認証でMFA が使用されている場合でも、3600秒が依然として最大です。
MFA 認証自体では(IAM ユーザーまたはルートユーザーを使用)、最小値は900秒(15分)、 最大値は129600(36時間)です。
有効にすると、Amazon S3バケットへのファイルアップロードがサーバー側で暗号化されます。
サーバー側の暗号化とは、データを受信するアプリケーションまたはサービスによって、送信先でデータを暗号化することです。Amazon S3は、データセンターのディスクに書き込まれるときにデータをオブジェクトレベルで暗号化し、ユーザーがデータにアクセスするときに復号します。詳しくは、こちらを参照してください。https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/serv-side-encryption.html
A BASE64-encoded UTF-8 string holding JSON which represents a string-string (key-value) map.
Example of what the JSON may look decoded: {"aws:s3:arn": "arn:aws:s3:::_bucket_/_object_"}.
Configuration to use an S3 Bucket Key at the object level when encrypting data with AWS KMS. Enabling this will reduce the cost of server-side encryption by lowering calls to AWS KMS.
Configuration to use an S3 Bucket Key at the object level when encrypting data with AWS KMS. Enabling this will reduce the cost of server-side encryption by lowering calls to AWS KMS.
A symmetric encryption KeyManagementService key, that is used to protect the data when using ServerSideEncryption.
A symmetric encryption KeyManagementService key, that is used to protect the data when using ServerSideEncryption.
このセクションでは、本プロバイダーの接続文字列で設定可能なAzure Authentication プロパティの全リストを提供します。
プロパティ | 説明 |
AzureStorageAccount | Azure ストレージアカウント名。 |
AzureAccessKey | Azure アカウントに関連付けられているストレージキー。 |
AzureSharedAccessSignature | 認証に使用可能な共有アクセスキー署名。 |
AzureTenant | データにアクセスするために使用されるMicrosoft Online テナント。指定しない場合は、デフォルトのテナントが使用されます。 |
AzureEnvironment | 接続を確立するときに使用するAzure 環境。 |
Azure ストレージアカウント名。
Azure ストレージアカウントの名前。
Azure アカウントに関連付けられているストレージキー。
Avro アカウントに関連付けられているストレージキー。以下のように取得できます:
データにアクセスするために使用されるMicrosoft Online テナント。指定しない場合は、デフォルトのテナントが使用されます。
データにアクセスするために使用されるMicrosoft Online テナント。例えば、contoso.onmicrosoft.com です。あるいは、 テナントId を指定します。この値は[Azure ポータル]->[Azure Active Directory]->[プロパティ]のディレクトリId です。
通常、Tenant を指定する必要はありません。OAuthGrantType をCODE(デフォルト)に設定している場合は、Microsoft が自動的に決定します。 ただし、ユーザーがマルチテナントに所属している場合は失敗する可能性があります。 例えば、ドメインA の管理者がドメインB のユーザーをゲストユーザーとして招待した場合。ユーザーは両方のテナントに属していることになります。 Tenant を指定するのはグッドプラクティスですが、一般的には指定しなくてもうまく動作するはずです。
OAuthGrantType をCLIENT に設定する場合は、AzureTenant が必須です。クライアント資格情報を使用する場合、ユーザーコンテキストはありません。 資格情報は、アプリ自体のコンテキストから取得されます。Microsoft ではTenant を指定せずにクライアント資格情報を取得することを許容していますが、使用する特定のテナントを選択する可能性ははるかに低くなっています。 このため、接続するドメインに適用される資格情報を確実に取得するために、すべてのクライアント資格情報接続に対してAzureTenant を明示的に指定する必要があります。
接続を確立するときに使用するAzure 環境。
ほとんどの場合、環境をグローバルに設定したままにしておくとうまく機能します。ただし、 Azure アカウントが別の環境に追加されている場合は、AzureEnvironment を使用してどの環境かを 指定できます。利用可能な値はGLOBAL、CHINA、USGOVT、USGOVTDOD です。
このセクションでは、本プロバイダーの接続文字列で設定可能なSSO プロパティの全リストを提供します。
プロパティ | 説明 |
SSOLoginURL | ID プロバイダーのログインURL。 |
SSOProperties | セミコロンで区切られたID プロバイダーへの接続に必要な追加プロパティ。 |
SSOExchangeUrl | SAML 応答を処理してサービスの資格情報と交換するために使用するURL。 |
ID プロバイダーのログインURL。
ID プロバイダーのログインURL。
セミコロンで区切られたID プロバイダーへの接続に必要な追加プロパティ。
セミコロンで区切られたID プロバイダーへの接続に必要な追加プロパティ。SSOLoginURL と一緒に使われます。
SSO 設定については、 で詳しく説明します。
SAML 応答を処理してサービスの資格情報と交換するために使用するURL。
CData Sync App はここで指定されたURL を使用してSAML 応答を処理し、サービスの資格情報と交換します。 取得した資格情報はSSO 接続時の最後の情報であり、Avro との通信に使用されます。
このセクションでは、本プロバイダーの接続文字列で設定可能なOAuth プロパティの全リストを提供します。
プロパティ | 説明 |
OAuthVersion | 使われているOAuth のバージョン。 |
OAuthClientId | OAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられたクライアントId。 |
OAuthClientSecret | OAuth 認証サーバーにアプリケーションを登録する場合に割り当てられたクライアントシークレット。 |
Scope | 初期アクセストークンとリフレッシュトークンを取得するスコープを指定します。 |
OAuthGrantType | OAuth フローのグラント種別。 |
OAuthPasswordGrantMode | OAuthGrantType がPassword に設定されている場合のクライアントId とクライアントシークレットの渡し方。 |
OAuthIncludeCallbackURL | アクセストークンリクエストにコールバックURL を含めるかどうか。 |
OAuthAuthorizationURL | OAuth サービスの認可URL。 |
OAuthAccessTokenURL | OAuth アクセストークンを取得するURL。 |
OAuthRefreshTokenURL | OAuth トークンをリフレッシュするURL。 |
OAuthRequestTokenURL | サービスがリクエストトークンを取得するために提供するURL。これは、OAuth 1.0 では必須です。 |
AuthToken | OAuth アクセストークンをリクエストおよび取得するために使用される認証トークン。 |
AuthKey | OAuth アクセストークンをリクエストおよび取得するために使用される認証シークレット。 |
OAuthParams | OAuth アクセストークンのリクエストでparamname=value の形式でサブミットするその他のパラメータのカンマ区切りのリスト。 |
使われているOAuth のバージョン。
使われているOAuth のバージョン。次のオプションが利用可能です:1.0,2.0
OAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられたクライアントId。
OAuth アプリケーションの登録の一環として、コンシューマキーとも呼ばれるOAuthClientId 値、およびクライアントシークレットOAuthClientSecret が提供されます。
OAuth 認証サーバーにアプリケーションを登録する場合に割り当てられたクライアントシークレット。
OAuth アプリケーションの登録の一環として、コンシューマキーとも呼ばれるOAuthClientId が提供されます。また、コンシューマーシークレットと呼ばれるクライアントシークレットも提供されます。クライアントシークレットをOAuthClientSecret プロパティに設定します。
初期アクセストークンとリフレッシュトークンを取得するスコープを指定します。
初期アクセストークンとリフレッシュトークンを取得するスコープを指定します。
OAuth フローのグラント種別。
次のオプションが利用可能です:CODE,CLIENT,PASSWORD
OAuthGrantType がPassword に設定されている場合のクライアントId とクライアントシークレットの渡し方。
OAuth RFC では、Password OAuthGrantType を使用する際にOAuthClientId とOAuthClientSecret を渡す2つの方法を指定します。 最も一般的な方法は、post データを介してサービスに渡す方法です。しかし、一部のサービスでは、BASIC 認証で使用するためにAuthorize ヘッダーを介して渡すことを要求する場合があります。 このプロパティをBasic に変更すると、パラメータをpost データではなくAuthorize ヘッダーの一部として送信します。
アクセストークンリクエストにコールバックURL を含めるかどうか。
デフォルトではtrue です。 標準に準拠したOAuth サービスでは、redirect_uri パラメータを必要としないCLIENT やPASSWORD などのグラント種別では、 redirect_uri パラメータを無視するからです。
このオプションは、redirect_uri が含まれる場合にエラーを報告するOAuth サービスに対してのみ有効にしてください。
OAuth サービスの認可URL。
OAuth サービスの認可URL。このURL でユーザーはサーバーにログインしてアプリケーションにアクセス許可を与えます。OAuth 1.0 では、アクセス許可が付与されるとリクエストトークンが認可されます。
OAuth アクセストークンを取得するURL。
OAuth アクセストークンを取得するURL。OAuth 1.0 では、このURL で認可されたリクエストトークンがアクセストークンと交換されます。
OAuth トークンをリフレッシュするURL。
OAuth トークンをリフレッシュするURL。OAuth 2.0 では、古いトークンの期限が切れたときは、このURL でリフレッシュトークンと新しいアクセストークンと交換します。
サービスがリクエストトークンを取得するために提供するURL。これは、OAuth 1.0 では必須です。
サービスがリクエストトークンを取得するために提供するURL。これは、OAuth 1.0 では必須です。OAuth 1.0 では、これがアプリケーションがリクエストトークンをリクエストするURL です。
OAuth アクセストークンをリクエストおよび取得するために使用される認証トークン。
このプロパティは、OAuth 1.0でヘッドレス認証を実行する場合にのみ必要です。これは、GetOAuthAuthorizationUrl ストアドプロシージャから取得できます。
GetOAuthAccessToken ストアドプロシージャでAuthKey とともに指定して、OAuthAccessToken を取得できます。
OAuth アクセストークンをリクエストおよび取得するために使用される認証シークレット。
このプロパティは、OAuth 1.0でヘッドレス認証を実行する場合にのみ必要です。これは、GetOAuthAuthorizationUrl ストアドプロシージャから取得できます。
GetOAuthAccessToken ストアドプロシージャでAuthToken とともに指定して、OAuthAccessToken を取得できます。
OAuth アクセストークンのリクエストでparamname=value の形式でサブミットするその他のパラメータのカンマ区切りのリスト。
OAuth アクセストークンのリクエストでparamname=value の形式でサブミットするその他のパラメータのカンマ区切りのリスト。
このセクションでは、本プロバイダーの接続文字列で設定可能なJWT OAuth プロパティの全リストを提供します。
プロパティ | 説明 |
OAuthJWTCert | JWT 証明書のストア。 |
OAuthJWTCertType | JWT 証明書を格納するキーストアの種類。 |
OAuthJWTCertPassword | OAuth JWT 証明書のパスワード。 |
OAuthJWTCertSubject | OAuth JWT 証明書のサブジェクト。 |
JWT 証明書のストア。
クライアント証明書のための証明書ストア名。
OAuthJWTCertType フィールドは、OAuthJWTCert により指定された証明書ストアの種類を指定します。 ストアがパスワードで保護されている場合は、OAuthJWTCertPassword でパスワードを指定します。
OAuthJWTCert は、OAuthJWTCertSubject フィールドとともにクライアント証明書を指定するために使われます。 OAuthJWTCert に値がある場合で、OAuthJWTCertSubject が設定されている場合は、証明書の検索が始まります。 詳しくは、OAuthJWTCertSubject フィールドを参照してください。
証明書ストアの指定はプラットフォームに依存します。
Windows の共通のユーザとシステム証明書ストアの指定は以下のとおりです。
MY | 個人証明書と関連付けられた秘密キーを格納している証明書ストア。 |
CA | 証明機関の証明書。 |
ROOT | ルート証明書。 |
SPC | ソフトウェア発行元証明書。 |
Javaでは、証明書ストアは通常、証明書および任意の秘密キーを含むファイルです。
証明書ストアの種類がPFXFile の場合は、このプロパティにファイル名を設定します。 PFXBlob の場合は、このプロパティをPFX ファイルのバイナリコンテンツ(例えば、PKCS12証明書ストア)に設定する必要があります。
JWT 証明書を格納するキーストアの種類。
このプロパティには次の値の一つを設定できます。
USER | Windows の場合、現在のユーザーにより所有された証明書ストアであることを指定します。 Note:この種類はJava では利用できません。 |
MACHINE | Windows の場合、この証明書ストアがシステムストアであることを指定します。 Note:この種類はJava では利用できません。 |
PFXFILE | この証明書ストアは、証明書を含むPFX(PKCS12)ファイルの名前です。 |
PFXBLOB | この証明書ストアは、PFX(PKCS12)形式の証明書ストアを表すBase-64でエンコードされた文字列です。 |
JKSFILE | この証明書ストアは、証明書を含むJava key store(JKS)ファイルの名前です。 Note:この種類はJava のみで利用できます。 |
JKSBLOB | この証明書ストアは、Java key store(JKS)形式の証明書ストアを表すBase-64でエンコードされた文字列です。 Note:この種類はJava のみで利用できます。 |
PEMKEY_FILE | この証明書ストアは、秘密キーと任意の証明書を含むPEM でエンコードされたファイルの名前です。 |
PEMKEY_BLOB | この証明書ストアは、秘密キーと任意の証明書を含むBase-64でエンコードされた文字列です。 |
PUBLIC_KEY_FILE | この証明書ストアは、PEM またはDER でエンコードされた公開キーの証明書を含むファイルの名前です。 |
PUBLIC_KEY_BLOB | この証明書ストアは、PEM またはDER でエンコードされた公開キーの証明書を含むBase-64でエンコードされた文字列です。 |
SSHPUBLIC_KEY_FILE | この証明書ストアは、SSH 公開キーを含むファイルの名前です。 |
SSHPUBLIC_KEY_BLOB | この証明書ストアは、SSH 公開キーを含むBase-64でエンコードされた文字列です。 |
P7BFILE | この証明書ストアは、証明書を含むPKCS7 ファイルの名前です。 |
PPKFILE | この証明書ストアは、PuTTY 秘密キー(PPK)を含むファイルの名前です。 |
XMLFILE | この証明書ストアは、XML 形式の証明書を含むファイルの名前です。 |
XMLBLOB | この証明書ストアは、XML 形式の証明書を含む文字列の名前です。 |
GOOGLEJSON | この証明書ストアは、サービスアカウント情報を含むJSON ファイルの名前です。Google サービスに接続する場合にのみ有効です。 |
GOOGLEJSONBLOB | この証明書ストアは、サービスアカウントのJSON を含む文字列です。Google サービスに接続する場合にのみ有効です。 |
OAuth JWT 証明書のパスワード。
証明書ストアでパスワードが必要である場合、このプロパティを使用してパスワードを指定し、証明書ストアにアクセスできます。
GOOGLEJSON OAuthJWTCertType を使用する場合は必要ありません。Google JSON キーは暗号化されていません。
OAuth JWT 証明書のサブジェクト。
証明書のサブジェクトは、証明書をロードするときにストア内の証明書を検索するために使用されます。
完全に一致するものが見つからない場合、ストアはプロパティの値を含むサブジェクトを検索します。
それでも一致するものが見つからない場合、プロパティは空白で設定され、証明書は選択されません。
"*" に設定すると、証明書ストアの1番目の証明書が選択されます。
証明書のサブジェクトは識別の名前フィールドおよび値のカンマ区切りのリストです。 例えば、"CN=www.server.com, OU=test, C=US, [email protected]"。共通のフィールドとその説明は以下のとおりです。
フィールド | 説明 |
CN | 共通名。一般的には、www.server.com のようなホスト名です。 |
O | 法人名 |
OU | 法人の部署名 |
L | 法人の住所(市町村名) |
S | 法人の住所(都道府県) |
C | 国名 |
E | Eメールアドレス |
フィールド値にカンマが含まれている場合は、それを引用符で囲む必要があります。
このセクションでは、本プロバイダーの接続文字列で設定可能なKerberos プロパティの全リストを提供します。
プロパティ | 説明 |
KerberosKDC | ユーザーの認証で使用されるKerberos キー配布センター(KDC)サービス。 |
KerberosRealm | ユーザー認証に使用されるKerberos 領域。 |
KerberosSPN | Kerberos ドメインコントローラーのサービスプリンシパル名(SPN)。 |
KerberosKeytabFile | Kerberos プリンシパルと暗号化されたキーのペアを含むKeytab ファイル。 |
KerberosServiceRealm | サービスのKerberos レルム。 |
KerberosServiceKDC | サービスのKerberos KDC。 |
KerberosTicketCache | MIT Kerberos 資格情報キャッシュファイルへのフルパス。 |
ユーザーの認証で使用されるKerberos キー配布センター(KDC)サービス。
Kerberos のプロパティは、SPNEGO またはWindows 認証を使用する場合に使用されます。Sync App は、Kerberos KDC サービスにセッションチケットと一時セッションキーを要求します。Kerberos KDC サービスは、通常、ドメインコントローラーと同じコンピュータに置かれています。
Kerberos KDC が指定されていない場合、Sync App は、これらのプロパティを自動的に次の場所から検出しようとします。
ユーザー認証に使用されるKerberos 領域。
Kerberos のプロパティは、SPNEGO またはWindows 認証を使用する場合に使用されます。Kerberos 領域は、Kerberos キー配布センター(KDC)サービスを使用してユーザーを認証するために使用されます。Kerberos 領域は、管理者が任意の文字列に設定できますが、通常はドメイン名に基づいて設定されます。
Kerberos 領域が指定されていない場合、Sync App は、これらのプロパティを自動的に次の場所から検出しようとします。
Kerberos ドメインコントローラーのサービスプリンシパル名(SPN)。
Kerberos ドメインコントローラーのSPN が認証先のURL と異なる場合は、このプロパティを使用してSPN を設定します。
Kerberos プリンシパルと暗号化されたキーのペアを含むKeytab ファイル。
Kerberos のプリンシパルと暗号化されたキーのペアを含むKeytab ファイル。
サービスのKerberos レルム。
KerberosServiceRealm は、クロスレルムKerberos 認証を使用するときにサービスKerberos レルムを指定するために使われます。
ほとんどの場合、単一のレルムとKDC マシンがKerberos 認証を実行するために使用され、このプロパティは必要ありません。
このプロパティは、異なるレルムとKDC マシンを使用して認証チケット(AS リクエスト)およびサービスチケット(TGS リクエスト)を取得する、より複雑な設定で使用できます。
サービスのKerberos KDC。
KerberosServiceKDC は、クロスレルムKerberos 認証を使用するときにサービスKerberos KDC を指定するために使われます。
ほとんどの場合、単一のレルムとKDC マシンがKerberos 認証を実行するために使用され、このプロパティは必要ありません。
このプロパティは、異なるレルムとKDC マシンを使用して認証チケット(AS リクエスト)およびサービスチケット(TGS リクエスト)を取得する、より複雑な設定で使用できます。
MIT Kerberos 資格情報キャッシュファイルへのフルパス。
このプロパティは、MIT Kerberos チケットマネージャーまたはkinit コマンドを使用して作成された資格情報キャッシュファイルを使用する場合に設定できます。
このセクションでは、本プロバイダーの接続文字列で設定可能なSSL プロパティの全リストを提供します。
プロパティ | 説明 |
SSLClientCert | SSL クライアント認証(2-way SSL)のためのTLS/SSL クライアント証明書ストア。 |
SSLClientCertType | TLS/SSL クライアント証明書を格納するキーストアの種類。 |
SSLClientCertPassword | TLS/SSL クライアント証明書のパスワード。 |
SSLClientCertSubject | TLS/SSL クライアント証明書のサブジェクト。 |
SSLMode | FTP またはFTPS サーバーに接続する際の認証メカニズム。 |
SSLServerCert | TLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。 |
SSL クライアント認証(2-way SSL)のためのTLS/SSL クライアント証明書ストア。
クライアント証明書のための証明書ストア名。
SSLClientCertType フィールドは、SSLClientCert により指定された証明書ストアの種類を指定します。ストアがパスワードで保護されている場合は、SSLClientCertPassword でパスワードを指定します。
SSLClientCert は、SSLClientCertSubject フィールドとともにクライアント証明書を指定するために使われます。SSLClientCert に値がある場合で、SSLClientCertSubject が設定されている場合は、証明書の検索が始まります。詳しくは、SSLClientCertSubject を参照してください。
証明書ストアの指定はプラットフォームに依存します。
Windows の共通のユーザとシステム証明書ストアの指定は以下のとおりです。
MY | 個人証明書と関連付けられた秘密キーを格納している証明書ストア。 |
CA | 証明機関の証明書。 |
ROOT | ルート証明書。 |
SPC | ソフトウェア発行元証明書。 |
Javaでは、証明書ストアは通常、証明書および任意の秘密キーを含むファイルです。
証明書ストアの種類がPFXFile の場合は、このプロパティにファイル名を設定します。PFXBlob の場合は、このプロパティをPFX ファイルのバイナリコンテンツ(例えば、PKCS12証明書ストア)に設定する必要があります。
TLS/SSL クライアント証明書を格納するキーストアの種類。
このプロパティには次の値の一つを設定できます。
USER - デフォルト | Windows の場合、現在のユーザーにより所有された証明書ストアであることを指定します。この種類はJava では利用できませんので注意してください。 |
MACHINE | Windows の場合、この証明書ストアがシステムストアであることを指定します。この種類はJava では利用できませんので注意してください。 |
PFXFILE | この証明書ストアは、証明書を含むPFX(PKCS12)ファイルの名前です。 |
PFXBLOB | この証明書ストアは、PFX(PKCS12)形式の証明書ストアを表すBase-64でエンコードされた文字列です。 |
JKSFILE | この証明書ストアは、証明書を含むJava key store(JKS)ファイルの名前です。この種類はJava でのみ利用できますので注意してください。 |
JKSBLOB | この証明書ストアは、Java key store(JKS)形式の証明書ストアを表すBase-64でエンコードされた文字列です。この種類はJava でのみ利用できますので注意してください。 |
PEMKEY_FILE | この証明書ストアは、秘密キーと任意の証明書を含むPEM でエンコードされたファイルの名前です。 |
PEMKEY_BLOB | この証明書ストアは、秘密キーと任意の証明書を含むBase-64でエンコードされた文字列です。 |
PUBLIC_KEY_FILE | この証明書ストアは、PEM またはDER でエンコードされた公開キーの証明書を含むファイルの名前です。 |
PUBLIC_KEY_BLOB | この証明書ストアは、PEM またはDER でエンコードされた公開キーの証明書を含むBase-64でエンコードされた文字列です。 |
SSHPUBLIC_KEY_FILE | この証明書ストアは、SSH 公開キーを含むファイルの名前です。 |
SSHPUBLIC_KEY_BLOB | この証明書ストアは、SSH 公開キーを含むBase-64でエンコードされた文字列です。 |
P7BFILE | この証明書ストアは、証明書を含むPKCS7 ファイルの名前です。 |
PPKFILE | この証明書ストアは、PuTTY 秘密キー(PPK)を含むファイルの名前です。 |
XMLFILE | この証明書ストアは、XML 形式の証明書を含むファイルの名前です。 |
XMLBLOB | この証明書ストアは、XML 形式の証明書を含む文字列の名前です。 |
TLS/SSL クライアント証明書のパスワード。
証明書ストアでパスワードが必要である場合、このプロパティを使用してパスワードを指定し、証明書ストアにアクセスできます。
TLS/SSL クライアント証明書のサブジェクト。
証明書のサブジェクトは、証明書をロードするときにストア内の証明書を検索するために使用されます。
完全に一致するものが見つからない場合、ストアはプロパティの値を含むサブジェクトを検索します。それでも一致するものが見つからない場合、プロパティは空白で設定され、証明書は選択されません。
"*" に設定すると、証明書ストアの1番目の証明書が選択されます。
証明書のサブジェクトは識別の名前フィールドおよび値のカンマ区切りのリストです。例えば、"CN=www.server.com, OU=test, C=US, [email protected]" です。共通のフィールドとその説明は以下のとおりです。
フィールド | 説明 |
CN | 共通名。一般的には、www.server.com のようなホスト名です。 |
O | 法人名 |
OU | 法人の部署名 |
L | 法人の住所(市町村名) |
S | 法人の住所(都道府県) |
C | 国名 |
E | Eメールアドレス |
フィールド値にカンマが含まれている場合は、それを引用符で囲む必要があります。
FTP またはFTPS サーバーに接続する際の認証メカニズム。
SSLMode がNONE に設定されている場合、サーバーへのログインには、デフォルトのプレーンテキストでの認証が使われます。 SSLMode がIMPLICIT に設定されている場合、接続が確立された直後にSSL ネゴシエーションが開始されます。 SSLMode がEXPLICIT に設定されている場合、Sync App は最初にプレーンテキストで接続し、次にSTARTTLS などのプロトコルコマンドを使用してSSL ネゴシエーションを明示的に開始します。 SSLMode がAUTOMATIC に設定されている場合、リモートポートがプロトコルの標準のプレーンテキストポート(適用可能な場所)に設定されている場合、コンポーネントはSSLMode がEXPLICIT に設定されている場合と同じように動作します。その他すべてのケースでは、SSL ネゴシエーションはIMPLICIT になります。
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 |
これを指定しない場合は、マシンが信用するすべての証明書が受け入れられます。
すべての証明書の受け入れを示すには、'*'を使用します。セキュリティ上の理由から、これはお勧めできません。
このセクションでは、本プロバイダーの接続文字列で設定可能なSSH プロパティの全リストを提供します。
プロパティ | 説明 |
SSHAuthMode | サービスへのSSH トンネルを確立する際に使用される認証方法。 |
SSHClientCert | SSHUser の認証に使用する証明書。 |
SSHClientCertPassword | SSHClientCert キーのパスワード(ある場合)。 |
SSHClientCertSubject | SSH クライアント証明書のサブジェクト。 |
SSHClientCertType | SSHClientCert 秘密鍵の種類。 |
SSHUser | SSH ユーザー。 |
SSHPassword | SSH パスワード。 |
サービスへのSSH トンネルを確立する際に使用される認証方法。
SSHUser の認証に使用する証明書。
公開鍵認証を使用するには、SSHClientCert に有効な秘密鍵が含まれている必要があります。 公開鍵はオプションで、含まれていない場合はSync App が秘密鍵から生成します。 Sync App は公開鍵をサーバーに送信し、ユーザーが公開鍵を認証した場合に接続が許可されます。
SSHClientCertType フィールドは、SSHClientCert により指定されたキーストアの種類を指定します。 ストアがパスワードで保護されている場合は、SSHClientCertPassword でパスワードを指定します。
一部の種類のキーストアは、複数のキーを含むことができるコンテナです。 デフォルトでは、Sync App はストアの最初のキーを選択しますが、SSHClientCertSubject を使用して特定のキーを指定することも可能です。
SSHClientCert キーのパスワード(ある場合)。
このプロパティは、SSHAuthMode がPublicKey に設定され、SSHClientCert が秘密鍵に設定されているSFTP サーバーに認証する場合にのみ使用されます。
SSH クライアント証明書のサブジェクト。
証明書のサブジェクトは、証明書をロードするときにストア内の証明書を検索するために使用されます。
完全に一致するものが見つからない場合、ストアはプロパティの値を含むサブジェクトを検索します。
それでも一致するものが見つからない場合、プロパティは空白で設定され、証明書は選択されません。
"*" に設定すると、証明書ストアの1番目の証明書が選択されます。
証明書のサブジェクトは識別の名前フィールドおよび値のカンマ区切りのリストです。 例えば、"CN=www.server.com, OU=test, C=US, [email protected]"。共通のフィールドとその説明は以下のとおりです。
フィールド | 説明 |
CN | 共通名。一般的には、www.server.com のようなホスト名です。 |
O | 法人名 |
OU | 法人の部署名 |
L | 法人の住所(市町村名) |
S | 法人の住所(都道府県) |
C | 国名 |
E | Eメールアドレス |
フィールド値にカンマが含まれている場合は、それを引用符で囲む必要があります。
SSHClientCert 秘密鍵の種類。
このプロパティには次の値の1つを設定できます。
種類 | 説明 | 許容されるBlob 値 |
MACHINE/USER | Blob 値はサポートされていません。 | |
JKSFILE/JKSBLOB | base64のみ | |
PFXFILE/PFXBLOB | PKCS12形式(.pfx)のファイル。証明書と秘密鍵の両方を含む必要があります。 | base64のみ |
PEMKEY_FILE/PEMKEY_BLOB | PEM 形式のファイル。RSA、DSA、またはOPENSSH の秘密鍵を含む必要があります。オプションで、秘密鍵と一致する証明書を含むことができます。 | base64またはプレーンテキスト。blob をテキストとして入力する場合、改行をスペースに置き換えることができます。 |
PPKFILE/PPKBLOB | puttygen ツールで作成されたPuTTY 形式の秘密鍵。 | base64のみ |
XMLFILE/XMLBLOB | .NET のRSA クラスによって生成される形式のXML キー:RSA.ToXmlString(true)。 | base64またはプレーンテキスト。 |
SSH ユーザー。
SSH ユーザー。
SSH パスワード。
SSH パスワード。
このセクションでは、本プロバイダーの接続文字列で設定可能なFirewall プロパティの全リストを提供します。
プロパティ | 説明 |
FirewallType | プロキシベースのファイアウォールで使われるプロトコル。 |
FirewallServer | プロキシベースのファイアウォールの名前もしくはIP アドレス。 |
FirewallPort | プロキシベースのファイアウォールのTCP ポート。 |
FirewallUser | プロキシベースのファイアウォールに認証するために使うユーザー名。 |
FirewallPassword | プロキシベースのファイアウォールへの認証に使われるパスワード。 |
プロキシベースのファイアウォールで使われるプロトコル。
このプロパティは、Sync App がFirewallServer プロキシ経由でトンネルトラフィックを使うためのプロトコルを指定します。デフォルトでは、Sync App はシステムプロキシに接続します。この動作を無効化し次のプロキシタイプのどれかで接続するには、ProxyAutoDetect をfalse に設定します。
タイプ | デフォルトポート | 説明 |
TUNNEL | 80 | これが設定されている場合、Sync App はAvro への接続を開き、プロキシを経由して通信が行われます。 |
SOCKS4 | 1080 | これが設定されている場合、Sync App はデータをFirewallServer およびFirewallPort で指定されたSOCS 4 プロキシ経由で送信し、接続リクエストが許容されるかどうかを決定します。 |
SOCKS5 | 1080 | これが設定されている場合、Sync App はデータをFirewallServer およびFirewallPort で指定されたSOCS 5 プロキシ経由で送信します。プロキシに認証が必要な場合には、FirewallUser およびFirewallPassword をプロキシが認識する認証情報に設定します。 |
HTTP プロキシへの接続には、ProxyServer およびProxyPort ポートを使ってください。HTTP プロキシへの認証には、ProxyAuthScheme、ProxyUser、およびProxyPassword を使ってください。
プロキシベースのファイアウォールの名前もしくはIP アドレス。
ファイアウォールトラバーサルを許容するために設定するIP アドレス、DNS 名、もしくはプロキシホスト名を指定するプロパティです。プロトコルはFirewallType で指定されます。このプロパティとFirewallServer を使って、SOCKS 経由での接続、もしくはトンネリングが可能です。HTTP プロキシへの接続には、ProxyServer を使用します。
Sync App はデフォルトでシステムプロキシを使うので注意してください。他のプロキシを使う場合には、ProxyAutoDetect をfalse に設定してください。
プロキシベースのファイアウォールのTCP ポート。
ファイアウォールトラバーサルを許容するために設定するプロキシベースのファイアウォールのTCP ポート。名前もしくはIP アドレスを指定するには、FirewallServer を使います。FirewallType でプロトコルを指定します。
プロキシベースのファイアウォールに認証するために使うユーザー名。
FirewallUser およびFirewallPassword プロパティは、FirewallType により指定された認証方式に則り、FirewallServer、およびFirewallPort で指定されたプロキシに対しての認証に使われます。
プロキシベースのファイアウォールへの認証に使われるパスワード。
このプロパティは、FirewallType により指定された認証メソッドに則り、FirewallServer およびFirewallPort で指定されたプロキシに渡されます。
このセクションでは、本プロバイダーの接続文字列で設定可能なProxy プロパティの全リストを提供します。
プロパティ | 説明 |
ProxyAutoDetect | これは、システムプロキシ設定を使用するかどうかを示します。 |
ProxyServer | HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。 |
ProxyPort | ProxyServer プロキシが起動しているTCP ポート。 |
ProxyAuthScheme | ProxyServer プロキシへの認証で使われる認証タイプ。 |
ProxyUser | ProxyServer プロキシへの認証に使われるユーザー名。 |
ProxyPassword | ProxyServer プロキシへの認証に使われるパスワード。 |
ProxySSLType | ProxyServer プロキシへの接続時に使用するSSL タイプ。 |
ProxyExceptions | ProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。 |
これは、システムプロキシ設定を使用するかどうかを示します。
これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。
HTTP プロキシへの接続には、ProxyServer を参照してください。SOCKS やトンネリングなどの他のプロキシには、FirewallType を参照してください。
HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。
HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。HTTP プロキシへの認証には、Sync App はHTTP、Windows(NTLM)、もしくはKerberos 認証タイプを使用することができます。
SOCKS プロキシを経由して接続する、もしくは接続をトンネルするには、FirewallType を参照してください。
デフォルトで、Sync App はsystem プロキシを使います。他のプロキシを使う場合には、ProxyAutoDetect をfalse に設定します。
ProxyServer プロキシが起動しているTCP ポート。
HTTP トラフィックをリダイレクトするHTTP プロキシが実行されているポート。ProxyServer でHTTP プロキシを指定します。その他のプロキシタイプについては、FirewallType を参照してください。
ProxyServer プロキシへの認証で使われる認証タイプ。
この値は、ProxyServer およびProxyPort で指定されるHTTP プロキシに認証するために使われる認証タイプを指定します。
Sync App は、デフォルトでsystem proxy settings を使い、追加での設定が不要です。他のプロキシへの接続をする場合には、ProxyServer およびProxyPort に加え、ProxyAutoDetect をfalse に設定します。認証するには、ProxyAuthScheme を設定し、必要な場合にはProxyUser およびProxyPassword を設定します。
認証タイプは、次のどれかになります。
SOCKS 5 認証のような他の認証タイプを使用するには、FirewallType を参照してください。
ProxyServer プロキシへの認証に使われるユーザー名。
ProxyUser および ProxyPassword オプションは、ProxyServer で指定されたHTTP プロキシに対して接続および認証するために使用されます。
ProxyAuthScheme で使用可能な認証タイプを選択することができます。HTTP 認証を使う場合、これをHTTP プロキシで識別可能なユーザーのユーザー名に設定します。Windows もしくはKerberos 認証を使用する場合、このプロパティを次の形式のどれかでユーザー名に設定します。
user@domain domain\user
ProxyServer プロキシへの認証に使われるパスワード。
このプロパティは、NTLM(Windows)、Kerberos、もしくはHTTP 認証をサポートするHTTP プロキシサーバーに認証するために使われます。HTTP プロキシを指定するためには、ProxyServer およびProxyPort を設定します。認証タイプを指定するためにはProxyAuthScheme を設定します。
HTTP 認証を使う場合、さらにHTTP プロキシにProxyUser およびProxyPassword を設定します。
NTLM 認証を使う場合、Windows パスワードにProxyUser およびProxyPassword を設定します。Kerberos 認証には、これらを入力する必要があります。
SOCKS 5 認証もしくは、トンネリングは、FirewallType を参照してください。
デフォルトで、Sync App はsystem プロキシを使います。他のプロキシに接続する場合には、これをfalse に設定します。
ProxyServer プロキシへの接続時に使用するSSL タイプ。
このプロパティは、ProxyServer で指定されたHTTP プロキシへの接続にSSL を使用するかどうかを決定します。この値は、AUTO、ALWAYS、NEVER、TUNNEL のいずれかです。有効な値は次のとおりです。
AUTO | デフォルト設定。URL がHTTPS URL の場合、Sync App は、TUNNEL オプションを使います。URL がHTTP URL の場合、コンポーネントはNEVER オプションを使います。 |
ALWAYS | 接続は、常にSSL 有効となります。 |
NEVER | 接続は、SSL 有効になりません。 |
TUNNEL | 接続は、トンネリングプロキシを経由します。プロキシサーバーがリモートホストへの接続を開き、プロキシを経由して通信が行われます。 |
ProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。
ProxyServer は、このプロパティで定義されたアドレスを除くすべてのアドレスに使用されます。セミコロンを使用してエントリを区切ります。
Sync App は、追加設定なしにデフォルトでシステムのプロキシ設定を使います。この接続のプロキシ例外を明示的に構成するには、ProxyAutoDetect をfalse に設定して、ProxyServer およびProxyPort を設定する必要があります。認証するには、ProxyAuthScheme を設定し、必要な場合にはProxyUser およびProxyPassword を設定します。
ログファイルに含めるコアモジュール。
指定された(';' で区切られた)モジュールのみがログファイルに含まれます。デフォルトではすべてのモジュールが含まれます。
概要はログ ページを参照してください。
このセクションでは、本プロバイダーの接続文字列で設定可能なSchema プロパティの全リストを提供します。
プロパティ | 説明 |
Location | テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。 |
BrowsableSchemas | このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。 |
Tables | このプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。 |
Views | 使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。 |
FlattenObjects | Set FlattenObjects to true to flatten object properties into columns of their own. Otherwise, objects nested in arrays are returned as strings of JSON. |
FlattenArrays | By default, nested arrays are returned as strings. The FlattenArrays property can be used to flatten the elements of nested arrays into columns of their own. Set FlattenArrays to the number of elements you want to return from nested arrays. |
テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。
Sync App のスキーマファイル(テーブルとビューの場合は.rsd ファイル、ストアドプロシージャの場合は.rsb ファイル)を含むディレクトリへのパス。このフォルダの場所は、実行ファイルの場所からの相対パスにすることができます。Location プロパティは、定義をカスタマイズしたり(例えば、カラム名を変更する、カラムを無視するなど)、新しいテーブル、ビュー、またはストアドプロシージャでデータモデルを拡張する場合にのみ必要です。
指定しない場合、デフォルトの場所は"%APPDATA%\\CData\\Avro Data Provider\\Schema" となり、%APPDATA% はユーザーのコンフィギュレーションディレクトリに設定されます:
Platform | %APPDATA% |
Windows | APPDATA 環境変数の値 |
Linux | ~/.config |
このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。
スキーマをデータベースからリストすると、負荷がかかる可能性があります。接続文字列でスキーマのリストを提供すると、 パフォーマンスが向上します。
このプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。
テーブルを複数のデータベースからリストすると、負荷がかかる可能性があります。接続文字列でテーブルのリストを提供すると、Sync App のパフォーマンスが向上します。
このプロパティは、作業したいビューがすでにわかっていて、ビューが多すぎる場合に、ビューを自動的にリストする代わりに使用することもできます。
カンマ区切りのリストで使用したいテーブルを指定します。各テーブルは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space` です。
複数のスキーマまたはカタログを持つデータソースに接続する場合は、複数のカタログやスキーマに存在するテーブル間の曖昧さを避けるため、最後の例のように、このプロパティにテーブルの完全修飾名を指定する必要があることに注意してください。
使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。
ビューを複数のデータベースからリストすると、負荷がかかる可能性があります。接続文字列でビューのリストを提供すると、Sync App のパフォーマンスが向上します。
このプロパティは、作業したいビューがすでにわかっていて、ビューが多すぎる場合に、ビューを自動的にリストする代わりに使用することもできます。
カンマ区切りのリストで使用したいビューを指定します。各ビューは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space` です。
複数のスキーマまたはカタログを持つデータソースに接続する場合は、複数のカタログやスキーマに存在するテーブル間の曖昧さを避けるため、最後の例のように、このプロパティにテーブルの完全修飾名を指定する必要があることに注意してください。
Set FlattenObjects to true to flatten object properties into columns of their own. Otherwise, objects nested in arrays are returned as strings of JSON.
To generate the column name, the Sync App concatenates the property name onto the object name with a dot.
For example, you can flatten the nested objects below at connection time:
[ { "grade": "A", "score": 2 }, { "grade": "A", "score": 6 }, { "grade": "A", "score": 10 }, { "grade": "A", "score": 9 }, { "grade": "B", "score": 14 } ]When FlattenObjects is set to true and FlattenArrays is set to 1, the preceding array is flattened into the following table:
Column Name | Column Value |
grades.0.grade | A |
grades.0.score | 2 |
By default, nested arrays are returned as strings. The FlattenArrays property can be used to flatten the elements of nested arrays into columns of their own. Set FlattenArrays to the number of elements you want to return from nested arrays.
This is only recommended for arrays that are expected to be short.
Set FlattenArrays to the number of elements you want to return from nested arrays. The specified elements are returned as columns. The zero-based index is concatenated to the column name. Other elements are ignored.
For example, you can return an arbitrary number of elements from an array of strings:
["FLOW-MATIC","LISP","COBOL"]When FlattenArrays is set to 1, the preceding array is flattened into the following table:
Column Name | Column Value |
languages.0 | FLOW-MATIC |
このセクションでは、本プロバイダーの接続文字列で設定可能なMiscellaneous プロパティの全リストを提供します。
プロパティ | 説明 |
AggregateFiles | When set to true, the provider will aggregate all the files in URI directory into a single result. |
Charset | Avro ファイルに移行、またはAvro ファイルから移行した文字データをエンコードおよびデコードするための、セッション毎の文字セットを指定します。デフォルト値はUTF-8 です。 |
DeleteDownloadedFiles | When set to true, the provider will delete parsed Avro files downloaded from cloud sources. |
DirectoryRetrievalDepth | IncludeSubdirectories が有効の場合に、再帰的にスキャンされるサブフォルダを制限します。 |
ExcludeFiles | テーブルとしてモデル化されたファイル一式から除外するファイル拡張子のカンマ区切りリスト。 |
FolderId | Google Drive のフォルダID。設定すると、URI で指定されたリソースの位置はすべての操作においてFolder ID からの相対位置となります。 |
IncludeDropboxTeamResources | Dropbox チームフォルダやファイルを含めるかどうかを示します。 |
IncludeFiles | テーブルとしてモデル化されたファイル一式に含めるファイル拡張子のカンマ区切りリスト。 |
IncludeItemsFromAllDrives | Google Drive の共有ドライブ項目を結果に含めるかどうか。存在しないかfalse に設定されている場合、共有ドライブ項目は返されません。 |
IncludeSubdirectories | ネストされたフォルダからファイルを読み出すかどうか。名前衝突が起こった場合は、テーブル名の前にアンダースコアで区切られたフォルダ名が付けられます。 |
InsertMode | The behavior when using bulk INSERTs to create Avro files. |
MaxRows | クエリで集計またはGROUP BY を使用しない場合に返される行数を制限します。これはLIMIT 句よりも優先されます。 |
MetadataDiscoveryURI | 複数のファイルを1つのテーブルに集約する際に使用します。このプロパティは、集約されたテーブルのスキーマを決定するために読み込む特定のファイルを指定します。 |
Other | これらの隠しプロパティは特定のユースケースでのみ使用されます。 |
PageSize | (Optional) PageSize value. |
PathSeparator | Determines the character which will be used to replace the file separator. |
PseudoColumns | このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。 |
TemporaryLocalFolder | The path, or URI, to the folder that is used to temporarily download avro file(s). |
Timeout | タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。 |
UserDefinedViews | カスタムビューを含むJSON コンフィギュレーションファイルを指すファイルパス。 |
When set to true, the provider will aggregate all the files in URI directory into a single result.
With this option enabled, the AggregatedFiles will be exposed which can be used to query the dataset. By default the first file in the folder is used to define the schema.
Avro ファイルに移行、またはAvro ファイルから移行した文字データをエンコードおよびデコードするための、セッション毎の文字セットを指定します。デフォルト値はUTF-8 です。
Avro ファイルに移行、またはAvro ファイルから移行した文字データをエンコードおよびデコードするための、セッション毎の文字セットを指定します。デフォルト値はUTF-8 です。
When set to true, the provider will delete parsed Avro files downloaded from cloud sources.
When set to false, downloaded files will be stored in directory specified through connection property 'TemporaryLocalFolder'.
IncludeSubdirectories が有効の場合に、再帰的にスキャンされるサブフォルダを制限します。
IncludeSubdirectories が有効の場合は、DirectoryRetrievalDepth は、停止する前に再帰的にスキャンするサブフォルダの数を指定します。-1 は、すべてのサブフォルダをスキャンすることを示します。
テーブルとしてモデル化されたファイル一式から除外するファイル拡張子のカンマ区切りリスト。
datetime フィルタを指定することも可能です。現在、CreatedDate およびModifiedDate がサポートされています。 すべての拡張フィルタは論理和(OR 演算子を使用)で評価され、結果のフィルタはdatetime フィルタと組み合わせて(AND 演算子を使用)評価されます。
例:
ExcludeFiles="TXT,CreatedDate<='2020-11-26T07:39:34-05:00'"
ExcludeFiles="TXT,ModifiedDate<=DATETIMEFROMPARTS(2020, 11, 26, 7, 40, 50, 000)"
ExcludeFiles="ModifiedDate>=DATETIMEFROMPARTS(2020, 11, 26, 7, 40, 49, 000),ModifiedDate<=CURRENT_TIMESTAMP()"
Google Drive のフォルダID。設定すると、URI で指定されたリソースの位置はすべての操作においてFolder ID からの相対位置となります。
Google Drive のフォルダID。設定すると、URI で指定されたリソースの位置はすべての操作においてFolder ID からの相対位置となります。
Dropbox チームフォルダやファイルを含めるかどうかを示します。
Dropbox チームフォルダやファイルにアクセスするには、この接続プロパティをTrue に設定してください。
テーブルとしてモデル化されたファイル一式に含めるファイル拡張子のカンマ区切りリスト。
Comma-separated list of file extensions to include into the set of the files modeled as tables. For example, IncludeFiles=avro,TXT. The default is avro.
A '*' value can be specified to include all files. A 'NOEXT' value can be specified to include files without an extension.
datetime フィルタを指定することも可能です。現在、CreatedDate およびModifiedDate がサポートされています。 すべての拡張フィルタは論理和(OR 演算子を使用)で評価され、結果のフィルタはdatetime フィルタと組み合わせて(AND 演算子を使用)評価されます。
例:
IncludeFiles="TXT,CreatedDate<='2020-11-26T07:39:34-05:00'"
IncludeFiles="TXT,ModifiedDate<=DATETIMEFROMPARTS(2020, 11, 26, 7, 40, 50, 000)"
IncludeFiles="ModifiedDate>=DATETIMEFROMPARTS(2020, 11, 26, 7, 40, 49, 000),ModifiedDate<=CURRENT_TIMESTAMP()"
Google Drive の共有ドライブ項目を結果に含めるかどうか。存在しないかfalse に設定されている場合、共有ドライブ項目は返されません。
このプロパティを'True' に設定すると、共有ドライブを含むすべてのドライブからファイルが取得されます。URI の先頭を共有ドライブのパスに設定し、オプションで任意のフォルダを指定することで、ファイルの検索対象を特定の共有ドライブまたは共有ドライブ内の特定のフォルダに限定することができます(例:'gdrive://SharedDriveA/FolderA/...')。さらに、FolderId プロパティを使用すると検索対象を正確なサブディレクトリに限定できます。
ネストされたフォルダからファイルを読み出すかどうか。名前衝突が起こった場合は、テーブル名の前にアンダースコアで区切られたフォルダ名が付けられます。
Whether to read files from nested folders. Table names are prefixed by each nested folder name separated by underscores. For example,
Root\subfolder1\tableA | Root\subfolder1\subfolder2\tableA |
subfolder1_tableA | subfolder1_subfolder2_tableA |
The behavior when using bulk INSERTs to create Avro files.
クエリで集計またはGROUP BY を使用しない場合に返される行数を制限します。これはLIMIT 句よりも優先されます。
クエリで集計またはGROUP BY を使用しない場合に返される行数を制限します。これはLIMIT 句よりも優先されます。
複数のファイルを1つのテーブルに集約する際に使用します。このプロパティは、集約されたテーブルのスキーマを決定するために読み込む特定のファイルを指定します。
複数のファイルを1つのテーブルに集約する際に使用します。このプロパティは、集約されたテーブルのスキーマを決定するために読み込む特定のファイルを指定します。
これらの隠しプロパティは特定のユースケースでのみ使用されます。
以下にリストされているプロパティは、特定のユースケースで使用可能です。通常のドライバーのユースケースおよび機能では、これらのプロパティは必要ありません。
複数のプロパティをセミコロン区切りリストで指定します。
DefaultColumnSize | データソースがメタデータにカラムの長さを提供しない場合に、文字列フィールドのデフォルトの長さを設定します。デフォルト値は2000です。 |
ConvertDateTimeToGMT | 日時の値を、マシンのローカルタイムではなくGMT グリニッジ標準時に変換するかどうかを決定します。 |
RecordToFile=filename | 基底のソケットデータ転送を指定のファイルに記録します。 |
(Optional) PageSize value.
The PageSize value is used to specify number of rows to fetch at a time.
Determines the character which will be used to replace the file separator.
Determines the character which will be used to replace the file separator. If there is a avro file located in "Test/Files/Test.avro" and if this property is set to "_", then the table name for this file would be "Test_Files_Test.avro".
このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。
Entity Framework ではテーブルカラムでない疑似カラムに値を設定できないため、この設定はEntity Framework で特に便利です。この接続設定の値は、"Table1=Column1, Table1=Column2, Table2=Column3" の形式です。"*=*" のように"*" 文字を使用して、すべてのテーブルとすべてのカラムを含めることができます。
The path, or URI, to the folder that is used to temporarily download avro file(s).
For instance: TemporaryLocalFolder='C:/User/Download'
タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。
Timeout が0に設定されている場合は、操作がタイムアウトしません。処理が正常に完了するか、エラー状態になるまで実行されます。
Timeout の有効期限が切れても処理が完了していない場合は、Sync App は例外をスローします。
カスタムビューを含むJSON コンフィギュレーションファイルを指すファイルパス。
ユーザー定義ビューは、UserDefinedViews.json というJSON 形式のコンフィギュレーションファイルで定義されています。Sync App は、このファイルで指定されたビューを自動的に検出します。
また、複数のビュー定義を持ち、UserDefinedViews 接続プロパティを使用して制御することも可能です。このプロパティを使用すると、指定されたビューのみがSync App によって検知されます。
このユーザー定義ビューのコンフィギュレーションファイルは、次のようにフォーマットされています。
次に例を示します。
{ "MyView": { "query": "SELECT * FROM SampleTable_1 WHERE MyColumn = 'value'" }, "MyView2": { "query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)" } }UserDefinedViews 接続プロパティを使用して、JSON コンフィギュレーションファイルの場所を指定します。次に例を示します。
"UserDefinedViews", C:\Users\yourusername\Desktop\tmp\UserDefinedViews.json指定されたパスは引用符で囲まれていないことに注意してください。