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
270
Azure Functionsを用いて データウェアハウスの一部を自動化
https://serverlesslt.connpass.com/event/276058/
supino
March 23, 2023
Tweet
Share
More Decks by supino
See All by supino
自分に合った武器を探す
supino0017
0
350
Other Decks in Programming
See All in Programming
守る「だけ」の優しいEMを抜けて、 事業とチームを両方見る視点を身につけた話
maroon8021
3
940
nilとは何か 〜interfaceの構造とnil!=nilから理解する〜
kuro_kurorrr
3
1.9k
Agentic AI: Evolution oder Revolution
mobilelarson
PRO
0
180
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
540
AI駆動開発の本音 〜Claude Code並列開発で見えたエンジニアの新しい役割〜
hisuzuya
4
510
DSPy入門 Pythonで実現する自動プロンプト最適化 〜人手によるプロンプト調整からの卒業〜
seaturt1e
1
740
猫の手も借りたい!ので AIエージェント猫を作って社内に放した話 Claude Code × Container Lambda の Slack Bot "DevNeko"
naramomi7
0
260
maplibre-gl-layers - 地図に移動体たくさん表示したい
kekyo
PRO
0
270
encoding/json/v2のUnmarshalはこう変わった:内部実装で見る設計改善
kurakura0916
0
410
AIコードレビューの導入・運用と AI駆動開発における「AI4QA」の取り組みについて
hagevvashi
0
490
「抽象に依存せよ」が分からなかった新卒1年目の私が Goのインターフェースと和解するまで
kurogenki
0
120
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
110
Featured
See All Featured
Code Review Best Practice
trishagee
74
20k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Bash Introduction
62gerente
615
210k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
400
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
HDC tutorial
michielstock
1
540
Paper Plane (Part 1)
katiecoart
PRO
0
5.6k
Believing is Seeing
oripsolob
1
84
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
290
Thoughts on Productivity
jonyablonski
75
5.1k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
170
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. まとめ