MarketoPut - Marketoへの出力

Marketoのテーブルに対して更新を行います。

MarketoへのアクセスはCData Software Inc.社の提供する技術を利用してRDBのようにSQLでアクセスする手段を提供します。利用できるSQLなどの詳細についてはこちらも参考にしてください。

その他CDataアダプターをご利用する際の注意事項に関してはこちらをご覧ください。

ストリーム情報

入力フォーマットRecord
接続数1
説明 入力ストリームのフィールド定義を専用の設定画面で行います。
このフィールド定義は直前に連結したマッパーの出力ストリームのフィールド定義にコピーされ、そこに対して値のマッピングを行います。そのため、このコンポーネントに連結できるコンポーネントはマッパーのみとなっています。
出力フォーマットRecord
説明

入力ストリームは出力ストリームにコピーされます。

コンポーネントプロパティ

名前データ型マッピング説明
コネクション名connection- 接続先のMarketoを指定します。 コネクションペインまたは管理コンソールにて作成されたMarketo接続名を選択します。
実行する処理choice- 実行する更新操作を指定します。
各モードごとの動作については、下記トピック「実行する処理ごとの動作」を参照してください。
テーブル名stringIn & Out 更新対象のテーブル名を指定します。
値フィールドをクリックすると、テーブル名とフィールドの設定画面が表示されます。ここでフィールド定義を行うことによってテーブル名が自動で設定されます。設定画面については、下記トピック「テーブル名とフィールドの設定」を参照してください。
処理件数intOut 実際に更新されたレコード件数が取得できます。

バッチ処理件数が2以上の場合はバッチ処理になるため、使用するドライバーまたは対象の データベースに依存して正しい件数がとれない場合があります。
件数が不明の場合は-1の値を設定します。
※バッチ処理件数プロパティが表示されないプロパティでは、バッチ処理は対応していません。
バッチ処理件数int- バッチ処理で一度に送信するレコード件数を設定します。
タイムアウト(秒)intIn & Out Marketoへ更新文を発行してから結果が返ってくるまでの待ち時間を秒単位で指定します。
指定時間を経過しても実行が終わらない場合は汎用となります。
0の場合はタイムアウトすることはありません。
入力category- 入力ストリームのフィールド定義を行います。実行する処理が「Insert」以外の場合、テーブルのキーとなるカラムの「キーにする」項目で「はい」を指定します。

エラー処理

タイプパラメータエラー処理フローへのストリームエラー
コード
説明
汎用 なし コンポーネントの入力ストリーム なし コネクション名に指定したコネクションが見つからない場合
例外コードテーブルまたはフィールドが見つからない場合
例外コードSQLの実行に失敗した場合
接続エラー なし コンポーネントの入力ストリーム なし Marketoとの接続に失敗した場合

フローの強制終了

フローを強制終了すると、通常は実行中のコンポーネントの処理が終了してから次のコンポーネントに制御が遷移する時点でフローがアボートしますが、本コンポーネントでは実行中の処理を強制的に終了してフローがアボートします。

実行する処理ごとの動作

Insert

フィールド定義にあるすべてのフィールドをテーブルにレコードとして挿入します。

Update

「キーにする」項目で「はい」を指定したフィールドにマッチするレコードを、キー以外のフィールドを用いて更新します。
キーにするフィールドを更新することはできません。

Delete

「キーにする」項目で「はい」を指定したフィールドにマッチするレコードを削除します。
キーにするフィールド以外は使用しません。

テーブルとフィールドの設定

Marketoのテーブルに対して処理するテーブルとフィールドの選択は、専用のダイアログボックスから行います。 ダイアログボックスから選択すると、インスペクタの入力タブに処理対象フィールドとして表示されます。
キーを指定するには、専用のダイアログボックスでフィールドを選択してから、インスペクタの入力タブでキーとなるフィールドの「キーにする」項目を「はい」にします。
表示名に値を設定することでテーブル上の実際のカラム名とストリーム定義で使用するフィールド名を別にすることができます。

●定義画面を表示する

定義画面を表示するには、以下のいずれかの操作を行います。

●読み込むテーブルを指定する

定義画面を表示すると(1)にテーブルの一覧が表示されます。テーブルを指定すると、(3)(5)に情報が表示されます。

●処理対象フィールドを指定する

テーブルを指定すると、(5)にテーブルのフィールド一覧が表示されます。初期状態では、すべてのフィールドが処理対象になるように(4)のチェックボックスがオンになっています。

フィールドを選択して「OK」をクリックすると、インスペクタの入力タブにフィールド一覧が表示されます。
キーを指定するには、キーとなるフィールドの「キーにする」項目を「はい」にします。
表示名に値を設定することでテーブル上の実際のカラム名とストリーム定義で使用するフィールド名を別にすることができます。

●Marketo コネクション設定

認証スキーム[AuthScheme]

  • Auto:設定したOther 接続プロパティに基づいてドライバーが自動的に決定。
  • OAuth:OAuth 認証を実行する場合に設定。
  • HMAC:HMAC 認証を実行する場合に設定。


Default Value: Auto
Possible Values:
Auto0
OAuth1
HMAC2
Auto Cache[AutoCache]

AutoCache がtrue に設定されていると、本製品 はテーブルデータのキャッシュを選択したデータベースに自動的に保存します。デフォルトでは、本製品 はキャッシュをインクリメンタル更新します。前回の実行からの時間がCacheTolerance を超えた場合は、最後のSELECT クエリが実行された後の変更のみを取得します。キャッシュが更新された後、キャッシュデータに対してクエリが実行されます。

キャッシュデータベースの設定

