こんにちは。この記事では、Webアプリケーションのストレージとして、Azure Storageを利用する場合の連携方法について、整理しておこうと思います。
こちら、Microsoftが提供する「Microsoft Learn」のシナリオに沿って学習を進めていますので、オリジナル版はこちらをご参照ください。
Contents
Node JSで簡易アプリケーションを作成する
まずは、連携させるもとの超絶簡易アプリケーションをNodeJSで作成します。
Azure Cloud Shell を利用してコマンドラインから作っていきます。
mkdir PhotoSharingApp
cd PhotoSharingApp
npm init -y
touch index.js
index.jsに以下のコードを書き込みます。
#!/usr/bin/env node
function main() {
console.log('Hello, World!');
}
main();
保存した上で、アプリケーションを実行します。
node index.js
ストレージアカウントを作成する
こちらは、前の記事をご参考にしていただければと思います。
アプリからAzure Storageに接続できるようにする
Azure-Storageへのアクセスは、Azureの提供するREST-APIを経由して行われます。
まずはこれをアプリ側で呼び出せるように準備を行います。
azure-storageパッケージのインストール
JavaScript(NodeJS)の場合、azure-storageをnpm経由でインストールします。
–saveオプションを指定することで、package.jsonにも書き込まれます。
npm install azure-storage --save
アプリにAzure-Storageの構成を追加する
次に、アプリ側でREST-APIを使うために必要な、認証情報などの設定を行います。
今回は、.envファイルを作成し、そちらに構成設定を記述する方式をとります。
まずは空ファイルを作り・・
touch .env
Azure-Storageの認証情報を取得し・・・
az storage account show-connection-string \
--resource-group learn-0b23dff6-997e-4471-a2a3-0a0e4c68b9c4 \
--query connectionString \
--name <name>
このコマンドで返ってくる” “で囲まれた文言を、.envに以下の形式で追加します。(valueの部分を置き換え)
AZURE_STORAGE_CONNECTION_STRING=<value>
そして、アプリ側でこの構成ファイルを読み込めるようにするために、dotenvというライブラリを追加でインストールした上で、index.jsに以下コードを追加します。
npm install dotenv --save
## index.js
#!/usr/bin/env node
require('dotenv').config();
## 先ほどのHello Worldは消してしまってOKです
以上で、アプリケーションからAzure-Storageを操作する準備は整いました。
Azure Storageを操作するコードを記述する(サンプル)
例えば、BLOB Storageのコンテナを作成する処理を書きたい場合、以下のように書けば良いです。
各APIの仕様の詳細は、ここでは解説いたしませんので、公式ドキュメントを参照ください。
#!/usr/bin/env node
## 環境構成ファイルの読み込む
require('dotenv').config();
const util = require('util');
## Azure Storageオブジェクトの初期化
const storage = require('azure-storage');
## BLOBストレージコンテナを作成するためのコード
const blobService = storage.createBlobService();
const createContainerAsync = util.promisify(blobService.createContainerIfNotExists).bind(blobService);
const containerName = 'photoblobs';
async function main() {
try {
var result = await createContainerAsync(containerName);
if (result.created) {
console.log(`Blob container ${containerName} created`);
}
else {
console.log(`Blob container ${containerName} already exists.`);
}
}
catch (err) {
console.log(err.message);
}
}
main();
Azure Portal上からも、Blobコンテナが作成されたことが確認できました!
以上、アプリケーション上でAzure Storageを操作する手順を解説いたしました。
再掲ですが、こちらはMicrosoft Learn上でも紹介されていますので、ぜひご参照ください!
https://docs.microsoft.com/ja-jp/learn/
コメントを残す