関数構成ファイル
Atlas Device Sync、Atlas Edge Server、Data API、HTTPS endpoints は非推奨です。 詳細 については、 の廃止ページを参照してください。
注意
このページでは、レガシー構成ファイル形式について説明します。 非推奨の realm-cli
を使用している場合にのみ、この情報を使用する必要があります。
App Services CLI を使用してプルする構成ファイル、または UI からエクスポートする構成ファイルには、最新の構成バージョンが使用されます。 現在の構成ファイル形式の詳細については、 「アプリ構成」 を参照してください。
app/ └── functions/ ├── config.json └── <function>.js
関数マニフェスト
アプリ内のすべての関数には、関数マニフェスト ファイルに対応するメタデータのエントリがあります: /functions/config.json
。
Tip
Atlas App Services は、構成がまだ定義されていない場合、インポート時にマニフェストに関数を自動的に追加します。 デフォルト設定で問題がなければ、関数の構成の定義をスキップして、Atlas App Services がそれを行うことができます。 次回 アプリをエクスポートまたはプルするときに、マニフェストには生成された構成が含まれます。
functions/config.json
[ { "name": "<Function Name>", "private": <Boolean>, "can_evaluate": { <JSON Expression> }, "disable_arg_logs": <Boolean>, "run_as_system": <Boolean>, "run_as_user_id": "<App Services User ID>", "run_as_user_id_script_source": "<Function Source Code>" }, ... ]
フィールド | 説明 |
---|---|
name String | 関数の名前。 名前はソースコード ファイルのファイル名と一致し、アプリケーション内のすべての関数間で一意である必要があります。 |
private Boolean | true の場合、この関数は他の関数または%function ルール式でのみ呼び出されます。 クライアント アプリケーションから、または SDK を使用してプライベート関数を直接呼び出すことはできません。 |
can_evaluate JSON Expression (default: true ) | 関数の実行が許可されている場合は true と評価されるJSON 式。 App Services は受信リクエストごとにこの式を評価します。 |
disable_arg_logs Boolean | true の場合、Atlas App Services は関数の実行ログ エントリから関数に提供された引数を省略します。 |
run_as_system Boolean | true の場合、この関数は システムユーザー として実行されます。 これにより、 run_as_user_id とrun_as_user_id_script_source に定義された値がすべて上書きされます。 |
run_as_user_id String | 関数が常に実行されるApp Services ユーザーの一意の ID。 run_as_user_id_script_source とは併用できません。 |
run_as_user_id_script_source String |
関数ソースコード
関数のソースコードは、ファイル名として関数名を使用する/functions
ディレクトリ内の.js
ファイルで定義します。 各ファイルは、リクエストで関数が呼び出されるたびに実行されるメイン関数をエクスポートする必要があります。
重要
すべての関数ソースコード ファイルは/functions
ディレクトリにある必要があります。
<function name>/functions/[関数名]>.js
exports = function addOne(input) { if(typeof input !== "number") { throw new Error("You must call addOne() with a number"); } return input + 1; };