Hitachi

Hitachi Command Suite Configuration Manager REST API リファレンスガイド


5.4.2 $queryパラメータ

$queryパラメータで、取得した情報をリソースの属性で絞り込むことができます。ここでは、$queryパラメータについて説明します。

$queryパラメータでは、1つ以上の条件式を指定します。条件式では、属性の値を比較したり複数の式を組み合わせたりするために、eq、startsWith、in、andなどの演算子を使用します。

$queryパラメータの基本的な指定例を次に示します。

?$query=ldev.storageDeviceId eq '800000010051'

$queryパラメータで指定する表現、サポートするデータ型、および使用する演算子について説明します。

$queryパラメータで指定する表現

$queryパラメータで指定する表現を次の式で定義します。

expression ::= "(" expression ")" | binary-expression 
               | expression space junction space expression
space ::= (" ")+
junction ::= ( "and" | "or" )
binary-expression ::= (compare-expression | tuple-expression) 
compare-expression ::= name-expression space compare-operation 
                       space value-expression
tuple-expression ::= name-expression space tuple-operation
                     space tuple-value-expression
tuple-value-expression ::= "[" value-expression 
                           ("," value-expression)* "]"
name-expression ::= attribute-name ( "." attribute-name )*
                    | "[" attribute-name ("." attribute-name)* "]"
value-expression ::= ( string-expression | number-expression
                     | boolean-expression )
string-expression ::= "'" ( [^'] | [']{2} )* "'"
number-expression:: = ( "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7"
                      | "8" | "9" )+
boolean-expression::= ("true" | "false")
compare-operation ::= ("eq" | "=" | "ne" | "<>" | "!=" | "gt" | ">"
                      |  "lt" | "<" | "ge" |">=" | "le" |"<="
                      | "startsWith" | "endsWith")
tuple-operation ::= ( "in" | "not in" | "contains")

サポートするデータ型

$queryパラメータで使用する表現とREST APIでサポートするデータ型の対応関係について、次の表に示します。

使用する表現 REST APIでサポートするデータ型
boolean-expression boolean
number-expression

int

long

string-expression

string

ISO8601String

link

サポートする演算子

$queryパラメータでサポートする演算子を次の表に示します。優先度は、数字が小さいほうが優先されます。

演算子 説明

指定できる表現

優先度

eq または =

等しい

boolean-expression

number-expression

string-expression

1

ne または <> または !=

等しくない

boolean-expression

number-expression

string-expression

1

gt または >

より大きい

number-expression

string-expression

1

lt または <

より小さい

number-expression

string-expression

1

ge または >=

以上

number-expression

string-expression

1

le または <=

以下

number-expression

string-expression

1
startsWith (この)文字列で始まる

string-expression

ISO8601Stringを除きます。

1
endsWith (この)文字列で終わる

string-expression

ISO8601Stringを除きます。

1
in

含まれる

number-expression

string-expression

1
not in

含まれない

number-expression

string-expression

1
contains

どれかが含まれている

number-expression

string-expression

配列型の要素を指定できます。

1
and どちらも真である

compare-expression

tuple-expression

2
or どちらかが真である

compare-expression

tuple-expression

3