Power Automate から Logic Apps の JSON ファイルをエクスポートしてみた

## はじめに
とりあえず Microsoft から旅立ったのでアカウントに関連づいている org に関しては無視して下さい。完全に **部外者の個人の見解** な記事です。
あと、この記事の結論からいうと良く分からなかったというのが答えなのであまり大した記事じゃないです。完全に備忘録的な内容で残しています。

## 書こうと思った理由
新しい会社では Power Apps や Power Automate みたいに Power Platform で業務改善していこうぜ！の流れになっており（否定しているわけではない）、Azure 使いだった人間としては Logic Apps も同じローコードなのになかなか日の目を見る機会が少ないなぁというのを実感しだしたところで、こんな機能を見つけました。(マジで知らんかった。)

[Power Automate からフローをエクスポートして Azure Logic Apps にデプロイする](https://learn.microsoft.com/ja-jp/azure/logic-apps/export-from-microsoft-flow-logic-app-template)

（このブログでもめっちゃ触れてた。。。）
[Power Automate と Logic Apps について知らなかったこと](https://qiita.com/e99h2121/items/a49b00bc2ced214b5742)

というわけで、あまり細かくは触れていないですが、何となく触ってみた内容をメモがてら残してみようと思います。

## Power Automate 側の設定
まず、なんでもいいので（ほんとは良くない）ワークフローを作成。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3626174/da32bd79-ab58-024e-eacb-a4cee096e1bd.png)

良くないと言ったのは、Power Automate では使えるけど、Logic Apps では用意していないトリガーがあるので変な動きになります。どんなコネクタが使えるかは以下の記事を参照。
[すべての Logic Apps コネクタの一覧](https://learn.microsoft.com/ja-jp/connectors/connector-reference/connector-reference-logicapps-connectors)

Power Automate 側でワークフローができると、エクスポートができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3626174/0866ea0f-fb9f-650c-a4c1-f792685c49d0.png)

パッケージ（zip）は見覚えあったんですが、Logic Apps テンプレート (.json) ってあったっけと困惑しているのが本日の出来事でした。
ちなみに Logic Apps は Logic Apps で Power Apps にカスタムコネクタとしてエクスポートができます。便利ですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3626174/8523221d-1f6d-dc21-f672-852254701805.png)

そうすると json ファイルが出力されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3626174/1499ef12-8a0b-193e-9025-b95477d65667.png)

中身を見てると Logic Apps のコードビューではなく、公開情報にもあるとおり ARM テンプレートが出力されているみたいでした。

というわけで Azure でカスタム テンプレートからデプロイ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3626174/05c84ab4-6b17-6dd5-f3ab-7bcd35029b81.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3626174/f767fb1e-a801-8048-b815-f3f3da76e2cd.png)


エラー。。。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3626174/e88d5c05-d7f1-5078-0d4a-da93ccc72d67.png)

なんか Power Automate から出力したテンプレートに統合アカウントのリソースが含まれているようで、まぁこれはいいんですが、なぜか見覚えのないサブスクリプションにリンクされており謎の認可エラーで詰んでしまいました。多分これは自分の環境依存のエラーかと思います。
これ Power Platform でテナントの紐づけというかアカウントの紐づけというか、変な感じになっていないか気になっている。（中の人何が起きてるか教えてください。）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3626174/feca7847-ce8c-bc49-69a5-0d54f3d8b259.png)

・追記
ちょっと確認していたところ、多分 Power Automate 用のサブスクリプションに統合アカウントを紐づけようとしているような動きになっていそうでした。
アカウントの画像が？なのは Power Automate Free ライセンスだから？？よく分からない。

というわけで、出力された json の definition 句から Logic Apps のワークフローを直接作成。
従量課金タイプのワークフローの場合は ARM テンプレートにワークフロー定義が一緒に入ってくるのがよきです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3626174/3d19527e-6d3a-9e15-1bdf-f3c79e224281.png)

できた。（できてない。）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3626174/18789e90-8c4f-7185-ae1b-1b343b260872.png)

Logic Apps にはボタンのトリガーがないのですが、ちゃんと保存できちゃいますね。何が起きるか実験。

手動実行。

成功しちゃうんや。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3626174/c6e105e9-82f4-c17b-f2a7-0b2274fe97b4.png)

未加工出力見ていると、HTTP トリガーのワークフローを手動実行したようなヘッダー情報が出力されているっぽい。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3626174/98fc38f2-9621-242a-ec73-8c669491c8e8.png)

どうも SAS トークン付きの URL が払い出されてそうなので、やっぱり HTTP トリガーと同じ感じになっていると推察。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3626174/ea283237-dd6d-a510-5d30-5ed0de0db77f.png)

という備忘録。ARM からちゃんとインポートしたらどうなったのかは気になりますが、また暇な時にもう少し検証してみようかと。

## まとめ
Power Automate から Logic Apps のワークフロー定義を出力して Azure 側でもワークフローを利用できることが分かって勉強になりました。
この記事みたく、Logic Apps では用意していないトリガーもあったりするので、この機能を使うときは 現状のワークフローが Azure 側にあっているか十分に確認が必要になるので注意ですね。
個人的に Power Automate を使う機会も増えそうなので、いろいろ触っていこうと思います。
（謎の認可エラーだけ気になる。。。）