0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Microsoft Azure Storage Connector - Mule 4

Last updated at Posted at 2021-12-01

MuleSoftからAzure Storageにアクセス

対象ユースケース

Azure StorageはFileやBlobといった各種データを保存できるクラウドストレージとなっており、
AWS S3と同じように、システム間連携のデータ一時保存領域としても使えます。
そこで、MuleSoftからAzure Storageに対するアクセスを試してみました。

コネクター

MuleSoft製ではありませんが、MuleSoft Certifiedのコネクターがありました。
作っているのはWishworks社。
https://www.whishworks.com/mulesoft/mulesoft-services/connector-support/
Webサイトによると、Azure Storage以外にもAsanaやExpedia、MapR-DBといったコネクターを作成しているようです。

利用は無償であり(サポートはWishworksから有償)
Anypoint Exchangeから利用できます。
https://www.mulesoft.com/exchange/org.mule.modules/azure-storage-connector/
Anypoint Stuidoパレットの「Search in Exchange」からモジュール追加できます。

Azure Storageモジュール

各種操作がサポートされています。

image.png image.png

接続クレデンシャル

接続としては、アクセスキーとSAS(Shared Access Signature)トークンの2種類が利用できます。
ただし、少し試してみたところ、アクセスキーの設定で、ストレージアカウントとアクセスキーの組み合わせをいれても上手くつながりませんでした。コネクター側に何かしらバグがありそうな感じです。
SASトークンは接続可能でした。

image.png

SASトークンの取得

SASトークンは、Azureポータルで取得が可能です。
ストレージアカウント ➡ Shared Access Signatureに行きます。
image.png
そして、必要となるアクセス許可を付与したキーを作成します。
image.png

SASトークンの部分です。
image.png

Blobのダウンロード

Containerに、コンテナ名(Azureポータルでは「コンテナー」と伸ばされてますが)をいれ、コンテナ上にあるファイル名を指定します。
image.png
image.png

Blobのアップロード

アップロードはファイルを渡す方法もあるようですが、下記のようにペイロードを渡すこともできます。
基本的に、CloudHub(MuleSoft提供クラウド)上でAPI動かすにしても、RuntimeFabric(オンプレミスのコンテナ)上でAPI動かすにしても、ローカルファイルへのアクセスは無いですし、ペイロード渡しが良いですね。
image.png
image.png

ファイルのダウンロード

ファイルの取得も、下記のように共有名とファイル名を指定することで行うことが出来ます。
image.png
image.png

ファイルのアップロード

こちらも、Blobと同じようにPayloadを渡してファイルを作成することが出来ます。
image.png
image.png

成功したときに戻ってくるのは、シンプルにステータス200とTrueです。
image.png

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?