rksoftware

Visual Studio とか C# とかが好きです

Power Automate の実行 ID を取得する

Power Automate の実行 ID を記録したいこと、あると思います。
実行される回数が多く、トリガーの入力などでもあまりどの実行か見分けづらいフローなどではきっと実行 ID 役に立つと思います。

■ 関数で取得

こんな関数で取得できました。

workflow()?['run/name']

ステップの枠に直接書くならこんな感じ。

@{workflow()?['run/name']}

画像で見るとこうです。

■ 利用実例

実行 ID を利用して実行履歴詳細ページの URL を生成する例など rksoftware.hatenablog.com

■ 簡単ですね

簡単ですね。

■ 関連記事

rksoftware.hatenablog.com rksoftware.hatenablog.com rksoftware.hatenablog.com rksoftware.hatenablog.com

Power Automate 配列の重複を除外する

distinct という関数でもあればシンプルだったのですが。

配列 (アレイ) から重複したデータを除外したいこと、かなりあると思います。そんなときに使えそうなのが今回の記事です。

■ 実例

[1, 2, 2, 3] というデータがあったときに重複を除外して [1, 2, 3] としたい場合を想定します。

■ ソリューション

union 関数が使えます。この関数は、二つの配列の両方に含まれるデータの配列を作ります。副産物として配列に重複したデータがあっても同じデータは結果の配列には一つしか入りません。
この性質を利用して union に重複を除外したい配列を第一引数と第二引数の両方で渡すと期待する結果が得られます。

下図のようなこんな感じです。


■ 難しいですね

難しいですね。

Power Automate の変数を宣言する

■ 連載目次記事

Power Automate のフローを組んで行きます。

■ 前回の進捗

Power Automate のフローを新規作成し Azure の準備もし、ここからアクションを追加していくぞというところまで来ました。

■ 今回の概要

まずフローの先頭でフローで使う変数を宣言します。変数はフローの先頭で宣言するのが一番スタンダードだと思います。 rksoftware.hatenablog.com

■ 全体ゴール

連載のゴールの様子です。

■ 変数を 3 つ追加

次の 3 つのステップを追加します。

コネクタ アクション 名前 種類 ステップの名前
変数 変数を初期化する results アレイ [] 配列変数 results (解析結果を格納する)
変数 変数を初期化する tweet 文字列 変数 tweet (現在処理中のツイート本文を格納する)
変数 変数を初期化する mediaurl 文字列 変数 mediaurl (現在処理中の画像の URL を格納する)

こんな感じの部分です。

■ ステップの追加

ステップの追加をします。
※ 3 つの変数を同じ手順で追加します。

[ + 新しいステップ ] をクリックします。

検索枠に 「 変数 」と入力し、[ 組み込み ] をクリック。[ 変数 ] をクリック。[ 変数の初期化 ] をクリックします。

前述の表の内容を [ 名前 ] 、[ 種類 ] 、 [ ] に入力します。

[ ・・・ ] をクリック、「 名前の変更 」 をクリックします。

入力枠に前述の表を参考にステップの名前を入力します。

この手順を繰り返し 3 つの変数を宣言します。

■ 簡単ですね

簡単ですね。

Twitter で認証アプリでの 2 要素認証を複数の端末で設定する

2 要素認証した方がいいですよね?

2 要素認証自体は難しいことはありません。簡単です。
help.twitter.com

■ 何が難しいの?

複数台の端末 の認証アプリに認証の設定を行うことが難しいです。
1 台であれば Twitter アプリで QR コードを表示し、認証アプリをインストールしている別端末で読み取れば OK です。

ここで 2 台に設定することの課題があります。前述のこの手順を行うと Twitter アプリで QR コードを表示できなくなります。できるのは 2 要素認証の OFF だけです。

■ すでに設定している場合

一度 OFF にしてください。そうしてから改めて設定を行います。

■ 概要

一度表示した QR コードを写真などに撮って複数台で使います。QR コードを読みさえすれば認証アプリ側は設定が行えます。

■ 手順

端末A と 端末B で設定する場合。

  1. 端末A で QR コードを表示する。
  2. 端末B で QR コードを写真に撮る。
  3. 端末B の認証アプリで 端末A で表示している QR コードを読んで設定をする。
  4. 端末A の Twitter アプリで 2 要素認証の設定を完了する。
  5. 端末B で QR コードの写真を表示する。
  6. 端末A の認証アプリで 端末B で表示している写真の QR コードを読んで設定をする。

これで OK です。QR コードの写真を撮っておけばさらに別の端末でも認証アプリを設定をしたくなった場合に使えると思いますが、写真は削除しておくのが良いと思います。
どこかで間違えて写真が漏れたら設定されてしまう可能性があるのだと思います。別の端末でも設定したくなったらまた一度 OFF にしてからやり直しましょう。

■ 難しいですね

Twitter の 2 要素認証を複数台の端末の認証アプリに設定する手順、いかがでしたか?

