UUIDとページネーション

このページでは、AnySeeのUUIDとページネーションについて説明します。

UUID は、AnySeeによって管理される顔データの一意のIDです。顔データを追加すると自動的に生成されます。UUIDは、すべてのサービスインスタンスでグローバルに一意です。リソースの管理と指定にUUIDが必要です。マッピング関係を維持したい場合は、顧客側のデータベースにUUIDを保存してください。


UUID生成規則

AnySeeのUUIDは、バージョン4の形式に従い、インクリメンタルです。つまり、後ほど追加された顔データは常に以前追加されたものよりも大きなUUIDを持っています。本サービスは、いくつかのメカニズムを使用して、UUIDの衝突を回避できます。UUIDはインデックス化のフィールドであるため、パフォーマンスが保証されます。


ページネーション

タイムアウトエラーを回避するために、一覧APIのリターン数を制限するためにページネーションが採用されています。UUID 生成規則に基づいて、一覧APIで返されるすべてのアイテムは作成時間の昇順になります。 現在は、他のソート方法は提供していません。

成功したリストのリクエストには、 4つのアイテムがあります。

{
  "total": 102,
  "count": 2,
  "limit": 2,
  "nextAfter": "12345678-16fe-4773-8916-e70000ac255f",
  "entities": []
}

totalフィールドは、collectionkeyを含む、リスト条件を満たすデータの総数が返されます。

countフィールドの値は、このレスポンスで返されたentitiesの項目数と同じです。

1回のAPIコールで返される項目の最大数量は、limitによって制限できます。その上限は最大1000で、デフォルトでは20です。

AnySeeでは、「offse」の代わりに、afternextAfterの組み合わせで、パフォーマンスを最適化しています。 afterが指定されていない場合、リストは最初に追加されたデータから始まります。指定されている場合、リストは指定されたafterデータの次に存在するデータから始まります。nextAfterフィールドで返されたデータ(UUID)を次のafter値として使用すれば、後続のリクエストで漏れなくアイテムを列挙できます。nextAfterが空白("")で返された場合、リストの最後に到達していた意味をします。