문서 메뉴
문서 홈
/ /
Atlas App Services

Atlas Data API

이 페이지의 내용

  • 엔드포인트
  • 데이터 API 작동 방식
  • Data API를 사용해야 하는 경우
  • 제약 조건

데이터 API는 표준 HTTPS 요청을 사용하여 Atlas에 저장된 데이터로 안전하게 작업할 수 있게 해 주는 관리형 서비스입니다. 데이터 API는 데이터베이스에 직접 연결되지 않습니다. 대신 이 API는 완전 관리형 미들웨어 서비스로서 클러스터와 요청을 전송한 클라이언트 사이에 적용됩니다.

다음을 포함하여 HTTPS를 지원하는 모든 플랫폼에서 데이터 API를 사용하여 MongoDB Atlas에 연결할 수 있습니다.

  • 웹 브라우저

  • 웹 서버

  • CI/CD 파이프라인

  • 서버리스 및 엣지 컴퓨팅 환경

  • 모바일 애플리케이션

  • IoT 장치

데이터 API를 사용하기 위해 데이터베이스 드라이버나 전용 라이브러리를 설치할 필요가 없습니다. 대신 다음과 같은 HTTPS requests를 전송합니다.

curl -s "https://data.mongodb-api.com/app/myapp-abcde/endpoint/data/v1/action/insertOne" \
-X POST \
-H "Content-Type: application/ejson" \
-H "Accept: application/json" \
-H "apiKey: TpqAKQgvhZE4r6AOzpVydJ9a3tB1BLMrgDzLlBLbihKNDzSJWTAHMVbsMoIOpnM6" \
-d '{
"dataSource": "mongodb-atlas",
"database": "learn-data-api",
"collection": "hello",
"document": {
"text": "Hello, world!"
}
}'
{ "insertedId": "63dc56ac74ddb86ed3eb8474" }

Data API는 2가지 유형의 엔드포인트를 지원합니다.

  • 데이터 API 엔드포인트는 각각 MongoDB 작업을 나타내는 자동으로 생성된 엔드포인트입니다. 엔드포인트를 사용하여 MongoDB 데이터 소스에서 문서를 작성, 읽기, 업데이트, 삭제 및 집계할 수 있습니다.

    엔드포인트를 설정하고 호출하는 방법 등 자세한 정보는 데이터 API 엔드포인트를 참조하세요.

  • 사용자 지정 엔드포인트는 사용자가 작성하는 Atlas Function에서 처리하는 앱별 API 경로를 말합니다. 사용자 지정 엔드포인트를 사용해 사용 사례에 맞는 작업을 정의할 수 있습니다. 예를 들어, 사전 정의된 애그리게이션을 실행하거나, 외부 웹훅 서비스와 통합되는 엔드포인트를 생성할 수 있습니다.

    엔드포인트 생성 및 호출 방법 등 자세한 내용은 Custom HTTPS Endpoints(사용자 지정 HTTPS 엔드포인트)를 참조하세요.

Data API 요청은 find 또는 insertOne과 같은 기존 데이터베이스 작업과 유사할 수 있지만, Data API는 데이터베이스에 직접 연결되지 않습니다. 대신 Data API는 추가 인증, 권한 부여, 정확성 검사를 추가해 사용자가 허용하는 방식으로만 데이터에 액세스하거나 수정할 수 있도록 합니다. 이러한 방식을 통해 웹 앱과 같이 잠재적으로 취약한 클라이언트에서 Atlas의 데이터에 안전하게 액세스할 수 있습니다.

들어오는 각각의 요청에 대해 Data API는 다음을 수행합니다.

  1. 호출 사용자를 인증합니다. 여기에는 액세스 토큰의 유효성을 검사하거나, 헤더 자격 증명을 사용하여 로그인하거나, 구성에 따라 특정 런타임 사용자를 직접 할당하는 방법이 포함될 수 있습니다.

  2. 요청을 승인합니다. 이렇게 하면 사용자가 올바른 형식의 요청을 보냈고 엔드포인트 권한 부여 체계에 따라 요청된 작업을 수행할 수 있는 권한이 있는지 확인할 수 있습니다.

  3. 요청된 작업을 실행합니다. 여기에는 생성된 엔드포인트를 사용하여 Atlas의 데이터를 읽거나 쓰는 작업, 혹은 사용자가 작성한 사용자 지정 함수를 호출하는 작업이 포함될 수 있습니다.

    Atlas에서 데이터를 읽거나 쓰는 요청의 경우 데이터 API는 앱에 정의된 액세스 제어 규칙과 문서 스키마도 시행합니다. 즉, 사용자는 읽기 및 쓰기가 허용된 데이터에만 액세스할 수 있습니다. 요청에 잘못된 쓰기 작업이 포함되어 있으면 요청이 실패합니다.

  4. 호출자에게 HTTPS 응답을 반환합니다. 응답에는 생성된 엔드포인트 작업의 결과나 사용자 지정 엔드포인트에서 반환한 모든 데이터가 포함됩니다. 요청에서 JSON 또는 EJSON 형식으로 응답을 받도록 선택할 수 있습니다.

서버 애플리케이션, 특히 부하가 많고 지연 시간에 민감한 사용 사례의 경우, MongoDB 드라이버를 사용하여 Atlas에 직접 연결하는 것이 좋습니다. 데이터 API 엔드포인트를 통해 호출되는 작업은 드라이버를 통해 호출되는 해당 MongoDB 작업보다 완료하는 데 시간이 더 오래 걸립니다. 또한 드라이버는 작업 실행 방법에 대한 더 많은 유연성과 제어 기능을 제공합니다. 자세한 내용은 MongoDB 드라이버 설명서를 참조하세요.

데이터 API는 다음과 같은 경우에 사용하는 것이 좋습니다.

  • 신뢰할 수 없는 웹 애플리케이션이나 다른 클라이언트에서 MongoDB 작업을 실행하려고 합니다.

  • 서버 측 환경에서 MongoDB 드라이버를 관리할 수 없거나 관리하고 싶지 않은 경우. 예를 들어, 일부 엣지 컴퓨팅 환경은 데이터베이스 드라이버나 연결 풀링을 지원하지 않습니다.

  • 새로운 기능을 개발하고 싶고 클라이언트 측에서 먼저 작업한 후 나중에 API 계층을 만들고 다듬을 수 있는 유연한 솔루션을 원할 경우.

  • Atlas 데이터 액세스를 연합 API 게이트웨이에 통합하려고 합니다.

  • 현재 Atlas Device SDK에서 지원하지 않는 환경에서 App Services에 연결하려고 하며 드라이버를 사용하여 유선 프로토콜을 통해 연결하고 싶지는 않습니다.

데이터 API 요청 및 응답에는 다음과 같은 제약 조건이 적용됩니다.

  • 요청은 런타임 300 초 후에 시간 초과됩니다.

  • 데이터 API 응답 페이로드의 크기는 350 MB로 제한됩니다.

← 에지 서버 모니터링