JSON ラッパー¶
ここでは、JSON データソースに基づいて JSON ラッパーを作成するために使用される構文について説明します。
CREATE [ OR REPLACE ] WRAPPER JSON <name:identifier>
[ FOLDER = <literal> ]
DATASOURCENAME = <name:identifier>
[ TUPLEROOT <JSON path:literal> ]
[ OUTPUTSCHEMA ( <field> [, <field> ]* ) ]
[ SOURCECONFIGURATION ( [ <source configuration property>
[, <source configuration property> ]* ] ) ]
<field> ::=
<name:identifier> [ = <mapping:literal> ] [ : <type:literal>]
[ ( { OBL | OPT } ) ]
[ ( DEFAULTVALUE <literal> ) ]
[ EXTERN ]
[ <inline constraints> ]*
| <name:identifier> [ = <mapping:literal> ] :
ARRAY OF ( <register field> )
[ ( DEFAULTVALUE <literal> ) ]
[ <inline constraints> ]*
| <name:register field>
<register field> ::=
<name:identifier> [ = <mapping:literal> ] :
REGISTER OF ( <field> [, <field> ]* )
[ ( DEFAULTVALUE <literal> ) ]
[ <inline constraints> ]*
<inline constraint> ::=
[ NOT ] NULL
| [ NOT ] UPDATEABLE
| { SORTABLE [ ASC | DESC ] | NOT SORTABLE }
| URIPARAM
<source configuration property> ::=
DATAINORDERFIELDSLIST = { DEFAULT | ( <name:identifier> { ASC | DESC }
[, <name:identifier> { ASC | DESC } ]* ) }
JSON ラッパーの変更ステートメントの構文も同様です。
ALTER WRAPPER JSON <name:identifier>
[ DATASOURCENAME = <name:identifier> ]
[ TUPLEROOT <JSON path:literal> ]
[ OUTPUTSCHEMA ( <field> [, <field> ]* ) ]
[ SOURCECONFIGURATION ( [ <source configuration property>
[, <source configuration property> ]* ] ) ]
<field> ::= (「 CREATE WRAPPER JSON ステートメントの構文 」を参照)
<source configuration property> ::= (「 CREATE WRAPPER JSON ステートメントの構文 」を参照)
Virtual DataPort は JSON 形式のドキュメントでのラッパーの作成をサポートしています。このタイプのラッパーを作成するには、データソースの名前を指定する必要があります (DATASOURCENAME
パラメータ)。
JSON ラッパーは、ドキュメントの構造を分析し、複合型の中に他のエレメントをカプセル化する第 1 レベルの JSON タグを属性として返します (属性名としてタグ名を使用)。他のラッパーと同様に、ラッパーによって返されるスキーマを指定できます (OUTPUTSCHEMA
)。
ラッパー作成ステートメントには OR REPLACE
修飾子を指定することもできます。指定されると、同じ名前のラッパーがすでに存在する場合に、その定義が新しい定義で置き換えられます。
URIPARAM
句は常に EXTERN
句と一緒に使用され、このフィールドが補間変数の値を表すことを示します。 URIPARAM
を追加することで、フィールドの値は URL のクエリパラメータとしてエンコードされます。 URIPARAM
は、パスが HTTP である JSON データソースによってラッパーが作成され、変数が URL のクエリパラメータの値である場合にのみ、追加する必要があります。詳細については、管理ガイドの「 HTTP パス 」(「 Virtual DataPort でのパスの種類 」のサブセクション) を参照してください。
最後に、特定のラッパープロパティを指定できます (SOURCECONFIGURATION
)。Virtual DataPort は、ラッパーで実行できる操作を判別するためにこれらを考慮します。適用可能なプロパティは該当するステートメント宣言に示されています (「 CREATE WRAPPER JSON ステートメントの構文 」)。詳細については、「 ラッパー構成プロパティ 」を参照してください。