FTP

ファイル転送プロトコル (FTP) は、コンピューター ネットワーク上のクライアントとサーバー間でコンピューター ファイルを転送するために使用される標準のネットワーク プロトコルです。 FTP は、クライアント サーバー モデルのアーキテクチャに基づいて構築されており、クライアントとサーバー間で個別の制御接続とデータ接続を使用します。

このコネクタは、次の製品および地域で利用可能です。

Service クラス 地域
Logic Apps 標準 すべての Logic Apps 地域および統合サービス環境 (ISE)
Power Automate 標準 以下を除くすべての Power Automate 地域 :
     -   US Government (GCC High)
     -   米国国防総省 (DoD)
Power Apps 標準 以下を除くすべての Power Apps 地域 :
     -   US Government (GCC High)
     -   米国国防総省 (DoD)
Connector Metadata
発行者 マイクロソフト

既知の問題と制限事項

  • この記事では、Azure Logic Apps、Power Automate、Power Apps で利用可能な FTP マネージド コネクタ のみの操作について説明します。 FTP 組み込み コネクターは、Azure Logic Apps の Standard ロジック アプリ ワークフローでのみ利用可能です。 Azure Logic Apps の FTP 組み込みコネクタの詳細については、Azure Logic Apps のワークフローから FTP サーバーに接続する を確認してください。

  • FTP トリガーは、ファイル コンテンツではなく、メタ データまたはプロパティのみを返すようになりました。 ただし、これらのトリガーは ファイルの内容を取得 というアクションでフォローすることができます。 トリガーがリストではなく、一度に 1 つのファイルを返すことを確認するために、トリガーの "Split On" オプションを有効にすることを確認してください。 Azure Logic Apps でのこのオプションの詳細については、複数の実行をトリガーする を確認してください。

  • FTP トリガーは、サブフォルダーではなく、指定されたフォルダーでのみ機能します。 フォルダーのサブ フォルダーも確認するには、サブフォルダーごとに個別のフローを設定します。

  • 既定では、FTP マネージドコネクタ アクションは、50 MB 以下のファイルの読み取りまたは書き込みが可能です。 50 MB 以上のファイルを扱うには、ファイルの内容を取得する という名前の FTP マネージド コネクタ アクションを使用することができます。 その他の FTP マネージド コネクタ アクションでも、メッセージ チャンキングを有効にすることができます。

  • FTP トリガーが新しく作成、追加、更新されたファイルを返すときに、遅延や不完全な結果が発生する場合があります。

    FTP トリガーが新しく追加または変更されたファイルをチェックする際には、トリガーはファイルが完全であることも確認します。 たとえば、トリガーが FTP サーバーをチェックした際に、ファイルが変更中である場合があります。 不完全なファイルを返すのを避けるために、トリガーはファイルのタイム スタンプを記録しますが、すぐにはファイルを返しません。 その代わりに、トリガーがサーバーを再度チェックしたときにのみ、ファイルを返します。 場合によっては、この動作はトリガーのポーリング間隔の最大 2 倍の遅延が発生することがあります。 この動作のため、FTP トリガーの分割設定を無効にすると、すべてのファイルを同時に返さない場合があります、

  • FTP マネージド コネクタ のトリガーで、「最終更新」のタイムスタンプが保持されている場合に、結果が欠落したり、不完全になったり、遅延したりすることがあります。

    • 欠落している結果

      FTP トリガーは、FTP ファイル システムをポーリングまたはチェックして、最後のポーリング以降に変更されたファイルを探すことで動作します。 FTP マネージド コネクターは、ファイルの最終更新タイムスタンプを使用してファイルのバージョンを比較するトリガーを提供します。

      現在追跡されている最終修正時刻よりも早いタイムスタンプでファイルを作成、追加、または更新した場合、FTP マネージド コネクタのトリガーはこのファイルを検出しません。 一方、FTP 組み込み 標準ロジック アプリ ワークフローのコネクタ トリガーには、この制限はありません。

      したがって、FTP サーバー上でファイルを作成、追加、または更新する外部ツールまたはクライアントを使用する場合は、ファイルの最終更新時刻を保持するツールまたはクライアントの機能をすべて無効にしていることを確認してください。

      次の表は、このタイムスタンプを保持する一般的に使用されるツールと、この機能を無効にする手順の一覧です。

      FTP クライアント Action
      WinSCP オプション > 環境設定 > 移行 > 編集 > タイムスタンプを保持 > 無効にするに移動します。
      FileZilla 転送 > 転送されたファイルのタイムスタンプを保持 > 無効化に移動します。
    • 不完全、または遅れた結果

      FTP トリガーが新規作成、追加、更新されたファイルをチェックする際は、トリガーはファイルが完全であるかどうかもチェックします。 たとえば、トリガーが FTP サーバーをチェックした際に、ファイルが変更中である場合があります。 不完全なファイルを返すのを避けるために、トリガーはファイルのタイム スタンプを記録しますが、すぐにはファイルを返しません。 その代わりに、トリガーがサーバーを再度チェックしたときにのみ、ファイルを返します。

      場合によっては、この動作はトリガーのポーリング間隔の最大 2 倍の長さに及ぶ遅延を引き起こすかもしれません。 この動作により、FTP トリガーの 分割 設定を無効にした場合、FTP トリガーがすべてのファイルを同時に返さない可能性があります。

