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 Blob Storage on IoT Edge
Search
linyixain
December 27, 2022
Technology
550
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Azure Blob Storage on IoT Edge
linyixain
December 27, 2022
More Decks by linyixain
See All by linyixain
AITRIOSとNode-RED
linyixian
0
150
Algyan イベント振り返り
linyixian
0
410
.NET nanoFramework programming
linyixian
0
450
OpenCVを使ってみよう.pdf
linyixian
0
520
ALGYAN関西支部2019.pdf
linyixian
0
730
Other Decks in Technology
See All in Technology
Bet AI Day 2026丨AIを「使う」から、AIが「働く」へ ― LayerXが進める「組織AI」の社会実装
layerx
PRO
3
2.2k
ブラウザアプリの継続的パフォーマンスモニタリング (序) / Continuous Browser Application Performance Monitoring; Act 1
moznion
0
110
AIで実装は速くなった。なのにプロダクトは速くならない。職能の壁を越えて価値のフローを設計する
nwiizo
6
7k
Azure Cost Management の FOCUS コストデータを迷わず読むための“3つの軸”
tetsuyaooooo
0
140
AIエージェントの開発・提供におけるセキュリティリスクの論点と対策
flatt_security
1
570
AIに丸投げしないトイル削減 / Eliminating Toil Without Leaving It All to AI
kohbis
2
140
[RSJ26] NarrativeFlow: Flow-Based Vision-Language-Action Model Using Robot Velocity Fields
keio_smilab
PRO
0
160
Jetpack Compose で挑む新聞紙面UI ─ 複合ジェスチャー・ポリゴン記事領域・適応的ページ構成という3つの壁/droidkaigi2026
nikkei_engineer_recruiting
0
190
Self Healing Rollouts: Automating Production Fixes with Agentic AI
kdubois
0
150
DMMブックスのNext.js化を加速させるAI活用 / Migrating DMM Books to Next.js with AI
kentarom
1
330
データエンジニアの困りごとをDevinと一緒に解消する
10xinc
2
820
Bet AI Day 2026丨Production-Ready AI Agents — エンタープライズの実務を任せるための設計と運用
layerx
PRO
3
2.1k
Featured
See All Featured
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
65k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Unsuck your backbone
ammeep
672
58k
Code Review Best Practice
trishagee
74
20k
We Have a Design System, Now What?
morganepeng
55
8.3k
Ethics towards AI in product and experience design
skipperchong
2
360
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
190
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Crafting Experiences
bethany
1
290
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
400
Transcript
2022/12/26 YOSHINORI HAYASHI IOT ALGYAN エッジAI入門&活用シリーズ#5 『Azure Blob Storage on
IoT Edge編』
自己紹介 ・林 宜憲(@linyixian) ・2016~ MVP for Internet of Things ・所属
(株)リンシステムズ ・ほぼソフトウェアエンジニアのはずだけど、MVP受賞カテゴリーはハードウェア・・・・ ・仕事も業務システムの開発がメイン。たまにサーバー構築もしたり・・・ ・IoT Algyan関西支部で活動しています。
Azure Blob Storage on IoT Edgeの特徴 ・Edgeデバイス上でBlob Storageサービスが提供されます。 ・BlobはEdgeデバイス上のローカル領域に格納されます。 ・ブロックBlob及び追加Blobが利用できます。
・Edgeデバイス上のBlob StorageにはAzure Storageクライアントライブラリを使用してアクセスできます。 ・ローカルのBlob StorageからAzure Blob Storageへ自動的にアップロードすることができます。 ・アップロード完了後にローカルのBlobを自動削除することができます。
Azure Blob Storage on IoT Edge IoT Edge デバイス edgeAgent
edgeHub Blob Storage on IoT Edge Custom Module Blob Storage Storage Explorer
Blob Storageモジュールのデプロイ 準備 ・IoT Edgeデバイス ・IoT Hub ・Azure Storage Explorer(編集>「Azure
Stack APIを対象にする」に切り替える) ・Azure Storage(アップロード先のコンテナを任意に作成) ・ローカル Blob Storage アカウント名(任意) ・ローカル Blob Storage アカウントキー(https://generate.plus/en/base64で作成) ・ローカル Blob Storage コンテナ名(任意) Azure Potalからデプロイします
デモ
コンテナ―の作成オプション例 { "HostConfig": { "Binds": [ "/srv/containerdata:/blobroot" ], "PortBindings": {
"11002/tcp": [ { "HostPort": "11002" } ] } } }
モジュールツインの設定例 { "deviceAutoDeleteProperties": { “deleteOn”: true, //自動削除 “deleteAfterMinutes”: 5, //自動削除までの待機時間
“retainWhileUploading”: true //アップロード中の期限切れ時Blobを保持するかどうか }, "deviceToCloudUploadProperties": { “uploadOn”: true, //アップロードを実行するかどうか “uploadOrder”: “OldestFirst”, //Blobをコピーする順序 “cloudStorageConnectionString”: “クラウドストレージアカウントの接続文字列", "storageContainersForUpload": { “localblobstorage”: { //ローカルBlob Storageのコンテナ名 “target”: “cloudblobstorage“ //クラウドBlob Storageのコンテナ名 } }, “deleteAfterUpload”: true //アップロード完了時にデータを自動的に削除するかどうか } }
Linuxのコンテナユーザーにディレクトリアクセスを許可する sudo chown -R 11000:11000 /srv/containerdata:/blobroot sudo chmod -R 700
/srv/containerdata:/blobroot Storage Explorerの接続文字列 DefaultEndpointsProtocol=http;BlobEndpoint=http://<host device name>:11002/<your local accountname>; AccountName=<your local account name>;AccountKey=<your local account key>;
サンプルプログラム(抜粋) import cv2 from datetime import datetime from azure.storage.blob import
BlobServiceClient,BlobClient,ContainerClient container_name='localblobstorage' local_name='tmp.jpg' cn_string='DefaultEndpointsProtocol=http;BlobEndpoint=http://localhost:11002/<アカウント名>; AccountName=<アカウント名>;AccountKey=<アカウントキー>;’ serviceClient=BlobServiceClient.from_connection_string(cn_string) cv2.imwrite("tmp.jpg",frame) blob_name=d.strftime("%Y%m%d%H%M")+".jpg" blobClient=serviceClient.get_blob_client(container_name,blob=blob_name) with open(local_name,'rb') as data: blobClient.upload_blob(data)
参考 ・Azure Blob Storage on IoT Edgeのデプロイ https://learn.microsoft.com/ja-jp/azure/iot-edge/how-to-deploy-blob?view=iotedge-1.4 ・エッジでのBlob Storageについて
https://learn.microsoft.com/ja-jp/azure/iot-edge/how-to-store-data-blob?view=iotedge-1.4 ・ジョンさんの解説動画 https://www.youtube.com/watch?v=nDCTiQjm4Uw&t=903s ・サンプルプログラム https://github.com/linyixian/uploadblob
ご清聴ありがとうございました