apstndb
apstndb
We can't know what type of credentials is selected by Application Default Credentials without parsing `google.Credentials.JSON` but `credentialType` struct is not exported. If `type` field is exported at `google.Credentials`, it...
Documentation: Cloud Firestore Datastore mode https://cloud.google.com/datastore/docs/concepts/transactions?hl=en#read-only_transactions Cloud Datastore https://cloud.google.com/datastore/docs/concepts/cloud-datastore-transactions?hl=en#uses_for_transactions Library support(App Engine Datastore and Cloud Datastore): https://pkg.go.dev/google.golang.org/[email protected]/datastore#TransactionOptions https://pkg.go.dev/cloud.google.com/go/[email protected]#TransactionOption
「詳解 google-cloud-go/spanner」 では google-cloud-go v0.38.0 の時点でのセッションとトランザクション周りを解説している。 それからの間に多くの更新があるため、リリースごとにメモしていく。 なお、 `all: auto-regenerate gapics` などの自動生成クライアントの更新による差分、 `spansql`, `spannertest`, その他テスト周りの更新のみの差分については記載しない。 下記は差分を `spanner` 以下の変更だけに絞って読む方法の一例 ``` $ TIG_DIFF_OPTS=--ignore-space-change tig v0.38.0...spanner/v1.4.0 -- spanner ``` ## Refs https://medium.com/google-cloud-jp/%E8%A9%B3%E8%A7%A3-google-cloud-go-spanner-%E3%83%88%E3%83%A9%E3%83%B3%E3%82%B6%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E7%B7%A8-6b63099bd7fe https://medium.com/google-cloud-jp/%E8%A9%B3%E8%A7%A3-google-cloud-go-spanner-%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E7%AE%A1%E7%90%86%E7%B7%A8-d805750edc75
#127 を踏まえて `spanner/v1.5.0` 時点におけるセッション周りの設定の検討事項について書く。なお特に検証はしていないため正しさは保証しない。 ## SessionPoolConfig https://pkg.go.dev/cloud.google.com/go/spanner?tab=doc#SessionPoolConfig ### MaxOpened ``` // MaxOpened is the maximum number of opened sessions allowed by the session // pool. If the client tries to...
# Cloud Spanner Query Optimizer ## Document Link https://cloud.google.com/spanner/docs/query-optimizer/overview?hl=en https://cloud.google.com/spanner/docs/query-optimizer/manage-query-optimizer?hl=en ## 好きなところ * `@{OPTIMIZER_VERSION=...}` Statement Hint として設定可能なところ * 各バージョンでの更新内容がドキュメンテーションされているところ ## ユースケース (optional) 以前は最適化されなかったけど今では最適化されるからこれからは書き方をして良い、という話をしやすくなった。 ## 更に欲しい機能 (optional) 各最適化についてテストケースを用意してほしい。
`gcloud app deploy` などは処理が止まっていないことを示すためにアニメーションをするが、 CI のログではカーソルを戻せずに酷いことになる。 標準入力が PTY 以外になるようにリダイレクトすれば単に `.` が増えていく表示になるので、 ``` $ gcloud app deploy --quiet < /dev/null ``` のようにすれば良い。
なんだか承認済みビュー自体があまり知られていない感じがあるので、ユースケースをまとめてみたい - データセットの一部のテーブルだけ共有する - 顧客 ID などの特定の値を使ってテーブルの一部を他のデータセットに共有する(マルチテナントパターン) - `SESSION_USER()` を使って細かい権限設定をする ## refs - https://cloud.google.com/bigquery/docs/share-access-views?hl=en - https://cloud.google.com/bigquery/docs/authorized-views?hl=en - https://cloud.google.com/blog/products/gcp/busting-12-myths-about-bigquery - 邦訳記事 https://medium.com/google-cloud-jp/bigquery-%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%EF%BC%91%EF%BC%92%E3%81%AE%E8%AA%A4%E8%A7%A3%E3%81%AE%E7%9C%9F%E7%9B%B8%E3%82%92%E6%98%8E%E3%82%89%E3%81%8B%E3%81%AB%E3%81%99%E3%82%8B-1d7227cb05e4
GCP のドキュメントに関するバッドノウハウみたいな話はわりと頻出なのでまとまっていると良いのかもしれない、ということで少し書いてみた。 ### 日本語ドキュメントによくある問題 - 訳が適切でないことがある(今は改善されたが[無料階層](https://twitter.com/search?q=%22%E7%84%A1%E6%96%99%E9%9A%8E%E5%B1%A4%22)など) - ページ(サービス)の更新に追従できていなくて古い。下記のような致命的なものもある。 - リリースノートの項目が更新されていない - 既に GA になったものが日本語ドキュメントだと alpha と書かれているままだったりしたことがある - 課金体系の変更に追従していなかったりする - ドキュメント構成の変更に追従できていない - サイドバーのドキュメント構成が古いままで、新しいドキュメントにたどり着けないことがある ### サイドバーが表示されていないのはどういう状況か - 既にサイドバーに表示される目次からは削除されたドキュメントが残っていて検索などでヒットする場合がある。その際にはサイドバーが消えた状態になる。 - 2018年4月9日現在の例「[Compute Engine への...
あまり知られていないが App Engine Admin API の中には `gcloud app` や `appcfg.py` が内部的に呼ぶような API が含まれているだけでなく、コマンドラインから行うことができない機能も提供されている。 例えば下記のように [apps.services.versions.patch](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions/patch) を呼ぶと automatic scaling の `min_instances` を再デプロイなしで変更できる。 ``` $ curl -X PATCH "https://appengine.googleapis.com/v1/apps/${GAE_PROJECT}/services/${GAE_SERVICE}/versions/${GAE_VERSION}?updateMask=automaticScaling.standardSchedulerSettings.minInstances" \ -H "Authorization:...
Cloud PubSub を使ったソフトウェアの CI を Circle CI 2.0 上で [Google Cloud Pub/Sub Emulator](https://cloud.google.com/pubsub/docs/emulator?hl=en) でテストしたくなることがある。 emulator を [Secondary Container](https://circleci.com/docs/2.0/executor-types/#using-multiple-docker-images) として動かすことでわりとうまく行ったので共有する。 ここでは pubsub-emulator を使ったが、 cloud-datastore-emulator などの他のエミュレータでも同様にできるはず。 emulator が立ち上がる前にテストが始まると fail してしまうが sleep の時間を決めるのは大変なので...