制限
Understand the API rate limits, data size limits, and other constraints for Cloud Code modules.
読み終わるまでの所要時間 2 分最終更新 23日前
Cloud Code モジュールには、処理できるデータ量に制限があります。
Cloud Code API
- Cloud Code Client API サービスは、各プレイヤーを 1 分あたり 12,000 リクエストに制限します。
- Cloud Code Admin API サービスは、各サービスアカウントを 1 分あたり 120 リクエストに制限します。
- Admin API のレート制限の方が低いため、プレイヤーごとに Admin API を呼び出さないでください。
Cloud Code C# モジュール
- モジュールを含む .ccm ファイルのサイズが 10 MB を超えることはできません。
- プロジェクト内のすべての .ccm ファイルの合計サイズが 128 Mb を超えることはできません。
- モジュールを実行するときのレスポンス本文 (モジュールの出力) の合計サイズは、2 MiB を超えることはできません。
- プロジェクト内のすべての環境にまたがるモジュール数は 20 以下である必要があります。
- モジュール関数の実行時間が 15 秒を超えることはできません。関数がこの時間制限を超えた場合、プロセスは強制停止されます。
- モジュールは最大 10 個のタグを持つことができ、タグキーとタグ値ごとに使用できる最大文字数は 128 です。
- モジュールが過去 15 分間にトラフィックを受信しなかった場合、コールドスタートの待ち時間が発生する可能性があります。その後のモジュールへの呼び出しは、より高速になります。
- パターンはエラーの原因になります。常に
async voidまたはTaskを返します。非同期プログラミングのベストプラクティスについては、Microsoft の公式ドキュメント を参照してください。Task<T> - Cloud Code は、Cloud Code 関数の静的メソッドをサポートしていません。
呼び出し間でのモジュールの永続性
モジュールの状態が呼び出し間で持続する保証はありません。モジュールは別のワーカーでリロードされる可能性があるため、モジュール関数の呼び出し間で常に共有状態に依存できるとは限りません。ただし、モジュールがロードされたままである間は、静的変数とシングルトン依存関係は呼び出し間で共有されます。 この動作を有効活用して、静的変数またはシングルトン依存関係にデータをキャッシュし、外部サービスからフェッチする必要があるデータの量を減らすことができます。データ (特にすべてのプレイヤーに対して一貫性を保つ必要のあるデータ) を保持するためにこのモジュールの動作を使用しないでください。依存性注入
- 複数のワーカーがある場合、API 呼び出しが毎回同じワーカーを対象にする保証はないため、モジュール関数呼び出し間の共有状態に依存しないでください。
- Cloud Code のワーカーが 256 MB のメモリ制限を超えた場合、ワーカーは最終的にクラッシュします。
- 設定は、1 つのモジュール内の単一クラスによってのみ実装する必要があります。
ICloudCodeSetup
プッシュメッセージ
- WebSocket 接続経由で送信されるメッセージには 10 KB の制限があります。
UGS CLI とエディターのデプロイ
- UGS CLI と Deployment (デプロイ) ウィンドウでは、同じプロジェクト内に複数のモジュールが含まれるモジュールをデプロイすることはできません。
- UGS CLI と Deployment (デプロイ) ウィンドウはモジュールタグをサポートしていないため、それらを無視します。
エディターのバインディング
- 生成されたバインディングでは、必須パラメーターとオプションパラメーターは区別されません。
- タプルは、パラメーターまたは戻り値としてサポートされていません。
Cloud Code と他の Unity サービスのインテグレーション
- すべての Unity サービスには、API の過剰な使用を防ぐためにプレイヤーごとのレート制限があります。Cloud Code レート制限は、ゲームとサーバーコード間で共有されます。例えば、Cloud Code とゲームの両方から Economy を使用する場合、予期しないレート制限エラーを受け取る可能性があります。これらのエラーをデバッグする際には、両方の使用タイプを考慮することが重要です。
- モジュールは、モジュールを保存したのと同じ 環境 にデプロイする他の UGS リソースにのみアクセスできます。モジュールは、他の環境内のサービスにアクセスできません。