次の方法で共有


Power Platform の概要のための環境変数

環境変数により、Power Platform 環境間でアプリケーションを移動という基本的なアプリケーション ライフサイクル管理 (ALM) シナリオが可能になります。 このシナリオでは、移行元環境と移行先環境で異なるいくつかの主要な外部アプリケーション参照 (テーブル、接続、キーなど) を除いて、アプリケーションはまったく同じままです。 アプリケーションでは、テーブルまたは接続の構造が移行元環境と移行先環境で、多少の違いはあるものの、まったく同じである必要があります。 環境変数を使用すると、アプリケーションが環境間で移動するときに、これらの異なる外部参照のどれを更新する必要があるかを指定できます。

環境変数は、パラメーター キーと値を格納し、他のさまざまなアプリケーション オブジェクトへの入力として機能します。 消費オブジェクトからパラメーターを分離すると、同じ環境内で、または他の環境にソリューションを移行するときに値を変更できます。 代替方法は、ハードコーディングされたパラメーター値を、それらを使用するコンポーネント内に残すことです。 特に ALM 作業中に値を変更する必要がある場合、この方法はよく問題になります。 環境変数はソリューション コンポーネントであるため、ソリューションを他の環境に移行するときに、参照 (キー) を転送して値を変更できます。

環境変数を使用するメリット:

  • 他の環境へのソリューションのインポート中に、新しいパラメーター値を提供します。
  • キャンバス アプリおよびフローで使用されるデータ ソースの構成を保存します。 たとえば、SharePoint Online のサイトとリストのパラメータを環境変数として格納できます。 この方法では、アプリやフローを変更することなく、異なる環境のさまざまなサイトやリストに接続できます。
  • カスタマイズおよび構成を一緒にパッケージ化して転送し、1 つの場所で管理します。
  • さまざまなコンポーネントで使用される資格情報など、それらを使用するコンポーネントとは別に、パッケージおよびトランスポート シークレット。
  • 1 つの環境変数は、同じ種類のコンポーネントであるかまたは別のコンポーネントであるかどうかを問わず、多くのさまざまなソリューション コンポーネントで使用できます。 たとえば、キャンバス アプリおよびフローは同じ環境変数を使用できます。 環境変数の値を変更する必要がある場合は、1 つの値を変更することだけが必要になります。
  • また、運用環境でデータ ソースを廃止する必要がある場合は、環境変数値を新しいデータ ソースの情報で更新できます。 アプリとフローは変更する必要がなく、新しいデータ ソースの使用を開始します。
  • SolutionPackagerDevOps ツールでサポートされているため、継続的インテグレーションと継続的デリバリー (CI/CD) が可能です。
  • 環境変数をパック解除して、ソース管理に保存できます。 さまざまな環境で必要な個別の構成用に、さまざまな環境変数値ファイルを保存することもできます。 ソリューション パッケージャーは、ソリューションがインポートされる環境に対応するファイルを受け入れることができます。

環境変数はどのように機能しますか?

環境変数は、最新のソリューション インターフェイス内で作成、変更できます。 また、キャンバス アプリやコードで特定のデータソースに接続する際に、自動的に作成することもできます。 ソリューションを介して環境にインポートすることもできます。 環境変数は、キャンバス アプリ、Power Automate フロー、プラグイン、モデル駆動型アプリへの Power BI ダッシュボードの追加を作成する際の入力として使用できます。 環境変数を使用すると、値は環境変数から派生し、ソリューションを他の環境にインポートする際に変更することができます。

