画像の保存や管理に使える！Azure Blob Storageとは？ Power Appsとの接続方法を解説

## Azure Blob Storageとは？
Azure Blob Storage は、Microsoft Azure のクラウドストレージサービスの一部であり、大容量の非構造化データ（画像・動画・ログ・バックアップデータなど） を格納・管理するためのストレージです。
`Blob` とは `Binary Large Object` の略称で、バイナリデータやテキストデータを保存するのに適しています。
`Blob` はコンテナのような役割を果たします。
今回はそんな `Blob Storage` の作成方法と画像の保存方法。また、Power Appsとの接続方法についても解説していきたいと思います。

## Azure Blob Storage の作成方法
1\.　Azure Portalにログインし、「ストレージ アカウント」を選択する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3719434/a554f8f5-1397-4dc6-8d2b-baefa044e048.png)

2\. 「 + 作成」を押して新しいストレージ アカウントを作成する。 

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3719434/68f3b21c-ff44-45e1-84d0-6a810574add9.png)

3\. 各項目を設定します

### 基本情報
+ **サブスクリプション**：使用するAzureサブスクリプションを選択
+ **リソースグループ**：既存のリソースグループを選択、または新規作成
+ **ストレージアカウント名**：一意の名前（小文字と数字のみ）を入力
→例として「companytest」という名前で作成しました。
+ **リージョン**：利用するAzureリージョンを選択
+ **パフォーマンス**：「Standard」または「Premium」を選択
+ **冗長性**：「LRS（ローカル冗長）」「GRS（地理冗長）」などを選択

基本情報を設定したら `詳細`  `ネットワーク` `データ保護` `暗号化` `タグ` をそれぞれ確認します。
最後に `レビューと作成` を確認し問題なければ作成を行います。

:::note warn
`詳細` 設定の `セキュリティ` 項目の中に
「個々のコンテナーでの匿名アクセスの有効化を許可する」とありますが
こちら規定では✅が外れているため、必ず✅をつけるようにしてください。
アプリに組み込んだ時などユーザー側からのアクセスができなくなるので
アクセスができるようにするためです。
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3719434/c9bdf9e8-9599-42c8-a1f7-4b8aa1e20f34.png)

ストレージアカウントの作成ができたら次はコンテナーを作成します。
作成したストレージアカウントを選択して `コンテナー` を選択後、「+コンテナー」を押して新規コンテナーを作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3719434/c4bb9175-91ff-4532-80e7-01039a0e84ae.png)

コンテナーに名前を付けますが制約があり、以下のようになっています。
**・小文字、数字、ハイフンのみ**
**・名前の先頭は文字または数字のみ**
**・各ハイフンの前後はハイフン以外の文字を設定**
**・長さは3文字以上、63文字以下**

匿名アクセスレベルは `BLOB (BLOB 専用の匿名読み取りアクセス)` に設定してください。
作成を押すと以下のように新しいコンテナーが作成されます。
これで Azure 側の準備は完了です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3719434/fb5da5bc-ce75-4b3f-ad8e-fa73a561ef1c.png)

## 画像を追加してみる (Azure Portal上)
実際に画像を保存してみましょう。
先ほど作成してコンテナーを選択して `「アップロード」` を選択します。
右側にアップロードの画面が表示されますので、保存したいファイルをドラッグアンドドロップするかファイルを参照してください。
保存するとファイル名がそのまま使用されますので、変更したい場合は先に変えておくことをおススメします。
完了したら `アップロード` ボタンを押してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3719434/8f5181b5-b266-4be5-80d3-dc68e7ad7da9.png)

このように正常に完了したことの表示がされます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3719434/2ecc9709-183b-4adf-ab51-57ad52f28cc7.png)

概要から URL をコピーして検索してみると画像が正常に保存されていることが分かります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3719434/69b8b696-b47c-460b-988b-ff366047198e.png)

## Power Apps と Azure Blob Storageの接続方法
次に Power Apps との接続方法についてです。
+ まず、Power Apps にサインインします。
+ 左側のデータから `接続` をクリックし、「 + 新しい接続」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3719434/a5bdc07e-1a1a-4e48-b93e-9e8306693dc7.png)

`Azure Blob Storage` を選択したら `認証の種類` を **Access Key** に設定します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3719434/d3f4df7f-b050-456c-a579-a3c898f7837e.png)

`Azure Storage アカウント名または BLOB エンドポイント` は作成したストレージアカウントの名前を入力します。

`Azure Storage アカウントのアクセス キー` は作成したストレージアカウントの `アクセスキー` 画面からキーを表示させコピーして貼り付けてください。

入力が完了したら `作成` を押して接続が完了です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3719434/a82406a8-1e5e-4b53-9aba-f65325ff42d0.png)

## さいごに
以上で Azure Blob Storage へ画像を保存するための準備は完了です。
アプリを作成してアプリから画像を保存する方法については以下の記事で解説をしていますので、引き続きご覧ください！！

https://qiita.com/Sanwa_Paint/items/e0d98f9c91f325d474c4