notebook

都内でWEB系エンジニアやってます。

GoogleCloudPlatform

CloudMonitoringでアラートを作成しSlackへ通知する

GCPでの通知でSlackが連携先として追加できるようになったみたいなのでちょっと触ってみるためにCloudMonitoringと合わせて使ってみた 流れ やることは以下 通知先の設定 GUIでSlack連携の設定 terraform import Alert Policyの設定 Monitoring指標の設定 GU…

Cloud LoggingからログデータをBigQueryへExportする

ログからBigQueryにExportできるのは知っていたのでとりあえず使ってみようかと思って触ってみたら思った以上に簡単だった Terraformで設定を定義する Terraformで表すとこんな感じ main.tf data "google_client_config" "current" { } iam.tf locals { logg…

GA3のデータをBigQueryに移す

本ブログで取っているGAの計測データをGA4に切り替えた(並行して数値は取得中) APIをたたくスクリプトを書いて集計してBigQueryに入れてDataPortalから日ごろのアクセスなどを見ているがGA4に完全移行するには過去のPVもやはり見たいよなーと思っていた GA4…

GCPのWorkflowsでBigQueryコネクタを使ってみる

掲題の通りWorkflowsにBigQueryコネクタが来たので使ってみる コネクタについてのドキュメントは下記 BigQuery API Connector Overview | ワークフロー | Google Cloud cloud.google.com 要はWorkflowsから他のGoogleCloud製品にアクセスするための仕組み 今…

BigQueryで重複を排除した最新レコードを取り出す

最近社内の勉強会でなるほどと思ったので試して備忘録として残しておく 色々調べた後だと頻出するイディオムだった感はある… BigQueryで重複を除いて最新状態のデータを出力する方法 データの取り込みもしくは入れ込む際にtimestampカラムを追加する timesta…

BigQuery+Dataportalでインタラクティブフィルタを活用する

プライベートでブログのPVなどを集計していて BigQueryにTwitterのエゴサやGoogleAnalyticsのPVなどを取り込んで、Dataportalから参照してグラフにして定期的に見るようにしている 記事についてのデータ(urlやタグ)はjsonで持っていてこちらもBigQueryに定期…

DataformでAPIからパイプラインを実行する

Dataformで個人プロジェクトのデータ整形を行ってみた そのときにAPIでパイプラインを実行したときのメモ REST API ドキュメントはこちら Use the REST API | Dataform docs.dataform.co まだREST API自体がBetaらしく今の段階ではプロダクション導入とかは…

GCPのCloud WorkflowsとCloud SchedulerでTogglの前日読書時間を自動でPixelaに記録する

今回の記事までにいくつかCloud Workflowsの記事を書いた GCPのCloud Workflowsを試す - notebook swfz.hatenablog.com Cloud Workflowsでランタイム引数のデフォルト値を設定する - notebook swfz.hatenablog.com これらで行ったことをもとに今回はテーマを…

CloudLoggingに流れたログをSlack通知する

すでにいろいろと記事も出ているが自分で触って試してみたため残しておく やったことはLogging -> 集約シンク -> Pub/Sub -> Functions -> Slack でWARNING以上のログをSlackに通知する 集約シンク AWSでいうCloudWatchLogsのロググループに対するkinesis da…

Cloud Workflowsでランタイム引数のデフォルト値を設定する

実行時に引数を渡すときにデフォルト値を設定したい というよくあるパターンをWorkflowsで行えるか試してみた 今回は失敗したパターンも書きながら流れを追って書いていく 結論だけ知りたい方は最後の方を見てください ランタイム引数の扱い Workflowsでラン…

GCPのCloud Workflowsを試す

ちょうど気になっていたので使ってみる Workflows ワークフロー | Google Cloud cloud.google.com サーバレスでHTTPベースのAPIサービスを組み合わせてワークフローを定義できる 外部APIも対応しているので色々できることはありそう 目次 こんな感じで試して…

BigQueryで連続した日付のデータを生成して集計データと突き合わせる

スクリプティングを使ってみたくて題材探してみようと思ったがこのケースならSQL組み合わせるだけで良かった SQL WITH # 歯抜けサンプルデータの用意 sample_data AS( SELECT * FROM UNNEST(ARRAY<STRUCT<d DATE, item STRING, sales INT64>> [ ("2020-10-04", "hoge", 100), ("2020-10-19", "fuga", 5</struct<d>…

CloudTasksの再試行設定覚書

公式ドキュメントを読んでもあんまりピンとこなかったので実際に動かしてみて感覚をつかむ 適当な関数を用意してcreate-http-taskでタスクを生成しCloudTasksのログから再実行の間隔を見る 再試行設定 CloudTasksでは指数関数的に再試行間隔が増加していくが…

BigQueryのMERGE文で削除、更新、追加を同時に行う

MERGE文はUPSERT的な操作をしたいときに取り上げられることが多いイメージだったがもう少し込み入った要件でも活用できそうということで試してみた MERGE文についてのドキュメントは下記 データ操作言語の構文 | BigQuery | Google Cloud cloud.google.com …

BigQuery+Togglで週ごとの作業時間予想をSQLだけで出してみる

この記事はBigQuery Advent Calendar 2020の14日目の記事です もともとTogglのデータをAPIから引っ張ってきてBigQueryに入れているのでそのデータを使って今スプリントの消化時間の着地想定を計算するクエリを書いてみた Toggl Track: Effortless Time-Track…

CircleCIでgcloudを使えるようにする(+Terraform)

この記事はCircleCI Advent Calendar 2020の13日目の記事です 2.1以上であればOrbを使うとechoで特定のファイルに書き出して…とかそういうのをよしなにやってくれるので楽できる CircleCI Developer Hub - circleci/gcp-cli circleci.com 準備 サービスアカ…

TerraformでCloudRun+CloudSchedulerを構築する

素振り目的でやってみた この記事はterraform Advent Calendar 2020の12日目の記事です 前提 用途はバッチ CloudRunは認証済みアクセスのみ許可する TerraformでCloudRunの設定周りを行う イメージのビルドは別途行いCloudRunのtfファイルで参照させる Cloud…

GCPのSecret Managerを使ってみる

この記事はGoogle Cloud Platform Advent Calendar 20203日目の記事です AWSだとParameterStoreなどがあるがGCPだとなんなんだろうということで調べて使ってみた Secret Manager 外部サービスのAPIキーやパスワードなどの秘匿情報を含むデータをGCP上で管理…

BigQueryのパーティション(日付と取り込み時間の違いについて)

取り込み時間パーティションと日付 / タイムスタンプ パーティションの違いについて しっかりしたドキュメントがあるのでそっち読むほうが断然良いと思います 実際に触ってみたら分かるがドキュメント読むだけだといまいちピンと来なかったので触りながら把…

BigQueryで特定パーティションへのデータ書き込み

BigQueryのパーティションについてのメモ やりたいこと BigQueryにレポートなどの日次データを持たせているテーブルで特定日付のバッチ処理のみ再実行できるようにしたい パーティション分割について そもそもBigQueryのパーティションには色々種類があるよ…

DataPortalに条件付き書式がついていた

今まで気付かなかったが、DataPortalの表かスコアカードに条件付き書式が適用できるようになっていた データポータルで条件付き書式ルールを使用する - データポータルのヘルプ support.google.com やり方に関しては上記のヘルプがわかりやすいのでいつくか…

DataPortalで草を再現する

小ネタ GoogleAnalyticsのPV数をGitHubの草のようにビジュアライズする 実際は再現というほど再現できていないが… 傾向はきれいに分かる 設定 グラフ ヒートマップ付きピボットテーブル 列のディメンジョン 週(年間) 行のディメンジョン 曜日 指標 ページ…

TogglAPI+BigQuery+DataPortalでお手軽ダッシュボードを作成する

ここ数ヵ月Togglを用いて仕事、プライベートの勉強時間、睡眠時間のトラッキングを続けています Togglにもレポートはあるのですが無料プランだと次の点で不満がありました workspaceをまたいだデータが閲覧できない projectごとのデータをレポート画面で見る…

Cloud Dataflowを使ってみる

とりあえず触ってみようという感じのノリで使ってみた Python自体初学なので勉強含めてやってみる Cloud Dataflow Dataflow: ストリーム処理とバッチ処理 | Google Cloud cloud.google.com ETLなどで使う感じ AWSだとGlueみたいな感じの立ち位置なのかな? 中…

Functions Frameworkを使ってCloud Functionsに入門する

4月はGCP素振り月間と銘打っていろいろと触り始めたのでまぁそうだよねみたいな話多めですがやったこと残しておきます Cloud Functions + Pub/Sub + GCS Functions Framework Cloud Functionsなどの関数を開発するためのフレームワーク 公式の説明は下記 Fun…