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
Deep Dive into ~/.claude/projects
hiragram
12
2.3k
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
2
620
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
3
740
今ならAmazon ECSのサービス間通信をどう選ぶか / Selection of ECS Interservice Communication 2025
tkikuc
21
3.9k
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
890
ISUCON研修おかわり会 講義スライド
arfes0e2b3c
1
380
システム成長を止めない!本番無停止テーブル移行の全貌
sakawe_ee
1
160
High-Level Programming Languages in AI Era -Human Thought and Mind-
hayat01sh1da
PRO
0
720
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
1.9k
Team topologies and the microservice architecture: a synergistic relationship
cer
PRO
0
1.2k
5つのアンチパターンから学ぶLT設計
narihara
1
150
AWS CDKの推しポイント 〜CloudFormationと比較してみた〜
akihisaikeda
3
320
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
246
12k
We Have a Design System, Now What?
morganepeng
53
7.7k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
The World Runs on Bad Software
bkeepers
PRO
69
11k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
A Tale of Four Properties
chriscoyier
160
23k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Agile that works and the tools we love
rasmusluckow
329
21k
Building an army of robots
kneath
306
45k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Building Applications with DynamoDB
mza
95
6.5k
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. まとめ