要件

  • FTP コネクターは、FTP ホスト サーバのアドレスとアカウントの認証情報を必要となります。

  • FTP コネクターは、インターネットから、またはインターネット経由で FTP サーバーにアクセスする必要があります。 特定の IP 範囲を使用して FTP サーバーへのトラフィックを許可する方法については、マネージド コネクタの IP アドレスを参照してください。

  • FTP コネクタは、FTP サーバーがパッシブモードで動作または受理される必要があります。

  • FTP コネクターは、FTP サーバーが以下のコマンドを有効にし、コマンドを正しく動作させるために空白を含むフォルダーをサポートする必要があります。 LIST コマンドでは、6ヶ月以上前のファイルのタイムスタンプに対して year コンポーネントが返されることを確認してください。

    • APPE
    • DELE
    • LIST
    • MDTM
    • RENAME
    • RETR
    • サイズ
    • STOR
  • セキュア FTP の場合は、暗黙的な FTPS ではなく、必ず明示的な FTPS (File Transfer Protocol Secure) を設定します。 また、ProFTPd など一部の FTP サーバーでは、SSL (Secure Socket Layer) の後継である TLS (Transport Layer Security) モードを使用する場合、NoSessionReuseRequired オプションを有効にする必要があります。

    FTP コネクタは暗黙的な FTPS には対応しておらず、TLS の拡張である FTPS 上の明示的な FTP のみをサポートします。

FTP 接続

  • FTP コネクタと FTP サーバーの両方のパフォーマンスを向上させるために、コネクタがリクエストを完了した後も FTP 接続を開いたままアクティブにしておくことができます。

    FTP サーバーへの接続を作成するときに表示される接続プロファイルのボックスには、要求完了後に接続を閉じるという設定があります。 この設定では、リクエストが完了するたびに FTP サーバー接続を閉じるかどうかを指定します。 この設定を無効にしておくと、要求が完了した後も接続が閉じず、将来の使用のためにアクティブな状態が維持されます。

  • ワークフロー インスタンスが並列に実行されている場合、断続的に接続エラーが発生することがあります。 ワークフロー内の他の操作がまだその接続を使用している場合でも、ワークフロー内の一部の操作が接続を強制的に終了する場合があります。

    このシナリオを回避するには、以下の推奨事項をお試しください:

    • 接続を作成するときに、要求完了後に接続を閉じる設定を有効にします。

    • トリガーやアクションで有効になっている並列処理や同時実行をオフにします。 Azure Logic Apps のこのソリューションの詳細については、以下のドキュメントを確認してください:

    • 複数の並列フローを実行しないでください。

チャンキングの有無にかかわらず、「ファイルを作成する」アクションを使用する

