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
530
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
140
Algyan イベント振り返り
linyixian
0
410
.NET nanoFramework programming
linyixian
0
440
OpenCVを使ってみよう.pdf
linyixian
0
510
ALGYAN関西支部2019.pdf
linyixian
0
720
Other Decks in Technology
See All in Technology
副作用のある Lambda でも Lambda Power Tuning は使えるのか / lambda-power-tuning-side-effects
koukihosaka
2
160
41歳でAWSが好きすぎてITエンジニアになったおっさんの話
yama3133
1
780
人手不足への挑戦:車両保全を支えるIoTとクラウド内製化の道【SORACOM Discovery 2026】
soracom
PRO
0
110
現場で使える AWS DevOps Agent 活用ノウハウ - Release Management 機能の検証結果を添えて / AWS DevOps Agent Release Management and Know-How
kinunori
3
250
AI Agent を本番環境へ―― Microsoft Foundry × Azure Serverless で作る Enterprise-Ready な基盤
shibayan
PRO
1
610
どこまでAIに任せるか 〜確率論と決定論の境界決定〜
shukob
0
550
データベース研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
490
変更し続けられるシステムをどう保つか — AI時代のSSoTという設計原則
kawauso
1
1.4k
StepFunctionsとGraphRAGを活用した暗黙知活用のためのRAG基盤
yakumo
0
180
Webアプリ認証の全体像 / The Big Picture of Web App Authentication
kitano_yuichi
1
460
全社でのソフトウェアサプライチェーン攻撃対策をやってみた with Takumi Guard
z63d
0
320
コンテナ・K8s研修【MIXI 26新卒技術研修】#2
mixi_engineers
PRO
1
270
Featured
See All Featured
Joys of Absence: A Defence of Solitary Play
codingconduct
1
420
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
400
The Invisible Side of Design
smashingmag
301
52k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
190
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
Side Projects
sachag
455
43k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
3
370
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
240
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.7k
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
ご清聴ありがとうございました