Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages

【使い方講座】Power Automateで初心者が陥りがちなファイルコンテンツの取得ミスを現役エンジニアがわかりやすく解説!

2021年3月2日にWindows 10ユーザー向けソフトウェアの無料提供が発表され、注目度が急上昇中のRPA、「Power Automate」。誰でも無料で利用できるという他の大手RPAツールにはない利点を有する一方で、日本語ユーザー向けの開発サポート体制はまだまだ発展途上という声もあります。

今回の記事では、Power Automateでのロボット開発の初心者が陥りやすい「ファイルコンテンツの取得」のアクションに関するトラブルの対処方法を、Power Automate現役エンジニアである平田仁志さんにわかりやすく解説していただきます。

Hirata

今回解説を担当していただくエンジニアの平田仁志さん。
当サイトRPA HACKの運営会社であるPeaceful Morningが提供する、RPA開発オンラインサポートサービス「Robo Runner」にて企業のPower Automate導入・開発をサポートするエンジニアです。

▼RPA HACKのPower Automateに関する他の記事はこちら



▼現役エンジニアからPower Automateを学べるオンライン研修サービス
「Robo Runnerスクール」はこちら

PowerAutomateRoboRunnerShcool

「ファイルコンテンツの取得」とは

ーそもそも「ファイルコンテンツの取得」とはどのような時に使うものなのですか?

「ファイルコンテンツの取得」とは、Power Automateで自動実行できるアクションの一つで、特定の場所に保存してあるファイルの内容を取得します。
実際のロボット開発では、CSV形式で保存されているデータを処理する時などにこのアクションが用いられます。

ー「ファイルコンテンツの取得」に関して、どのようなエラーがなぜ起きるのですか?

「ファイルコンテンツの取得」を実行する際、ファイルが保存してある場所がどこかによって挙動が微妙に異なり、正しい手順で「ファイルコンテンツの取得」を実行しない場合はエラーが発生し、Power Automateが落ちてしまいます。

Power Automateのエラーの処理方法については、公式サイトの説明は英語または簡単な日本語のものがほとんどで、その他の日本語の解説もインターネット上では見つかりにくく、開発に慣れていない初心者がつまずきやすいポイントとなっています。

「ファイルコンテンツの取得」の正しい使い方

ー「ファイルコンテンツの取得」の正しい使い方を教えてください。

今回は、Power Automateで「ファイルコンテンツの取得」を実行する際にファイルの保存先となることが多い、①オンプレミスファイルシステム②OneDrive③SharePointの3つを中心に正しい実行の方法を解説します。
Power Automateで保存されたファイルの内容を取得する場合、その保存先によって使うコネクタが下記の表のように異なります。

オンプレミスファイルシステム(ローカル)・OneDrive

ローカルコンピュータに保存されたファイル、あるいはPower Automateと同じMicrosoft社が提供するOneDrive上のファイルが対象の場合、「ファイルコンテンツの取得」を実行することでテキストファイルの内容をそのまま取得できます。

SharePoint

SharePointもOneDriveと同様にMicrosoft社が提供するファイル共有サービスですが、「ファイルコンテンツの取得」を実行した場合、テキストファイルの内容は$contentにBase64でエンコードされた状態で取得されます。
したがって、ファイルの内容を取得するためにはbase64ToString関数を用いたデコードが必要です。

※関数部分:
base64ToString(outputs(’ファイルコンテンツの取得ー_SharePoint’)?[’body’]?[’$content’])

使用する環境によっては、Base64デコードした式は、一旦保存して編集画面に戻ると下記画像のように別の式に変わってしまう場合がありますが、動作上問題はありません。

その他の保管場所

上記の保存先以外に保存されているファイルのコンテンツを取得する方法についても解説します。Microsoft以外が提供するGoogleDriveやDropboxなど主要なファイル共有サービスについては、下記の表の通り適切なコネクタを用いてアクションを実行することでテキストファイルの内容をそのまま取得できます。

これらの保存先以外でも、Power Automateのコネクタが存在する場合は同様の手順で「ファイルコンテンツの取得」を実施可能であると考えられますが、開発の容易さという観点から考えると、これまで紹介した保存先のいずれかにコンテンツ取得対象のファイルを移動する方が良いでしょう。

初心者のミスを減らす方法・上達するには?

ーPower Automateでのロボット開発をこれから始めようと考えている人、すでにチャレンジしている人にアドバイスをお願いします。

冒頭でも述べたとおり、Power Automateは日本語のドキュメントが十分に整理されておらず、エラーメッセージも大雑把でやや不親切なところがあります。独学で学びつつ開発を行っている方にとっては、エラーが発生した時にその原因と修正方法を探すのが大変な部分も多々あるでしょう。
エンジニアが当たり前に行っている習慣の一つに「実行履歴の確認」があります。
実行履歴の画面(デバッグの画面)をきちんと開き、自分で作成したフローがどんな値を入力・出力しているかを確認する癖をつけることで、どこでエラーが発生したか、なぜ発生したかに気付きやすくなり、上達も早くなります。

またPower Automateの日本語以外の情報、英語のマニュアルなどについても、特別に難しいことが書いてあるわけではないので、アレルギーを持たずに一度読んでみるとわかることも多いかと思います。

ー平田さん、ありがとうございました。

Power Automateについて学べるオンライン研修

今回解説をしたエンジニアの平田さんには、普段はPeaceful Morning株式会社が提供するPower Automateのオンライン研修サービス、『Robo Runnerスクール』のサポートを担当しています。
『Robo Runnerスクール』では、本記事で扱った「ファイルコンテンツの取得ができない」というようなトラブルをはじめとする、Power Automateの開発に基礎から実践まで現役のエンジニアから学ぶことができます

「Power Automateで社内業務の自動化を進めたい」と考えている方はぜひご検討ください。

▼サービスの詳細・お申し込みはこちら▼

PowerAutomateRoboRunnerShcool

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です