https://cloud.google.com/datastore/docs/store-query-data?hl=ja
https://qiita.com/kento_gm/items/0ae03a6fee989a53ed2f
https://cloud.google.com/datastore/docs/samples/datastore-basic-entity?hl=ja
https://cloud.google.com/datastore/docs/datastore-api-tutorial?hl=ja
https://cloud.google.com/docs/authentication/provide-credentials-adc?hl=ja
[1]Cloud Firestore (ネイティブ モードの Firestore)
モバイルアプリとウェブアプリに推奨します。
[2]Cloud Datastore (Datastore モードの Firestore)
バックエンド サーバーを使用するアプリ アーキテクチャに推奨します。
プロジェクト毎にどちらか一方しか使用できない
いずれも単独で削除はできない模様。
削除するためにはプロジェクトを削除する必要がある
今回は[2]を使用する
-- 1. 前作業
gcloud init
gcloud auth list
gcloud --version
gcloud projects create project01-9999999 \
--name="project01"
gcloud projects list
gcloud config list
gcloud config set project project01-9999999
gcloud config set compute/region asia-northeast1 --quiet
gcloud config set compute/zone asia-northeast1-a --quiet
gcloud beta billing accounts list
gcloud beta billing projects link project01-9999999 --billing-account=111111-111111-111111
gcloud services enable compute.googleapis.com --project project01-9999999
gcloud components update
-- 2. データベース作成
gcloud app create
gcloud datastore databases create --region=asia-northeast1
※Google App Engineを事前に作成しないと下記エラーとなる
ERROR: gcloud crashed (AppEngineAppDoesNotExist): You must first create a Google App Engine app by running:
-- 3. データを保存する
gcloud auth application-default login
pip3 install --upgrade google-cloud-datastore
python3
from google.cloud import datastore
client = datastore.Client()
task = datastore.Entity(client.key("Task"))
task.update(
{
"category": "Personal",
"done": False,
"priority": 4,
"description": "Learn Cloud Datastore",
}
)
client.put(task)
-- 4. クエリの実行
query = client.query(kind="__kind__")
query.keys_only()
kinds = [entity.key.id_or_name for entity in query.fetch()]
kinds
-- 5. クリーンアップ
gcloud projects list
gcloud projects delete project01-9999999