Azure Storage

Azure Blob Storageのコンテナー内にファイルを格納するプログラムを作成してみた

以前、JavaでSpring Bootフレームワークを利用してファイルをアップロードするプログラムを作成したことがあったが、ファイルのアップロード先をAzure Blob Storageのコンテナー内に設定することもできる。

今回は、App Service上でAzure Blob Storageのコンテナー内にファイルをアップロードするプログラムを作成してみたので、共有する。

前提条件

下記記事のBlob Storageの作成が完了していること。

Azure Blob Storageを作成しファイルを格納してみたAzure Blob Storageを利用すると、Azure上にBlobデータ(テキストファイルや画像、アーカイブファイル等)を格納する...

また、下記記事の実装が完了していること。

Azure App Service上でSpring Bootを利用したJavaアプリケーションを作成してみた前回は、Azure Potal上でApp Serviceを作成してみたが、今回は、前回作成したApp ServiceにSpring Bo...

Azure Storageへのアクセスキー、Blobコンテナー名の確認

Azure Storageにアクセスするプログラム内では、アカウント名・アクセスキー・コンテナー名を設定する必要があるが、その設定内容はAzure Portal上で確認できる。その手順は、以下の通り。

1) Azure Portalにログイン後、作成したAzure Storageを表示し、「アクセスキー」メニューを押下後、「キーの表示」を押下する。
Storageの設定確認_1

2) 以下のように、アクセスキーが表示される。このうち「key1」の「キー」をアクセスキーとする。
Storageの設定確認_2

3) 「概要」メニューを表示した後で、「コンテナー」メニューを押下する。
Storageの設定確認_3

4) 以下のように、「blobcontainer」というコンテナーがあることが確認できる。
Storageの設定確認_4



作成したサンプルプログラム(App Service側)の内容

作成したサンプルプログラム(App Service側)の構成は以下の通り。なお、Azure Functions側のソースコードは修正していない。
サンプルプログラムの構成
なお、上記の赤枠は、前提条件のプログラムから追加・変更したプログラムである。

pom.xmlの内容は以下の通りで、Azure Storageにアクセスするための設定を追加している。

application.propertiesの内容は以下の通りで、Azure Storageにアクセスするためのアカウント名・アクセスキー・コンテナー名を追加している。
application_properties

コントローラクラスの内容は以下の通りで、アップロードボタンが押下されたときに、Blobコンテナーにアップロードしたファイルを格納する処理を追加している。

メイン画面のHTMLファイルの内容は以下の通りで、ファイルのアップロードを行う画面となっている。

その他のソースコード内容は、以下のサイトを参照のこと。
https://github.com/purin-it/azure/tree/master/azure-blob-storage-upload/demoAzureApp



作成したサンプルプログラムの実行結果

サンプルプログラムをAzure App Serviceにデプロイして実行した結果は、以下の通り。

1) サンプルプログラム実行前のBlobコンテナーの内容は以下の通りで、ファイルがアップロードされていないことが確認できる。
サンプルプログラムの実行結果_1

2) Azure App ServiceのURL「https://azureappdemoservice.azurewebsites.net/」とアクセスし、「ファイルの選択」ボタンが押下する。
サンプルプログラムの実行結果_2_1

なお、上記URLは、下記Azure App ServiceのURLから確認できる。
サンプルプログラムの実行結果_2_2

3) アップロードファイルを選択し、「開く」ボタンを押下する。
サンプルプログラムの実行結果_3

4) 指定したファイルが選択された状態になっていることを確認後、「アップロード」ボタンを押下する。
サンプルプログラムの実行結果_4

5) アップロードが完了し、完了メッセージが表示されることが確認できる。
サンプルプログラムの実行結果_5

6) サンプルプログラム実行後、以下のように、アップロードしたファイルが配置されていることが確認できる。
サンプルプログラムの実行結果_6

要点まとめ

  • JavaでSpring Bootフレームワークを利用してファイルをアップロードするプログラムのファイルアップロード先は、Azure Blob Storageのコンテナー内に設定することができる。