ファイル作成 アクションの場合、動作はアクションのチャンキングを許可する設定と作成するファイルのサイズに依存します:

  • チャンキングを 有効にする:

    • ファイルサイズが 50 MB 以下: 1 回のリクエストでファイルをアップロードし、元のファイル名を使用し、アップロード中にファイルをロックします。

    • ファイル サイズが 50 MB よりも大きい: このアクションは、file-name . new-GUID.ms.partial という名前のフォーマットでファイルを作成し、複数のリクエスト、またはメッセージ チャンキングを使用してファイルをアップロードします。 アクションが最後のチャンクをアップロードした後、アクションは元のファイル名でファイル名を変更します。

  • チャンキングを許可 の無効: このアクションは、1 回のリクエストでファイルをアップロードし、オリジナルのファイル名を使用し、アップロード中にファイルをロックします。

コネクタの攻略ガイド

Azure Logic Apps で FTP マネージド コネクタとビルト イン コネクタを使用する方法については、Azure Logic Apps のワークフローから FTP サーバーに接続する を参照してください。

一般的な制限

件名 価値
単一アーカイブ内のフォルダーの最大数。 この制限は、「フォルダを作成しますか?」の場合にのみ適用されます。 「はい」に設定されています。 16
帯域幅の時間間隔内でコネクタとの間で転送されるメガバイトの最大数 (接続ごと) 1000
帯域幅の時間間隔 (ミリ秒単位) 60000

接続の作成

コネクタは、次の認証タイプをサポートしています。

既定 接続を作成するためのパラメーター。 すべての地域 共有不可

既定

適用できるもの: すべての領域

接続を作成するためのパラメーター。

これは共有可能な接続ではありません。 パワー アプリが別のユーザーと共有されている場合、別のユーザーは新しい接続を明示的に作成するように求められます。

件名 タイプ 内容 必要
サーバー アドレス 文字列 サーバー アドレス
ユーザー名 文字列 ユーザー名
パスワード securestring パスワード
FTP サーバー ポート int FTP ポート番号 (例: 21)
SSL を有効化しますか? bool SSL を有効化しますか? (True/False)
バイナリ転送しますか? bool バイナリ転送を有効にするには? (True/False)
証明書の検証を無効化するには? bool 証明書の検証を無効化するには? (True/False)
リクエスト完了後に接続を閉じる bool リクエスト完了後に毎回 FTP 接続を閉じるには? (True/False)

調整制限

名前 呼び出し 更新期間
接続ごとの API 呼び出し 900 60 秒

アクション

アーカイブをフォルダに抽出します

この操作では、アーカイブ ファイルをフォルダーに展開します (例: .zip)。

パスを使用してファイル コンテンツを取得

この操作はファイル パスを使用してファイルの内容を取得します。

パスを使用してファイル メタデータを取得

この操作はファイル パスを使用してファイルのメタデータを取得します。

ファイル コンテンツの取得

この操作はファイルの内容を取得します。

ファイル メタデータを取得

この操作は、ファイルのメタデータを取得します。

ファイルのコピー

この操作では、ファイルを FTP サーバーにコピーします。 ファイルがコピーされた直後にサーバー上で削除/名前変更される場合、コネクタはその設計により HTTP 404 エラーを返す場合があります。 新しく作成されたファイルを削除または名前変更する前に、1 分間の間隔を置いてください。

ファイルの作成

この操作では、ファイルを作成します。 ファイルが作成された直後にサーバー上で削除/名前変更される場合、コネクタはその設計により HTTP 404 エラーを返す場合があります。 新しく作成されたファイルを削除または名前変更する前に、1 分間の間隔を置いてください。

ファイルの更新

この操作では、ファイルを更新します。 ファイルが更新された直後にサーバー上で削除/名前変更される場合、コネクタはその設計により HTTP 404 エラーを返す場合があります。 最近更新されたファイルを削除または名前変更する前に、1 分間の間隔を置いてください。

ファイルを削除

この操作では、ファイルを削除します。

フォルダー内のファイルを一覧表示します

この操作は、フォルダー内のファイルとサブフォルダーのリストを取得します。

ルート フォルダー内のファイルを一覧表示する

この操作は、ルート フォルダー内のファイルとサブフォルダーのリストを取得します。

アーカイブをフォルダに抽出します

この操作では、アーカイブ ファイルをフォルダーに展開します (例: .zip)。

パラメーター

名前 キー 必須 説明
ソース アーカイブ ファイルのパス
source True string

アーカイブ ファイルへのパス

宛先フォルダー パス
destination True string

宛先フォルダーへのパス

上書きしますか?
overwrite boolean

