HTTP 서비스 [사용 중단됨]
중요
타사 서비스 & 푸시 알림 사용 중단
App Services의 타사 서비스 및 푸시 알림은 함수에서 외부 종속성을 사용하는 HTTP 엔드포인트를 만들기 위해 더 이상 사용되지 않습니다.
웹훅은 동작에 대한 변경 없이 HTTPS 엔드포인트로 이름이 변경되었습니다. 기존 웹훅을 마이그레이션해야 합니다.
기존 서비스는,9월까지 30 계속2025 작동합니다.
타사 서비스 및 푸시 알림은 이제 더 이상 사용되지 않으므로 App Services UI에서 기본적으로 제거되었습니다. 기존 타사 서비스 또는 푸시 알림을 관리해야 하는 경우 다음을 수행하여 구성을 UI에 다시 추가할 수 있습니다.
왼쪽 탐색의 Manage 섹션에서 App Settings를 클릭합니다.
Temporarily Re-Enable 3rd Party Services 옆의 토글 스위치를 활성화한 다음 변경 사항을 저장합니다.
개요
Atlas App Services HTTP Service는 REST API를 제공하는 서비스 등 HTTP를 통해 사용할 수 있는 모든 서비스와 통신할 수 있는 일반 인터페이스입니다. 이는 App Services에 사용자 지정 서비스가 내장되어 있지 않은 서비스를 사용해야 할 때 유용합니다.
아웃바운드 HTTP 요청 을 보내려면 HTTP 작업 중 하나를 호출합니다.
외부 서비스에서 들어오는 요청을 처리하다 하려면 들어오는 웹훅을 구성하고 가능한 경우 서비스에 제공합니다. 예시 는 이 페이지의 수신 웹훅 섹션을 참조하세요.
구성 매개변수
HTTP Service를 생성할 때 다음 매개변수에 대한 값을 제공해야 합니다.
{ "name": "<Service Name>", "type": "http", "config": {} }
Parameter | 설명 |
---|---|
Service Name config.name | 이 HTTP Service의 이름입니다. 이는 애플리케이션의 다른 모든 서비스 인터페이스와 구별되어야 합니다. |
서비스 조치
App Services 의 HTTP Service 는 함수 및 SDK에서 호출할 수 있는 다음 조치를 제공합니다. 각 조치 은 표준 HTTP 요청 메서드에 매핑됩니다.
HTTP 서비스 작업 사용에 대한 지침은 서비스 작업 호출을 참조하세요.
참고
서비스 작업을 호출하려면 먼저 서비스 규칙 에서 서비스 작업을 활성화해야 합니다.
작업 | 설명 |
---|---|
HTTP GET 전송 요청. | |
HTTP POST 보내기 요청. | |
HTTP PUT 보내기 요청합니다. | |
HTTP 패치 보내기 요청합니다. | |
HTTP DELETE 전송 요청. | |
HTTP HEAD 보내기 요청합니다. |
수신 Webhooks
참고
HTTP Webhooks를 엔드포인트로 변환
HTTP Service 웹훅은 더 이상 사용되지 않으며 사용자 지정 HTTPS endpoints가 사용됩니다. 클릭 한 번으로 기존 웹훅을 엔드포인트로 자동으로 마이그레이션할 수 있습니다. 방법을 알아보려면 웹훅을 HTTPS 엔드포인트로 변환을 참조하세요.
구성
HTTP 수신 웹훅을 구성 할때 다음 형식의 구성 파일 을 제공해야 합니다.
{ "name": "<Webhook Name>", "can_evaluate": { <JSON Expression> }, "run_as_authed_user": <Boolean>, "run_as_user_id": "<App Services User ID>", "run_as_user_id_script_source": "<Function Source Code>", "respond_result": <Boolean>, "fetch_custom_user_data": <Boolean>, "create_user_on_auth": <Boolean>, "options": { "httpMethod": "<HTTP Method>", "validationMethod": "<Webhook Validation Method>", "secret": "<Webhook Secret>" } }
구성 값 | 설명 |
---|---|
Webhook Name name | 필수입니다. 웹훅의 이름입니다. 참고HTTP Service 인터페이스에서 수신되는 각 웹훅은 고유한 이름을 가져야 합니다. |
Respond With Result respond_result | 필수입니다. true 인 경우 App Services는 웹훅을 호출한 클라이언트에 응답을 보냅니다. 응답 본문은 웹훅 함수의 반환 값이 됩니다. |
Run Webhook As run_as_user_id run_as_user_id_script_source | 선택 사항. 웹훅이 호출될 때 웹훅 함수를 실행하는 App Services 사용자 의 ID입니다.
|
HTTP Method options.httpMethod | HTTP 메서드 수신 웹훅 요청이 사용해야 합니다. 모든 메서드를 허용하도록 웹훅을 구성하거나 특정 메서드를 지정할 수 있습니다. 다음 메서드가 지원됩니다:
|
Request Validation options.validationMethod | 들어오는 요청에서 사용해야 하는 요청 유효성 검사 방법입니다. 다음과 같은 유효성 검사 유형이 지원됩니다:
|
Secret options.secret | Request Validation 이 활성화된 경우 이는 유효성 검사 시크릿입니다. |
요청 페이로드
App Services는 수신 웹훅 함수에 payload
문서를 첫 번째 인수로 자동으로 전달합니다. HTTP 서비스 수신 웹훅에서 payload
객체는 수신 HTTP 요청을 나타내며 다음과 같은 형식을 갖습니다.
{ "query": <query parameters>, "headers": <request headers>, "body": <request body (BSON)> }
필드 | 설명 | ||||
---|---|---|---|---|---|
query | 각 필드 가 쿼리 매개변수 에 해당하는 문서 웹훅 URL 에 포함된 외부 서비스입니다. 예시쿼리 매개변수
| ||||
headers | 각 필드 가 HTTP 헤더 에 해당하는 문서 웹훅 URL 에 포함된 외부 서비스입니다. 예시
| ||||
body | 요청 본문에서 인코딩된 BSON.Binary 객체입니다. 바이너리 객체를 문자열로 직렬화한 다음 문자열을 EJSON으로 구문 분석하여 요청 본문에 액세스할 수 있습니다.
|
웹훅 함수 예시
다음 웹훅 함수는 수신 데이터를 MongoDB collection에 삽입하고 응답 body
로 insertedId
을 반환합니다.
exports = function(payload, response) { const mongodb = context.services.get("mongodb-atlas"); const requestLogs = mongodb.db("test").collection("requestlogs"); requestLogs.insertOne({ body: EJSON.parse(payload.body.text()), query: payload.query }).then(result => { response.setStatusCode(201); response.setBody(result.insertedId); }) };