Azure Logic Appsのワークフローから Secure Shell (SSH) 経由で SFTP サーバー上のファイルに接続する

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

ワークフローで Secure Shell (SSH) ファイル転送プロトコル (SFTP) を使用するサーバーで安全な自動ファイル管理を実行する必要がある場合は、Azure Logic Appsで作成したワークフローで SFTP-SSH または SFTP コネクタ操作を使用します。

SFTP は、任意の信頼性の高いデータ ストリームに対するファイル アクセス、ファイル転送、およびファイル管理を提供するネットワーク プロトコルです。 その後、カスタム コードを記述したりインフラストラクチャを管理したりすることなく、SFTP サーバー上のファイルを監視、転送、管理できます。 そうしないと、これらのファイル操作を手動で管理しようとすると、時間がかかり、エラーが発生しやすく、スケーリングが困難になる可能性があります。

たとえば、ワークフローで次のタスクを実行できます。

  • 受信データ ファイルを監視および処理します。
  • フォルダーとファイルを作成および管理します。
  • ファイルの内容とメタデータを取得します。 アーカイブを抽出します。
  • レポートを配布します。
  • 環境間でコンテンツを同期します。

このガイドでは、Azure Logic Appsのワークフローから SFTP サーバーにアクセスする方法について説明します。

詳細については、以下を参照してください:

コネクタに関するテクニカル リファレンス

SFTP-SSH コネクタのバージョンは、ロジック アプリの種類とホスト環境に基づいて異なります。

従量課金ワークフローと Standard ワークフローでは、マルチテナント Azure内の他のリソースとコンピューティングを共有する SFTP-SSHmanaged コネクタを使用できます。 標準ワークフローでは、ランタイム ネイティブまたは 組み込みのSFTP コネクタを使用することもできます。 どちらのコネクタ バージョンでも SSH プロトコルが使用されます。

ロジック アプリの種類 (プラン) 環境 コネクタのバージョン
消費 マルチテナント Azure Logic Apps マネージド コネクタ。コネクタ ギャラリーの 共有 フィルターの下に表示されます。

詳細については、 マネージド コネクタリファレンスSFTP-SSH 参照してください
標準 シングルテナント Azure Logic Apps、App Service Environment v3 (Windows プランのみ)、ハイブリッド - マネージド コネクタ。コネクタ ギャラリーの 共有 フィルターの下に表示されます。

- 組み込みコネクタは、組み込みフィルターの下にあるコネクタギャラリーに表示され、サービスプロバイダーベースです。 組み込みコネクタを使用すると、オンプレミス データ ゲートウェイなしで接続文字列を使用して SFTP サーバーに直接接続し、Azure 仮想ネットワークにアクセスできます。

詳細については次を参照してください:

- SFTP-SSH マネージド コネクタのリファレンス
- SFTP 組み込みコネクタのリファレンス

SFTP コネクタのバージョンが異なると、事前構築済みの操作が異なります。 SFTP 固有のトリガーを使用して空のワークフローを開始するか、シナリオに基づいて別のトリガーを選択できます。 たとえば、SFTP サーバー上のイベントを監視して応答する SFTP トリガーを使用してワークフローを開始できます。 トリガーは、ワークフロー内の後続のアクションで使用する出力を提供します。 さまざまな SFTP アクションは、SFTP サーバー上のファイルの取得、作成、管理など、さまざまなタスクを実行します。

前提条件

  • Azure アカウントとサブスクリプション。 無料の Azure アカウントを取得します

  • SFTP サーバーの接続と認証に関する情報:

    • サーバー アドレス
    • アカウントの資格情報
    • SSH 秘密キーへのアクセス
    • SSH 秘密キーのパスワード

    重要

    接続を作成し、SSH 秘密キー パラメーターに SSH 秘密キー を入力するときは、 完全で正しいパラメーター値を指定するための手順に従ってください。 それ以外の場合は、無効なキーによって接続が失敗します。

    詳細については、SFTP-SSH マネージド コネクタのリファレンス - 「認証とアクセス許可」を参照してください。

  • SFTP サーバーにアクセスするワークフロー。

    SFTP トリガーを使用してワークフローを開始するには、空のワークフローが必要です。 SFTP アクションを使用するには、シナリオに最適なトリガーを使用します。 このガイドの例では 、繰り返し トリガーを使用します。