環境変数をソリューションで手動で作成する

  1. Power Apps (make.powerapps.com) にサインインしてから、左ペインでソリューションを選択します。 項目がサイド パネル ウィンドウに表示されない場合は、…さらに表示 を選択して、目的の項目を選択します。
  2. 必要なソリューションを開く、または新しいソリューションを作成します。
  3. コマンド バーで、新規>その他を選択してから、環境変数を選択します。
  4. 右側のペインで、次の列を入力し、続いて保存を選択します。
    • 表示名。 環境の変数の名称を入力してください。

    • 名前. 一意の名前は 表示名称 から自動的に生成されますが、変更することもできます。

    • データ型10 進数テキストJSON2 つのオプションデータ ソース、またシークレットから選択します。

      ヒント

      • データ ソースが選択された種類である場合は、コネクタ、選択したコネクタの有効な接続パラメーターの種類を選択する必要もあります。 接続は、環境変数の一部として保存されません。 環境変数は、Power Apps を適切なサーバーとテーブルに接続するために必要となる、接続にはない情報を格納します。 接続は、アクセスできる SharePoint サイトなどの使用可能なパラメータ値や、サイトに関連付けられたリストを取得する場合にのみ使用されます。
      • シークレットが選択されたタイプである場合、Power Platform がシークレットにアクセスするには、Azure Key Vault をセットアップおよび構成するための追加情報が必要です。
    • Current Value。 値とも呼ばれます。 このプロパティはオプションであり、環境変数値テーブルの一部です。 既定値が存在する場合でも、定義された値が使用されます。 次の環境で使用したくない場合はソリューションから値を削除します。 値は、エクスポートされたソリューション .zip ファイル内で個別の JSON ファイルに分けられ、オフラインで編集することもできます。 詳細: 環境変数から値を削除するにはどうすればよいですか?

    • 既定値。 この列は環境変数定義テーブルの一部であり、必須ではありません。 現在の値がない場合は、既定値が使用されます。

      既定値と現在の値を分離すると、定義と既定値を、値とは別にサービスすることができます。 たとえば、アプリケーション公開元が AppSource に既定値と共にオファーを一覧表示することがあります。 すると、オプションで、顧客は新しい値を提供することができます。 アプリケーション公開元がアプリケーションの更新を公開する場合、顧客が設定した値は上書きされません。

      新しい環境変数。

      注意

      値は定義なしに存在することはできません。 インターフェイスは定義ごとに一つの値のみを作成できます。

Power Apps は自動的に環境変数を作成します

Power Apps 設定の全般タブで:

  • データソースの追加時に環境変数を自動で作成するオプションを有効化します。 これで、新しいデータ ソースをアプリに追加すると、環境変数が追加されます。

    環境変数の自動作成。

さまざまなデータ ソース

データ ソースが異なれば、有効になる環境変数の種類も異なります。

Microsoft Dataverse

Power Apps は Dataverse にネイティブに接続します。 現在の環境では、テーブルに環境変数は必要ありません。 Dataverse に接続すると、アプリケーションは、移植したどの環境でも、まったく同じテーブル名を自動的に探します。 テーブル名の構造がターゲット環境で元の環境と同じである限り、機能します。

異なる環境から外部テーブルを使用する場合 (環境の変更を使用)、Power Apps は常にまったく同じテーブルを参照することを想定しています。 dev から test や prod に移行する際に、外部テーブルを別の外部テーブルにする必要がある場合は、環境変数が必要です。Power Apps に自動的に環境変数を作成させるのが最も簡単です。 (以前にテーブルをアプリに追加した場合は、設定スイッチをオンにし、外部テーブルを削除してから追加し直します)。

外部テーブルをアプリに追加するときに、詳細 タブを選択して環境変数を選択します。

外部環境の Dataverse 環境変数。

SharePoint

SharePoint は Microsoft Entra 接続のみをサポートします。 そのため、有効な接続に加えて、SharePoint にはサイトとリストに個別の環境変数が必要です。

環境変数を正常に使用するためには、SharePoint のリストが必要です。

  • ソース環境とターゲット環境の対応する各列の表示名と論理名は一致する必要があります。
  • SharePoint の環境変数は一致するメタデータが必要です。 SharePoint には内部識別子がありますが、これはターゲットの環境間で一致しない可能性があります。 たとえば、ターゲット環境で同じ名前と列を持つリストを作成した場合、内部名は一致しません。 SharePoint サイトを複製してターゲット環境にコピーした場合、メタデータは常に一致します。

SQL サーバー

SQL Server は、さまざまな種類の認証と接続をサポートしています。 Microsoft Entra 接続には環境変数を使用します。 サーバーとデータベースには、個別の環境変数が必要です。 アプリケーションは特定のテーブル名にバインドされているため、それらは環境間で同じであると見なされます。

SQL Server での基本 SQL 認証などの共有接続には環境変数を使用しないでください。 従来は接続文字列の一部として渡されていた情報には、接続参照を使用します。 基本的な SQL 認証パラメータは、すべて接続文字列の一部です。 たとえば、サーバー名およびデータベース名は接続の作成時に提供されるため、常に接続から派生します。

データソース環境変数は、Microsoft Entra などの認証付きコネクタに使用されます。 この種の接続では、Power Apps は識別されたユーザーのみを持ちます。 Power Apps は、接続からどのサービスやテーブルで作業しようとしているのかを導き出すことはできません。

ソリューションのインポート中に新しい値を入力する

