Cloud Firestore REST API 사용

Cloud Firestore를 사용하는 가장 쉬운 방법은 기본 클라이언트 라이브러리 중 하나를 사용하는 것이지만, 경우에 따라서는 REST API를 직접 호출하는 방법이 유용할 수 있습니다.

다음과 같은 사용 사례에서는 REST API가 유용할 수 있습니다.

  • 사물 인터넷(IoT) 기기와 같이 리소스가 제한되어 전체 클라이언트 라이브러리를 실행할 수 없는 환경에서 Cloud Firestore에 액세스할 때
  • 데이터베이스 관리를 자동화하거나 상세한 데이터베이스 메타데이터를 검색할 때

gRPC 지원 언어를 사용한다면 REST API 대신 RPC API를 사용해 보세요.

인증 및 승인

인증을 위해 Cloud Firestore REST API가 Firebase 인증 ID 토큰이나 Google ID OAuth 2.0 토큰을 허용합니다. 개발자가 제공한 토큰이 요청의 승인에 영향을 미칩니다.

  • 애플리케이션 사용자의 요청을 인증하려면 Firebase ID 토큰을 사용합니다. 이러한 요청의 경우 Cloud Firestore가 요청이 승인되었는지 확인하기 위해 Cloud Firestore 보안 규칙을 사용합니다.

  • 데이터베이스 관리를 위한 요청과 같은 애플리케이션의 요청을 인증하려면 Google ID OAuth 2.0 토큰과 서비스 계정을 사용합니다. 이러한 요청의 경우 Cloud Firestore가 요청이 승인되었는지 확인하기 위해 Cloud ID 및 액세스 관리(IAM)를 사용합니다.

Firebase ID 토큰 다루기

두 가지 방법으로 Firebase ID 토큰을 획득할 수 있습니다.

사용자의 Firebase ID 토큰을 가져오면 사용자를 대신하여 요청할 수 있습니다.

Firebase ID 토큰으로 인증한 요청과 인증되지 않은 요청의 경우 Cloud Firestore가 요청이 승인되었는지 확인하기 위해 Cloud Firestore 보안 규칙을 사용합니다.

Google ID OAuth 2.0 토큰 다루기

Google API 클라이언트 라이브러리서비스 계정을 사용하거나 서버 애플리케이션에 서버용 OAuth 2.0 사용에 나온 단계에 따라 액세스 토큰을 생성할 수 있습니다. gcloud 명령줄 도구와 gcloud auth print-access-token 명령어로도 토큰을 생성할 수 있습니다.

Cloud Firestore REST API로 요청을 보내려면 토큰의 범위가 다음과 같아야 합니다.

  • https://www.googleapis.com/auth/datastore

서비스 계정과 Google ID OAuth 2.0 토큰으로 요청을 인증하면 Cloud Firestore는 개별 사용자 대신 애플리케이션을 대신하여 요청하는 것이라고 간주합니다. Cloud Firestore에서 이러한 요청이 보안 규칙을 무시할 수 있습니다. 이 대신 Cloud Firestore가 요청이 승인되었는지 확인하기 위해 Cloud ID 및 액세스 관리(IAM)를 사용합니다.

Cloud Firestore IAM 역할을 할당하여 서비스 계정의 액세스 권한을 제어할 수 있습니다.

액세스 토큰으로 인증

Firebase ID 토큰이나 Google ID OAuth 2.0 토큰을 획득한 후 Bearer {YOUR_TOKEN}으로 설정한 Authorization 헤더로 Cloud Firestore 엔드포인트에 전달합니다.

REST 호출

모든 REST API 엔드포인트는 기본 URL https://firestore.googleapis.com/v1beta1/에 존재합니다.

YOUR_PROJECT_ID 프로젝트의 컬렉션 cities에서 ID가 LA인 문서의 경로를 만들려면 다음과 같은 구조를 사용합니다.

/projects/YOUR_PROJECT_ID/databases/(default)/documents/cities/LA

이 경로와 상호작용하려면 기본 API URL과 결합합니다.

https://firestore.googleapis.com/v1beta1/projects/YOUR_PROJECT_ID/databases/(default)/documents/cities/LA

REST API 실험에 가장 좋은 방법은 API Explorer를 사용하는 것입니다. 자동으로 Google ID OAuth 2.0 토큰이 생성되어 API를 검사할 수 있습니다.

메소드

다음은 가장 중요한 메소드 그룹 두 가지에 대한 간단한 설명입니다. 전체 목록은 REST API 참조 또는 APIs Explorer를 참조하세요.

v1beta1.projects.databases.documents

문서에 대해 CRUD 작업을 수행합니다. 데이터 추가 또는 데이터 가져오기 가이드에서 설명하는 방법과 유사합니다.

v1beta1.projects.databases.indexes

색인 새로 만들기, 기존 색인 사용 중지, 현재 색인 모두 나열과 같은 색인 관련 작업을 수행합니다. 데이터 구조 이전을 자동화하거나 프로젝트 간에 색인을 동기화하는 데 유용합니다.

또한 특정 문서의 모든 필드나 하위 컬렉션 목록과 같은 문서 메타데이터를 검색할 수 있습니다.

다음에 대한 의견 보내기...

도움이 필요하시나요? 지원 페이지를 방문하세요.