FTP
O PROTOCOLO FTP (File Transfer Protocol) é um protocolo de rede padrão usado para transferir arquivos de computador entre um cliente e um servidor em uma rede de computador. O FTP é criado com base em uma arquitetura de modelo cliente-servidor e usa conexões de controle e dados separadas entre o cliente e o servidor.
Esse conector está disponível nos seguintes produtos e regiões:
| Service | Class | Regions |
|---|---|---|
| Copilot Studio | Standard | Todas as regiões do Power Automate , exceto as seguintes: – Governo dos EUA (GCC High) - Departamento de Defesa dos EUA (DoD) |
| Aplicativos Lógicos | Standard | Todas as regiões de Aplicativos Lógicos |
| Power Apps | Standard | Todas as regiões do Power Apps , exceto as seguintes: – Governo dos EUA (GCC High) - Departamento de Defesa dos EUA (DoD) |
| Power Automate | Standard | Todas as regiões do Power Automate , exceto as seguintes: – Governo dos EUA (GCC High) - Departamento de Defesa dos EUA (DoD) |
| Metadados do conector | |
|---|---|
| Publicador | Microsoft |
Problemas e limitações conhecidos
Este artigo descreve as operações somente para o conector gerenciado ftp, que está disponível para Aplicativos Lógicos do Azure, Power Automate e Power Apps. O conector interno ftp está disponível apenas para fluxos de trabalho de aplicativo lógico Standard nos Aplicativos Lógicos do Azure. Para obter mais informações sobre o conector interno do FTP nos Aplicativos Lógicos do Azure, examine Conectar-se a servidores FTP de fluxos de trabalho nos Aplicativos Lógicos do Azure.
Os gatilhos FTP agora retornam apenas metadados ou propriedades, não o conteúdo do arquivo. No entanto, você pode seguir esses gatilhos com a ação chamada Obter conteúdo do arquivo. Para garantir que um gatilho retorne um arquivo de cada vez, em vez de uma lista, habilite a opção "Split On" do gatilho. Para obter mais informações sobre essa opção nos Aplicativos Lógicos do Azure, examine Disparar várias execuções.
Os gatilhos FTP funcionam apenas na pasta especificada, não nas subpastas. Para verificar também as subpastas de uma pasta, configure um fluxo separado para cada subpasta.
Por padrão, as ações do conector gerenciado ftp podem ler ou gravar arquivos de 50 MB ou menores. Para lidar com arquivos com mais de 50 MB, você pode usar a ação do conector gerenciado ftp chamada Obter conteúdo do arquivo, que usa implicitamente o agrupamento de mensagens. Outras ações do conector gerenciado de FTP também dão suporte à habilitação do agrupamento de mensagens.
Os gatilhos FTP podem apresentar atrasos ou resultados incompletos ao retornar arquivos recém-criados, adicionados ou atualizados.
Quando um gatilho FTP verifica se há um arquivo recém-adicionado ou alterado, o gatilho também confirma que o arquivo está concluído. Por exemplo, um arquivo pode ter alterações em andamento quando o gatilho verifica o servidor FTP. Para evitar o retorno de um arquivo incompleto, o gatilho observa o carimbo de data/hora do arquivo, mas não retorna imediatamente o arquivo. Em vez disso, o gatilho retorna o arquivo somente quando o gatilho verifica o servidor novamente. Às vezes, esse comportamento pode causar um atraso que dura até o dobro do intervalo de sondagem do gatilho. Devido a esse comportamento, o gatilho FTP poderá não retornar todos os arquivos ao mesmo tempo se você desabilitar a configuração Split On do gatilho FTP,
Os gatilhos do conector gerenciado de FTP podem apresentar resultados ausentes, incompletos ou atrasados quando o carimbo de data/hora "último modificado" é preservado.
Resultados faltando
Os gatilhos FTP funcionam sondando ou verificando o sistema de arquivos FTP e procurando todos os arquivos que foram alterados desde a última pesquisa. Os gatilhos do conector gerenciado de FTP comparam versões de arquivo usando o último carimbo de data/hora modificado do arquivo.
Se você criar, adicionar ou atualizar o arquivo com um carimbo de data/hora anterior ao carimbo de data/hora da última modificação, o gatilho do conector gerenciado ftp não detectará esse arquivo. Por outro lado, o gatilho de conector interno do FTP em fluxos de trabalho de aplicativo lógico Padrão não tem essa limitação.
Portanto, se você usar uma ferramenta externa ou cliente que cria, adiciona ou atualiza arquivos no servidor FTP, certifique-se de desabilitar qualquer recurso na ferramenta ou cliente que preserve o último carimbo de data/hora modificado de um arquivo.
A tabela a seguir lista algumas ferramentas comumente usadas que preservam esse carimbo de data/hora e as etapas para desabilitar esse recurso:
Cliente FTP Ação WinSCP Vá para Opções>>deTransferência de Transferência>Editar Preservar> carimbode data/>horaDesabilitar. FileZilla Vá para Transferir>carimbos de data/hora de preservação de arquivos> transferidosDesabilite. Resultados incompletos ou atrasados
Quando um gatilho FTP verifica se há um arquivo recém-criado, adicionado ou atualizado, o gatilho também verifica se o arquivo está concluído. Por exemplo, um arquivo pode ter alterações em andamento quando o gatilho verifica o servidor FTP. Para evitar o retorno de um arquivo incompleto, o gatilho observa o carimbo de data/hora do arquivo, mas não retorna imediatamente o arquivo. Em vez disso, o gatilho retorna o arquivo somente quando o gatilho verifica o servidor novamente.
Às vezes, esse comportamento pode causar um atraso que dura quase o dobro do intervalo de sondagem do gatilho. Devido a esse comportamento, se você desabilitar a configuração Split On do gatilho FTP, o gatilho FTP poderá não retornar todos os arquivos ao mesmo tempo.
Requirements
O conector FTP requer o endereço do servidor host FTP e as credenciais da conta.
O conector FTP requer acesso ao servidor FTP de ou pela Internet. Para obter mais informações sobre como permitir o tráfego para o servidor FTP usando intervalos de IP específicos, examine os endereços IP do conector gerenciado.
O conector FTP requer que o servidor FTP opere ou aceite no modo passivo .
O conector FTP requer que o servidor FTP habilite os comandos a seguir e dê suporte a pastas que contêm espaço em branco para que os comandos possam funcionar corretamente. Para o comando LIST , verifique se o comando retorna o
yearcomponente para carimbos de data/hora de arquivo com mais de 6 meses.- APPE
- DELE
- LISTA
- MDTM
- RENAME
- RETR
- TAMANHO
- STOR
Para ftp seguro, certifique-se de configurar FTPS (Protocolo de Transferência de Arquivo ) explícito , em vez de FTPS implícito. Além disso, alguns servidores FTP, como o ProFTPd, exigem que você habilite a opção
NoSessionReuseRequiredse você usar o modo TLS (Transport Layer Security), o sucessor da SSL (Secure Socket Layer).O conector FTP não funciona com FTPS implícito e dá suporte apenas a FTP explícito por FTPS, que é uma extensão do TLS.
Conexões FTP
Para melhorar o desempenho do conector FTP e do servidor FTP, você pode manter a conexão FTP aberta e ativa depois que o conector concluir uma solicitação.
Quando você cria uma conexão com um servidor FTP, a caixa de perfil de conexão exibida tem uma configuração chamada Fechar conexão após a conclusão da solicitação. Essa configuração especifica se a conexão do servidor FTP será fechada sempre que uma solicitação for concluída. Se você mantiver essa configuração desabilitada, a conexão não será fechada após a conclusão de uma solicitação e permanecerá ativa para uso futuro.
Se suas instâncias de fluxo de trabalho forem executadas em paralelo, você poderá experimentar erros de conectividade intermitentes. Algumas operações em seu fluxo de trabalho podem fechar a conexão à força, mesmo enquanto outras operações no fluxo de trabalho ainda estão usando essa conexão.
Para evitar esse cenário, experimente as seguintes recomendações:
Ao criar a conexão, habilite a conexão Fechar após a configuração de conclusão da solicitação .
Desative qualquer paralelização ou simultaneidade habilitada em gatilhos ou ações. Para obter mais informações sobre essa solução nos Aplicativos Lógicos do Azure, examine a seguinte documentação:
Evite executar vários fluxos paralelos.
Usar a ação "Criar arquivo" com e sem agrupamento
Para a ação Criar arquivo , o comportamento depende da configuração Permitir agrupamento da ação e do tamanho do arquivo a ser criado:
Permitir agrupamento habilitado:
O tamanho do arquivo é igual ou menor que 50 MB: a ação carrega o arquivo com uma única solicitação, usa o nome do arquivo original e bloqueia o arquivo durante o upload.
O tamanho do arquivo é maior que 50 MB: a ação cria o arquivo com o formato de nome, nome do arquivo.new-GUID.ms.partial e carrega o arquivo usando várias solicitações ou agrupamento de mensagens. Depois que a ação carrega a última parte, a ação renomeia o arquivo com o nome do arquivo original.
Permitir agrupamento desabilitado: a ação carrega o arquivo com uma única solicitação, usa o nome do arquivo original e bloqueia o arquivo durante o upload.
Guia de instruções do conector
Para obter informações sobre como usar o conector gerenciado ftp e o conector interno nos Aplicativos Lógicos do Azure, examine Conectar-se a servidores FTP de fluxos de trabalho nos Aplicativos Lógicos do Azure.
Limites Gerais
| Nome | Value |
|---|---|
| Número máximo de pastas em um único arquivo morto. Esse limite só se aplica quando "Criar pastas?". é definido como 'Sim'. | 16 |
| Número máximo de megabytes sendo transferidos para/do conector dentro de um intervalo de tempo de largura de banda (por conexão) | 1000 |
| Intervalo de tempo de largura de banda (em milissegundos) | 60000 |
Criando uma conexão
O conector dá suporte aos seguintes tipos de autenticação:
| Default | Parâmetros para criar conexão. | Todas as regiões | Não compartilhável |
Padrão
Aplicável: todas as regiões
Parâmetros para criar conexão.
Essa não é uma conexão compartilhável. Se o aplicativo de energia for compartilhado com outro usuário, outro usuário será solicitado a criar uma nova conexão explicitamente.
| Nome | Tipo | Description | Obrigatório |
|---|---|---|---|
| Endereço do servidor | cadeia | Endereço do servidor | Verdade |
| Nome do usuário | cadeia | Nome do usuário | Verdade |
| Senha | secureString | Senha | Verdade |
| Porta do servidor FTP | int | Número da porta FTP (exemplo: 21) | |
| Habilitar o SSL? | bool | Habilitar o SSL? (True/False) | |
| Transporte binário? | bool | Habilitar o transporte binário? (True/False) | |
| Desabilitar validação de certificado? | bool | Desabilitar validação de certificado? (True/False) | |
| Fechar a conexão após a conclusão da solicitação | bool | Fechar a conexão FTP toda vez após a conclusão da solicitação? (True/False) |
Limitações
| Nome | Chamadas | Período de renovação |
|---|---|---|
| Chamadas à API por conexão | 900 | 60 segundos |
Ações
| Atualizar arquivo |
Esta operação atualiza um arquivo. Se um arquivo estiver sendo excluído/renomeado no servidor logo após ser atualizado, o conector poderá retornar o erro HTTP 404 por seu design. Use um atraso de 1 minuto antes de excluir ou renomear o arquivo atualizado recentemente. |
| Copiar arquivo |
Essa operação copia um arquivo para um servidor FTP. Se um arquivo estiver sendo excluído/renomeado no servidor logo após ter sido copiado, o conector poderá retornar o erro HTTP 404 por seu design. Use um atraso por 1 minuto antes de excluir ou renomear o arquivo recém-criado. |
| Criar arquivo |
Essa operação cria um arquivo. Se um arquivo estiver sendo excluído/renomeado no servidor logo após ter sido criado, o conector poderá retornar o erro HTTP 404 pelo design. Use um atraso por 1 minuto antes de excluir ou renomear o arquivo recém-criado. |
| Excluir arquivo |
Essa operação exclui um arquivo. |
| Extrair arquivo morto para pasta |
Esta operação extrai um arquivo morto em uma pasta (exemplo: .zip). |
| Listar arquivos na pasta |
Essa operação obtém a lista de arquivos e subpastas em uma pasta. |
| Listar arquivos na pasta raiz |
Essa operação obtém a lista de arquivos e subpastas na pasta raiz. |
| Obter conteúdo do arquivo |
Essa operação obtém o conteúdo de um arquivo. |
| Obter conteúdo do arquivo usando o caminho |
Essa operação obtém o conteúdo de um arquivo usando o caminho do arquivo. |
| Obter metadados de arquivo usando o caminho |
Essa operação obtém os metadados de um arquivo usando o caminho do arquivo. |
| Obter metadados do arquivo |
Essa operação obtém os metadados de um arquivo. |
Atualizar arquivo
Esta operação atualiza um arquivo. Se um arquivo estiver sendo excluído/renomeado no servidor logo após ser atualizado, o conector poderá retornar o erro HTTP 404 por seu design. Use um atraso de 1 minuto antes de excluir ou renomear o arquivo atualizado recentemente.
Parâmetros
| Nome | Chave | Obrigatório | Tipo | Description |
|---|---|---|---|---|
|
File
|
id | True | string |
Selecionar um arquivo |
|
Conteúdo do ficheiro
|
body | True | binary |
Conteúdo do arquivo |
Retornos
Metadados de blob
- Corpo
- BlobMetadata
Copiar arquivo
Essa operação copia um arquivo para um servidor FTP. Se um arquivo estiver sendo excluído/renomeado no servidor logo após ter sido copiado, o conector poderá retornar o erro HTTP 404 por seu design. Use um atraso por 1 minuto antes de excluir ou renomear o arquivo recém-criado.
Parâmetros
| Nome | Chave | Obrigatório | Tipo | Description |
|---|---|---|---|---|
|
URL de origem
|
source | True | string |
Url para arquivo de origem |
|
Caminho do arquivo de destino
|
destination | True | string |
Caminho do arquivo de destino, incluindo nome de arquivo de destino |
|
Sobrescrever?
|
overwrite | boolean |
Substitui o arquivo de destino se definido como 'true' |
Retornos
Metadados de blob
- Corpo
- BlobMetadata
Criar arquivo
Essa operação cria um arquivo. Se um arquivo estiver sendo excluído/renomeado no servidor logo após ter sido criado, o conector poderá retornar o erro HTTP 404 pelo design. Use um atraso por 1 minuto antes de excluir ou renomear o arquivo recém-criado.
Parâmetros
| Nome | Chave | Obrigatório | Tipo | Description |
|---|---|---|---|---|
|
Caminho da pasta
|
folderPath | True | string |
Selecionar uma pasta |
|
Nome do arquivo
|
name | True | string |
Nome do arquivo |
|
Conteúdo do ficheiro
|
body | True | binary |
Conteúdo do arquivo |
|
Obter todos os metadados de arquivo
|
ReadFileMetadataFromServer | boolean |
Obtenha todos os metadados de arquivo do servidor SFTP após a conclusão da criação do arquivo. Se isso for falso, algumas propriedades de metadados poderão não ser retornadas, como a hora da última modificação, etc. |
Retornos
Metadados de blob
- Corpo
- BlobMetadata
Excluir arquivo
Essa operação exclui um arquivo.
Parâmetros
| Nome | Chave | Obrigatório | Tipo | Description |
|---|---|---|---|---|
|
File
|
id | True | string |
Selecionar um arquivo |
Extrair arquivo morto para pasta
Esta operação extrai um arquivo morto em uma pasta (exemplo: .zip).
Parâmetros
| Nome | Chave | Obrigatório | Tipo | Description |
|---|---|---|---|---|
|
Caminho do arquivo de arquivo de origem
|
source | True | string |
Caminho para o arquivo morto |
|
Caminho da pasta de destino
|
destination | True | string |
Caminho para a pasta de destino |
|
Sobrescrever?
|
overwrite | boolean |
Substitui os arquivos de destino se definido como 'true' |
|
|
Criar pastas?
|
createFolders | boolean |
Extrai pastas do arquivo morto se definidas como 'true' |
Retornos
- response
- array of BlobMetadata
Listar arquivos na pasta
Essa operação obtém a lista de arquivos e subpastas em uma pasta.
Parâmetros
| Nome | Chave | Obrigatório | Tipo | Description |
|---|---|---|---|---|
|
Pasta
|
id | True | string |
Selecionar uma pasta |
Retornos
- response
- array of BlobMetadata
Listar arquivos na pasta raiz
Essa operação obtém a lista de arquivos e subpastas na pasta raiz.
Retornos
- response
- array of BlobMetadata
Obter conteúdo do arquivo
Essa operação obtém o conteúdo de um arquivo.
Parâmetros
| Nome | Chave | Obrigatório | Tipo | Description |
|---|---|---|---|---|
|
File
|
id | True | string |
Selecionar um arquivo |
|
Inferir tipo de conteúdo
|
inferContentType | boolean |
Inferir o tipo de conteúdo com base na extensão |
Retornos
O conteúdo do ficheiro.
- Conteúdo do arquivo
- binary
Obter conteúdo do arquivo usando o caminho
Essa operação obtém o conteúdo de um arquivo usando o caminho do arquivo.
Parâmetros
| Nome | Chave | Obrigatório | Tipo | Description |
|---|---|---|---|---|
|
Caminho do arquivo
|
path | True | string |
Selecionar um arquivo |
|
Inferir tipo de conteúdo
|
inferContentType | boolean |
Inferir o tipo de conteúdo com base na extensão |
Retornos
O conteúdo do ficheiro.
- Conteúdo do arquivo
- binary
Obter metadados de arquivo usando o caminho
Essa operação obtém os metadados de um arquivo usando o caminho do arquivo.
Parâmetros
| Nome | Chave | Obrigatório | Tipo | Description |
|---|---|---|---|---|
|
Caminho do arquivo
|
path | True | string |
Selecionar um arquivo |
Retornos
Metadados de blob
- Corpo
- BlobMetadata
Obter metadados do arquivo
Essa operação obtém os metadados de um arquivo.
Parâmetros
| Nome | Chave | Obrigatório | Tipo | Description |
|---|---|---|---|---|
|
File
|
id | True | string |
Selecionar um arquivo |
Retornos
Metadados de blob
- Corpo
- BlobMetadata
Gatilhos
| Quando um arquivo é adicionado ou modificado (somente propriedades) |
Essa operação dispara um fluxo quando um ou mais arquivos são adicionados ou modificados em uma pasta. Esse gatilho buscará apenas os metadados do arquivo. Para obter o conteúdo do arquivo, você pode usar a operação "Obter conteúdo do arquivo". O gatilho depende da hora da última modificação de um arquivo. Se um arquivo estiver sendo criado por um cliente de terceiros, a preservação da hora da última modificação deverá ser desabilitada no cliente. O gatilho não será acionado se um arquivo for adicionado/atualizado em uma subpasta. Se for necessário disparar em subpastas, vários gatilhos deverão ser criados. |
| Quando um arquivo é adicionado ou modificado [PRETERIDO] |
Essa operação dispara um fluxo quando um arquivo é adicionado ou modificado em uma pasta. O gatilho buscará os metadados do arquivo, bem como o conteúdo do arquivo. O gatilho depende da hora da última modificação de um arquivo. Se um arquivo estiver sendo criado por um cliente de terceiros, a preservação da hora da última modificação deverá ser desabilitada no cliente. Arquivos maiores que 50 megabytes são ignorados pelo gatilho. O gatilho não será acionado se um arquivo for adicionado/atualizado em uma subpasta. Se for necessário disparar em subpastas, vários gatilhos deverão ser criados. |
Quando um arquivo é adicionado ou modificado (somente propriedades)
Essa operação dispara um fluxo quando um ou mais arquivos são adicionados ou modificados em uma pasta. Esse gatilho buscará apenas os metadados do arquivo. Para obter o conteúdo do arquivo, você pode usar a operação "Obter conteúdo do arquivo". O gatilho depende da hora da última modificação de um arquivo. Se um arquivo estiver sendo criado por um cliente de terceiros, a preservação da hora da última modificação deverá ser desabilitada no cliente. O gatilho não será acionado se um arquivo for adicionado/atualizado em uma subpasta. Se for necessário disparar em subpastas, vários gatilhos deverão ser criados.
Parâmetros
| Nome | Chave | Obrigatório | Tipo | Description |
|---|---|---|---|---|
|
Pasta
|
folderId | True | string |
Selecionar uma pasta |
|
Número de arquivos a serem retornados
|
maxFileCount | integer |
Número máximo de arquivos a serem retornados por execução de gatilho único (1 a 100). Observe que a configuração 'Split On' pode forçar o gatilho a processar cada item individualmente. |
Retornos
Metadados de blob
- Lista de arquivos
- BlobMetadata
Quando um arquivo é adicionado ou modificado [PRETERIDO]
Essa operação dispara um fluxo quando um arquivo é adicionado ou modificado em uma pasta. O gatilho buscará os metadados do arquivo, bem como o conteúdo do arquivo. O gatilho depende da hora da última modificação de um arquivo. Se um arquivo estiver sendo criado por um cliente de terceiros, a preservação da hora da última modificação deverá ser desabilitada no cliente. Arquivos maiores que 50 megabytes são ignorados pelo gatilho. O gatilho não será acionado se um arquivo for adicionado/atualizado em uma subpasta. Se for necessário disparar em subpastas, vários gatilhos deverão ser criados.
Parâmetros
| Nome | Chave | Obrigatório | Tipo | Description |
|---|---|---|---|---|
|
Pasta
|
folderId | True | string |
Selecionar uma pasta |
|
Incluir conteúdo do arquivo
|
includeFileContent | boolean |
Se definido como true, o conteúdo do arquivo também será recuperado junto com a resposta do gatilho |
|
|
Inferir tipo de conteúdo
|
inferContentType | boolean |
Inferir o tipo de conteúdo com base na extensão |
Retornos
O conteúdo do ficheiro.
- Conteúdo do arquivo
- binary
Definições
BlobMetadata
Metadados de blob
| Nome | Caminho | Tipo | Description |
|---|---|---|---|
|
ID
|
Id | string |
A ID exclusiva do arquivo ou pasta. |
|
Nome
|
Name | string |
O nome do arquivo ou pasta. |
|
DisplayName
|
DisplayName | string |
O nome de exibição do arquivo ou pasta. |
|
Caminho
|
Path | string |
O caminho do arquivo ou pasta. |
|
LastModified
|
LastModified | date-time |
A data e a hora em que o arquivo ou a pasta foi modificado pela última vez. |
|
Tamanho
|
Size | integer |
O tamanho do arquivo ou pasta. |
|
Tipo de Mídia
|
MediaType | string |
O tipo de mídia do arquivo ou pasta. |
|
IsFolder
|
IsFolder | boolean |
Um valor booliano (true, false) para indicar se o blob é ou não uma pasta. |
|
Etag
|
ETag | string |
A etag do arquivo ou pasta. |
|
FileLocator
|
FileLocator | string |
O filelocator do arquivo ou pasta. |
binário
Esse é o tipo de dados básico 'binary'.