MENU

Soracom

Users

制限事項と注意事項

SORACOM Orbit には以下の制限があります。

  • SORACOM Air for セルラーのみ対応します。
  • Unified Endpoint の UDP、TCP、HTTP プロトコルのみ対応します。
  • WebAssembly System Interface (WASI) をサポートしていないためファイルシステムやネットワークアクセスなどシステムコールを伴う処理を実行できません。外部とのインタフェースは Orbit SDK に定義されている関数のみとなります。
  • uplink()downlink() の呼び出しにあたっては以下の制限があります。
    • 関数の実行時間: 1 秒以内
    • メモリ使用量: 16 MiB (16,777,216 バイト)
    • 呼び出し 1 回あたりのログメッセージの最大サイズ: 合計 65,536 バイト
    • uplink()downlink() それぞれが課金対象の呼び出し 1 回とカウントします。
  • Soralet 名の制限は以下の通りです。
    • 使用可能な文字: 英数字 ([a-zA-Z0-9])、アンダースコア (_)、ハイフン (-)
    • 長さ: 100 文字
  • オペレーター ID あたり現在以下の上限があります。
    • Soralet 数: 20 個
    • Soralet あたりの WASM モジュールのバージョン数: 10 個
    • WASM モジュール最大サイズ: 4 MB (4,194,304 bytes)
    • soracom soralets exec コマンドあるいは Soralet:testSoralet API (vscode が使用しています)による テストの実行 : 5 回 / 分
  • WASM モジュールの処理結果に応じて Unified Endpoint の転送先を制御することはできません。
  • 以下の内容はソラコムサポート窓口の対象外となります。お問い合わせ方法は FAQ をご覧ください。
    • vscode や docker を含むソラコムが提供しないソフトウェアの問題や使用方法に関するお問い合わせ
    • 各種プログラミング言語における、お客様要件を満たす実装方法のご相談

SDK の制限事項

言語別に記載時点で判明している制限事項は以下の通りです。

AssemblyScript

  • 標準ライブラリに含まれる関数の一部が利用できません。これはランタイム側のサポートが必要なためです。現時点で判明している関数は以下の通りです。
  • サンプルとして提供している JSON Encoder / Decoder は日本語を使用できません。必要に応じて実装してください。

TinyGo

  • SORACOM Orbit の実行環境は TinyGo の JS ランタイム (syscall/js.*) に依存する WASM モジュールを実行できません。たとえば fmt パッケージを使用していると Soralet へアップロードする際に unknown import function: env.syscall/js.valueGet (SLM1011) のようなエラーとなります。
    • ビルドした WASM モジュールが syscall/js.* に依存しているかは development container にインストールされている wasm2wat コマンドを使って確認できます。例: wasm2wat build/soralet.wasm | grep 'import "env" "syscall/js.'
    • Using WebAssembly も参照してください。
  • json パッケージは TinyGo によりサポートされていないため利用できません。利用可能なパッケージは Packages supported by TinyGo を参照してください。SDK では JSON を使用するために以下のライブラリを使用しています。