Power Automate のコネクタで使用する Azure の Computer Vision と Azure Cognitive Service を用意する

■ 連載目次記事

Power Automate のフローを組む事前準備をしていきます。

■ 前回の進捗

Power Automate のフローを新規作成しここからアクションを追加していくぞというところまで来ました。

■ 今回の概要

これからフローを追加していくのですが、ここで事前準備をしておきます。画像を解析する Azure のサービスや Tweet の感情を解析するための Azure のサービスを呼び出すコネクタは Azure で事前に用意をしておく必要があります。
今回は、Azure の Portal で作業をします。

■ Azure Portal

Azure Portal にアクセスしてサインインします。
https://portal.azure.com/

■ Computer Vision の用意

Computer Vision のリソースを作成します。

Azure Portal の画面の左上の 「 リソースの作成 」 から。

この辺りは今後のバージョンアップで変わる可能性が高いですが、今のところは 「 AI + Machine Learning 」 > Computer Vision の 「 作成 」 。

作成画面ではそれらしく設定をしてください。

設定を完了して作成を始めてもすぐには作成されません。少し待ち時間があります。皆さん大好き Twitter タイムのしましょう。すぐ出来上がります。

出来上がったら 「 リソースに移動 」 。

ここの 「 エンドポイント 」 の値を把握しておきましょう。コネクタを設定する際に把握しておく必要があります。
※ここで覚えておく必要はありません。コネクタの設定をするタイミングでまた見に来れば OK です。

キーを管理するにはここをクリック 」 。

各種キーとエンドポイントが確認できます。ここの 「 キー1 」 と 「エンドポイント」 をコネクタの設定時にコピペします。右端のアイコンでコピーできます。
※コネクタの設定をするタイミングでまたコピーしに来てください。

Computer Vision の事前準備ができました。

■ Azure Cognitive Service の準備

Computer Vison と同じように Azure Cognitive Service のリソースも作成します。今度は テキスト分析 の 「 作成 」 です。

キーの扱いも同様です。
※コネクタの設定をするタイミングでまたコピーしに来てください。

Azure Cognitive Service の事前準備ができました。

■ 簡単ですね

簡単ですね。

Power Automate のフローを Web キャプチャする (とても困難でした) を簡単にするスクリプトで変えたものを元に戻すスクリプト II

この記事は以前に書いた記事の内容、今やってみると動作しなかったのでアップデートの記事です。 rksoftware.hatenablog.com

Power Automate のフローの Web キャプチャは簡単です。

■ 罠 (トラップ)

ただ一つ大きな罠があるだけです。
課題は、1 画面に収まらない場合です。たいていのフローは 1画面に収まらないと思うのですがその際、画面に見えている領域しかキャプチャできないという点です。

■ 解決策

この課題に対するソリューションは以前に書きました。

また、その手順をスクリプトで行えるスクリプトも書きました。

■ 変えたら戻す。それが Web ページ改編のルール

そんなルールなどないのだけれども。

まあそのまま編集し続けると何か起こるかもしれません。ブラウザをリロードすれば元通りなわけで安心なのですけれどもそれではアレなので、ちょっとコレを作ってみました。

document.getElementsByClassName("main-container")[0].style.height = "100%"; document.getElementsByClassName("manage-flow-section")[0].style.height = null;

このスクリプトで元に戻ります。実行の仕方は以前の記事を参照してください。

■ 簡単ですね

簡単ですね。

Power Automate のフローを Web キャプチャする (とても困難でした) を簡単にするスクリプト II

この記事は以前に書いた記事の内容、今やってみると動作しなかったのでアップデートの記事です。 rksoftware.hatenablog.com

Power Automate のフローの Web キャプチャは簡単です。

■ 罠 (トラップ)

ただ一つ大きな罠があるだけです。
課題は、1 画面に収まらない場合です。たいていのフローは 1画面に収まらないと思うのですがその際、画面に見えている領域しかキャプチャできないという点です。

■ 解決策

この課題に対するソリューションは以前に書きました。 rksoftware.hatenablog.com

しかしこのソリューション、要素を探してチェックをオフにするという手作業が発生します。しかも 2 回も! 面倒です。

■ スクリプト作りました

Web ページ内のたいていのことはスクリプトで何とかなります。皆さん大好き JavaScript です。

document.getElementsByClassName("main-container")[0].style.height = "auto"; document.getElementsByClassName("manage-flow-section")[0].style.height = "auto";

これをブラウザのコンソールに貼り付けて実行します。

■ 実行方法

  • フローの編集ページを開きます。
  • F12 キーを押して開発者ツールを開きます。
  • 開発者ツールの「コンソール」タブを開きます。
  • 前述のスクリプトを貼り付けます。
  • Enter キーを押して実行します。

スクロールが画面全体になりました。

■ 簡単ですね。

簡単ですね。

関連記事

Power Automate のフローを Web キャプチャする (とても困難でした) を簡単にするスクリプトで変えたものを元に戻すスクリプト

rksoftware.hatenablog.com