AutoCache がtrue の場合、本製品 はシンプルなファイルベースストアにキャッシュします。次のプロパティを使って、場所またはキャッシュを別のデータベースに構成できます。

関連項目

  • CacheTolerance:このプロパティはキャッシュ内の失効データに対する許容範囲を制御します。
  • CacheMetadata:このプロパティは、Marketo メタデータから取得したテーブルスキーマを永続化することによって、ネットワークを横断するメタデータの量を減らします。メタデータは、すべての接続で取得する必要はなく、一度取得するだけです。
  • REPLICATE ステートメントAutoCache をtrue にしてSELECT ステートメントを実行すると、本製品 は内部的にREPLICATE ステートメントを呼び出します。REPLICATE ステートメントは、最初にキャッシュされたテーブルを削除するのではなく、インクリメンタル更新を有効にします。
  • 明示的なデータのキャッシュ:このセクションでは、AutoCacheOffline で使用する例をさらに示します。
  • CACHE ステートメント:CACHE ステートメントを使って、SELECT クエリを永続化し、キャッシュを管理(例えば、スキーマのリフレッシュ)ができます。


Default Value: false
Batch Size[BatchSize]

BatchSize を0 より大きい値に設定すると、バッチ処理はバッチ全体をBatchSize のバッチに分割します。分割されたバッチは、個別にサーバーに送信されます。これは、サーバーに送信されるリクエストのサイズに制限がある場合に役立ちます。

BatchSize を0 に設定すると、指定されたバッチ全体が送信されます。


Default Value: 0
Browsable Schemas[BrowsableSchemas]

スキーマをデータベースからリストすると、負荷がかかる可能性があります。接続文字列でスキーマのリストを提供すると、 パフォーマンスが向上します。

Cache Connection[CacheConnection]

キャッシュデータベースは、CacheDriver およびCacheConnection プロパティに基づいて決定されます。キャッシュデータベースを使用するには、両方のプロパティが必須です。以下に、一般的なキャッシュデータベースの設定例を示します。キャッシュデータベースのドライバーの設定方法についての詳細は、CacheDriver を参照してください。

CacheConnection プロパティで指定された接続文字列は、基底のCacheDriver に直接渡されます。使用可能なプロパティについての詳細は、JDBC driver 固有のドキュメントを参照してください。アプリケーションのクラスパスにJDBC driver を含めてください。

Derby およびJava DB

本製品 はDerby へのキャッシュを簡略化します。CacheLocation プロパティを設定するだけで基本的な接続を確立できます。

あるいは、CacheDriverCacheConnection を使用してDerby への接続を手動で設定することもできます。次はDerby JDBC URL シンタックスです。

jdbc:derby:[subsubprotocol:][databaseName][;attribute=value[;attribute=value] ... ]
例えば、インメモリデータベースにキャッシュするには、次を使用します。
jdbc:derby:memory

SQLite

SQLite へキャッシュするにはSQLite JDBC ドライバーを使用できます。次はJDBC URL の構文です。

jdbc:sqlite:dataSource
  • Data Source:SQLite データベースファイルへのパス。または、:memoryの値を使ってインメモリにキャッシュします。

MySQL

インストールにはCData JDBC Driver for MySQL が含まれています。次にJDBC URL の例を示します。

jdbc:mysql:User=root;Password=root;Server=localhost;Port=3306;Database=cache
次は一般的な接続プロパティです。

  • Server:接続しようとするサーバーのIP アドレス、もしくはドメイン名。
  • Port:サーバーが起動しているポート名。
  • User:データベースへの認証のためのユーザー名。
  • Password:データベースへの認証のためのパスワード。
  • Database:データベース名。

SQL Server

Microsoft JDBC Driver for SQL Server のJDBC URL の構文は次のとおりです。

jdbc:sqlserver://[serverName[\instance][:port]][;database=databaseName][;property=value[;property=value] ... ]
次に例を示します。
jdbc:sqlserver://localhost\sqlexpress:1433;integratedSecurity=true
次は一般的なSQL Server 接続プロパティです。
  • Server:SQL Server を起動しているコンピューターのネットワークアドレス名。デフォルトインスタンスの代わりに名前付きインスタンスに接続する場合は、このプロパティを使ってホスト名およびインスタンスをバックスラッシュで区切って指定できます。
  • Port:SQL Server が起動しているポート。
  • Database:SQL Server データベース名。
  • Integrated Security:現在のWindows アカウントを認証に使用する場合は、このオプションをtrue に設定します。接続でUser とPassword を設定する場合は、このオプションをfalse に設定します。

    統合セキュリティを使用するには、Windows システムパス上のフォルダにsqljdbc_auth.dll も追加する必要があります。このファイルは、Microsoft JDBC Driver for SQL Server インストールのauth サブフォルダにあります。アセンブリのビット数はJVM のビット数と一致する必要があります。

  • User Id:SQL Server との認証に使われるユーザー名。このプロパティは、統合セキュリティを使用していない場合にのみ必要です。
  • Password:SQL Server との認証に使われるパスワード。このプロパティは、統合セキュリティを使用していない場合にのみ必要です。

Oracle

次はOracle JDBC Thin ドライバーの従来のJDBC URL シンタックスです。

