次の方法で共有


Azure Logic Apps のワークフロー入力のためのクロス環境パラメーターを作成する

適用対象: Azure Logic Apps (従量課金 + Standard)

Azure Logic Apps では、"パラメーター" を定義することによって、開発、テスト、および運用環境で、ワークフローで変化する可能性のある値を抽象化できます。 環境固有の変数ではなくパラメーターを使用する場合、最初はワークフローの設計に集中し、後から環境固有の変数を挿入できます。

この記事では、マルチテナントの従量課金ロジック アプリ ワークフローとシングルテナントの Standard ロジック アプリ ワークフローのパラメーターを作成、使用、編集する方法について説明します。 また、環境変数を管理する方法についても説明します。

マルチテナントとシングルテナントの Azure Logic Apps の詳細については、「Azure Logic Apps でのシングルテナントとマルチテナント」を確認してください。

前提条件

従量課金と Standard のロジック アプリ ワークフローのパラメーター

従量課金 と Standard の両方のロジック アプリ ワークフローで、デザイナーを使用してパラメーターを定義できます。 パラメーターを定義した後は、"同じ" ロジック アプリ リソース内の任意のワークフローまたは接続からそのパラメーターを参照できます。

マルチテナントの従量課金ロジック アプリ ワークフローでは、デザイナーでパラメーターを作成して使用した後、Azure Resource Manager テンプレート (ARM テンプレート) とテンプレート パラメーター ファイルで環境変数を定義し、設定します。 このシナリオでは、"デプロイ時に" パラメーターを定義して設定する必要があるため、1 つの変数を変更するだけでも、ロジック アプリの ARM テンプレートを再デプロイする必要があります。

シングルテナントの Standard ロジック アプリ ワークフローでは、パラメーター "および" アプリ設定を使用して、実行時とデプロイの両方で環境変数を操作できます。 アプリ設定には、同じロジック アプリ リソース内の "すべてのワークフロー" のためのグローバル構成オプションが含まれています。 詳細については、シングルテナントベースのロジック アプリのホストとアプリ設定の編集に関するページを参照してください。

重要

ユーザー名やパスワードを含む接続文字列などの機密情報がある場合は必ず、利用可能な最も安全な認証フローを使用してください。 たとえば、Standard ロジック アプリ ワークフローでは、securestringsecureobject などのセキュリティで保護されたデータ型はサポートされていません。 Microsoft では、可能な場合はマネージド ID を使用して Azure リソースへのアクセスを認証し、必要最小限の特権を持つロールを割り当てることをお勧めします。

この機能を使用できない場合は必ず、Azure Key Vault など、アプリ設定で使用できる他の手段を使用して接続文字列をセキュリティで保護してください。 これで、接続文字列やキーなど、セキュリティで保護された文字列を直接参照できます。 デプロイ時に環境変数を定義できる ARM テンプレートと同様に、ロジック アプリのワークフロー定義内でアプリ設定を定義できます。 その後、動的に生成されたインフラストラクチャ値 (接続エンドポイント、ストレージ文字列など) を取得できます。 詳細については、「Microsoft ID プラットフォームのアプリケーションの種類」を参照してください。

ただし、アプリ設定にはサイズ制限があり、Azure Logic Apps の特定の領域からは参照できません。 パラメーターでは、大きな値のサイズや複雑なオブジェクトのサポートなど、アプリ設定よりも幅広いユース ケースが提供されます。

