ETags
Important
エコノミー v2 が一般提供になりました。 サポートとフィードバックについては、PlayFab フォーラムにアクセスしてください。
このガイドでは、ETag を使用してアイテムの更新を管理する方法について説明します。
ETag とは
ETag は、アイテムとその更新プログラムを管理するためのコンカレンシー管理オプションです。
下書きアイテムを作成または更新すると、成功応答とともに ETag
が返されます。
UpdateDraftItem
要求
{
"Item": {
"Id": "e08acd29-f28a-4cbb-b8d6-7df74c7f0e4a",
"Type": "ugc",
"AlternateIds": [],
"Title": {
"NEUTRAL": "ETag Test"
}
}
}
UpdateDraftItem
件の回答
{
"code": 200,
"status": "OK",
"data": {
"Item": {
"Id": "e08acd29-f28a-4cbb-b8d6-7df74c7f0e4a",
"Type": "ugc",
"Title": {
"NEUTRAL": "ETag Test"
},
...
"ETag": "\"7800e585-0000-0300-0000-623364bf0000\""
}
}
}
この ETag
は、下書きアイテム (GetDraftItem
、GetEntityDraftItems
、GetDraftItems
など) を返す API から返されます。 この ETag
も UpdateDraftItem
の更新が行われるたびに更新されます
ETag の使用
ETag は、UpdateDraftItem
と PublishDraftItem
呼び出しの省略可能なパラメーターとして渡すことができます。 渡された場合、下書きアイテムの ETag
と渡されたパラメーターの間でチェックが行われます。 2 つの ETag が一致しない場合、要求は拒否されます。
Publish Item
要求
{
"Id": "e08acd29-f28a-4cbb-b8d6-7df74c7f0e4a",
"ETag": "\"7800e585-0000-0300-0000-623364bf0000\""
}
上記の要求では、アイテムを正常に発行されます。 他の ETag
値を指定すると、エラーがスローされ、要求が拒否されます。
ETag は、複数のユーザーまたはソースが同時にアイテムを変更することを想定している場合に便利です。 これにより、データが別の更新プログラムによって上書きされないようにすることができます。