GCP
Overview ema-hiro.hatenablog.com 上記で書いた gRPC サーバーを local で立ち上げる方法を下に、local で起動したその gRPC サーバーを利用して pubsub の動作(今回は subscriber の動作)をエミュレートするテストを書いてみます。 local でテスト用の pu…
Overview Dead Letter Topic とは? Pub/Sub における DLT の設定方法 DLT に入ったメッセージを最初に回す方法 1つ目のパターンの場合 2つ目のパターンの場合 まとめ Overview Cloud Pub/Sub でトピックを立てて、メッセージの送受信を行うケースにおいて、…
Overview GCP の Container Registory が廃止されるので Artifact Registory に移行しました。 cloud.google.com 移行手順 以下のドキュメントに沿って進めました。 cloud.google.com なお、移行するときに Container Registory -> Artifact Registory へコ…
Overview 自前で OGP を生成する 何を使って画像を生成するか Next.js で用意されてる OGP 向けの機能を利用する Puppeteer を利用してキャプチャする ImageMagick を利用する 準備 ImageMagick での実装 補足 生成した画像の保存先 ビルド時に CloudFunctio…
Overview 準備 Cloud Run のデプロイ方法 環境変数を追加する 権限について 権限付与手順 サービスアカウントの作成と借用権限の設定 権限の追加 GitHub Actions の設定ファイル source からデプロイする場合 Docker Image からデプロイする場合 See Also Ov…
Overview テストを書くときにテストの実行前にデータを作成し、終わったら削除したくなる時がありますね?僕はあります。 Firestore が絡んだテストを書くときに Firestore Emulator を起動した状態で実際にデータを作成して、終わったら削除する場合の実装…
Overview タイトルの通りです。 gcloud components update したら python のバージョン違いで gcloud コマンドが動かなくなったのでその解決方法について記載します。 エラーの内容 Traceback (most recent call last): File "/Users/$UserName/google-cloud…
Overview How to get started Install Deno Sample web server VSCode plugin Node Modules Working on docker Build & Run Deploy to Cloud Run Regionの指定 Setting Cloud Build Deploy コンテナを Cloud Registry に登録 Deploy to Cloud Run その他 pri…
サマリ Set up for Google Cloud SDK 予算のアラートを設定する その他 サマリ 仕事では AWS をメインで使ってるのもあって、GCP を最近全然いじらなくなっていたのですが、久しぶりにいじるかと思い立ったので、 GCP の環境を1からセットアップします。 Set…
Overview Update to Pyhon3 にて Goole Cloud SDKを同梱した Docker Image 本体にて Python2 のサポートが切られたために、Python2 系でのみ動作する App Engine を起動するコマンドの dev_appserver.py が動作せず、本家の Google Cloud SDK - Dockerfile …
別に目新しいこともないですが、Cloud Run の走りだけ使ってみたので雑な備忘録。 Docker image を用意して gcr に上げる 起動したい Docker image を作成して gcr.io に上げておきます。 Cloud Run を起動するときは gcr.io 上に上がっている image のみ選…
業務でGoogle Cloud Strage にObjectをコピーするときの挙動について調べたのでまとめておきます。 GCSでのコピーは cloud.google.com/go/storage 配下にある copy.go に処理の中身が書いてあります。 github.com 実際にGCSでコピーをするときには以下のよう…
いつからかわかりませんが、localのコンソールからGCPの各サービスのAPIを叩くときに以下のエラーが出てAPIが叩けないと言うことがありました。 err: dialing: google: could not find default credentials. See https://developers.google.com/accounts/doc…
ふとした拍子に忘れてしまうappengineでの静的ファイルをサーブする設定についてのメモです。 内容はほぼ Serving Static Content | App Engine standard environment for Go | Google Cloud に載ってる内容です。 例えば以下のようなディレクトリ構成を考え…
AppEngine大好きっ子で1年近くAppEngineをPaaSに採用した環境で開発を行ってきた人間としてちょっと考えたことをつらつら書いてみます。 ※1 このエントリは今日(2018/09/21)同僚の人と色々話してた内容をベースにしてます。 ※2 あくまで個人の感想、というか…
goの標準 goでhttpの処理を書きたいときはnet/httpパッケージを使う。 強力なパッケージなので、基本これを使うで、やりたいことの殆どはまかなえてしまうと思う http.Get(url) package main import ( "fmt" "io/ioutil" "net/http" ) func main() { resp, e…
Go+GAEの環境でCloudDataStoreからデータを取得するときに Get() GetMulti() GetAll() の挙動の違いでハマったので備忘録として挙動をまとめておきます。 Datasotreのライブラリ datastore https://godoc.org/google.golang.org/appengine/datastore googlea…
GAEではmemcache一択 appengineのmemcacheパッケージを使ってみました。 リファレンスはこちら https://cloud.google.com/appengine/docs/standard/go/memcache/reference goでキャッシュを扱うときに最初 go-cache を使おうと思っていたのだけれど、GAEでキ…
GoogleCloudStrageでkey(RDBでいうところのprimarykey)をフックにしてentityをselectしようと思ったらちょっとハマったのでそのメモ 最初に書いたクエリ SELECT * FROM KIND_NAME where ID = 123 この形式ではentityを取得できない。 正しいクエリ SELECT * …