> For the complete documentation index, see [llms.txt](/llms.txt)

# GS2-Datastore API リファレンス

バイナリデータストレージ機能




任意のバイナリデータをサーバに保存する機能を提供します。<br>
アップロードされたデータはアクセス権限管理(ACL - Access Control List)が適用されます。

データには誰でもデータにアクセスが可能な `public`<br>
指定したユーザーIDのゲームプレイヤーにのみアクセスが可能な `protected`<br>
自身のみがアクセスが可能な `private` の3種類のACLが設定できます。

アップロードされたデータはバージョニングされており、データを更新・削除しても<br>
古い世代のデータは30日間保持されます。<br>
世代IDを指定してダウンロードすることで、更新前・削除前のデータを取得できます。<br>
アップロードされたデータには固有のID(UUID v4)と世代IDが割り当てられ、 データを更新・削除すると世代IDが更新されます。<br>
データをダウンロードする際には世代IDを指定して、具体的なファイルを特定します。

データを更新するのと同時に他プレイヤーがデータにアクセスしようとしたときに 意図せず新しいバージョンのデータを取得しないようにダウンロードリクエストには世代IDを含めることができます。<br>
世代IDをダウンロードリクエストに付加することで、確実にリストアップした時点でのデータをダウンロードすることを保証することができます。

ただし、いつまでも世代の古いデータにアクセスできることは望まないゲームもあるかもしれません。<br>
そのため、データの所有者以外に対して、更新後60分以内かつ1つ前の世代に限り古い世代のデータのダウンロードを許可するオプションが存在します。

本機能を使用してセーブデータの管理をする際には、不正行為に対する耐性を考えてください。<br>
他のGS2のサービスではゲームの仕様に合わせて加算・減算を自由に行えないようコントロールされています。<br>
しかし、ローカルのセーブデータを信頼することはチート行為の原因となりえます。<br>
GS2の機能が提供されている場合はそちらを優先して使用し、 UGCコンテンツの交換や、コンフィグの設定値など改ざんされても影響が軽微な要素のみを管理するようにしてください。

[マイクロサービス紹介 / GS2-Datastore](../../microservices/datastore)



- [GS2-Datastore Deploy/CDK リファレンス](/ja/api_reference/datastore/deploy/)
  
- [GS2-Datastore SDK API リファレンス](/ja/api_reference/datastore/sdk/)
  
- [GS2-Datastore SDK for Game Engine API リファレンス](/ja/api_reference/datastore/game_engine/)
  
- [GS2-Datastore スクリプト トリガー リファレンス](/ja/api_reference/datastore/script/)
  
