함수 구성 파일
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
.
팁
Atlas App Services는 아직 구성이 정의되지 않은 경우 가져올 때 매니페스트에 함수를 자동으로 추가합니다. 기본 설정을 사용하는 경우 함수에 대한 구성 정의를 건너뛰고 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 인 경우 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 | 함수가 호출될 때마다 실행되고 함수가 실행되는 App Services 사용자 의 고유 ID를 반환하는 문자열화된 함수 입니다. run_as_user_id 와 함께 사용할 수 없습니다. |
함수 소스 코드
함수 이름을 파일 이름으로 사용하는 /functions
디렉토리 내의 .js
파일에 함수의 소스 코드를 정의합니다. 각 파일은 요청이 함수를 호출할 때마다 실행되는 메인 함수를 내보내야 합니다.
중요
모든 함수 소스 코드 파일은 /functions
디렉토리에 있어야 합니다.
/functions/<function name>.js
exports = function addOne(input) { if(typeof input !== "number") { throw new Error("You must call addOne() with a number"); } return input + 1; };