一般的な制限事項

既知の問題

既定では、配列を受け入れて返すトリガーには、通常、既に有効になっている 分割設定 があります。 トリガーは、各配列項目を処理する個別のワークフロー インスタンスを内部的に作成することで、配列を自動的に デバッチ します。 配列項目が同時に処理されるように、すべてのワークフロー インスタンスが並列して実行されます。

[分割時] 設定を有効にすると、マネージド コネクタ トリガーは、すべての配列項目の出力をリストとして返します。 これらの出力を参照する後続のアクションは、最初にこれらの出力をリストとして処理する必要があります。 各配列項目を個別に処理するために、アクションを追加できます。 たとえば、これらの配列項目を反復処理するために、For each ループを使用できます。 メタデータまたはプロパティのみを返すトリガーの場合、最初に配列項目のメタデータを取得するアクションを使用し、次に、項目の内容を取得するアクションを使用します。

この方法は マネージド コネクタ トリガーにのみ適用する必要があります。Split on 設定を有効にして一度に 1 つの配列項目の出力を返す組み込みのコネクタ トリガーには適用しないでください。

たとえば、[ファイルが追加または変更されたとき (プロパティのみ)] という名前のマネージド コネクタ トリガーがあるとします。このトリガーは、新しいファイルまたは更新されたファイルのメタデータまたはプロパティを配列として返します。 各ファイルのメタデータを個別に取得するために、配列を反復処理する For each ループを使用できます。 このループでは、次のマネージド コネクタ アクションを指定されている順序で使用します。

  1. ファイルのメタデータを取得 することで、各ファイルのメタデータを取得します。

  2. 各ファイルの内容を取得するための [ファイルの内容の取得] アクション。

チャンク

チャンクを使用すると、既定のサイズ制限を超える大きなファイルを処理できます。 SFTP-SSH マネージド コネクタとチャンクのサポートの詳細については、マネージド コネクタリファレンス SFTP-SSH チャンクを参照してください。

SFTP トリガーを追加する

空のワークフローに SFTP トリガーを追加するには、対応する手順に従います。

マネージド SFTP-SSH トリガーを追加する (従量課金、標準)

マネージドまたは共有 SFTP-SSH コネクタ トリガーを追加して設定するには、次の手順に従います。

  1. Azure portal で、ロジック アプリ リソースを開きます。 デザイナーで、空のワークフローを開きます。

  2. デザイナーで、 一般的な手順 に従って、目的の 共有SFTP-SSH トリガーを追加します。

    たとえば、ファイルが 追加または変更されたときに という名前の SFTP-SSH トリガーは、SFTP サーバー上のファイルが追加または変更されたときにワークフローを開始します。 ファイルの内容が指定された条件を満たしているかどうかを確認する条件アクションを追加できます。 コンテンツが条件を満たしている場合は、[ ファイル コンテンツの取得] という名前の SFTP アクションを使用し、別のアクションを使用してコンテンツを別の SFTP フォルダーに保存します。

  3. プロンプトが表示されたら、必要な接続情報を入力します。 完了したら、[ 新規作成] を選択します。

  4. Designer でトリガーを選択します (選択されていない場合)。 トリガー情報ウィンドウで、必要な詳細を指定します。

    詳細については、SFTP-SSH マネージド コネクタの「トリガー」のリファレンスを参照してください。

  5. 完了したら、ワークフローを保存します。 デザイナーのツール バーで、 [保存] を選択します。

  6. アクションを追加してワークフローを構築し続けます。

組み込みの SFTP トリガーを追加する (標準のみ)

