- 運営しているクリエイター
#GCP
【GCS+Pub/Sub+K8s+CloudRun for Anthos】ファイルが追加されたらCloudRunのプログラムが動く仕組みを作るまとめ
GCSにファイルが入る→GCSの更新を検知してPub/Subメッセージが飛ぶ→メッセージを受信した、K8s上に載せたCloudRunForAnthosアプリケーションが動く、という一連の仕組みをリリースするまでの全手順まとめ。長い闘いになるぞ。
ところで、なぜmanagedのCloudRunじゃなくてCloudRunForAnthosを使うのかmanagedはお高いので経費削減。それがすべて。「
【CloudRun for Anthos】Dockerfileの設定とソースの内容をちゃんと合わせる
デプロイしたアプリがちゃんと起動しなくて、どうもDockerfileの中身がちゃんとわかってないのがいけなかったっぽいので、ちゃんとしたいと思います。
# Use the official lightweight Python image.# https://hub.docker.com/_/pythonFROM python:3.10-slim# Allow statements and lo
【GCP】VM上にWebサーバーを構築する、その2
VM借りてSQLサーバー設置した上に
Webサーバーも立てて
さてAPIをリリースしていきます。
ローカルでコードを書き書きする準備:
・プロジェクトフォルダ(yuccoとする)を作って、GitHubに公開しておく。
・プロジェクトフォルダ内に仮想環境を作っておく
・仮想環境フォルダを.gitignoreに登録してgitの管理から外しておく
# server.pyfrom flask im
【GCP】VM上にWebサーバーを構築する、その1
とりあえず、Flask+Nginxを使ってwebサーバーを構築して、HTTPSアクセスを通すところまで。
世間にある記事の多くが、サーバーインストールして「はいデフォルトページ表示できたね、おーわりっ」で終わってしまって困ったので、そのサーバー上にAPIをgitHub経由でデプロイするところまでメモを残しておきます。
VMを用意するこの記事で用意したVMの上にWebサーバーも載っけます。
HT
【GCP】VM借りてそこにMySQLサーバーを立ててみる
という訳で挑戦していきます。
1・GCPプロジェクトを立てます立てます。今回は既に立ててあるプロジェクトを使います。
2・ComputeEngineAPIをオンにして、VMインスタンスを作成します。
インスタンスの作成ボタンはGUIを見ればどーんと書いてあるので簡単です。
インスタンスの設定がちょっと分かりづらいですが、とりあえず下記の設定で立ててみます。
OSをUbuntsにしたのは社内
GCP上に乗っかってるマイクロサービスの諸々の設定をちみちみ確認する
「CloudStorageにファイルが入ったらー、Pub/Subが飛んでー、CloudRunが動いてー、それがまたPub/Sub飛ばしてー、API叩いてー……」みたいな構成になっている一連の処理が、ちゃんと思った通りの設定になっているか確認したい。でも、確認方法がサービスによって様々なので、いっこずつ彷徨う羽目になりました。
というわけで、主要なところのまとめ。
CloudStorageにファ
【BigQuery】標準SQLで日付処理をする
わたしへ。忘れてたでしょ。わたしより。
きも。・日付を扱うための型として、timestamp型と、datetime型がある。timestamp型は年-月-日-時-分-秒まで扱えるが、datetime型は日まで。混同しない。
・日付計算にはDATETIME_SUB(datetime('地域名'),INTERVAL n DAY)を使う
・TIMESTAMP(datetime,"地域名")で、da
【GCP】CloudStorageにファイルが入ったらPub/Subに通知をする設定の仕方
わたしへ
どうせまた公式ドキュメントの場所から忘れるんでしょう
わたしより
とにかくここを読め。Pub/Sub Notifications for Cloud Storage の使用法 | Google Cloud
準備・Pub/Subにトピック立てる権限とメッセージパブリッシュする権限を貰っておく
・監視するバケットに対するstorage.buckets.update 権限を貰っておく
【GCP+Python3】CloudRunにPub/Subで起動するアプリを乗っけたい
わたしへ。
どうせ忘れるでしょうから、まとめておきましたよ。
わたしより。
まず見るところはココクイックスタート
クイックスタート: ビルドとデプロイ | Cloud Run のドキュメント | Google Cloud
Pub/Subで起動するアプリの作り方
Cloud Run チュートリアルで Pub/Sub を使用する | Cloud Run のドキュメント | Go
【GCP+Python3】Pub/Subトリガーで起動するCloudFunctionの作り方
自分で作ったサンプルプログラムすぐ見失うから。
やりたいこと何かでPub/Subが飛んできたらCloudFunctionが動いて、飛んできたデータを加工して別のStorage等に保存する仕組みを作りたい。
結論import base64import registdef main(event, context): """Background Cloud Function to be trig
【GCP】CloudStorageからファイルをダウンロードする有効期限付きリンク(署名つきURL)を発行する
「GCSに放り込んだファイルのダウンロードURLが欲しいだけなのに」と丸一日ネットの海を彷徨ったので、記録を残しておきます
やりたいこと集計結果をCloudStorageへぽんぽん放り込んでおいて、それを他の人に見て貰いたいけど、いちいちアカウント取って貰ってユーザーの権限設定して……とかが面倒な時に、「こっからDLできっから!」ってURLを渡したい。
※当然ながら、くれぐれも秘匿性の高い情報に