ADVERTISEMENT

【Power Automate】JSON解析が想定どおり進まない時の会社環境での安全な再設定

【Power Automate】JSON解析が想定どおり進まない時の会社環境での安全な再設定
🛡️ 超解決

Power AutomateでJSONデータを扱う機会は少なくありません。しかし、Parse JSONアクションが想定どおりに動作せず、フローが停止したり意図しない値が出力されることがあります。特に会社の共有環境では、既存のフローに影響を与えずに安全に再設定する方法を知っておくことが重要です。この記事では、JSON解析が失敗する主な原因を整理し、会社PCで安全に対処する手順を解説します。具体的なエラー例や管理者に確認すべきポイントも含めて、実務に役立つ情報を提供します。

【要点】この記事で確認すること

  • 最初に見る場所: Parse JSONアクションのスキーマ定義とサンプルペイロードの一致を確認してください。
  • 切り分けの軸: フロー側の設定ミス、JSONデータの構造問題、環境依存のポリシーやコネクタ制限の3軸で原因を特定します。
  • 注意点: 会社のDLPポリシーや共有コネクタの変更は管理者に相談し、許可を得てから実施してください。既存フローのバックアップを必ず取ってから再設定を行ってください。

ADVERTISEMENT

JSON解析が失敗する主な原因

Parse JSONアクションが想定どおりに動作しない原因は、大きく3つに分類できます。1つ目は、JSONデータの構造がスキーマと一致していないケースです。2つ目は、データ型の不一致(数値が文字列として渡されるなど)です。3つ目は、Power Automate環境に起因する問題で、コネクタの制限やポリシーが影響する場合があります。

特に会社の共有環境では、フローが他のユーザーと共有されている場合、スキーマの変更が意図せず他フローに影響を及ぼすリスクがあります。また、JSONのネスト構造が深い場合や配列の扱いを誤ると、Parse JSONアクションはエラーを返さずに誤った値を出力することがあるため、注意が必要です。

典型的なエラーメッセージとその意味

代表的なエラーとして「Invalid JSON」や「Required properties missing」があります。Invalid JSONはJSONの形式自体が不正な場合に発生し、Required properties missingはスキーマで必須と指定したプロパティがペイロードに存在しない場合に発生します。これらのエラーは、フローの実行履歴から確認できます。

トラブルシューティングの基本手順

問題を切り分けるには、以下の手順を順に試すことをおすすめします。最初に、Parse JSONアクションの入力データを確認し、スキーマが実際のJSONと合致しているか検証します。次に、スキーマの生成方法を見直します。多くの場合、サンプルペイロードから自動生成したスキーマが使用されますが、そのサンプルが実際のデータを代表していないケースがよくあります。

  1. 実行履歴でエラーを確認する: フローの実行履歴を開き、Parse JSONアクションの出力とエラーメッセージを確認します。特に「inputs」タブで実際に渡されたJSONをコピーします。
  2. JSONの妥当性を検証する: コピーしたJSONを外部のバリデーションツール(例:JSONLint)に貼り付け、構造が正しいか確認します。
  3. スキーマとペイロードを突き合わせる: Parse JSONアクションのスキーマ定義と、実際のJSONのプロパティ名・型・階層が一致するか確認します。特に配列の有無や、数値と文字列の違いに注意してください。
  4. テストモードで検証する: 新しいフローを複製し、テストデータを使ってParse JSONアクションが正しく動作するか確認します。これにより既存フローを壊さずに原因を特定できます。
  5. スキーマを手動調整する: 自動生成されたスキーマを編集し、実際のデータに合わせます。変更後は必ずテストを実施し、他のアクションへの影響がないか確認します。

安全に再設定するための事前準備

会社環境でParse JSONアクションを再設定する際は、以下の準備を怠らないでください。まず、対象フローのバックアップをエクスポートします。Power Automateポータルでフローを開き、「エクスポート」から「パッケージ (.zip)」をダウンロードします。これにより、設定を元に戻せる状態を確保します。

次に、変更内容を文書化します。どのプロパティを変更したか、なぜ変更したかを記録しておくと、問題が発生した際に役立ちます。また、可能であればテスト環境(開発用の別フロー)で変更を検証してから本番フローに適用すると安全です。

管理者に確認すべき設定項目

会社のポリシーによっては、Parse JSONアクションの動作に影響を与える制限が存在します。以下の項目を管理者に確認してください。

  • データ損失防止(DLP)ポリシー:JSONデータの送受信を制限するポリシーが適用されていないか。
  • カスタムコネクタの使用許可:Parse JSONアクションでカスタムコネクタを利用している場合、そのコネクタが許可されているか。
  • 環境変数の制限:JSONの一部を環境変数で置き換えている場合、変数のスコープや型に制限がないか。

Parse JSONアクションの再設定手順