「true」に設定されている場合、宛先ファイルを上書きします

フォルダを作成しますか?
createFolders boolean

「True」に設定されている場合、アーカイブからフォルダーを抽出

戻り値

パスを使用してファイル コンテンツを取得

この操作はファイル パスを使用してファイルの内容を取得します。

パラメーター

名前 キー 必須 説明
ファイル パス
path True string

ファイルの選択

コンテンツ タイプの推測
inferContentType boolean

拡張子に基づいてコンテンツ タイプを推測します

戻り値

ファイルのコンテンツ。

ファイル コンテンツ
binary

パスを使用してファイル メタデータを取得

この操作はファイル パスを使用してファイルのメタデータを取得します。

パラメーター

名前 キー 必須 説明
ファイル パス
path True string

ファイルの選択

戻り値

BLOB メタデータ

本文​​
BlobMetadata

ファイル コンテンツの取得

この操作はファイルの内容を取得します。

パラメーター

名前 キー 必須 説明
ファイル
id True string

ファイルの選択

コンテンツ タイプの推測
inferContentType boolean

拡張子に基づいてコンテンツ タイプを推測します

戻り値

ファイルのコンテンツ。

ファイル コンテンツ
binary

ファイル メタデータを取得

この操作は、ファイルのメタデータを取得します。

パラメーター

名前 キー 必須 説明
ファイル
id True string

ファイルの選択

戻り値

BLOB メタデータ

本文​​
BlobMetadata

ファイルのコピー

この操作では、ファイルを FTP サーバーにコピーします。 ファイルがコピーされた直後にサーバー上で削除/名前変更される場合、コネクタはその設計により HTTP 404 エラーを返す場合があります。 新しく作成されたファイルを削除または名前変更する前に、1 分間の間隔を置いてください。

パラメーター

名前 キー 必須 説明
ソース URL
source True string

ソース ファイルへの URL

宛先ファイルのパス
destination True string

ターゲット ファイル名を含む、宛先ファイル パス

上書きしますか?
overwrite boolean

「true」に設定されている場合、宛先ファイルを上書きします

戻り値

BLOB メタデータ

本文​​
BlobMetadata

ファイルの作成

この操作では、ファイルを作成します。 ファイルが作成された直後にサーバー上で削除/名前変更される場合、コネクタはその設計により HTTP 404 エラーを返す場合があります。 新しく作成されたファイルを削除または名前変更する前に、1 分間の間隔を置いてください。

パラメーター

名前 キー 必須 説明
フォルダーのパス
folderPath True string

フォルダーを選択する

ファイル名
name True string

ファイルの名前

ファイル コンテンツ
body True binary

ファイルのコンテンツ

すべてのファイル メタデータの取得
ReadFileMetadataFromServer boolean

ファイルの作成が完了したら、SFTP サーバーからすべてのファイル メタデータを取得します。 これが false の場合、最終変更時刻など、一部のメタデータ プロパティが返されないことがあります。

戻り値

BLOB メタデータ

本文​​
BlobMetadata

ファイルの更新

この操作では、ファイルを更新します。 ファイルが更新された直後にサーバー上で削除/名前変更される場合、コネクタはその設計により HTTP 404 エラーを返す場合があります。 最近更新されたファイルを削除または名前変更する前に、1 分間の間隔を置いてください。

パラメーター

名前 キー 必須 説明
ファイル
id True string

ファイルの選択

ファイル コンテンツ
body True binary

ファイルのコンテンツ

戻り値

BLOB メタデータ

本文​​
BlobMetadata

ファイルを削除

この操作では、ファイルを削除します。

パラメーター

名前 キー 必須 説明
ファイル
id True string

ファイルの選択

フォルダー内のファイルを一覧表示します

この操作は、フォルダー内のファイルとサブフォルダーのリストを取得します。

パラメーター

名前 キー 必須 説明
フォルダー
id True string

フォルダーを選択する

戻り値

ルート フォルダー内のファイルを一覧表示する

この操作は、ルート フォルダー内のファイルとサブフォルダーのリストを取得します。

戻り値

トリガー

ファイルが追加または変更されたとき (プロパティのみ)