たとえば、ローカル開発ツールとして Visual Studio Code を使用してワークフローをローカルで実行する場合、ロジック アプリ プロジェクトでは、parameters.json ファイルを使用してパラメーターを定義できます。 その後、プロジェクトの workflow.json ファイルの任意のワークフローや、プロジェクトの connections.json ファイル内の任意の接続オブジェクトから、このパラメーター ファイル内の任意のパラメーターを参照できます。 次の一覧に、一般的なユースケースをいくつか示します。

  • テスト時に使用するすべての値を含むテスト パラメーター ファイルを用意します。 デプロイ時に、テスト パラメーター ファイルを運用パラメーター ファイルに置き換えることができます。

  • connections.json ファイルのさまざまな部分をパラメーター化します。 その後、connections.json ファイルをソース管理にチェックインし、parameters.json ファイルを介して接続を管理できます。

  • authentication JSON オブジェクトなどの複雑なオブジェクトをパラメーター化します。 たとえば、authentication オブジェクトの値を、単一のパラメーター式 (@parameters('api-auth')など) を保持する文字列に置き換えることができます。

  • プロジェクトの local.settings.json ファイルでアプリ設定を確認し、編集します。 その後、これらのアプリ設定をパラメーターで参照できます。

Note

一般的な推奨事項として、値をパラメーター化する既定の方法として、アプリ設定ではなく、パラメーターを使用することを検討してください。 そうすることで、セキュリティで保護されたキーや文字列を格納する必要がある場合、推奨事項に従って、パラメーターからアプリ設定を参照できます。 必要に応じて、両方のオプションをソリューションで使用するには、パラメーターを使用してアプリ設定を参照します。

パラメーターの定義、使用、および編集

Azure portal

  1. Azure portal で、ロジック アプリ ワークフローを開きます。 [ワークフロー] で、ワークフローを選択してデザイナーで開きます。

  2. デザイナーのツール バーから、 [パラメーター] を選択します。

    Azure portal、従量課金ワークフローのデザイナー、デザイナー ツールバーの [パラメーター] が選択された状態を示すスクリーンショット。

  3. [パラメーター] ペインで、[パラメーターの追加] を選択します。

  4. 作成するパラメーターに関する次の情報を指定します。

    プロパティ Required 内容
    件名 はい 作成するパラメーターの名前です。
    Type はい パラメーターのデータ型。ArrayBoolFloatIntObjectSecure ObjectSecure StringString などです。
    既定値 はい パラメーターの既定値です。 ワークフロー ロジック、接続情報、パラメーター値が 1 つの場所に存在しないため、既定のパラメーター値を指定する必要があります。 デザイナーでは、読み込み前にパラメーター値を解決できる必要があります。

    重要: Secure ObjectSecure String のデータ型の場合は、値がプレーンテキストとして格納されるので、既定値を設定しないようにしてください。
    [実際の値] いいえ パラメーターの実際の値。

    次の例は、文字列パラメーターの定義を示しています。

    Azure portal、従量課金ワークフローのデザイナー、パラメーター定義の例を含む [パラメーター] ペインを示すスクリーンショット。

  5. 追加するパラメーターが他にある場合は、[パラメーターの追加] を選択します。 それ以外の場合は、パラメーターのペインを閉じますが、新しいパラメーターの定義を保存するために、必ずワークフローを保存してください。

  6. 同じワークフロー内に含まれるトリガーまたはアクションからパラメーターを参照するには、以下の手順を実行します。

    1. デザイナーで、目的のワークフローを開き、トリガーまたはアクションを展開します。

    2. パラメーターを使用するプロパティで、そのプロパティの編集ボックス内をクリックします。

    3. 開いた動的なコンテンツの一覧の [パラメーター] で、以前に作成したパラメーターを選択します。次に例を示します。

      従量課金ワークフローのデザイナーと、カーソルをプロパティ編集ボックスに置き、動的コンテンツ リストを展開し、以前に作成したパラメーターを選択したアクション例を示すスクリーンショット。

  7. ロジック アプリ ワークフローのパラメーターを表示または編集するには、以下の手順に従います。

    1. デザイナーでロジック アプリ ワークフローを開きます。 デザイナーのツール バーで、 [パラメーター] を選択します。

      [パラメーター] ペインが開き、そのワークフローに定義したすべてのパラメーターが表示されます。

    2. 編集を行い、パラメーターのペインを閉じて、ロジック アプリ ワークフローを保存します。