気ままに勉強会 #36 のPower Automate の制限について勉強していたところ、変数の作成制限にチャレンジしてみたくなったのでやってみました。
ちなみに作業は、勉強会中に作業しています。
変数の作成数の制限
ワークフローごとの変数の制限として、250個までとあります。
これを実際作成していったらどうなるか試してみます。
チャレンジ 1回目
「失敗」
変数250個の制限にチャレンジしたら、アクション壊れちゃった(;´Д`)
— ふらり@ROBO BOY (@flali_world) 2022年11月5日
変数を定義せずにアクションだけポンポン追加してたから、変数未定義で保存もできない(;´Д`)
100近くなったあたりからかなり重かったんだよなぁ
#気ままに勉強会 pic.twitter.com/K7fVlHmrtt
作業内容
変数の初期化アクションはスコープに含めることができないため、とりあえず、変数アクションを1個入れて、それをクリップボードにコピーしたものを追加していきました。
変数を定義しない、もしくは定義しても変更せずにそのままだったので、変数未定義もしくは変数名重複でエラーで保存ができません。それでも、あとから直せばいいやと思って、とりあえず、250個作成を進めました。(勉強会中に作業していました。)
ちなみにアクションの追加の経過はこんな感じ。
80個くらいまで→ 比較的順調にアクションが追加できる
100個くらい → アクションの追加がやや重たくなる
120個越え → アクションの追加がけっこう重たくなる
150個越え → アクションの追加がかなり遅くて辛い
200個越え → 応答がない...?あっ、追加されたレベル(不安しかない)
250個付近 → 全然応答がない...だめか...?あっ、追加された、ヨカッタレベル(ストレスMAX)
500アクションが制限になっていますが、実際の開発レベルでも、アクションは80個~100個程度に抑えたほうが良いと思います。(こんな長いフロー作ったことなかったよ)
とても重くて作成時の動作が不安定なので、場合によってはフローが壊れる可能性もありそうな感じがしました。
保存もできないフローがどうなったかというと
まっさらになりました。
保存できないし、アクション開けなくなるしだったので、ブラウザリロードしたらまっさら。
保存は適宜実施して、エラーは都度解消したほうが良いですね。(アタリマエ)
保存していないので、こうなるわけです(*´ω`*) pic.twitter.com/ZVWyfK8LBa
— ふらり@ROBO BOY (@flali_world) 2022年11月5日
チャレンジ 2回目
「成功」
250個 キタ━━━━(゚∀゚)━━━━!!
作業内容
今回も、クリップボード作戦ですが、1回アクションをいれるごとに変数を設定していきます。アクション追加10個~20個ごとぐらいに保存ボタンを押して、エラーが出たら都度修正していきました。
1回目と同じで、アクションが増えれば増えるほど挙動が怪しくなっていきます。
250個追加できた頃には、作業を始めてから2時間ほど経過しておりました...地道な作業でツラい...
ちなみに250個のフローの全体像
実用的でないことが、わかりますね。
本当は1列の画像を貼りたかったのだけれど、Hatena blog の制限に引っかかってしまって断念。
251個目の動作
さて、本題。
251個目の変数を入れるとどうなるのか。
実行すると、エラーが表示されます。(はい、地味)
「The number of variables used in a workflow limit exceeded : maximum '250' and actual '251'.」
さいごに
フローの作成は都度保存、都度エラー解消しながらやらないと駄目なことを再認識しました。
250個変数を定義できたとして、500個のアクションの半分を消費するので生かしきれるフローが作成できるのかと、アクションの追加や変更が激重なので作成に限らず、エラー修正とかしんどいので、あまりアクション数の多いフローはおすすめできません。
それにしても、なかなか滅多にお目にかかれないエラーを拝見できて満足です。