3. 制限値・スレショルド・文字制約

ここではモバイルバックエンド基盤の制限値(リミット)やスレショルド、文字制約について説明します。

特に断りがないかぎり、文字列のエンコーディングにはすべて UTF-8 を使用するものとします。

注意

サーバに設定されているライセンスに指定された制限によって、 一部の値が制限されている場合があります。

3.1. テナント

3.1.1. テナント数

無制限

注意

ライセンス制限により、テナント数上限が制限されている場合があります。

3.1.2. テナント名

  • 使用できる文字: 1バイト英数字、アンダースコア、ピリオド、ハイフン
  • 先頭文字: 英数字のみ
  • 文字列長制限(UTF-8バイト数): 1~無制限
  • 上記制限とは別に、24文字の16進文字列(0~9, a~f, A~F)は使用禁止

3.2. アプリケーション

3.2.1. アプリケーション数

無制限

注意

ライセンス制限により、テナント毎に作成可能なアプリケーション数が制限されている場合があります。

3.3. バケット

3.3.1. バケット数

無制限

注意

ライセンス制限により、オブジェクトストレージ・ファイルストレージの それぞれについてテナント毎の上限数が制限されている場合があります。

3.3.2. バケット名

  • 使用できる文字: 1バイト英数字、アンダースコア
  • 文字列長制限(UTF-8バイト数): 1~40

3.4. ユーザ管理

3.4.1. ユーザ名

  • 使用できる文字: ASCII文字 (0x20~0x7e)
  • 文字列長制限(UTF-8バイト数): 1~100

3.4.2. E-mail アドレス

  • 右の正規表現にマッチすること: [\w.-]+@(?:[\w-]+\.)+[\w-]+
  • 文字列長制限(UTF-8バイト数): 1~100

3.4.3. ユーザパスワード

デフォルト設定は以下の通り。

  • 使用できる文字: ASCII文字 (0x20~0x7e)
  • 文字列長制限(UTF-8バイト数): 8~100

なお、デベロッパーコンソールにて、使用可能文字種・長さ制限を追加指定できます。

3.5. グループ管理

3.5.1. グループ名

  • 使用できる文字: / を除く任意の Unicode文字。但し先頭が _EXT- で開始する名称は予約のため REST API からの作成・変更・削除は不可
  • 文字列長制限(UTF-16コード単位): 1~100

v6 より、グループ名には日本語を含む Unicode 文字が使用できるようになりました。

3.6. JSONオブジェクトストレージ

JSONオブジェクトストレージはほぼ MongoDB の制限値に制約されます。

MongoDB の制限値については MongoDB Limits and Thresholds を参照ください。

具体的には以下のような値が制限を受けます。

  • JSONオブジェクトサイズ・ネスト段数 (BSON Documents)
  • JSONオブジェクトのフィールド名
  • バケット名 (Collection Name)
  • インデックス・シャードキー

注意

ライセンス制限により、JSONオブジェクトサイズに追加で上限制限されている場合があります。

3.7. ファイルストレージ

3.7.1. ファイル名

  • ファイル名のエンコーディングは UTF-8
  • 右の制御文字は使用禁止: ASCIIコード 0x00-0x1f, 0x7f
  • 右の10文字は使用禁止: / \ : * ? " < > | '
  • 以下の文字列を含む名称は使用不可
    • ~~~
  • 文字列長制限(UTF-8バイト数): 1~900

3.7.2. ファイルサイズ

使用するストレージのシュルによって異なります。

  • MongoDB(GridFS) : 100MB
  • S3/S3互換ストレージ: S3/S3互換オブジェクトストレージの制限による

注意

ライセンス制限により、ファイルサイズに追加で上限制限されている場合があります。

3.8. Push

3.8.1. FCMサーバーキー

  • 使用できる文字: 空白文字以外許可
  • 文字列長制限(UTF-8バイト数): 1~無制限

3.9. デベロッパーコンソール

3.9.1. デベロッパーパスワード

  • 使用できる文字: ASCII文字(0x20-0x7e)
  • 文字列長制限(UTF-8バイト数): 8~100

3.9.2. オブジェクトストレージインデックス名

  • 使用できる文字: 1バイト英数字、アンダースコア
  • 文字列長制限(UTF-8バイト数): 8~100

3.10. API Gateway

3.10.1. API名

  • 正規表現 \w[\w-]* に合致すること
  • 文字列長制限(UTF-8バイト数): 1~900

3.10.2. basePath

  • 先頭は必ず /。パスの最終要素は API 名と一致していること。
  • 文字列長制限(UTF-8バイト数): 1~無制限

3.10.3. サブパス

  • 右の正規表現にマッチすること: (/|(/(\{\w[\w.-]*\}|\w[\w.-]*))+)
  • 上記正規表現は以下の意味:
    • / で区切られた1以上のパス要素の連結。先頭は必ず /、末尾に / は付けない。
    • パス要素は name または {name} 形式(後者はパステンプレート)。
    • name は1バイト英数字とアンダースコア。2文字目移行はピリオド、ハイフンを使用可能。
    • 例外的に / 1文字は許可。
  • 文字列長制限(UTF-8バイト数): 1~無制限

3.11. Cloud Functions

3.11.1. operationId

  • 使用できる文字: 制限なし (実際にはファンクション名の影響を受ける)
  • 文字列長制限(UTF-8バイト数): 1~900 (実際にはファンクション名の影響を受ける)

3.11.2. ハンドラ名

  • 使用できる文字: 制限なし、ただし使用する言語仕様による
  • 文字列長制限(UTF-8バイト数): 1~無制限

3.11.3. ファンクション名

  • 使用できる文字: 1バイト英数字、アンダースコア
  • 文字列長制限(UTF-8バイト数): 1~900

3.11.4. コードファイル名

  • 使用できる文字: ファイルストレージのファイル名制限と同じ
  • 文字列長制限(UTF-8バイト数): ファイルストレージのファイル名制限と同じ

3.12. RabbitMQ

3.12.1. Routing Key

  • 使用できる文字: 制限なし (UTF-8文字列)
  • 文字列長制限(UTF-8バイト数): ~255