Cloud Pub/SubのBigQuery Subscriptionでエラー内容を取得できるようになった話

ZOZO Advent Calendar 2023 23日目の記事になります。 これまでCloud Pub/SubのBigQuery SubscriptionにDead-letter topicを設定した際、Dead-letter topicに書き込まれた場合のエラー詳細を取得できませんでした。 例としてDead-letter topicに書き込まれた…

Cloud Pub/Sub Topicへメッセージを短時間で大量にPublishする

ZOZO Advent Calendar 2023 21日目の記事になります。 検証バージョン 実装 仕組みについて まとめ 今回紹介する記事は、Cloud Pub/Sub Topicへメッセージを大量にPublishする方法になります。Cloud Pub/Subの背後に連携したリソースの負荷試験や、データの…

AvroSchemaでNullが許可されたデータ型をGo言語の構造体で表現する

ZOZO Advent Calendar 2023 10日目の記事になります。 特殊な例だと思うのですが、今回はAvroSchemaでNullが許可されているデータ構造をGo言語の構造体で表現する方法を紹介します。 AvroShemaについて Union型について Nullが許可されたデータの構造例 実装…

Github ActionsのComposite Actionを利用して他リポジトリへPRを送る雛形を作成する

ZOZO Advent Calendar 2023 4日目の記事になります。 こんにちは!今年もAdvent Calenderの時期がやってきました!小ネタを絞り出して記事を書こうかと思います。 はじめに 仕組みの説明 Composite Actionの実装 Composite Action呼び出し側の実装 まとめ は…

Apache BeamでBigQueryに書き込む際エラーログを出力する

ZOZO Advent Calendar 2022 13日目の記事です。 今回はApache Beam v2.41辺りで導入されたBigQueryに書き込む際、エラーが発生した場合のエラーメッセージを出力できるようになったので紹介します。 経緯 エラーログを取得できるようにする 検証環境 実装 ま…

Dataflowに送られてくるログサイズに制限をかける

ZOZO Advent Calendar 2021 22日目の記事です。 今回はDataflow内に送られてくるログサイズの制限を行う実装をします。 経緯 検証環境 実装手順 実装 まとめ 経緯 下記の構成図のようにCloud Pub/Subに送られてくるログをBigQueryにinsertするような処理をDa…

Swagger UIのVALIDバッジを非表示にする方法

ZOZO Advent Calendar 2021 12日目の記事です。 Swagger UIを利用する際、右下に以下のようなバッジが表示されます。 VAILIDで表示されている場合は良いですが、外部のアクセスを遮断した状態でSwagger UIをホスティングする際はErrorが常に表示され続けます…

Apache Beam2.3.4(Python)で導入されたwith_exception_handlingを使ってみる

ZOZO Advent Calendar 2021 5日目の記事です。 Apache Beam2.34.0(Python)のバージョンにおいてwith_exception_handling機能が追加されたので紹介します。 with_exception_handlingについて 実装 開発環境 テーブル定義 実装 結果 まとめ with_exception_han…

Scrapyのキャッシュを定期的に削除する

ZOZOテクノロジーズ #1 Advent Calendar 2020 23日目です。 ScrapyのCacheにおいて定期的にCacheを削除するような機能を作成したので紹介します。 ScrapyのCacheについて HTTPCACHE_EXPIRATION_SECSについて 実装 まとめ ScrapyのCacheについて ScrapyのCach…

Vaultを触ってみる

ZOZOテクノロジーズ #1 Advent Calendar 2020 21日目です。 今回はHashiCorpがリリースしているVaultについて触ってみました。 Vaultについて Vaultはパスワードやアクセストークン等、機密情報を管理するソフトウェアです。 役割としてはgoogleのSecret Mag…

mysqlのコンテナに初期データを流し込む

ゆるっと Advent Calendar 2020 13日目です。今回はmysqlのコンテナに初期データを流し込む方法について紹介します。 概要 開発環境を構築するためにDBのテーブルや初期データを配置したい場合があると思います。コンテナ起動後にデータを流し込む方法があり…

PythonでGCPの認証を行う

