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 サーバー接続を閉じるかどうかを指定します。 この設定を無効にしておくと、要求が完了した後も接続が閉じず、将来の使用のためにアクティブな状態が維持されます。
ワークフロー インスタンスが並列に実行されている場合、断続的に接続エラーが発生することがあります。 ワークフロー内の他の操作がまだその接続を使用している場合でも、ワークフロー内の一部の操作が接続を強制的に終了する場合があります。
このシナリオを回避するには、以下の推奨事項をお試しください:
接続を作成するときに、要求完了後に接続を閉じる設定を有効にします。
トリガーやアクションで有効になっている並列処理や同時実行をオフにします。 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
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。 |
これは基本的なデータ型 [バイナリ] です。