15分で出来るPHPからAzure BLOBストレージを使用する方法

今回はAzure のBLOBストレージをPHPから利用する方法を紹介します。

流れとしては、composerをインストールしてそこから利用する流れとなります。

事前準備

Azureストレージ上に「ストレージアカウント」と「コンテナー」を作成する必要があります。

1. ストレージアカウントの作成
左下新規メニューから「ストレージ」>「簡易作成」をクリックして作成します。
URLはグローバルでユニークである必要があります。
場所も国内で利用する場合は国内に変更しましょう。
cap01
2. コンテナーの作成
出来上がった” ストレージアカウント”の詳細に遷移します。
cap02

タブメニューの「コンテナー」に遷移し、「コンテナーを作成する」をクリックします。
cap03
任意の名称を入れてコンテナーを作成します。
cap04

操作編

1. phpから操作するためのcomposerのインストールを行います。 プロジェクトがあるディレクトリに遷移し、composerをダウンロードします。

composer.jsonを作成します。
※requireの部分が無くても出来る場合もあるそうですが、下記にある様なエラーが発生して失敗する場合があります。

※エラー例:

composerをインストールします。
インストールに成功するとlsで見るとvendorが追加されていることが確認できます。

2. プログラム側に実装します。
3以降に目的別のアクションについて記載しておりますが、どのアクションでもこの部分については共通で最初に1回呼び出す必要があります。

アクセスキーの取得は以下の方法で行えます。

Azureポータルの「ストレージ」に遷移します。
一覧からキーを取得したいストレージ名をクリックし、「アクセスキーの管理」をクリックします。
cap05
ポップアップ画面の「プライマリーアクセスキー」の文字列を取得します。
cap06

で実行して特にエラーが表示されなければ成功です。
念の為、最後の行に「var_dump($blobRestProxy);」を追加して情報が出力されれば間違いありません。

3. ファイルをアップする
変数$fileがアップロードしたいファイル名とします。

4. ファイルを確認する
変数$fileがアップロードしたいファイル名とします。

ファイルアップロード後に実行すると以下の様になります。

※実際は変数でなく出力後のデータとなります。

5. ファイルをダウンロードする
変数$fileがダウンロードしたいファイル名とします。

6. ファイルを削除する
変数$fileが削除したいファイル名とします。

上記の様な方法を利用することで、Webサーバのログや画像などを自動的にBLOBストレージ上にアップすることが出来ます。

次回もお楽しみに!!

この記事を書いた人

azure-recipe-user