Conectar-se a um servidor FTP a partir de fluxos de trabalho nos Aplicativos Lógicos do Azure
Aplica-se a: Aplicativos Lógicos do Azure (Consumo + Padrão)
Este artigo mostra como aceder ao servidor FTP a partir de um fluxo de trabalho nas Aplicações Lógicas do Azure com o conector FTP. Em seguida, você pode criar fluxos de trabalho automatizados que são executados quando acionados por eventos em seu servidor FTP ou em outros sistemas e executar ações para gerenciar arquivos em seu servidor FTP.
Por exemplo, seu fluxo de trabalho pode começar com um gatilho FTP que monitora e responde a eventos em seu servidor FTP. O gatilho disponibiliza as saídas para ações subsequentes em seu fluxo de trabalho. Seu fluxo de trabalho pode executar ações FTP que criam, enviam, recebem e gerenciam arquivos por meio de sua conta de servidor FTP usando as seguintes tarefas específicas:
- Monitore quando os arquivos são adicionados ou alterados.
- Crie, copie, exclua, liste e atualize arquivos.
- Obtenha metadados e conteúdo de arquivos.
- Gerenciar pastas.
Se você é novo nos Aplicativos Lógicos do Azure, revise a seguinte documentação de introdução:
- O que são os Aplicativos Lógicos do Azure
- Guia de início rápido: criar um exemplo de fluxo de trabalho do aplicativo lógico de consumo
Referência técnica do conector
O conector FTP tem diferentes versões, com base no tipo de aplicativo lógico e ambiente host.
Tipo de aplicativo lógico (plano) | Environment | Versão do conector |
---|---|---|
Consumo | Aplicativos Lógicos do Azure Multilocatários | Conector gerenciado, que aparece na galeria de conectores em Runtime>Shared. Para obter mais informações, consulte a seguinte documentação: - Referência do conector gerenciado FTP - Conectores gerenciados em Aplicativos Lógicos do Azure |
Standard | Aplicativos Lógicos do Azure e Ambiente do Serviço de Aplicativo v3 de locatário único (somente planos do Windows) | Conector gerenciado (hospedado no Azure), que aparece na galeria de conectores em Runtime>Shared, e conector interno, que aparece na galeria de conectores em Runtime>In App e é baseado em provedor de serviços. O conector interno pode acessar diretamente as redes virtuais do Azure com uma cadeia de conexão. Para obter mais informações, consulte a seguinte documentação: - Referência do conector gerenciado FTP - Seção de operações de conector interno FTP mais adiante neste artigo - Conectores gerenciados em Aplicativos Lógicos do Azure - Conectores internos nos Aplicativos Lógicos do Azure |
Limitações
Capacidade e rendimento
Conector integrado para fluxos de trabalho padrão:
Por padrão, as ações de FTP podem ler ou gravar arquivos de 200 MB ou menos. Atualmente, o conector FTP integrado não suporta fragmentação.
Conector gerenciado ou hospedado no Azure para fluxos de trabalho padrão e de consumo
Por padrão, as ações de FTP podem ler ou gravar arquivos de 50 MB ou menos. Para lidar com arquivos maiores que 50 MB, as ações FTP suportam o agrupamento de mensagens. A ação Obter conteúdo de arquivo usa implicitamente o fragmento.
Os gatilhos para o conector gerenciado por FTP ou hospedado no Azure podem apresentar resultados ausentes, incompletos ou atrasados quando o carimbo de data/hora "última modificação" é preservado. Por outro lado, o gatilho do conector integrado FTP nos fluxos de trabalho do aplicativo lógico padrão não tem essa limitação. Para obter mais informações, consulte a seção Limitações do conector FTP.
O conector gerenciado por FTP ou hospedado no Azure pode criar um número limitado de conexões com o servidor FTP, com base na capacidade de conexão na região do Azure onde o recurso do aplicativo lógico existe. Se esse limite representar um problema em um fluxo de trabalho de aplicativo lógico de consumo, considere criar um fluxo de trabalho de aplicativo lógico padrão e use o conector interno de FTP.
Pré-requisitos
Uma conta e subscrição do Azure. Se não tiver uma subscrição do Azure, inscreva-se para obter uma conta do Azure gratuita.
O fluxo de trabalho do aplicativo lógico onde você deseja acessar sua conta FTP. Para iniciar seu fluxo de trabalho com um gatilho FTP, você precisa começar com um fluxo de trabalho em branco. Para usar uma ação FTP, inicie seu fluxo de trabalho com outro gatilho, como o gatilho Recorrência .
Para obter mais requisitos que se aplicam ao conector gerenciado FTP e ao conector interno, revise a referência do conector gerenciado FTP - Requisitos.
Problemas conhecidos
Por padrão, os gatilhos que retornam uma matriz têm uma configuração Dividir em que já está habilitada. Com essa configuração habilitada, o gatilho desagrupa automaticamente a matriz criando internamente uma instância de fluxo de trabalho separada para processar cada item da matriz. Todas as instâncias de fluxo de trabalho são executadas em paralelo para que os itens de matriz sejam processados ao mesmo tempo.
No entanto, quando a configuração Dividir em está habilitada, os gatilhos do conector gerenciado retornam as saídas para todos os itens da matriz como listas. Quaisquer ações subsequentes que façam referência a essas saídas devem primeiro lidar com essas saídas como listas. Para lidar com cada item de matriz individualmente, você pode adicionar ações extras. Por exemplo, para iterar através desses itens de matriz, você pode usar um Para cada loop. Para gatilhos que retornam apenas metadados ou propriedades, use uma ação que obtenha os metadados do item de matriz primeiro e, em seguida, use uma ação para obter o conteúdo dos itens.
Você precisa aplicar essa abordagem apenas para gatilhos de conector gerenciados , não gatilhos de conector internos que retornam saídas para um item de matriz de cada vez quando a configuração Dividir em está habilitada.
Por exemplo, suponha que você tenha um gatilho de conector gerenciado chamado Quando um arquivo é adicionado ou modificado (somente propriedades) que retorna os metadados ou propriedades dos arquivos novos ou atualizados como matrizes. Para obter os metadados separadamente para cada arquivo, você pode usar um Para cada loop que itera através da matriz. Nesse loop, use as seguintes ações de conector gerenciado na ordem especificada:
Obtenha metadados de arquivo para obter os metadados de cada arquivo.
Obter ação de conteúdo de arquivo para obter o conteúdo de cada arquivo.
Adicionar um gatilho FTP
Um fluxo de trabalho de aplicativo lógico de consumo pode usar apenas o conector gerenciado por FTP. No entanto, um fluxo de trabalho de aplicativo lógico padrão pode usar o conector gerenciado FTP e o conector interno FTP. Em um fluxo de trabalho de aplicativo lógico padrão, os conectores gerenciados também são rotulados como conectores do Azure .
O conector gerenciado FTP e o conector integrado têm apenas um gatilho disponível:
Gatilho de conector gerenciado: o gatilho FTP chamado Quando um arquivo é adicionado ou modificado (somente propriedades) executa um fluxo de trabalho de aplicativo lógico Consumo ou Padrão quando um ou mais arquivos são adicionados ou alterados em uma pasta no servidor FTP. Esse gatilho obtém apenas as propriedades ou metadados do arquivo, não o conteúdo do arquivo. No entanto, para obter o conteúdo do arquivo, seu fluxo de trabalho pode seguir esse gatilho com outras ações de FTP.
Para obter mais informações sobre esse gatilho, consulte Quando um arquivo é adicionado ou modificado (somente propriedades).
Gatilho de conector interno: O gatilho FTP chamado Quando um arquivo é adicionado ou atualizado executa um fluxo de trabalho de aplicativo lógico padrão quando um ou mais arquivos são adicionados ou alterados em uma pasta no servidor FTP. Esse gatilho obtém apenas as propriedades ou metadados do arquivo, não o conteúdo do arquivo. No entanto, para obter o conteúdo, seu fluxo de trabalho pode seguir esse gatilho com outras ações de FTP. Para obter mais informações sobre esse gatilho, consulte Quando um arquivo é adicionado ou atualizado.
As etapas a seguir usam o portal do Azure, mas com a extensão apropriada de Aplicativos Lógicos do Azure, você também pode usar as seguintes ferramentas para criar e editar fluxos de trabalho de aplicativos lógicos:
Fluxos de trabalho do aplicativo de lógica de consumo: Visual Studio Code
Fluxos de trabalho de aplicativos lógicos padrão: Visual Studio Code
No portal do Azure e abra seu fluxo de trabalho de aplicativo lógico em branco no designer.
No designer, na caixa de pesquisa, selecione Padrão. Na caixa de pesquisa, digite ftp.
Na lista de gatilhos, selecione o gatilho chamado Quando um arquivo é adicionado ou modificado (somente propriedades).
Forneça as informações para sua conexão. Quando tiver terminado, selecione Criar.
Nota
Por padrão, esse conector transfere arquivos em formato de texto. Para transferir arquivos em formato binário, por exemplo, onde e quando a codificação é usada, selecione a opção de transporte binário.
Depois que a caixa de informações do gatilho for exibida, localize a pasta que você deseja monitorar para arquivos novos ou editados.
Na caixa Pasta, selecione o ícone de pasta para exibir o diretório da pasta.
Selecione a seta em ângulo reto (>). Navegue até a pasta desejada e selecione a pasta.
A pasta selecionada aparece na caixa Pasta .
Quando tiver terminado, guarde o fluxo de trabalho.
Quando você salva seu fluxo de trabalho, esta etapa publica automaticamente suas atualizações em seu aplicativo lógico implantado, que está ativo no Azure. Com apenas um gatilho, seu fluxo de trabalho apenas verifica o servidor FTP com base em sua programação especificada. Você tem que adicionar uma ação que responde ao gatilho e faz algo com as saídas do gatilho.
Adicionar uma ação FTP
Um fluxo de trabalho de aplicativo lógico de consumo pode usar apenas o conector gerenciado por FTP. No entanto, um fluxo de trabalho de aplicativo lógico padrão pode usar o conector gerenciado FTP e o conector interno FTP. Cada versão tem várias ações. Por exemplo, as versões de conector gerenciado e interno têm suas próprias ações para obter metadados de arquivo e obter conteúdo de arquivo.
Ações de conector gerenciado: essas ações são executadas em um fluxo de trabalho de aplicativo lógico de consumo ou padrão.
Ações internas do conector: essas ações são executadas somente em um fluxo de trabalho de aplicativo lógico padrão.
As etapas a seguir usam o portal do Azure, mas com a extensão apropriada dos Aplicativos Lógicos do Azure, você também pode usar as seguintes ferramentas para criar fluxos de trabalho de aplicativos lógicos:
- Fluxos de trabalho de consumo: Visual Studio Code
- Fluxos de trabalho padrão: Visual Studio Code
Antes de poder usar uma ação FTP, seu fluxo de trabalho já deve começar com um gatilho, que pode ser de qualquer tipo que você escolher. Por exemplo, você pode usar o gatilho interno genérico Recorrência para iniciar seu fluxo de trabalho em um cronograma específico.
No portal do Azure e abra o fluxo de trabalho do aplicativo lógico no designer.
Localize e selecione a ação FTP que você deseja usar.
Este exemplo continua com a ação chamada Obter metadados de arquivo para que você possa obter os metadados de um único item de matriz.
No designer, sob o gatilho ou quaisquer outras ações, selecione Nova etapa.
Na caixa de pesquisa Escolha uma operação, selecione Padrão.
Na caixa de pesquisa, digite ftp get file metadata.
Na lista de ações, selecione a ação chamada Obter metadados do arquivo.
Se necessário, forneça as informações para a sua ligação. Quando tiver terminado, selecione Criar.
Nota
Por padrão, esse conector transfere arquivos em formato de texto. Para transferir arquivos em formato binário, por exemplo, onde e quando a codificação é usada, selecione a opção de transporte binário.
Depois que a caixa Obter informações de ação de metadados de arquivo for exibida, clique dentro da caixa Arquivo para que a lista de conteúdo dinâmico seja aberta.
Agora você pode selecionar saídas do gatilho anterior.
Na lista de conteúdo dinâmico, em Quando um arquivo é adicionado ou modificado, selecione Id da lista de arquivos.
A propriedade File agora faz referência à saída do gatilho List of Files Id .
No designer, na ação Obter metadados de arquivo, selecione Nova etapa.
Na caixa de pesquisa Escolha uma operação, selecione Padrão.
Na caixa de pesquisa, digite ftp get file content.
Na lista de ações, selecione a ação chamada Obter conteúdo do arquivo.
Depois que a caixa Obter informações de ação de conteúdo de arquivo for exibida, clique dentro da caixa Arquivo para que a lista de conteúdo dinâmico seja aberta.
Agora você pode selecionar saídas do gatilho anterior e quaisquer outras ações.
Na lista de conteúdo dinâmico, em Obter metadados de arquivo, selecione Id, que faz referência ao arquivo que foi adicionado ou atualizado.
A propriedade File agora faz referência à saída da ação Id .
Quando tiver terminado, guarde o fluxo de trabalho. Na barra de ferramentas do estruturador, selecione Guardar.
Testar o fluxo de trabalho
Para verificar se o fluxo de trabalho retorna o conteúdo esperado, adicione outra ação que envie o conteúdo do arquivo adicionado ou atualizado. Este exemplo usa a ação do Office 365 Outlook chamada Enviar um email.
Na ação Obter conteúdo de arquivo, adicione a ação do Office 365 Outlook chamada Enviar um email. Se, em vez disso, você tiver uma conta Outlook.com, adicione a ação Outlook.com Enviar um email e ajuste as etapas a seguir de acordo.
No designer, na ação Obter conteúdo do arquivo, selecione Nova etapa.
Na caixa de pesquisa Escolha uma operação, selecione Padrão.
Na caixa de pesquisa, digite office 365 outlook enviar um e-mail. Na lista de ações, selecione a ação do Office 365 Outlook chamada Enviar um email.
Se necessário, inicie sessão na sua conta de e-mail.
Na caixa de informações da ação, forneça os valores necessários e inclua quaisquer outros parâmetros ou propriedades que você deseja testar.
Por exemplo, você pode incluir a saída Conteúdo do arquivo da ação Obter conteúdo do arquivo. Para localizar esta saída, siga estes passos:
Na ação Obter conteúdo do arquivo, clique dentro da caixa Corpo para que a lista de conteúdo dinâmico seja aberta.
Na lista de conteúdo dinâmico, ao lado de Obter conteúdo do arquivo, selecione Ver mais.
Na lista de conteúdo dinâmico, em Obter conteúdo de arquivo, selecione Conteúdo de arquivo.
A propriedade Body agora faz referência à saída da ação File Content .
Salve seu fluxo de trabalho de aplicativo lógico.
Para executar e acionar o fluxo de trabalho, na barra de ferramentas do designer, selecione Executar Execução de Gatilho>. Adicione um arquivo à pasta FTP que seu fluxo de trabalho monitora.
Operações de conector FTP integrado
O conector FTP integrado está disponível apenas para fluxos de trabalho de aplicativos lógicos padrão e fornece as seguintes operações:
Acionador | Description |
---|---|
Quando um arquivo é adicionado ou atualizado | Inicie um fluxo de trabalho de aplicativo lógico quando um arquivo for adicionado ou atualizado na pasta especificada no servidor FTP. Nota: Este gatilho obtém apenas os metadados ou propriedades do arquivo, não o conteúdo do arquivo. No entanto, para obter o conteúdo, seu fluxo de trabalho pode seguir esse gatilho com a ação Obter conteúdo do arquivo. |
Ação | Descrição |
---|---|
Criar ficheiro | Crie um arquivo usando o caminho de arquivo especificado e o conteúdo do arquivo. |
Eliminar ficheiro | Exclua um arquivo usando o caminho de arquivo especificado. |
Obter conteúdo de ficheiro | Obtenha o conteúdo de um arquivo usando o caminho de arquivo especificado. |
Obter metadados do ficheiro | Obtenha os metadados ou as propriedades de um arquivo usando o caminho de arquivo especificado. |
Listar arquivos e subpastas em uma pasta | Obtenha uma lista de arquivos e subpastas na pasta especificada. |
Atualizar ficheiro | Atualize um arquivo usando o caminho do arquivo especificado e o conteúdo do arquivo. |
Quando um arquivo é adicionado ou atualizado
ID da operação: whenFtpFilesAreAddedOrModified
Esse gatilho inicia um fluxo de trabalho de aplicativo lógico executado quando um arquivo é adicionado ou atualizado na pasta especificada no servidor FTP. O gatilho obtém apenas os metadados ou propriedades do arquivo, não qualquer conteúdo do arquivo. No entanto, para obter o conteúdo, seu fluxo de trabalho pode seguir esse gatilho com a ação Obter conteúdo do arquivo.
Parâmetros
Nome | Chave | Necessário | Type | Description |
---|---|---|---|---|
Folder path | folderPath |
True | string |
O caminho da pasta, relativo ao diretório raiz. |
Número de ficheiros a devolver | maxFileCount |
False | integer |
O número máximo de arquivos a serem retornados de uma única execução de gatilho. Os valores válidos variam de 1 a 100. Nota: Por padrão, a configuração Dividir em está ativada e força esse gatilho a processar cada arquivo individualmente em paralelo. |
Carimbo de data/hora de corte para ignorar arquivos mais antigos | oldFileCutOffTimestamp |
False | dateTime |
O tempo de corte a ser usado para ignorar arquivos mais antigos. Use o formato YYYY-MM-DDTHH:MM:SS de carimbo de data/hora . Para desativar esse recurso, deixe essa propriedade vazia. |
Devoluções
Quando a configuração Dividir em do gatilho está habilitada, o gatilho retorna os metadados ou as propriedades de um arquivo de cada vez. Caso contrário, o gatilho retorna uma matriz que contém os metadados de cada arquivo.
Nome | Tipo |
---|---|
Lista de ficheiros | BlobMetadata |
Criar ficheiro
ID da operação: createFile
Esta ação cria um arquivo usando o caminho do arquivo especificado e o conteúdo do arquivo. Se o arquivo já existir, essa ação substituirá esse arquivo.
Importante
Se você excluir ou renomear um arquivo no servidor FTP imediatamente após a criação dentro do mesmo fluxo de trabalho, a operação pode retornar um erro HTTP 404 , que é por design. Para evitar esse problema, inclua um atraso de 1 minuto antes de excluir ou renomear todos os arquivos recém-criados. Você pode usar a ação Atrasar para adicionar esse atraso ao seu fluxo de trabalho.
Parâmetros
Nome | Chave | Necessário | Type | Description |
---|---|---|---|---|
Caminho do ficheiro | filePath |
True | string |
O caminho do arquivo, incluindo a extensão de nome de arquivo, se houver, relativo ao diretório raiz. |
Conteúdo do ficheiro | fileContent |
True | string |
O conteúdo do arquivo. |
Devoluções
Essa ação retorna um objeto BlobMetadata chamado Body.
Nome | Tipo |
---|---|
Metadados do ficheiro Nome do ficheiro | string |
Metadados do arquivo Caminho do arquivo | string |
Metadados do ficheiro Tamanho do ficheiro | string |
Metadados do ficheiro | BlobMetadata |
Eliminar ficheiro
ID da operação: deleteFtpFile
Esta ação exclui um arquivo usando o caminho de arquivo especificado.
Parâmetros
Nome | Chave | Necessário | Type | Description |
---|---|---|---|---|
Caminho do ficheiro | filePath |
True | string |
O caminho do arquivo, incluindo a extensão de nome de arquivo, se houver, relativo ao diretório raiz. |
Devoluções
Nenhuma
Obter conteúdo de ficheiro
ID da operação: getFtpFileContent
Essa ação obtém o conteúdo de um arquivo usando o caminho de arquivo especificado.
Parâmetros
Nome | Chave | Necessário | Type | Description |
---|---|---|---|---|
Caminho do ficheiro | path |
True | string |
O caminho do arquivo, incluindo a extensão de nome de arquivo, se houver, relativo ao diretório raiz. |
Devoluções
Essa ação retorna o conteúdo de um arquivo como um valor binário chamado Conteúdo do arquivo.
Nome | Tipo |
---|---|
Conteúdo do ficheiro | Binário |
Obter metadados do ficheiro
ID da operação: getFileMetadata
Essa ação obtém os metadados ou as propriedades de um arquivo usando o caminho de arquivo especificado.
Parâmetros
Nome | Chave | Necessário | Type | Description |
---|---|---|---|---|
Caminho do ficheiro | path |
True | string |
O caminho do arquivo, incluindo a extensão de nome de arquivo, se houver, relativo ao diretório raiz. |
Devoluções
Esta ação retorna as seguintes saídas:
Nome | Tipo |
---|---|
Nome do ficheiro | string |
Caminho do ficheiro | string |
Tamanho do ficheiro | string |
Hora da última atualização | string |
Metadados do ficheiro | BlobMetadata |
Listar arquivos e subpastas em uma pasta
ID da operação: listFilesInFolder
Esta ação obtém uma lista de arquivos e subpastas na pasta especificada.
Parâmetros
Nome | Chave | Necessário | Type | Description |
---|---|---|---|---|
Folder path | folderPath |
True | string |
O caminho da pasta, relativo ao diretório raiz. |
Conteúdo do ficheiro | fileContent |
True | string |
O conteúdo do ficheiro |
Devoluções
Essa ação retorna uma matriz chamada Response e contém objetos BlobMetadata.
Nome | Tipo |
---|---|
Response | Array com objetos BlobMetadata |
Atualizar ficheiro
ID da operação: updateFile
Esta ação atualiza um arquivo usando o caminho do arquivo especificado e o conteúdo do arquivo.
Importante
Se você excluir ou renomear um arquivo no servidor FTP imediatamente após a criação dentro do mesmo fluxo de trabalho, a operação pode retornar um erro HTTP 404 , que é por design. Para evitar esse problema, inclua um atraso de 1 minuto antes de excluir ou renomear todos os arquivos recém-criados. Você pode usar a ação Atrasar para adicionar esse atraso ao seu fluxo de trabalho.
Parâmetros
Nome | Chave | Necessário | Type | Description |
---|---|---|---|---|
Caminho do ficheiro | filePath |
True | string |
O caminho do arquivo, incluindo a extensão de nome de arquivo, se houver, relativo ao diretório raiz. |
Conteúdo do ficheiro | fileContent |
True | string |
O conteúdo do ficheiro |
Devoluções
Essa ação retorna um objeto BlobMetadata chamado Body.
Nome | Tipo |
---|---|
Corpo | BlobMetadata |