GCPの認証ってたまにどうやるんだっけ?って忘れてしまうので備忘録として残しておこうと思います。 今回はCloud Pub/Subを例に認証を行います。 今回使用する言語 予備知識 サービスアカウントを用いて認証 環境変数を用いる ファイルパスを指定して認証 デ…

Buildkitを使ってDockerfile以外からビルドする

ZOZOテクノロジーズ #4 Advent Calendar 2019 15日目の記事です。 今回はBuildkitを使ってDockerfile以外のsyntaxからImageをBuildしてみたいと思います。 Buildkitとは 実装の方針 実装 コードの実装 buildしてDocker Hubにimageをpushする 確認 まとめ Bui…

Vue.jsでgoogle mapを利用する

ゆるっと Advent Calendar 2019 2日目です。 今回はVue.jsでgoogle mapを使う際によく使いそうなところを紹介できたらと思います。 下準備 google mapの表示 google mapの設定 イベントの発火 表示している領域の座標取得 マーカの設置 マーカの上にWindow…

メルカリさんのスカラシップを利用してGo Conference 2019 Springに参加してきました

今回、運良くメルカリさんのスカラシップを利用してGo Conference 2019 Springに参加することができました!! スカラシップ利用して来ました!#gocon pic.twitter.com/rkonBE17ji— jon (@jon_ground) 2019年5月18日 Go Conference 2019 Springでおもしろか…

elmで作った静的サイトをgithub pagesで公開してみた

最近ブログ書くのをサボっていたのでなにか書こうと思い、そうだ最近触っているElmについて書こう!と思い書きました。時間がかなり遡るのですが年末年始は実家に帰省していて、その際にElmを試しに触っていて簡単なサイトを作ってGithub Pagesで公開したの…

gRPCで動画ファイルの送受信を行ってみる

Go4 Advent Calendar 2018 11日目です。 今回はgRPCを使ってmp4で作成した動画ファイルをstreamを使って送受信してみようと思います。 コードがあまりきれいでないかもしれませんがよろしくお願いします。 はじめに gRPCとは protoファイルの定義 Serverの作…

Go言語でgraphqlを触ってみた

ゆるっとアドベントカレンダー Advent Calendar 2018 2日目です。 最近ハッカソンでGraphqlを使って開発を行っているので、今回はGraphqlの復習で簡単なGraphqlサーバをGo言語を使って実装してみます。 Graphqlとは? 今回使う外部ライブラリ 今回実装したも…

今日作る料理をサジェストしてくれるlinebotを作ったよ!

少し前からLINE community labというワーキンググループに友達と参加し面白いLine Botが作れたので紹介しようと思います 作成したもの 機能としては例として「なんか、豚肉とか使ったものない?」とメッセージを送信してますが、言葉の中にある材料が含まれ…

Amazon Echoを使って自宅の照明を操作してみた

目的 最近家のリモコンがよくなくなるのでAmazon Echoで操作できたら最強なのでは?と思い作成に至りました。 完成品 www.youtube.com 作成手順(雑にしか書きません) 赤外線LED,赤外線センサー、Raspberry piをなんとかして手に入れる。 lircを使い赤外線を…

AnsibleでArchLinuxの自動インストール

AnsibleでArchLinuxの自動インストールをやってみた 今回、AnsibleでArchlinuxの自動インストールに挑戦しました。 結果として成功したのですが、tasksが結構汚いのでまだまだ改善の余地はあります… インストールの説明はGithubに載せているのでそっち見たほ…

並列処理と平行処理について

ふと並列処理と平行処理の違いは?と考えると毎回う〜んとなるので一番しっくりくる考え方を書き残しておこうと思います。 定義 システムが複数の動作(処理の流れ)を同時に実行状態(in progress)に保てる機能を備えている場合を 並行(concurrent)と言い、…

ブログというか、備忘録

はじめまして、jonと申します。はてブロ、始めてみました。 といっても前はwordpressで書いていたのですけど鯖代がもったいなかったので こっちに書いていこうかと思います。 サイトの方針としては備忘録的なものなので間違えているところも多々あるかも し…