리전 ID
REGION_ID
는 앱을 만들 때 선택한 리전을 기준으로 Google에서 할당하는 축약된 코드입니다. 일부 리전 ID는 일반적으로 사용되는 국가 및 주/도 코드와 비슷하게 표시될 수 있지만 코드는 국가 또는 주/도와 일치하지 않습니다. 2020년 2월 이후에 생성된 앱의 경우 REGION_ID.r
이 App Engine URL에 포함됩니다. 이 날짜 이전에 만든 기존 앱의 경우 URL에서 리전 ID는 선택사항입니다.
리전 ID에 대해 자세히 알아보세요.
인증된 사용자 정보를 사용하여 사용자별 데이터를 저장 및 검색하고 웹 서비스를 통해 각 사용자의 환경을 맞춤설정하세요.
이전 단계에서는 모든 사용자의 최근 10개 요청을 표시하도록 웹 서비스를 업데이트했습니다. 이 단계에서는 인증된 사용자 정보를 사용하여 웹 서비스를 업데이트하므로 페이지에 현재 인증된 사용자가 한 최근 10개의 요청 목록만 표시됩니다.
시작하기 전에
이 가이드의 이전 단계를 모두 완료했다면 이 섹션을 건너뜁니다. 그렇지 않으면 다음 중 하나를 완료합니다.
Python 3 앱 빌드부터 시작하여 여기까지의 모든 단계를 완료합니다.
Google Cloud 프로젝트가 이미 있다면 웹 서비스 복사본을 다운로드하고 Firebase를 추가하여 계속 진행할 수 있습니다.
사용자별 데이터 저장 및 검색
Datastore 데이터를 계층 구조로 구성할 수 있는 Datastore 모드의 Firestore(Datastore) 상위 항목을 사용하여 데이터가 특정 사용자와 연관되어 있음을 나타낼 수 있습니다.
이렇게 하려면 다음 단계를 완료해야 합니다.
Datastore 상위 항목을 사용하여
visit
항목을 저장하고 검색하도록store_time
및fetch_time
메서드를 업데이트합니다.이제 각
visit
항목에 상위 항목이 연결되었습니다. 이러한 상위 항목은 인증된 개별 사용자를 나타내는 Datastore 항목입니다. 각 상위 항목의 키에는User
종류와 인증된 사용자의 이메일 주소인 커스텀 ID가 포함됩니다. 상위 항목 키를 사용하여 특정 사용자와 관련된 시간만 데이터베이스에 쿼리합니다.root
메서드에서store_times
메서드 호출을 업데이트하여 서버가 사용자를 인증한 경우에만 실행되도록id_token
조건부 안으로 옮깁니다.
색인 구성
Datastore는 색인을 기준으로 쿼리를 작성합니다. 간단한 항목의 색인은 Datastore가 자동으로 생성합니다. 하지만 상위 항목이 있는 항목 등, 복잡한 항목에 대한 색인은 자동으로 생성되지 않습니다.
따라서 Datastore가 visit
항목과 관련된 쿼리를 수행할 수 있도록 visit
항목에 대한 색인을 수동으로 만들어야 합니다.
visit
항목의 색인을 만들려면 다음 단계를 완료합니다.
프로젝트의 루트 디렉터리(예:
building-an-app
)에index.yaml
파일을 만들고 다음 색인을 추가합니다.다음 명령어를 실행하고 표시되는 메시지에 따라 Datastore에
index.yaml
색인을 배포합니다.gcloud datastore indexes create index.yaml
Datastore가 색인을 만드는 데 다소 시간이 걸릴 수 있습니다. App Engine에 웹 서비스를 배포하기 전에 색인을 생성하면 이러한 색인을 사용하여 로컬에서 테스트를 할 수 있고, 아직 생성 중인 색인을 필요로 하는 쿼리에서 발생할 수 있는 예외도 방지할 수 있습니다.
Datastore 색인을 만드는 방법에 대한 자세한 내용은 Datastore 색인 구성을 참조하세요.
웹 서비스 테스트
가상 환경에서 로컬로 실행하여 웹 서비스를 테스트합니다.
프로젝트의 기본 디렉터리에서 다음 명령어를 실행하여 웹 서비스를 실행합니다. 로컬 테스트용으로 가상 환경을 설정하지 않은 경우 웹 서비스 테스트를 참조하세요.
python main.py
웹브라우저에 다음 주소를 입력하여 웹 서비스를 확인합니다.
http://localhost:8080
웹 서비스 배포
Datastore가 로컬에서 작동하므로 이제 웹 서비스를 App Engine에 다시 배포할 수 있습니다.
app.yaml
파일이 있는 프로젝트의 루트 디렉터리에서 다음 명령어를 실행합니다.
gcloud app deploy
모든 트래픽이 배포된 새 버전으로 자동 라우팅됩니다.
버전 관리에 대한 자세한 내용은 서비스 및 버전 관리를 참조하세요.
서비스 보기
브라우저를 빠르게 실행하고 https://PROJECT_ID.REGION_ID.r.appspot.com
에서 웹 서비스에 액세스하려면 다음 명령어를 실행합니다.
gcloud app browse
다음 단계
수고하셨습니다. Datastore 데이터 스토리지 및 Firebase 인증을 사용하여 인증된 사용자에게 맞춤설정된 웹페이지를 제공하는 웹 서비스를 성공적으로 빌드했습니다.
이제 프로젝트를 종료, 비활성화하거나 프로젝트에 대한 청구를 사용 중지하여 정리하면 됩니다.