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 1 year has passed since last update.

Azure Logic Apps基本

Posted at

できること

・フォルダの監視 (ポーリングします)を行い、ファイルが追加された編集されたなどをトリガーとします
・ファイルのコピー
・Azure Functionsの実行 HTTP トリガーのみ
・タイマー実行
・フォルダ作成
・Blobとの連携
・Sharepointとの連携
・Office製品との連携

などいろいろできます。
AzureなのでWindowsとの相性は良いです。Windowsでファイルの移動やバックアップを取ったりするのに昔ならバッチプログラムをVBScriptでつくってタスクスケジューラに登録したりってのが多かったかなと思います。

今回のLogic Appsの基本を押さえることで世の中で言われるRPAやローコード、ノーコードを理解するきっかけになればと思います。

実装

Blob Containerに一時間に一回アクセスしてCSVファイルをsharepointにコピーする。
タイマー実装としたのは、フォルダの監視の場合、もちろんフォルダを指定する必要があり、今回、動的に日付フォルダが作成されるため作成時にフォルダを指定する方法がわからなかったため。

タイマー

特に困ることはないと思います

image.png

変数の設定

変数の設定(初期化)は最初に行う必要があります。

image.png

image.png

try-catch-finally

エラーが起きた時に実行ログにエラーと残ってもよい場合は実装する必要はないですが、想定内のエラーは成功としてログに残したいときはtry-catch-finallyを実装します。
制御のスコープを使います

image.png

catchスコープの実行をtryスコープが失敗したときに設定します

image.png

catchの次のアクションの実行は、catchがスキップしたときに設定します。

image.png

if

if文で処理を分岐します。
上記 try-catch-finallyと組み合わせた場合、tryスコープでエラーが起きてcatchスコープで変数にfalseを設定します。
条件分岐でtrueパートにアクションを追加し、falseパートに何も書かなければそこで処理終了となります

image.png

BLOB一覧を取得

BLOBのフォルダ以下のファイルを取得する場合、メタ情報だけを取得し、ループさせながら一つ一つ処理する必要があります。
まずは、一覧を取得します。
フォルダが動的に作成されるため、concatと変数を利用しました。

メタ情報をループ

valueがループされた情報になります。if文などで、valueの情報を取得できるようになります。以下はNameを取得

image.png

ファイルがcsvのものだけコピー対象とします。

image.png

ファイルコンテンツ取得

ここまででファイルのメタ情報を利用していたためファイルのコンテンツは取得していません。ここでコンテンツを取得します。
メタ情報のパスを利用してコンテンツを取得

image.png

sharepointにファイルを作成

取得したコンテンツをsharepointにファイルを配置。
感覚的にはコピー&ペーストなんだけど、おそらく、sharepointとblobのAPIを使ってやっているので、ファイルを作成することに注意する

image.png

ファイルが存在するときはエラーとなるのでtry-catchでエラーがログに残らないようにする

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?