ここでは、実際のフローでParse JSONアクションを再設定する具体的な手順を説明します。各手順を丁寧に実行し、変更後は必ずテストを行ってください。

  1. フローを開いて編集する: Power Automateポータルから該当フローを開き、「編集」ボタンをクリックします。既存のParse JSONアクションをクリックして設定画面を表示します。
  2. 現在のスキーマをコピーして保存する: 念のため、現在のスキーマの内容をメモ帳などにコピーしておきます。これにより、新しい設定が問題を引き起こした場合に元に戻せます。
  3. サンプルペイロードからスキーマを再生成する: アクションの「サンプルペイロードを使用してスキーマを生成」をクリックし、実際にフローで受信するJSONを貼り付けます。この際、最新のデータを取得するために、フローを一度実行して実際の出力をコピーすることを推奨します。
  4. スキーマを手動で微調整する: 自動生成されたスキーマが完全でない場合、JSON編集ビューで直接修正します。例えば、配列の項目を正しく定義したり、数値と文字列の型を明示します。
  5. フローを保存してテストする: 変更後、「保存」してから「テスト」を実行します。テストモードで実際のトリガーを使用するか、静的データを入力してParse JSONアクションが正しく動作するか確認します。
  6. 後続のアクションで出力を確認する: Parse JSONの出力が後続のアクションで適切に使用されているか確認します。例えば、値を変数に代入したり、条件分岐で使用する場合、すべてのパスで正しいデータが渡されることを検証します。

よくある失敗パターンと対処法

実際の現場でよく遭遇する失敗パターンを具体的に紹介します。これらを参考に、自分のフローに当てはまるケースがないか確認してください。

失敗パターン 原因 対処法
必須プロパティ不足エラー スキーマでrequiredとしたプロパティがペイロードにない requiredリストを見直すか、該当プロパティを追加する
配列内のオブジェクトがパースできない スキーマで配列のitems定義が不足している 配列要素の型を明示的に定義する(例:{ “type”: “array”, “items”: { … } })
数値が文字列として扱われる スキーマでtypeがstringになっている typeをnumberまたはintegerに変更する
JSONのエスケープ文字によるエラー ペイロードにバックスラッシュや引用符が含まれている JSONバリデーションツールで修正し、正しいエスケープに直す
フロー全体が停止する Parse JSONアクションの前にエラーが発生している 前段のアクションの出力を確認し、JSONが正しい形式で渡されているか検証する

失敗例:サンプルペイロードが古いケース

例えば、APIのレスポンスがバージョンアップにより新しいフィールドが追加された場合、古いサンプルペイロードで生成したスキーマは新しいフィールドを無視するため、Parse JSONアクションはエラーを出さずに一部の値を取得できない事態が発生します。このような場合は、最新のレスポンスをキャプチャしてスキーマを再生成することが必要です。

管理者に伝えるべき情報と連携のポイント

会社のPower Automate環境でJSON解析の問題が頻発する場合、管理者と連携して根本原因を解決する必要があります。以下の情報を整理して伝えると、スムーズに問題を共有できます。

  • 問題のフローIDとアクション名: どのフローでどのアクションが問題かを特定できる情報。
  • エラーメッセージと実行履歴のスクリーンショット: 具体的なエラー内容と、発生した時間帯。
  • 実際のJSONデータのサンプル: 個人情報を含まない形で、問題の発生するJSONの例。
  • 再現手順: どのような操作で問題が再現するか、ステップごとに記載。
  • 環境情報: 使用しているコネクタ、トリガーの種類、対象データソース(SharePoint、SQLなど)。

管理者はこれらの情報をもとに、DLPポリシーの見直しやコネクタの設定変更、またはPower Automateのアップデートの適用を検討できます。また、環境によってはカスタムコネクタの使用が制限されている場合もあるため、事前に確認を依頼すると良いでしょう。

よくある質問

Q1: Parse JSONアクションでエラーが表示されないのに値が空になるのはなぜですか?

スキーマとペイロードが部分的に一致していない可能性があります。例えば、プロパティ名の大文字小文字が異なる、または想定と異なるデータ型(文字列として数値が渡されるなど)が原因です。スキーマを再生成し、型定義を確認してください。

Q2: 複数のフローで同じJSON構造を解析する場合、スキーマを共有できますか?

Power Automateではスキーマを直接共有する機能はありませんが、同じサンプルペイロードから生成するか、スキーマの内容をコピー&ペーストして再利用できます。ただし、各フローで独立して管理する方が変更時の影響範囲を限定できるため安全です。

Q3: 再設定後にフローが動かなくなった場合、どう戻せばよいですか?

事前にエクスポートしたバックアップからフローを復元します。Power Automateポータルで「インポート」を選択し、保存しておいたパッケージをアップロードしてください。変更内容を記録していれば、再度修正することも可能です。

Q4: 会社のポリシーでParse JSONアクションが使えないと言われました。代替案は?

コンプライアンス上の制限がある場合、Azure Logic Appsやカスタム関数を使用する方法があります。また、JSONパースを外部サービスに委託するのではなく、Power Automate内で利用可能な範囲で処理するよう管理者に相談してください。

まとめ

Power AutomateのJSON解析が想定どおり進まない場合、まずはスキーマと実際のJSONデータの整合性を確認することが基本です。会社環境では、バックアップの作成や管理者との連携を怠らず、安全に再設定を進めてください。この記事で紹介した手順や失敗パターンを参考に、問題を効率的に切り分けて解決に役立ててください。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

ADVERTISEMENT