Instiq
第2章 · Azure ストレージ向けの開発·v2.0.0·更新 2026/6/3·読了目安 約9分

変更要約: AZ-204 第2章を Associate 級に深掘り(比較表・シナリオ・FAQ・ひっかけ+深掘り段落、図を日本語化)

2.1Blob ストレージ向けの開発

この節の要点

SDK による Blob 操作(クライアント→コンテナ→Blob、アップロード/ダウンロード/一覧)、アクセス層とライフサイクル、SAS と Entra ID による安全なアクセスといった開発を理解します。AZ-204 の「Azure ストレージ向けの開発」の出発点です。

非構造化データ(画像・ログ・ファイル)の保存先が Blob ストレージ です。開発では SDK のクライアント階層安全なアクセスを押さえます。

2.1.1SDK・層・アクセス

SDK アクセス(BlobServiceClient→コンテナ→Blob・アップロード/ダウンロード/一覧)、アクセス層/ライフサイクル(ホット/クール/アーカイブ・ライフサイクルルール・コスト最適化)、安全なアクセス(SAS は範囲/期限限定・Entra ID + RBAC・Entra ID を推奨)の3要素を示した図。
Blob 開発の要素
  • SDK クライアント階層BlobServiceClient → コンテナ → Blob の順にたどり、アップロード/ダウンロード/一覧を行う。
  • アクセス層/ライフサイクル:ホット/クール/アーカイブを使い分け、ライフサイクルルールで自動移行・コスト最適化。
  • 安全なアクセスSAS(範囲/期限限定の委任)Entra ID + RBAC。推奨は Entra ID、キーは厳重管理。
試験ポイント

「クライアント→コンテナ→Blob の階層」「期限付き委任アクセス=SAS」「推奨はキー不要の Entra ID + RBAC」「めったに使わない長期保管=アーカイブ層」 は AZ-204 で頻出です。

開発では SDK の階層 BlobServiceClient → コンテナ(BlobContainerClient)→ Blob(BlobClient) をたどり、アップロード/ダウンロード/一覧/メタデータ操作を行います。Blob 種別は ブロック BLOB(一般的なファイル・大きい場合はブロック分割で並列アップロード)、追記 BLOB(ログ)、ページ BLOB(仮想ディスク)。コスト最適化は アクセス層(ホット/クール/コールド/アーカイブ)と ライフサイクル管理ポリシー、アーカイブは読み出しに リハイドレート が要る点に注意。安全なアクセスは「Entra ID + RBAC(推奨・キー不要)」「SAS(範囲/操作/期限を限定した委任。ユーザー委任 SAS が安全・ストアドアクセスポリシー で一括失効)」「アカウントキー(最後の手段・要ローテーション)」。Blob 作成などのイベントは Event Grid で Functions 等へ連携でき、誤削除対策に 論理削除/バージョニング、改ざん防止に 不変ストレージ。判断軸は「恒久・キーレス=Entra ID + RBAC」「一時委任=SAS」「長期保管=アーカイブ層」「イベント連携=Event Grid」。

やりたいこと使うもの
恒久・キー不要のアクセスEntra ID + RBAC
期限/範囲限定の一時委任SAS(ユーザー委任SAS推奨)
めったに使わない長期保管アーカイブ層(要リハイドレート)
Blob イベントを下流連携Event Grid → Functions

シナリオ:アップロードされた画像をサムネイル生成し、古い画像は安く保管したい。 SDK でコンテナへアップロード(大きい画像はブロック分割)。Blob 作成を Event GridFunctions にトリガーしてサムネイル生成。古い画像は ライフサイクル管理ポリシーでクール→アーカイブへ。外部共有は ユーザー委任 SAS(読み取り・短期)、社内アプリは Entra ID + RBAC(キーレス)。

補足

Q. SDK の階層は? BlobServiceClient→コンテナ→Blob。Q. 一時委任は? SAS(ユーザー委任SASが安全)。Q. 恒久・キーレス? Entra ID + RBAC。Q. 長期保管? アーカイブ層(要リハイドレート)。Q. Blob イベント連携? Event Grid。Q. 大きいファイル? ブロック分割アップロード。

注意

混同に注意:
アーカイブ層は即時読み出し不可(リハイドレート要)。
SAS は発行後の個別失効が難しい——ストアドアクセスポリシーやキー再生成で無効化。
③アカウントキーはフルアクセス=大きな blast radius——Entra ID/SAS を優先。
④Blob 種別を取り違えない(一般ファイル=ブロック、ログ=追記、VHD=ページ)。

補足

大きいファイルはブロック分割でアップロードし、変更通知(Event Grid)で Blob 作成イベントを下流(Functions 等)へ連携できます。

2.1.2この節のまとめ

  • SDK=クライアント→コンテナ→Blob、層でコスト最適化
  • アクセスはSAS / Entra ID + RBAC(推奨)

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. Blob ストレージの SDK でクライアントから Blob へたどる正しい階層はどれですか?

Q2. 第三者に特定の Blob へ期限付き・範囲限定でアクセスさせたい。最も適した方法はどれですか?

Q3. Blob へのアクセス方法として最も推奨される(キー不要の)方式はどれですか?

理解度を確認第2章「Azure ストレージ向けの開発」の問題を解く