jdbc:oracle:thin:[userId/password]@[//]host[[:port][:sid]]
次に例を示します。
jdbc:oracle:thin:scott/tiger@myhost:1521:orcl
次は一般的な接続プロパティです。
  • Data Source:Oracle データベースを識別する接続記述子。これは、TSN 接続記述子、接続記述子を決定するOracle Net Services 名、またはバージョン11g以降ではEasy Connect ネーミング(任意のポート名およびサービス名を持つOracle サーバーのホスト名)になります。

  • Password:Oracle データベースへの認証のためのパスワード。
  • User Id:Oracle データベースへの認証のためのユーザーId。

PostgreSQL

次は公式のPostgreSQL JDBC ドライバーのJDBC URL 構文です。

jdbc:postgresql:[//[host[:port]]/]database[[?option=value][[&option=value][&option=value] ... ]]
例えば、次の接続文字列はデフォルトホスト(localhost)およびポート(5432)上のデータベースに接続します。
jdbc:postgresql:postgres
一般的な接続プロパティは次のとおりです:
  • Host:PostgreSQL データベースをホストしているサーバーのアドレス。
  • Port:PostgreSQL データベースをホスティングしているサーバーに接続する際のポート。
  • Database:データベース名。
  • User name:PostgreSQL データベースの認証用に提供されたユーザーId。"user" パラメータを使ってJDBC URL に指定できます。
  • Password:PostgreSQL データベースへの認証のためのパスワード。

Cache Driver[CacheDriver]

CData JDBC drivers を含むJDBC ドライバーが用意されている任意のデータベースにキャッシュできます。

キャッシュデータベースは、CacheDriver およびCacheConnection プロパティに基づいて決定されます。CacheDriver は、データのキャッシュに使用するJDBC ドライバークラスの名前です。

CacheDriver JAR ファイルをクラスパスに追加する必要があります。

次の例は、いくつかの主要なデータベースにキャッシュする方法を示しています。JDBC URL 構文および一般的な接続プロパティの詳細については、CacheConnection を参照してください。

Derby およびJava DB

本製品 はDerby 設定を簡略化します。Java DB は、Derby のOracle ディストリビューションです。JAR ファイルはJDK に同梱されています。JAR ファイル、derby.jar は、JDK インストールフォルダのdb サブフォルダに格納されています。ほどんどのキャッシュシナリオでは、derby.jar をクラスパスに追加した後、次のものだけを指定する必要があります。

jdbc:marketo:CacheLocation='c:/Temp/cachedir';Schema=REST;RESTEndpoint=https://MyMarketoUrl/rest;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;
Derby JDBC URL をカスタマイズするには、CacheDriver およびCacheConnection を使用します。例えば、インメモリデータベースにキャッシュするには、次のようにJDBC URL を使用します。
jdbc:marketo:CacheDriver=org.apache.derby.jdbc.EmbeddedDriver;CacheConnection='jdbc:derby:memory';Schema=REST;RESTEndpoint=https://MyMarketoUrl/rest;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;

SQLite

次はSQLite JDBC ドライバーのJDBC URL です。

jdbc:marketo:CacheDriver=org.sqlite.JDBC;CacheConnection='jdbc:sqlite:C:/Temp/sqlite.db';Schema=REST;RESTEndpoint=https://MyMarketoUrl/rest;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;

MySQL

次はCData JDBC Driver for MySQL のJDBC URL です。

  jdbc:marketo:Cache Driver=cdata.jdbc.mysql.MySQLDriver;Cache Connection='jdbc:mysql:Server=localhost;Port=3306;Database=cache;User=root;Password=123456';Schema=REST;RESTEndpoint=https://MyMarketoUrl/rest;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;
  

SQL Server

次のJDBC URL はMicrosoft JDBC Driver for SQL Server を使用しています。

jdbc:marketo:Cache Driver=com.microsoft.sqlserver.jdbc.SQLServerDriver;Cache Connection='jdbc:sqlserver://localhost\sqlexpress:7437;user=sa;password=123456;databaseName=Cache';Schema=REST;RESTEndpoint=https://MyMarketoUrl/rest;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;

Oracle

次はOracle Thin Client のJDBC URL です。

jdbc:marketo:Cache Driver=oracle.jdbc.OracleDriver;CacheConnection='jdbc:oracle:thin:scott/tiger@localhost:1521:orcldb';Schema=REST;RESTEndpoint=https://MyMarketoUrl/rest;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;
NOTE:9i より前のバージョンのOracle を使用している場合は、キャッシュドライバーは代わりにoracle.jdbc.driver.OracleDriver になります。

PostgreSQL

次のJDBC URL は公式のPostgreSQL JDBC ドライバーを使用しています。

jdbc:marketo:CacheDriver=cdata.jdbc.postgresql.PostgreSQLDriver;CacheConnection='jdbc:postgresql:User=postgres;Password=admin;Database=postgres;Server=localhost;Port=5432;';Schema=REST;RESTEndpoint=https://MyMarketoUrl/rest;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;

Cache Location[CacheLocation]

CacheLocation は単純なファイルベースキャッシュです。本製品 はJava DB、Oracle のDerby データベースのディストリビューションを使用しています。Java DB にキャッシュするには、Java DB JAR ファイルをクラスパスに追加する必要があります。JAR ファイル、derby.jar はJDK に同梱され、JDK インストールの[db]サブフォルダに配置されています。

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

Platform %APPDATA%
Windows APPDATA 環境変数の値
Mac ~/Library/Application Support
Linux ~/.config

関連項目

  • AutoCache:後のオフライン使用のために、暗黙的にキャッシュを作成して維持するように設定します。
  • CacheMetadata:Marketo カタログをCacheLocation に永続化するように設定します。


Default Value: %APPDATA%\\CData\\Marketo Data Provider
Cache Metadata[CacheMetadata]

このプロパティを設定してクエリを実行すると、Marketo カタログのテーブルメタデータが設定されている場合にはCacheLocation で指定されたファイルストアに、設定されていない場合にはホームディレクトリにキャッシュされます。テーブルのメタデータの取得は、テーブルがはじめてクエリされた際に一度だけ行われます。

CacheMetadata を使用するタイミング

本製品 は、はじめてテーブルやビューを発見したときから2時間の間、メタデータをインメモリに自動的に保管します。そのため、CacheMetadata は一般的には必要ありません。CacheMetadata は、大量のメタデータを扱う場合でメタデータオペレーションのコストが高い場合や、短い接続を大量に行う場合などに役立ちます。

CacheMetadata を使用しないタイミング

  • 変化しやすいメタデータを扱う場合:テーブルのメタデータは、はじめにテーブルへの接続がなされた時に一度しか取得されません。それ以降の、新規、変更、削除されたカラムを取得するには、メタデータキャッシュを削除してリビルドする必要があります。よって、メタデータが頻繁に変更される場合には、インメモリキャッシュを使う方が便利です。
  • データベースにキャッシュする場合CacheMetadataCacheLocation でのみ使用可能です。CacheDriver およびCacheConnection プロパティで他のデータベースへのキャッシュが可能です。黙示的なキャッシュにはAutoCache を使ってください。もしくは、REPLICATE ステートメント または CACHE ステートメント で明示的なキャッシュが可能です。


Default Value: false
Cache Tolerance[CacheTolerance]

キャッシュ内の失効データに対する許容範囲の秒数。これは、AutoCache が使用されている場合のみ有効です。本製品 は、許容インターバルが過ぎると、新しいレコードがないかデータソースをチェックしに行きます。それ以外は、キャッシュから直接データを返します。


Default Value: 600
Connection Life Time[ConnectionLifeTime]

接続の最大有効期間(秒単位)。その時間が経過すると、接続オブジェクトは削除されます。デフォルトは0で、接続の有効期間に制限がないことを示します。


Default Value: 0
Connect On Open[ConnectOnOpen]

true に設定すると、接続が開かれたときにMarketo への接続が作成されます。このプロパティは、さまざまなデータベースツールで[接続のテスト]機能を利用できるようにします。

この機能はNOOP コマンドとして作用します。Marketo に接続できることを確認するために使用され、この初期接続からは何も維持されません。

このプロパティをfalse に設定すると、パフォーマンスが向上する場合があります(接続が開かれる回数に依存します)。


Default Value: false
Encryption Key[EncryptionKey]

EncryptionKey はMarketo ウェブサイトの管理者ページで生成され、Marketo SOAP Web サービスへの認証で使われます。

Firewall Password[FirewallPassword]

このプロパティは、FirewallType により指定された認証メソッドに則り、FirewallServer およびFirewallPort で指定されたプロキシに渡されます。

Firewall Port[FirewallPort]

ファイアウォールトラバーサルを許容するために設定するプロキシベースのファイアウォールのTCP ポート。名前もしくはIP アドレスを指定するには、FirewallServer を使います。FirewallType でプロトコルを指定します。


Default Value: 0
Firewall Server[FirewallServer]

ファイアウォールトラバーサルを許容するために設定するIP アドレス、DNS 名、もしくはプロキシホスト名を指定するプロパティです。プロトコルはFirewallType で指定されます。このプロパティとFirewallServer を使って、SOCKS 経由での接続、もしくはトンネリングが可能です。HTTP プロキシへの接続には、ProxyServer を使用します。

本製品 はデフォルトでシステムプロキシを使うので注意してください。他のプロキシを使う場合には、ProxyAutoDetect をfalse に設定してください。

Firewall Type[FirewallType]

このプロパティは、本製品 がFirewallServer プロキシ経由でトンネルトラフィックを使うためのプロトコルを指定します。デフォルトでは、本製品 はシステムプロキシに接続します。この動作を無効化し次のプロキシタイプのどれかで接続するには、ProxyAutoDetect をfalse に設定します。

タイプ デフォルトポート 説明
TUNNEL 80 これが設定されている場合、本製品 はMarketo への接続を開き、プロキシを経由して通信が行われます。
SOCKS4 1080 これが設定されている場合、本製品 はデータをFirewallServer およびFirewallPort で指定されたSOCS 4 プロキシ経由で送信し、接続リクエストが許容されるかどうかを決定します。
SOCKS5 1080 これが設定されている場合、本製品 はデータをFirewallServer およびFirewallPort で指定されたSOCS 5 プロキシ経由で送信します。プロキシに認証が必要な場合には、FirewallUser およびFirewallPassword をプロキシが認識する認証情報に設定します。

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


Default Value: NONE
Possible Values:
NONE0
TUNNEL1
SOCKS42
SOCKS53
Firewall User[FirewallUser]

FirewallUser およびFirewallPassword プロパティは、FirewallType により指定された認証方式に則り、FirewallServer、およびFirewallPort で指定されたプロキシに対しての認証に使われます。

イニシエートOAuth[InitiateOAuth]

次のオプションが利用可能です。

  1. OFF:OAuth フローが完全にユーザーにより操作されることを示します。認証にはOAuth アクセストークンが必要です。
  2. GETANDREFRESH:OAuth フローが完全に本製品 により操作されることを示します。現在トークンが存在しない場合にはブラウザを通じてユーザーをプロンプトすることで取得されます。トークンが存在する場合には必要に応じてリフレッシュされます。
  3. REFRESH:本製品 がOAuthAccessToken のリフレッシュのみを操作することを示します。ユーザーは本製品 によりブラウザを通じて認証することをプロンプトされることはありません。OAuthAccessToken とOAuthRefreshToken の最初の取得はユーザーが行う必要があります。


Default Value: GETANDREFRESH
Possible Values:
OFF0
GETANDREFRESH1
REFRESH2
Job Polling Interval[JobPollingInterval]

このプロパティは、バルクAPI ジョブがいつ完了したかを識別するためのポーリング間隔(秒)を指定するために使用します。本製品 は、バルクAPI ジョブステータスをチェックするための呼び出しの間にJobPollingInterval 秒間待機します。 ジョブが'Completed' として識別されると、本製品 は生成されたファイルをダウンロードして解析し、指定されたクエリの結果を返します。

このプロパティを0に設定し、ジョブを作成してキューに入れることができます。この場合、結果セットにJob Id が返されます。その後、ストアドプロシージャを使用してジョブのステータスを確認できます。

Note:このプロパティは、UseBulkAPI がTrue に設定されている場合にのみ適用されます。Bulk API の使用について詳しくは、UseBulkAPI ページを参照してください。


Default Value: 120
Location[Location]

本製品 のスキーマファイル(テーブルとビューの場合は.rsd ファイル、ストアドプロシージャの場合は.rsb ファイル)を含むディレクトリへのパス。このフォルダの場所は、実行ファイルの場所からの相対パスにすることができます。Location プロパティは、定義をカスタマイズしたり(例えば、カラム名を変更する、カラムを無視するなど)、新しいテーブル、ビュー、またはストアドプロシージャでデータモデルを拡張する場合にのみ必要です。

Note: この本製品 は複数のスキーマをサポートするため、Marketo カスタムスキーマファイルの構造は以下のようになります。

  • 各スキーマには、そのスキーマ名に対応するフォルダが作られます。
  • これらのスキーマフォルダは親フォルダに含まれています。
  • 親フォルダは、個々のスキーマのフォルダではなく、Location として設定する必要があります。
;

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

Platform %APPDATA%
Windows APPDATA 環境変数の値
Mac ~/Library/Application Support
Linux ~/.config


Default Value: %APPDATA%\\CData\\Marketo Data Provider\\Schema
Logfile[Logfile]

このプロパティを設定すると、認証が実行されたときやクエリが実行されたときなど、さまざまなタスクを実行する際に、本製品 がログファイルを生成します。指定したファイルが存在しない場合は作成されます。

接続文字列およびバージョン情報も記録されますが、機密情報を含む接続プロパティは自動的にマスクされます。

相対ファイルパスが指定された場合、ログファイルの場所は、Location 接続プロパティにあるパスに基づいて解決されます。

ログファイルに記録される内容をより細かく制御するには、Verbosity プロパティを調整してください。

ログ内容はいくつかのモジュールに分類されます。LogModules プロパティを使うことで、個々のモジュールを表示または非表示にすることができます。

新しいログファイルの作成前にログファイル1つの最大サイズを変更する方法については、MaxLogFileSize を参照してください。

生成されるログファイル数に上限を設定したい場合は、MaxLogFileCount を使用してください。

Java のログ出力

Java のログ出力もサポートされています。Java のログ出力を有効化するには、Logfile を次のように設定します:

Logfile=JAVALOG://myloggername

上記の例のように、JAVALOG:// がJava のログを使用するための必須プレフィックスで、独自のロガーで代用することになります。

次に、指定されたロガーのgetLogger メソッドが呼び出され、指定された値を使用してLogger インスタンスが作成されます。ログのインスタンスがすでに存在する場合は、既存のインスタンスを参照します。

Java のログ出力が有効になっている場合、Verbosity は特定のログレベルに対応します。

Log Modules[LogModules]

指定された(';' で区切られた)モジュールのみがログファイルに含まれます。デフォルトではすべてのモジュールが含まれます。

概要はログ ページを参照してください。

Max Log File Count[MaxLogFileCount]

サイズリミットを超えると、日付と時刻が末尾に追加された新しいログが同じフォルダ内に作成され、最も古いログファイルが削除されます。

サポートされている最小値は2です。0や負の値は、数に制限がないことを示します。

生成されるログファイルの最大サイズは、MaxLogFileSize で調整できます。


Default Value: -1
Max Log File Size[MaxLogFileSize]

サイズリミットを超えると、日付と時刻が末尾に追加された新しいログが同じフォルダ内に作成されます。リミットのデフォルトは100 MB です。100 kB より小さい値を設定した場合、100 kB がリミットとなります。

生成されるログファイルの最大数は、MaxLogFileCount で調整できます。


Default Value: 100MB
Max Rows[MaxRows]

クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。


Default Value: -1
OAuthアクセストークン[OAuthAccessToken]

OAuth を使用して接続するには、OAuthAccessToken プロパティが使用されます。認証プロセスにおいてOAuth サーバーからOAuthAccessToken が取得されます。このプロパティは、サーバーに依存するタイムアウトがあり、要求の間で再利用することができます。

アクセストークンは、ユーザー名とパスワードの代わりに使用されます。サーバー上で維持することで、認証情報が保護されます。

OAuthクライアントID[OAuthClientId]

OAuth アプリケーションの登録の一環として、コンシューマキーとも呼ばれるOAuthClientId 値、およびクライアントシークレットOAuthClientSecret が提供されます。

OAuthクライアントシークレット[OAuthClientSecret]

OAuth アプリケーションの登録の一環として、コンシューマキーとも呼ばれるOAuthClientId が提供されます。また、コンシューマーシークレットと呼ばれるクライアントシークレットも提供されます。クライアントシークレットをOAuthClientSecret プロパティに設定します。

OAuth Expires In[OAuthExpiresIn]

OAuthTokenTimestamp と併用して、アクセストークンの有効期限を決定します。

OAuth設定場所[OAuthSettingsLocation]

InitiateOAuth がGETANDREFRESH またはREFRESH に設定されている場合、本製品 がOAuth 値を保存するため、ユーザーが手動でOAuth 接続プロパティを入力する必要がなくなり、接続やプロセス間でクレデンシャルを共有できるようになります。

ファイルパスを指定する代わりに、メモリストレージを使用することもできます。メモリの場所は、'memory://' で始まる値とそのクレデンシャルのセット(例:memory://user1)の一意の識別子を使用して指定します。識別子は何でも構いませんが、ユーザーに固有のものでなければなりません。ファイルベースのストレージとは異なり、プロセスが再開されたときに接続を設定できるように、メモリストレージとの接続を閉じるときは手動でクレデンシャルを格納する必要があります。OAuth プロパティ値は、sys_connection_props システムテーブルへのクエリで取得できます。複数の接続で同じクレデンシャルを使用している場合は、プロパティは最後に閉じられる接続から読み取られます。

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

Platform %APPDATA%
Windows APPDATA 環境変数の値
Mac ~/Library/Application Support
Linux ~/.config


Default Value: %APPDATA%\\CData\\Marketo Data Provider\\OAuthSettings.txt
OAuth Token Timestamp[OAuthTokenTimestamp]

OAuthExpiresIn と併用して、アクセストークンの有効期限を決定します。

Offline[Offline]

Offline がtrue に設定されている場合、すべてのクエリは、ライブデータソースではなくキャッシュに対して実行されます。このモードでは、INSERT、UPDATE、DELETE、CACHE などのクエリは許可されません。


Default Value: false
Other[Other]

以下にリストされているプロパティは、特定のユースケースで使用可能です。通常のドライバーのユースケースおよび機能では、これらのプロパティは必要ありません。

複数のプロパティをセミコロン区切りリストで指定します。

キャッシュの設定

CachePartial=Trueクエリで指定可能な一部のカラムのみをキャッシュします。
QueryPassthrough=True本製品 のSQL パーサーを使用する代わりに、指定のクエリをキャッシュデータベースに渡します。

統合およびフォーマット

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

Pagesize[Pagesize]

Pagesize プロパティは、Marketo から返されるページあたりの結果の最大数に影響を与えます。より大きい値を設定すると、1ページあたりの消費メモリが増える代わりに、パフォーマンスが向上する場合があります。


Default Value: 1000
Pool Idle Timeout[PoolIdleTimeout]

接続が閉じられるまで、プール内に残ることができる許容されたアイドル時間。デフォルトは60秒です。


Default Value: 60
Pool Max Size[PoolMaxSize]

プールの最大接続数。デフォルトは100です。このプロパティを無効にするには、プロパティ値を0以下に設定します。


Default Value: 100
Pool Min Size[PoolMinSize]

プール内の最小接続数。デフォルトは1です。


Default Value: 1
Pool Wait Time[PoolWaitTime]

接続が利用可能になるまで待機する最大秒数。新しい接続のリクエストが使用可能な接続を待ちこの時間を超過すると、エラーが返されます。デフォルトでは、新規リクエストは使用可能な接続を永久に待機します。


Default Value: 60
Proxy Auth Scheme[ProxyAuthScheme]

この値は、ProxyServer およびProxyPort で指定されるHTTP プロキシに認証するために使われる認証タイプを指定します。

本製品 は、デフォルトでsystem proxy settings を使い、追加での設定が不要です。他のプロキシへの接続をする場合には、ProxyServer およびProxyPort に加え、ProxyAutoDetect をfalse に設定します。認証するには、ProxyAuthScheme を設定し、必要な場合にはProxyUser およびProxyPassword を設定します。

認証タイプは、次のどれかになります。

  • BASIC: 本製品 はHTTP BASIC 認証を行います。
  • DIGEST: 本製品 はHTTP DIGEST 認証を行います。
  • NEGOTIATE: 本製品 は認証において有効なプロトコルに応じて、NTLM もしくはKereros トークンを取得します。
  • PROPRIETARY: 本製品 はNTLM もしくはKerberos トークンを発行しません。このトークンを、HTTP リクエストのAuthorization ヘッダーに含める必要があります。

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


Default Value: BASIC
Possible Values:
BASIC0
DIGEST1
NONE2
NEGOTIATE3
NTLM4
PROPRIETARY5
Proxy Auto Detect[ProxyAutoDetect]

これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。

NOTE:このプロパティがTrue に設定されている場合、使用されるプロキシは次のように決定されます。

  • JVM のプロパティ(http.proxy、https.proxy、socksProxy など)から検索が実行されます。
  • JVM のプロパティが存在しない場合は、java.home/lib/net.properties から検索が実行されます。
  • java.net.useSystemProxies がTrue に設定されている場合は、SystemProxy から検索が実行されます。
  • Windows の場合のみ、レジストリインターネットオプションからこれらのプロパティを取得しようとします。

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


Default Value: false
Proxy Exceptions[ProxyExceptions]

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

本製品 は、追加設定なしにデフォルトでシステムのプロキシ設定を使います。この接続のプロキシ例外を明示的に構成するには、ProxyAutoDetect をfalse に設定して、ProxyServer およびProxyPort を設定する必要があります。認証するには、ProxyAuthScheme を設定し、必要な場合にはProxyUser およびProxyPassword を設定します。

Proxy Password[ProxyPassword]

このプロパティは、NTLM(Windows)、Kerberos、もしくはHTTP 認証をサポートするHTTP プロキシサーバーに認証するために使われます。HTTP プロキシを指定するためには、ProxyServer およびProxyPort を設定します。認証タイプを指定するためにはProxyAuthScheme を設定します。

HTTP 認証を使う場合、さらにHTTP プロキシにProxyUser およびProxyPassword を設定します。

NTLM 認証を使う場合、Windows パスワードにProxyUser およびProxyPassword を設定します。Kerberos 認証には、これらを入力する必要があります。

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

デフォルトで、本製品 はsystem プロキシを使います。他のプロキシに接続する場合には、これをfalse に設定します。

Proxy Port[ProxyPort]

HTTP トラフィックをリダイレクトするHTTP プロキシが実行されているポート。ProxyServer でHTTP プロキシを指定します。その他のプロキシタイプについては、FirewallType を参照してください。


Default Value: 80
Proxy Server[ProxyServer]

HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。HTTP プロキシへの認証には、本製品 はHTTP、Windows(NTLM)、もしくはKerberos 認証タイプを使用することができます。

SOCKS プロキシを経由して接続する、もしくは接続をトンネルするには、FirewallType を参照してください。

デフォルトで、本製品 はsystem プロキシを使います。他のプロキシを使う場合には、ProxyAutoDetect をfalse に設定します。

Proxy SSL Type[ProxySSLType]

このプロパティは、ProxyServer で指定されたHTTP プロキシへの接続にSSL を使用するかどうかを決定します。この値は、AUTO、ALWAYS、NEVER、TUNNEL のいずれかです。有効な値は次のとおりです。

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


Default Value: AUTO
Possible Values:
AUTO0
ALWAYS1
NEVER2
TUNNEL3
Proxy User[ProxyUser]

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

ProxyAuthScheme で使用可能な認証タイプを選択することができます。HTTP 認証を使う場合、これをHTTP プロキシで識別可能なユーザーのユーザー名に設定します。Windows もしくはKerberos 認証を使用する場合、このプロパティを次の形式のどれかでユーザー名に設定します。

user@domain
domain\user

Pseudo Columns[PseudoColumns]

Entity Framework ではテーブルカラムでない疑似カラムに値を設定できないため、この設定はEntity Framework で特に便利です。この接続設定の値は、"Table1=Column1, Table1=Column2, Table2=Column3" の形式です。"*=*" のように"*" 文字を使用して、すべてのテーブルとすべてのカラムを含めることができます。

Readonly[Readonly]

このプロパティがtrue に設定されている場合、本製品 はSELECT クエリのみ許可します。INSERT、UPDATE、DELETE、およびストアドプロシージャクエリではエラーが返されます。


Default Value: false
RESTエンドポイント[RESTEndpoint]

REST Web サービスのエンドポイントURL は、Marketo ウェブサイトの管理者ページにて提供されています。

RTK[RTK]

RTK プロパティは、ビルドにライセンスを供与するために使用されます。 このプロパティの設定方法については、付属のライセンスファイルを参照してください。このランタイムキーは、OEM ライセンスを購入した場合にのみ使用できます。

スキーマ[Schema]

利用可能なスキーマは、REST(Marketo のREST API を使う場合)およびSOAP(Marketo のSOAP API を使う場合)です。


Default Value: REST
Possible Values:
REST0
SOAP1
SOAP Endpoint[SOAPEndpoint]

SOAP Web サービスのエンドポイントURL は、Marketo ウェブサイトの管理者ページにて提供されています。

SSL Server Cert[SSLServerCert]

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

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

証明書は、システムのトラストストアに基づいてマシンによって信頼されていると検証されています。使用されるトラストストアは、システムに指定された'javax.net.ssl.trustStore' 値になります。このプロパティに値が指定されていない場合は、Java のデフォルトのトラストストア(例えば、JAVA_HOME\lib\security\cacerts)が使用されます。

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

Support Enhanced SQL[SupportEnhancedSQL]

SupportEnhancedSQL がtrue に設定されている場合、本製品 はMarketo にできるだけ多くのSELECT 構文処理をオフロードし、残りのクエリをインメモリで処理します。この方法で、本製品 はサポートされていない宣言、JOIN、および集計を実行することができます。

SupportEnhancedSQL がfalse に設定されている場合、本製品 はSQL 実行をMarketo API でサポートされている範囲に制限します。

宣言の実行

本製品 は、どの句がデータソースでサポートされているかを決定し、クエリを充足する最小セットの行を取得するためにソースにクエリを送信します。そして、残りの行をローカルでフィルタリングします。フィルタリング処理がストリームされている場合、本製品 は大きなデータセットに対しても効率よいフィルタリングが可能です。

JOIN 実行

本製品 は、インメモリでのJOIN でさまざまな技術を使用します。本製品 は、メモリ使用量と同じテーブルを複数回読む要求をトレードオフします。

集計の実行

本製品 は、インメモリで集計を処理するために必要なすべての行を取得します。


Default Value: true
Tables[Tables]

テーブルを複数のデータベースからリストすると、負荷がかかる可能性があります。接続文字列でテーブルのリストを提供すると、本製品 のパフォーマンスが向上します。

このプロパティは、作業したいビューがすでにわかっていて、ビューが多すぎる場合に、ビューを自動的にリストする代わりに使用することもできます。

カンマ区切りのリストで使用したいテーブルを指定します。各テーブルは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space` です。

複数のスキーマまたはカタログを持つデータソースに接続する場合は、複数のカタログやスキーマに存在するテーブル間の曖昧さを避けるため、最後の例のように、このプロパティにテーブルの完全修飾名を指定する必要があることに注意してください。

タイムアウト(秒)[Timeout]

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

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


Default Value: 300
Use Bulk API[UseBulkAPI]

True に設定すると、Marketo Bulk API が、必要に応じてデータの抽出またはインポートに使用されます。インターフェースのBulk API は、区切られたファイル(CSV、TSV、またはSSV)を使用して、大規模なデータセットの取得またはインポートを可能にします。 現在、Bulk API をサポートしているテーブルは、Leads(抽出およびインポート)とActivities(抽出)のみです。Bulk API をサポートしていないテーブルでは、このプロパティは無視されます。

Bulk API を使用すると、すべてのデータが単一のリクエストで取得され、送信する前にサーバー側でデータを蓄積する必要があります。したがって、Bulk API を使用して大量のデータをリクエストすることはREST API を使用するよりも有利な場合があり、パフォーマンスが向上する可能性があります。 さらに、Bulk API では必要なAPI リクエストが少なくて済みます(これにより、API 呼び出しを保存し、Marketo が実施しているAPI 制限内に留まることができます)。

Bulk API を使用してレコードを抽出するには、ジョブを作成してキューに入れる必要があります。キューに入ると、Marketo はジョブの処理を開始して、リクエストされたデータを取得し、デリミテッドファイルを生成します。ジョブのステータスをポーリングして、現在のステータスとファイルがダウンロード可能かどうかを判断することができます。 ジョブが完了し、ファイルが準備できたことを示すステータスが表示されたら、データをダウンロードできます。

UseBulkAPI がTrue に設定され、JobPollingInterval が0 より大きい値に設定されている場合、本製品 はLeads またはActivities テーブルでSELECT クエリを実行するときに、前述のすべてのステップを実行します。 これにより、指定したカラムおよびフィルタを使用してジョブが作成され、キューに入れられます。バルクデータをエクスポートする場合は、フィルタが必要であることに注意してください。Activities テーブルでは、ActivityDate 範囲を指定する必要があります。 Leads テーブルでは、CreatedAt またはUpdatedAt 範囲、またはStatic かSmart リストを指定できます。本製品 はジョブのステータスをポーリングして、ジョブがいつ完了したかを識別し、呼び出しの間にJobPollingInterval 秒待機します。 ジョブが完了すると、本製品 は作成されたデリミテッドファイルをダウンロードして解析し、指定されたクエリの結果を返します。

ジョブステータスコールはAPI コールの制限に対してカウントされるため、リクエストしているデータの量に基づいてステータスリクエストの間隔を空けることをお勧めします。ジョブステータスのポーリング間隔は、JobPollingInterval で設定可能です。 Marketo は60秒ごとにステータスを更新するだけなので、ポーリング間隔を60秒より長くすることをお勧めします。大規模なデータセットを想定している場合は、API コールを最小限に抑えるために、ポーリング間隔を5分以上に増やすことをお勧めします。 ジョブが処理されるまでに時間がかかる可能性があるため、実際にはジョブが完了するのを待っているだけであっても、クエリがハングしているように見える場合があります。

独自のジョブステータスポーリングリクエストを発行したい場合は、JobPollingInterval を0に設定します。これにより、Leads またはActivities テーブルでSELECT クエリを実行するときに、ジョブが作成されてキューに入れられ、結果セットにJobId が返されます。

ジョブがキューに入れられると、GetExportJobStatus ストアドプロシージャを呼び出すことでジョブのステータスをポーリングできます。

JobStatus の値は、ジョブの処理が完了し、ダウンロードの準備が整ったことを示す'Complete' になります。最初のSELECT クエリの実行を終了するには、最初のSELECT ステートメントのWHERE 句にJobId フィルタを追加します。 このクエリは、指定されたJobId のファイルをダウンロードして結果セットを解析します。

Logic/Code Example (JobPollingInterval = 0):

SELECT JobId, Company, FirstName AS fn, LastName AS ln FROM Leads WHERE CreatedAt>='10/01/2017' AND CreatedAt<'10/31/2017'
# Retrieve the JobId value from the ResultSet (e.g. c4ebf745-b0e3-4bb8-bfc9-bd8472a28d35). Only one row is returned and JobId will be the only relevant value returned.

loop(desired time interval) {
  EXEC GetExportJobStatus @JobId='c4ebf745-b0e3-4bb8-bfc9-bd8472a28d35', @Type='Leads'
  if (JobStatus == 'Completed') break;
}

SELECT Company, FirstName AS fn, LastName AS ln FROM Leads WHERE CreatedAt>='10/01/2016' AND CreatedAt<'10/31/2016' AND JobId='c4ebf745-b0e3-4bb8-bfc9-bd8472a28d35'

このプロパティは、REST API を使っている場合にのみ有効です。


Default Value: false
Use Connection Pooling[UseConnectionPooling]

このプロパティは、コネクションプーリングを有効にします。デフォルトはfalse です。 コネクションプールの使用に関する詳細は、 接続プール を参照してください。


Default Value: false
User Id[UserId]

User Id はMarketo から提供され、Marketo SOAP Web サービスへの認証で使われます。

Verbosity[Verbosity]

Verbosity レベルは、本製品 がLogfile にどの程度の詳細さで記載するかを決定します。1 から5 までのVerbosity レベルがサポートされています。より詳しい説明は、ログ ページに記載されています。


Default Value: 1
Views[Views]

ビューを複数のデータベースからリストすると、負荷がかかる可能性があります。接続文字列でビューのリストを提供すると、本製品 のパフォーマンスが向上します。

このプロパティは、作業したいビューがすでにわかっていて、ビューが多すぎる場合に、ビューを自動的にリストする代わりに使用することもできます。

カンマ区切りのリストで使用したいビューを指定します。各ビューは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space` です。

複数のスキーマまたはカタログを持つデータソースに接続する場合は、複数のカタログやスキーマに存在するテーブル間の曖昧さを避けるため、最後の例のように、このプロパティにテーブルの完全修飾名を指定する必要があることに注意してください。


その他詳細タブのオプション名と値は、以下URL の「接続文字列オプション」を参照ください。
こちら