組み込みの SFTP コネクタ トリガーを追加して設定するには、次の手順に従います。

  1. Azure portal で、ロジック アプリ リソースを開きます。 デザイナーで空のワークフローを開いてください。

  2. デザイナーで、 一般的な手順 に従って、必要な 組み込みのSFTP トリガーを追加します。

    たとえば、 ファイルが追加または変更されたときに という名前の SFTP トリガーは、SFTP サーバー上のファイルが追加または変更されたときにワークフローを開始します。 ファイルの内容が指定された条件を満たしているかどうかを確認する条件アクションを追加できます。 コンテンツが条件を満たしている場合は、[ ファイル コンテンツの取得] という名前の SFTP アクションを使用し、別のアクションを使用してコンテンツを別の SFTP フォルダーに保存します。

  3. プロンプトが表示されたら、必要な接続情報を入力します。 完了したら、[ 新規作成] を選択します。

  4. Designer でトリガーを選択します (選択されていない場合)。 トリガー情報ウィンドウで、必要な詳細を指定します。

    詳細については、 SFTP 組み込みのコネクタ トリガー リファレンスを参照してください

  5. 完了したら、ワークフローを保存します。 デザイナーのツール バーで、 [保存] を選択します。

  6. アクションを追加してワークフローを構築し続けます。

SFTP アクションを追加する

SFTP アクションを追加する前に、ワークフローにはトリガーが必要です。トリガーは、シナリオに最適な場合があります。

この例では、指定したスケジュールに基づいてワークフローを実行する汎用 の繰り返し 組み込みトリガーを使用します。 SFTP を追加できます。

マネージド SFTP-SSH アクションを追加する (従量課金、標準)

マネージド SFTP-SSH コネクタ アクションを追加して設定するには、次の手順に従います。

  1. Azure portal で、ロジック アプリ リソースを開きます。 デザイナーでワークフローを開きます。

  2. デザイナーで、 一般的な手順 に従って、 必要な共有 SFTP-SSH アクションを追加します。

    たとえば、「 パスを使用してファイル コンテンツを取得する 」という名前の SFTP-SSH アクションは、ファイル パスを指定して SFTP サーバーからファイル コンテンツを取得します。 SFTP-SSH トリガーを使用して、新規または更新されたファイルと、コンテンツが満たす必要がある条件を指定する条件アクションを確認できます。 コンテンツが条件を満たしている場合は、[ パスを使用してファイル コンテンツを取得 する] アクションと後続のアクションを使用して、コンテンツを別の SFTP フォルダーに保存します。

  3. プロンプトが表示されたら、必要な接続情報を入力します。 完了したら、[ 新規作成] を選択します。

  4. 選択されていない場合は、デザイナーでアクションを選択します。 アクション情報ウィンドウで、必要な詳細を指定します。

    詳細については、SFTP-SSH マネージド コネクタの「アクション」のリファレンスを参照してください。

  5. 完了したら、ワークフローを保存します。 デザイナーのツール バーで、 [保存] を選択します。

組み込みの SFTP アクションを追加する (標準のみ)

組み込みの SFTP アクションを追加して設定するには、次の手順に従います。

  1. Azure portal で、ロジック アプリ リソースを開きます。 デザイナーでワークフローを開きます。

  2. デザイナーで、 一般的な手順 に従って、必要な 組み込みの SFTP-SSH アクションを追加します。

    たとえば、ファイル コンテンツの取得 という名前の SFTP アクションは、SFTP サーバー上のファイル コンテンツを取得します。 新しいファイルまたは更新されたファイルをチェックする SFTP トリガーと、ファイル コンテンツが満たす必要がある条件を指定する条件アクションを使用できます。 コンテンツが条件を満たしている場合は、[ ファイル コンテンツの取得 ] アクションと後続のアクションを使用して、コンテンツを別の SFTP フォルダーに保存します。

  3. プロンプトが表示されたら、必要な接続情報を入力します。 完了したら、[ 新規作成] を選択します。

  4. Designer でアクションを選択します (選択されていない場合)。 アクション情報ウィンドウで、必要な詳細を指定します。

    詳細については、SFTP 組み込みコネクタの「アクション」のリファレンスを参照してください。

  5. 完了したら、ワークフローを保存します。 デザイナーのツール バーで、 [保存] を選択します。

トラブルシューティング

詳細については、以下を参照してください: