今回と次回の記事で、Blob trigger で動作する Azure Functions を作成します。
今回は、Azure Blob Storage とは何かを理解し、実際に Blob Storage を構築するところまでを説明します。
Azure Blob Storage の詳細を知りたい方は、Microsoft Docs の https://docs.microsoft.com/ja-jp/azure/storage/blobs/ を参照していください。
Azure Blob Storage とは?
Microsoft Azure は、「オブジェクトストレージ」と呼ばれる種類の1つとして Azure Blob Storage を提供しています。
Azure Blob Storageを使用することで、「BLOB」と呼ばれる種類のデータを保管することができます。
BLOB とは、Binary Large OBject の略です。BLOB はデータベースで用いられるデータ型の一つで、ビデオや音声、圧縮ファイル、といった特定のデータ モデルや定義に従っていないデータを格納する際に用いられます。この BLOB の入れ物を「コンテナ」と呼びます。
他のオブジェクトストレージサービスではBLOBを「オブジェクト」や、コンテナーを「バケット」呼ぶことがありますので覚えておきましょう。
ユーザーやアプリケーションは、HTTP/HTTPS 経由で Azure Blob Storage 内のオブジェクトにアクセスできます。 また、Azure Storage REST API や Azure PowerShell、Azure CLI、Azure Storage クライアントライブラリを使用して、アクセスすることができます。
Blob Storage のリソースについて
Blob Storage のリソースには、以下の3種類があります。
- ストレージ アカウント
- ストレージ アカウント内のコンテナー
- コンテナー内の BLOB
ストレージアカウント
ストレージ アカウントは、Azure 内 にデータ用の一意の名前空間を用意します。 Azure Storage 内に格納されるすべてのオブジェクトには、一意のアカウント名を含むアドレスが割り当てられます。
例えば、ストレージ アカウントの名前が mydata の場合は次のようになります。
http://mydata.blob.core.windows.net
コンテナー
ファイル システムのディレクトリのように、コンテナーを使用して BLOB のセットを管理できます。 1つのストレージアカウントに含めることができるコンテナー数には制限がありません。
コンテナー内の BLOB
Azure Storage では、以下の3種類の BLOB がサポートされています。
- ブロック BLOB
テキストとバイナリ データが格納されます。 ブロック BLOB は、個別に管理できるデータ ブロックで構成され最大約 4.75 TiB のデータが格納されます。 プレビューではもっと大きなブロック BLOB を利用できます。最大約 190.7 TiB です。 - 追加 BLOB
追加操作用に最適化されており、仮想マシンのデータのログ記録などに最適です。 - ページ BLOB
最大 8 TB のランダム アクセス ファイルが格納されます。 ページ BLOB は、仮想ハード ドライブ (VHD) ファイルを格納し、Azure 仮想マシン用のディスクとして機能します。
Azure Storage Explorer を使用してコンテナーと BLOB を作成する
Azure Storage Explorer を使用すると、Azure BLOB、ファイル、キュー、テーブルに加え、Azure Cosmos DB と Azure Data Lake Storage のエンティティのアップロードやダウンロード、管理をすることができます。
Azure Storage Explorer をインストールする
はじめに https://azure.microsoft.com/ja-jp/features/storage-explorer/ にアクセスして Azure Storage Explorer をダウンロードしてインストールをします。本記事では Windows 版をインストールしたものとして説明をしていきます。
Azure Storage Explorer で Azure にサインインする
Azure Storage Explorer のインストールが完了したら、起動します。
Azure Storage Explorer で、自分の Azure アカウントを操作できるようにします。
以下のように「Azure Storage へ接続する」が表示されますので、「Azure アカウントを追加する」を選択して、「Azure環境」欄で「Azure」を選択し、[次へ]ボタンをクリックします。
以下のように Azure へのサインイン画面が表示されますので、必要事項(サインインのIDとパスワード)を入力してサインインを完了します。
操作対象のサブスクリプションを設定する
サインインを完了すると、以下のような画面が表示されます。
筆者の場合は、「Azure Free Trial」と「Visual Studio Ultimate with MSDN」の2つのサブスクリプションが表示されています。
必要なサブスクリプションのみにチェックを付けて [適用]ボタンをクリックします。
接続に成功すると、画面は以下のようになります。
コンテナーの作成
続いて、コンテナーを作成します。
「Storage Accounts」を展開して、任意のアカウントを選択します。次に、「Blob Containers」を右クリックして「BLOB コンテナーの作成」を選択します。
任意のコンテナー名を入力して、コンテナーを作成します。以下の例では「myblob」という名前のコンテナーを作成しています。
コンテナーの作成が完了すると画面は以下のようになります。
BLOB のアップロードとダウンロード
最後に、作成したコンテナーに BLOB をアップロード/ダウンロードしてみましょう。
アップロード
コンテナー リボンで、 [アップロード] を選択します。これにより、フォルダーまたはファイルをアップロードするためのオプションが表示されます。
アップロードするファイルまたはフォルダーを選択します。 BLOB の種類では、を選択します。 ブロック BLOB、ページ BLOB、追加 BLOB を選択できます。
ここでは「ScreenShot_12.jpg」という画像ファイルをアップロードしてみることとします。ファイルを選択したら、最後に[アップロード]ボタンをクリックします。
アップロードに成功すると、画面は以下のようになります。
ダウンロード
ダウンロードする場合は、ダウンロードするファイルを選択状態にしてコンテナーリボンで [ダウンロード] をクリックします。
フォルダー選択のダイアログが表示されますので、任意のフォルダーを選択します。
URL でコンテナー内の BLOB にアクセスする
コンテナー内に配置した BLOB は URL でアクセスすることができます。
ここではその方法を説明します。
アクセス権を設定する
はじめに、URL でアクセスができるようにするためにアクセス権を設定します。
Azure Storage Explorer で任意のコンテナーを右クリックして「パブリック アクセス レベルの設定」をクリックします。
以下のようなダイアログが表示されるので、「コンテナーと BLOB のパブリック読み取りアクセス」を選択して[適用]ボタンをクリックします。既定では「パブリックアクセスなし」に設定されています。
URL から BLOB データにアクセスする
URL から BLOB データにアクセスするには、Azure Storage Explorer で任意の BLOB データを右クリックして「URL のコピー」をクリックします。
あとは、ブラウザを起動してURLを貼り付けてアクセスします。
コメント