Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Azure Functionsを用いて データウェアハウスの一部を自動化
Search
supino
March 23, 2023
Programming
0
240
Azure Functionsを用いて データウェアハウスの一部を自動化
https://serverlesslt.connpass.com/event/276058/
supino
March 23, 2023
Tweet
Share
More Decks by supino
See All by supino
自分に合った武器を探す
supino0017
0
310
Other Decks in Programming
See All in Programming
GoのGenericsによるslice操作との付き合い方
syumai
3
690
Google Agent Development Kit でLINE Botを作ってみた
ymd65536
2
170
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
250
DroidKnights 2025 - 다양한 스크롤 뷰에서의 영상 재생
gaeun5744
3
320
deno-redisの紹介とJSRパッケージの運用について (toranoana.deno #21)
uki00a
0
140
ReadMoreTextView
fornewid
1
480
都市をデータで見るってこういうこと PLATEAU属性情報入門
nokonoko1203
1
570
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
1
530
Is Xcode slowly dying out in 2025?
uetyo
1
190
Cline指示通りに動かない? AI小説エージェントで学ぶ指示書の書き方と自動アップデートの仕組み
kamomeashizawa
1
570
Result型で“失敗”を型にするPHPコードの書き方
kajitack
4
340
Cursor AI Agentと伴走する アプリケーションの高速リプレイス
daisuketakeda
1
130
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Typedesign – Prime Four
hannesfritz
42
2.7k
Become a Pro
speakerdeck
PRO
28
5.4k
Raft: Consensus for Rubyists
vanstee
140
7k
Gamification - CAS2011
davidbonilla
81
5.3k
A better future with KSS
kneath
239
17k
Speed Design
sergeychernyshev
32
1k
RailsConf 2023
tenderlove
30
1.1k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Transcript
Azure Functionsを用いて データウェアハウスの一部を自動化
課金基盤・POS・ECなどお金周りのプロダクト開発 社内ツールなど業務運用プロダクト開発 Freee・Kintoneなどクラウドサービスを利用した開発 医療ドメインのプロダクト開発 経歴 仕事 Webエンジニア 1. 自己紹介
業務システムからデータを抽出して、 BIツールを使用し分析・活用できる環境を整備。 抽出したデータをエンジニアがBatchでDBに登録していたが、 データウェアハウスの一部をAzure Functionsを用いて自動化。 概要 Azure FunctionsでBlobTriggerの実装時の ローカルテスト方法 背景
2. 概要
① 業務アプリケーション 業務 アプリケーション 各データをXMLファイルで出力 ZIP処理 Azure Blob Starageに アップロード
ZIPを解凍 各XMLファイルを DB登録 BIツール ② データウェアハウス ③ ビジネスインテリジェンス ① 業務システムからデータを抽出 ② 業務アプリケーションのクレンジングデータをSQLServerに一時的に格納 ③ BIツールを利用してユーザーがデータにアクセス 3. BIシステムのアーキテクチャ
ストレージアカウント Blobコンテナー BLOB BLOB BLOB BLOB BLOB リソースグループ Blobコンテナー BLOB
権限あり 権限なし 認証方法:Azure Active Directory 権限付与:ロールアクセス制限 RBAC, 条件での制限 ABAC 4. 認証とアクセス制限
Blobコンテナー ① Zip解凍 ② XMLデータをDB登録 5. システム構成 ① 特定のコンテナーにZIPファイルが置かれたら解凍する ②
解凍したファイル郡をDBに登録する
Blobコンテナー 業務システム抽出データ(ZIP)を Blobストレージに転送 ZIPファイルを解凍 各XMLを命名規則に従って 指定のコンテナに転送 6. Azure Functions Zip解凍
解凍されたXMLファイルを Blobストレージに転送 XML解析 DB登録 7. Azure Functions データ登録
ローカル環境設定 ローカルでのアプリケーションの動作確認が可能 ・Azure Blob ・Queue Storage ・Table Storage Azure FunctionsからのAzuriteの実行
Azurite オープンソース エミュレーター 8. Azurite Azuriteの実行
9. Azure Functions Localテスト Azuriteの機能によりAzureStorageをエミュレートし、ローカルで動作確認する
・業務や運用の一部分を自動化しやすい ・環境構築に時間がかからない ・他のAzureサービスとのバインド機能やトリガーで実装が簡易化 10. まとめ