最新のソリューション インポート インターフェイスには、環境変数の値を入力する機能が含まれています。 これにより、environmentvariablevalueテーブルの値プロパティが設定されます。

環境変数の値は、ソリューションをインポートする際や、パイプラインを使用して展開する際に表示されます。 既定値または値がない環境変数では、値の入力が求められますが、それ以外の場合は、値のソース (ソリューション値、ターゲット環境値、または既定値) を示すラベルがテキスト領域の下に事前に入力されます。

ソリューションのインポート中の環境変数の可視性。

注意

  • 場合によっては、特定のデータ ソース環境変数値に対して、インポートする作成者がその環境変数に使用されている接続やソースにアクセスできない場合、アクセスが拒否されましたの警告が表示されることがあります。 これは非ブロッキング警告ですが、ターゲット環境で環境変数をどのように使用するかによっては注意が必要です。
  • ソリューションをエクスポートする前に、ソリューションから値を削除できます。 これにより、既存の値は開発環境に残りますが、ソリューションにエクスポートされません。 この方法により、ソリューションを他の環境にインポートする間に新しい値を提供できます。 詳細: 環境変数から値を削除するにはどうすればよいですか?

通知

通知は、環境変数に値がないときに表示されます。 環境変数に依存するコンポーネントが失敗しないように値を設定します。

セキュリティ

environmentvariabledefinition テーブルは、ユーザーまたはチームが所有しています。 環境変数を使用するアプリケーションを作成するときは、必ずこのテーブルに適切なレベルの特権をユーザーに割り当ててください。 environmentvariablevalue テーブルへのアクセス許可は、親 environmentvariabledefinition テーブルから継承済みであるため、個別の特権が必要ではありません。 environmentvariabledefinition テーブルの特権は、既定で環境作成者と Basic ユーザーのセキュリティ ロールに含まれています。 詳細: Dataverse のセキュリティ

命名

環境変数の名前は、正確な参照ができるように一意なものにしてください。 環境変数の表示名が重複していると、環境変数を区別して使用することが難しくなります。 環境変数の名前は、正確な参照ができるように一意なものにしてください。 名前の $ authentication$ connection はフロー用に特別に予約されたパラメータであり、避ける必要があります。 これらの名前の環境変数が使用されている場合、フロー保存がブロックされます。 環境変数がフローで使用されており、環境変数の表示名が変更された場合、デザイナーは識別に役立つように新旧両方の表示名トークンを表示します。 フローを更新する際には、環境変数の参照を一度削除して、再度追加することをお勧めします。

現在の制限

  • 環境変数値の検証は、ユーザー インターフェイス内およびそれらを使用するコンポーネント内で行われますが、Dataverse 内では行われません。 そのため、コードで変更する場合は、適切な値が設定されていることを確認してください。
  • Power Platform Build Tools のタスク は、データ ソース環境変数の管理ではまだ使用できません。 ただし、これにより、Microsoft が提供するツール内およびソース管理システム内での使用がブロックされることはありません。
  • カスタム コードを使用して環境変数を操作するには、値をフェッチするための API 呼び出しが必要です。Microsoft 以外のコードで使用するために公開されているキャッシュはありません。
  • 環境変数は最大 2,000 文字に制限されます。

よく寄せられる質問

使用している環境変数の値が表示されないのはなぜですか?

環境変数がマネージド ソリューションにある場合、既定のソリューション内を調べない限り、値を確認することはできません。 環境変数値はアンマネージド カスタマイズであるため、この動作は仕様によるものです。

環境変数が使用されている場所を確認するにはどうすればよいですか?

コンポーネントの作成中、ソリューション インターフェイスで依存関係を表示するを選択することにより、またはソース管理およびソリューション ファイルで、アプリまたはフローのメタデータを表示することにより実行できます。

データ ソース環境変数は接続と同じですか?

いいえ 両者は関連していますが、コネクタはコネクタとやり取りするために必要な認証または資格情報を表します。 データ ソース環境変数は、コネクタの 1 つ以上のアクションに必要なパラメーターを格納し、これらのパラメーターは、多くの場合アクションによって異なります。 たとえば、SharePoint オンライン接続では、サイト、リスト、またはドキュメント ライブラリに関する情報は保存されません。 そのため、コネクタを呼び出すには、有効な接続といくつかの追加パラメーターの両方が必要です。

自動化された ALM パイプラインでは、異なる環境に異なる値ファイルを使用できますか?

はい。 ソリューション パッケージャーはファイル名を入力パラメーターとして受け入れるため、実行される環境の種類に応じて、パイプラインはソリューションに異なる値のファイルをパックできます。

