Google Cloud CLI를 사용하여 애플리케이션을 로컬에서 테스트하고 프로덕션 Datastore 모드 Firestore 인스턴스의 색인을 관리할 수 있습니다. 이 페이지에서는 이러한 활동의 일반적인 워크플로를 설명합니다.
gcloud CLI는 다음과 같은 워크플로를 지원합니다.
- 디렉터리, 필수 파일, 프로젝트 ID를 포함하여 Datastore 인스턴스에 대한 로컬 지원을 만듭니다.
- 프로덕션 Datastore 환경의 로컬 에뮬레이션을 제공하는 Datastore 에뮬레이터를 시작합니다.
- 에뮬레이터에 대한 애플리케이션 쿼리에서 색인 정의를 생성합니다.
- 수동으로 생성된 색인 정의를 프로덕션 데이터베이스 인스턴스에 업로드합니다.
- 프로덕션 데이터베이스 인스턴스에서 사용하지 않는 색인을 삭제합니다.
명령줄 도구를 사용한 개발 워크플로
gcloud CLI를 사용한 일반적인 워크플로는 다음과 같습니다.
애플리케이션에서 에뮬레이터를 사용하는 사실을 알 수 있도록 환경 변수를 설정합니다.
애플리케이션을 시작하고 에뮬레이터를 대상으로 테스트합니다. 프로덕션 데이터베이스 인스턴스의 색인을 생성하려면 애플리케이션에서 에뮬레이터에 대해 사용할 쿼리를 실행해야 합니다.
다음 예시와 같이 로컬
index.yaml
파일의 경로를 전달하고indexes create
명령어로 생성된 색인을 업로드합니다.gcloud datastore indexes create ~/.config/gcloud/emulators/datastore/WEB-INF/index.yaml
예시 경로는
data-dir
옵션에 특정 디렉터리를 설정하지 않았다고 가정합니다. 특정 디렉터리를 설정했으면index.yaml
파일의 경로를 사용하도록 경로를 수정합니다.환경 변수를 삭제하여 애플리케이션에서 프로덕션 데이터베이스 인스턴스를 사용 중이라는 것을 알 수 있도록 합니다.
프로덕션 데이터베이스 인스턴스에 대해 애플리케이션을 실행합니다.
시간이 지나면 더 이상 일부 색인을 사용할 수 없게 됩니다. 로컬
index.yaml
파일에서 사용하지 않는 색인을 삭제한 후indexes cleanup
명령어를 호출하여 프로덕션 데이터베이스 인스턴스에서 사용하지 않는 색인을 삭제할 수 있습니다.gcloud datastore indexes cleanup ~/.config/gcloud/emulators/datastore/WEB-INF/index.yaml
data-dir
옵션에서 특정 디렉터리를 설정한 경우index.yaml
파일의 경로를 사용하도록 예시의 경로를 수정합니다.