LoginSignup
0
0

More than 1 year has passed since last update.

Node-REDでストレージサービスを使う(Microsoft Azure ストレージアカウント編)

Last updated at Posted at 2022-12-14

はじめに

Node-REDでファイルをクラウドに保存したい時があります。
今回はAzureのストレージサービスにアクセスする方法をご紹介します。

Azureの準備

ストレージアカウントの設定

ストレージアカウントを新規で作成します。

ストレージアカウントを作成

サブスクリプションの配下にリソースグループtestを新規作成リンクから作成して紐付けます。

  • 名称 test20221125
  • 地域 East US
  • その他の設定は今回は以下の画像のように設定しました。

image.png

image.png

image.png

image.png

image.png

image.png

デプロイが完了し、ストレージアカウントが作成されました。

セキュリティとネットワーク

左のメニューの一覧から、セキュリティとネットワークのセクションを見つけたら、アクセス キーを選択します。
このKey1のキーあとでノードに設定しますので、ウィンドウを開いたままにしておきます。

image.png

フロー

enebular editorで、フローを作成していきます。
azureのストレージにデータを保存するノードは色々とありましたが、今回は、@intres/node-red-azure-storageノードを使いました。

put

フロー

image.png

プロパティ

  • File path アップロードしたいファイルのフルパスを指定します。
  • Container name フォルダ名のようなものです。今回はnewcontainerとしました。
  • Blob name アップロードしたときのファイル名です
  • Account name ストレージアカウントの名前を記載します。
  • Account Key 先ほどAzureの管理画面にあったキーをコピーして貼り付けます。

image.png

フローの実行

injectノードを実行してみます。
image.png

Azureの管理画面でアップロードされたファイルを確認できました。
image.png

get

フロー

image.png

プロパティ

  • Mode fileとします。
  • File path to store 保存する場所を指定します。
  • Container name 取得したいファイルが格納されているコンテナ名を指定します。
  • Blob name 取得したいファイル名を指定します。
  • Account name ストレージアカウントの名前を記載します。
  • Account Key 先ほどAzureの管理画面にあったキーをコピーして貼り付けます。

image.png

フローの実行

injectノードを実行してみると、ファイルがローカルに保存されています。
image.png

まとめ

今回は以下のノードを試しました。手軽に使えるなと感じました。

@intres/node-red-azure-storage

注意
今回ご紹介したノードでは、アカウントキーによってアクセスが可能になりますが、Azureでは、おすすめの方法ではないようです。
Azure ADに対応したNode-REDノードが出てくれるといいなと思いましたが、そのようなノードは現時点ではないようです。

引用:「BLOB およびキューのデータに対する要求を認可するには、アカウント キー (共有キーによる認可) を使用するのではなく、可能であれば Azure Active Directory (Azure AD) を使用することをお勧めします。 Azure AD を使用して認可すると、共有キーによる認可よりも優れたセキュリティと使いやすさが実現されます。」
引用元:https://learn.microsoft.com/ja-jp/azure/storage/common/storage-account-keys-manage?tabs=azure-portal

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0