ソリューションにその値を含める必要がありますか?

いいえ 環境変数は、ソリューションがデプロイされる異なる環境で異なる値を必要とするアプリケーションが使用することを目的としています。 環境変数の定義はソリューションに含める必要がありますが、値はデプロイメント中にターゲット環境に提供する必要があります。 この動作により、環境変数定義はターゲット環境内の管理ソリューション オブジェクトになりますが、環境変数は管理されていないレコードになります。

使用している環境で値を削除できないのはなぜですか?

値が管理ソリューションに含まれていた場合、値を削除する唯一の方法は、ソース環境のソリューションを更新して値を除外し、ソリューションの新しいバージョンをエクスポートすることです。 この新しいバージョンは、アップグレード操作 (更新ではない) を使用して環境にインポートすることができ、その結果、値のレコードが削除されます。

誰かが誤って値を削除した場合はどうなるでしょうか?

依存関係システムによってまだ防止されていない場合、ランタイムは最後の既知の値をフォールバックとして使用します。

値が変更された場合、新しい値はいつキャンバス アプリおよびクラウド フローで使用されますか?

値はアプリにプッシュされ、非同期的に流れるため、更新された環境変数を完全に公開するには最大 1 時間かかる場合があります。

プレミアム ライセンスが必要ですか?

いいえ ALM は Dataverse (または Dynamics 365) を必要としますが、プレミアム コネクタの使用は必要ありません。 1 つの注意事項は、Dataverse コネクタを使用して、アカウントまたは取引先担当者などの他のデータ レコードと同じように環境変数と対話する場合です。 以前は、これがキャンバス アプリおよびフローで環境変数を使用する唯一の方法でした。

使用できる環境変数の数に制限がありますか?

いいえ ただし、ソリューションの最大サイズは 95 MB です。 詳細: ソリューションの作成

環境変数の表示名および説明をローカライズできますか?

はい。

カスタム テーブルに構成データを保存する代わりに環境変数を使用する必要がありますか?

構成データがリレーショナルでない場合は、必要があります。 環境変数は、キーと値のペアに使用する必要があり、値が他の環境で異なる必要があるときに使用する必要があります。 構成移行ユーティリティなどの他のツールは、カスタム テーブル内のリレーショナル構成格納データの移行に適しています。 他の構成データとは異なり、環境変数はソリューション内で移行されるため、管理がはるかに簡単で、インポートするパフォーマンスが向上します。

データ ソース環境変数の接続が保存されないのはなぜですか?

接続はユーザー インターフェイスを生成するためにのみ使用されます。 たとえば、サイトに関連付けられた SharePoint リストのフレンドリ名を取得します。 データ ソース環境変数を編集するときは、必ずデータ ソースにアクセスできる接続を選択してください。 接続にアクセスできなくなった場合は、手動で値を入力できます。 たとえば、リストの SharePoint サイト URL または一意の識別子 (GUID) を入力してください。

単一の (データ ソース タイプ) 環境変数に対して複数の接続が使用可能な場合、接続リストの最初の接続を選択する設計になっています。 通常、環境変数に関連付けられている接続は 1 つだけであるため、これは通常、検証する必要はありません。 また、環境変数値の表示方法の最近の変更により、インポート時の検証が容易になりました。

環境変数から値を削除するにはどうすればよいですか?

ソリューションをエクスポートする前に、ソリューションから環境変数の値を削除することをお勧めします。 その後、既存の値は開発環境に残りますが、ソリューションにはエクスポートされません。 このアプローチにより、ソリューションを別の環境にインポートしながら、新しい値を提供できます。

値を削除するには、次のステップを実行します。

  1. 環境変数が配置されているソリューションで、環境変数を選択してプロパティを表示します。

  2. 現在の値 で、...>このソリューションから削除 を選択します。

    環境変数から値を削除する

カスタム コネクタで環境変数を使用できますか ?

はい。 カスタム コネクタでサポートされている環境変数

参照

キャンバス アプリでデータ ソース環境変数を使用する
Power Automate ソリューション クラウド フローで環境変数を使用する
EnvironmentVariableDefinition テーブル/エンティティ リファレンス
Web API サンプル
キャンバス アプリでデータ ソース環境変数を使用する
環境変数を使用する Power Automate ソリューションのクラウドフロー
Azure Key Vaultのシークレットを使用する
カスタムコネクタにおける環境変数のサポート
Power Apps ブログ: 環境変数がプレビューで利用可能になりました。