この操作は、フォルダーで 1 つ以上のファイルが追加または変更されたときにフローをトリガーします。 このトリガーは、ファイルのメタデータのみを取得します。 ファイル コンテンツを取得するには、「ファイル コンテンツの取得」操作を使用することができます。 トリガーは、ファイルの最終変更時刻に依存します。 サード パーティのクライアントによってファイルが作成されている場合は、クライアントで最終変更時刻の保存を無効にする必要があります。 サブフォルダーでファイルが追加および更新されても、トリガーは起動しません。 サブフォルダーをトリガーする必要がある場合は、複数のトリガーを作成する必要があります。

ファイルが追加または変更されたとき [非推奨]

この操作では、ファイルがフォルダー内で追加または変更されたときにフローをトリガーします。 トリガーは、ファイルのメタデータとファイルのコンテンツの両方を取得します。 トリガーは、ファイルの最終変更時刻に依存します。 サード パーティのクライアントによってファイルが作成されている場合は、クライアントで最終変更時刻の保存を無効にする必要があります。 50 MB 超えるファイルは、トリガーによってスキップされます。 サブフォルダーでファイルが追加および更新されても、トリガーは起動しません。 サブフォルダーをトリガーする必要がある場合は、複数のトリガーを作成する必要があります。

ファイルが追加または変更されたとき (プロパティのみ)

この操作は、フォルダーで 1 つ以上のファイルが追加または変更されたときにフローをトリガーします。 このトリガーは、ファイルのメタデータのみを取得します。 ファイル コンテンツを取得するには、「ファイル コンテンツの取得」操作を使用することができます。 トリガーは、ファイルの最終変更時刻に依存します。 サード パーティのクライアントによってファイルが作成されている場合は、クライアントで最終変更時刻の保存を無効にする必要があります。 サブフォルダーでファイルが追加および更新されても、トリガーは起動しません。 サブフォルダーをトリガーする必要がある場合は、複数のトリガーを作成する必要があります。

パラメーター

名前 キー 必須 説明
フォルダー
folderId True string

フォルダーを選択する

返されるファイルの数
maxFileCount integer

1回のトリガー実行により返されるファイルの最大数 (1-100)。 [分割] 設定により、トリガーが各アイテムを個別に処理するように強制できることに注意してください。

戻り値

BLOB メタデータ

ファイルの一覧
BlobMetadata

ファイルが追加または変更されたとき [非推奨]

この操作では、ファイルがフォルダー内で追加または変更されたときにフローをトリガーします。 トリガーは、ファイルのメタデータとファイルのコンテンツの両方を取得します。 トリガーは、ファイルの最終変更時刻に依存します。 サード パーティのクライアントによってファイルが作成されている場合は、クライアントで最終変更時刻の保存を無効にする必要があります。 50 MB 超えるファイルは、トリガーによってスキップされます。 サブフォルダーでファイルが追加および更新されても、トリガーは起動しません。 サブフォルダーをトリガーする必要がある場合は、複数のトリガーを作成する必要があります。

パラメーター

名前 キー 必須 説明
フォルダー
folderId True string

フォルダーを選択する

ファイルのコンテンツを含める
includeFileContent boolean

true に設定した場合、ファイル コンテンツもトリガーの応答と共に取得されます

コンテンツ タイプの推測
inferContentType boolean

拡張子に基づいてコンテンツ タイプを推測します

戻り値

ファイルのコンテンツ。

ファイル コンテンツ
binary

定義

BlobMetadata

BLOB メタデータ

名前 パス 説明
ID
Id string

ファイルまたはフォルダーの一意 ID。

件名
Name string

ファイルまたはフォルダーの名前。

表示名
DisplayName string

ファイルまたはフォルダーの表示名。

パス
Path string

ファイルまたはフォルダーのパス。

LastModified
LastModified date-time

ファイルまたはフォルダーが最後に変更された日時です。

サイズ
Size integer

ファイルまたはフォルダーのサイズ。

MediaType
MediaType string

ファイルまたはフォルダーのメディア タイプ。

IsFolder
IsFolder boolean

BLOB がフォルダーであるかを示すブール値 (true、false)。

ETag
ETag string

ファイルまたはフォルダー ETag。

FileLocator
FileLocator string

ファイルまたはフォルダーの filelocator。

バイナリ

これは基本的なデータ型 [バイナリ] です。