2.2 オブジェクトIDの指定方法
オブジェクトIDの指定方法には、次の2つの方法があります。
-
GET 操作を実行して、実行結果からオブジェクトIDを取得する(推奨)。
例:LDEVのオブジェクトIDを指定する場合
オブジェクトタイプが「ldevs」の場合、LDEVのオブジェクトIDはストレージシステム内で一意であるため、GET操作で取得したオブジェクトIDをそのまま使用します。LDEVのオブジェクトIDが「100」の場合、次のように指定します。
ldevs/100
-
複数の属性値をコンマでつないだ文字列でオブジェクトIDを生成する。
例:ホストグループのオブジェクトIDを指定する場合
オブジェクトタイプが「host-groups」の場合、ホストグループのオブジェクトIDは、ポートの属性値とそのポートに属するホストグループの属性値をコンマでつなぐことで生成できます。ポートを示す属性値が「CL1-A」、そのポートに属するホストグループを示す属性値が「200」の場合、次のように指定します。
host-groups/CL1-A,200
複数の属性値をコンマでつないでオブジェクトIDを生成する場合、RFC3986に従ってREST APIクライアントで属性値をエンコードする必要があります。各属性の値をエンコードしたあとで、属性値をコンマでつないだ文字列をオブジェクトIDとして指定します。エンコードが必要な代表的な文字を次に示します。
エンコード前 |
エンコード後 |
---|---|
! (感嘆符) |
%21 |
# (番号記号) |
%23 |
$ (ドル記号) |
%24 |
% (パーセント) |
%25 |
& (アンパサンド) |
%26 |
' (アポストロフィ) |
%27 |
( (始め丸括弧) |
%28 |
) (終わり丸括弧) |
%29 |
* (アスタリスク) |
%2A |
+ (正符号) |
%2B |
, (コンマ) |
%2C |
: (コロン) |
%3A |
; (セミコロン) |
%3B |
= (等号) |
%3D |
? (疑問符) |
%3F |
@ (単価記号) |
%40 |
[ (始め角括弧) |
%5B |
] (終わり角括弧) |
%5D |
次の属性値からShadowImageペアのオブジェクトIDを指定する場合の例を示します。
"copyGroupName": "localCopyGroup1"
"pvolDeviceGroupName": "localCopyGroup1P_"
"svolDeviceGroupName": "localCopyGroup1S_"
"copyPairName": "pair_1P,1S"
この例の場合はcopyPairNameに含まれるコンマを「%2C」にエンコードしたあと、それぞれの値をコンマでつないだ次の文字列になります。
localCopyGroup1,localCopyGroup1P_,localCopyGroup1S_,pair_1P%2C1S
- 重要
-
- GET操作でオブジェクトIDを取得する場合、REST APIサーバはエンコード済みの値を返します。GET操作で取得したオブジェクトIDを別の操作のリクエストに使用する場合は、オブジェクトIDをデコードしないでそのまま使用してください。
- オブジェクトを新規に作成したり属性を変更したりする場合、上記の予約文字を含まないように指定することをお勧めします。