クエリ構文
クエリ構文
メタデータクエリAPIのクエリ構文はSQLデータベースのクエリ構文と似ています。契約金額が100ドルを超える契約メタデータテンプレートに一致するすべてのファイルとフォルダに対してクエリを実行するには、以下のメタデータクエリを作成します。
{
"from": "enterprise_123456.contractTemplate",
"query": "amount >= :value",
"query_params": {
"value": 100
},
"fields": [
"name",
"metadata.enterprise_123456.contractTemplate.amount"
],
"ancestor_folder_id": "5555"
}
この場合、from
値 はメタデータテンプレートのscope
とtemplateKey
を表し、ancestor_folder_id
はサブフォルダを含む検索範囲となるフォルダIDを表します。
fields
パラメータ
デフォルトでは、このAPIで返されるのは、id
、type
、およびetag
の値を含む、ファイルまたはフォルダの基本レプリゼンテーションのみです。その他のデータをリクエストするには、fields
パラメータを使用すると、追加のフィールドや、その項目に関連付けられたメタデータに対してクエリを実行できます。
例:
created_by
では、項目を作成したユーザーの詳細がレスポンスに追加されます。metadata.<scope>.<templateKey>
では、scope
とtemplateKey
によって識別されたメタデータインスタンスの基本レプリゼンテーションが返されます。metadata.<scope>.<templateKey>.<field>
では、scope
とtemplateKey
によって識別されたメタデータインスタンスの基本レプリゼンテーションのすべてのフィールドに加え、field
の名前によって指定されたフィールドが返されます。同じscope
およびtemplateKey
の複数のフィールドを定義できます。
query
パラメータ
query
パラメータは、選択したメタデータインスタンスに対して実行する、SQLに似たクエリを表します。このパラメータは省略可能で、このパラ メータを指定しない場合、APIはこのテンプレートに対してすべてのファイルとフォルダを返します。
左側の各フィールド名 (amount
など) は、関連付けられたメタデータテンプレートのフィールドのkey
に一致する必要があります。つまり、関連付けられたメタデータインスタンスに実際に存在するフィールドだけを検索できます。その他のフィールド名を指定するとエラーが発生し、エラーが返されます。
query_params
パラメータ
クエリ文字列への動的な値の埋め込みをわかりやすくするために、:value
のように、コロン構文を使用して引数を定義できます。たとえば、次のように指定された各引数では、query_params
オブジェクトにそのキーを使用した後続の値が必要です。
{
...,
"query": "amount >= :amount AND country = :country",
"query_params": {
"amount": 100,
"country": "United States"
},
...
}
論理演算子
クエリでは、以下の論理演算子がサポートされます。
演算子 | |
---|---|
AND | AND で区切られたすべての条件がTRUE の場合に一致となります。 |
OR | OR |