Salesforce ラッパー¶
ここでは、CREATE WRAPPER SALESFORCE ステートメントのパラメータについて説明します。Salesforce 基本ビューは 管理ツールから 作成することをお勧めします。他の方法よりもはるかに容易です。
CREATE [ OR REPLACE ] WRAPPER SALESFORCE <name:identifier>
[ FOLDER = <literal> ]
DATASOURCENAME = <name:identifier>
[ <api_configuration> ]
{ OBJECTNAME = <literal> | SOQLSENTENCE = <literal> }
[ <outputschema> ]
[ <sourceconfiguration> ]
<api_configuration> ::=
API_CONFIGURATION (
[TYPE = { REST | BULK | DEFAULT } ]
[CHUNK_SIZE = { <integer> | DEFAULT } ]
)
<outputschema> ::= OUTPUTSCHEMA ( <field> [, <field> ]* )
<field> ::=
<name:identifier> [ = <mapping:literal> ] [ : <type:literal>]
[ ( { OBL | OPT } ) ]
[ ( <field property> = <literal> [, <field property> = <literal> ]* ) ]
[ <inline constraints> ]*
| <name:identifier> [ = <mapping:literal> ] :
ARRAY OF ( <register field> )
[ ( DEFAULTVALUE = <literal> ) ]
[ <inline constraints> ]*
| <name:register field>
<field property> ::=
DEFAULTVALUE
| SOURCETYPENAME
<register field> ::=
<name:identifier> [ = <mapping:literal> ] :
REGISTER OF ( <field> [, <field> ]* )
[ ( <field property> = <literal> [, <field property> = <literal> ]* ) ]
[ <inline constraints> ]*
<inline constraint> ::=
[ NOT ] NULL
| [ NOT ] UPDATEABLE
| { SORTABLE [ ASC | DESC ] | NOT SORTABLE }
| EXTERN
| SQLFRAGMENT
<sourceconfiguration> ::= SOURCECONFIGURATION ( [ <source configuration property> [, <source configuration property> ]* ] )
<source configuration property> ::=
DELEGATEFETCH = <property value>
| DELEGATEGROUPBY = <property value>
| DELEGATEOFFSET = <property value>
| DELEGATEAGGREGATEFUNCTIONSLIST = { DEFAULT | ( <function:identifier> [, <function:identifier> ]* ] ) }
| DELEGATEOPERATORSLIST = { DEFAULT | ( <operator:identifier> [, <operator:identifier> ]* ] ) }
| SUPPORTSAGGREGATEFUNCTIONSOPTIONS = <property value>
<property value> ::= true | false | DEFAULT
既存の Salesforce ラッパーを変更するには、ALTER WRAPPER SALESFORCE ステートメントを使用します。
ALTER WRAPPER SALESFORCE <name:identifier>
[ DATASOURCENAME = <name:identifier> ]
[ <api_configuration> ]
[ { OBJECTNAME = <literal> | SOQLSENTENCE = <literal> } ]
[ <outputschema> ]
[ <sourceconfiguration> ]
<api_configuration> ::= (see CREATE WRAPPER SALESFORCE for details)
<outputschema> ::= (see CREATE WRAPPER SALESFORCE for details)
<outputschema> ::= (see CREATE WRAPPER SALESFORCE for details)
<sourceconfiguration> ::= (see CREATE WRAPPER SALESFORCE for details)
Salesforce ラッパー を定義するには、Salesforce データソース の名前を指定する必要があります (DATASOURCENAME
)。ラッパーのデータの取得元を指定する方法は、2 通りあります。
データを Salesforce オブジェクトから取得する場合は、名前 (
OBJECTNAME
) を指定します。代わりに、SOQL ステートメント (
SQLSENTENCE
) を指定することができます。SOQL ステートメントには補間文字列を含めることができます (「 クエリの実行コンテキストと補間文字列 」を参照)。
API_CONFIGURATION
句は、使用する API に関連する構成を定義します。 TYPE
プロパティは、API が REST と BULK のどちらであるかを定義します。 CHUNK_SIZE
は、BULK API で使用される PK-CHUNKING のサイズを定義します。値が 0 の場合、チャンキングを使用しないことを示します。どちらのプロパティも、値 DEFAULT
を指定すると、Salesforce データソースで定義された値が使用されます。このセクションがない場合は、REST API と見なされます。
OUTPUTSCHEMA
句はラッパーが提供するデータのスキーマを定義します (「 ラッパーメタデータ 」を参照)。単純型エレメントごとに型を指定する必要があります。さらに、ラッパーによって返されるフィールド名と Salesforce 内のフィールド名のアソシエーションをマッピングで指定されたとおりに指定できます。
フィールドプロパティ SOURCETYPENAME
は Salesforce 内の型の名前です。
フィールドに インライン定数 SQLFRAGMENT
が含まれ、クエリが WHERE
句でこのフィールドを使用する場合、フィールドに与えられる値は条件を解析することなく、「そのまま」データベースに委任されます。
注釈
SQLFRAGMENT
句は非推奨であり、Denodo Platform の今後のバージョンで削除される可能性があります。
ラッパー作成ステートメントには OR REPLACE
修飾子を指定することもできます。指定されると、同じ名前のラッパーがすでに存在する場合に、その定義が新しい定義で置き換えられます。
最後に、特定のラッパープロパティを指定できます (SOURCECONFIGURATION
)。Virtual DataPort は、ラッパーで実行できる操作を判別するためにこれらを考慮します。適用可能なプロパティは該当するステートメント宣言に示されています (「 CREATE WRAPPER SALESFORCE ステートメントの構文 」を参照)。
SOQL クエリでの WHEREEXPRESSION の使用¶
Virtual DataPort には、基本ビューを容易に作成できるようにする補間変数として WHEREEXPRESSION
があらかじめ定義されています。これにより、クエリを実行すると、Salesforce オブジェクトにクエリを実行する代わりに、特定の SOQL ステートメント (SOQLSENTENCE
パラメータを指定した CREATE WRAPPER SALESFORCE
) が実行されます。実行時に、Virtual DataPort サーバーによって、 WHEREEXPRESSION
が基本ビューのラッパーに送信する条件に置き換えられます。