Conectar-se a um servidor FTP a partir de fluxos de trabalho em Aplicativos Lógicos do Azure
Aplica-se a: Aplicativos Lógicos do Azure (Consumo + Padrão)
Esse artigo mostra como acessar seu servidor FTP (File Transfer Protocol) a partir de um fluxo de trabalho em Aplicativos Lógicos do Azure com o conector de FTP. Em seguida, você pode criar fluxos de trabalho automatizados que são executados quando disparados por eventos no seu servidor FTP ou em outros sistemas e executam ações para gerenciar arquivos no seu servidor FTP.
Por exemplo, seu fluxo de trabalho pode começar com um gatilho de FTP que monitore e responda a eventos no seu servidor FTP. O gatilho disponibiliza as saídas para as ações subsequentes no seu fluxo de trabalho. Seu fluxo de trabalho pode executar ações de FTP que criam, enviam, recebem e gerenciam arquivos por meio da sua conta de servidor FTP usando as seguintes tarefas específicas:
- Monitorar quando arquivos são adicionados ou alterados.
- Criar, copiar, excluir, listar e atualizar arquivos.
- Obter metadados e o conteúdo do arquivo.
- Gerenciar pastas.
Se não estiver familiarizado com os Aplicativos Lógicos do Azure, examine a seguinte documentação de introdução:
- O que são Aplicativos Lógicos do Azure
- Início Rápido: Crie um exemplo de fluxo de trabalho de aplicativo lógico de Consumo
Referência técnica do conector
O conector de FTP tem versões diferentes, com base no tipo de aplicativo lógico e no ambiente do host.
Tipo de aplicativo lógico (plano) | Ambiente | Versão do conector |
---|---|---|
Consumo | Aplicativos Lógicos Multilocatários do Azure | Conector gerenciado, que aparece na galeria de conectores em Runtime>Shared. Para saber mais, consulte a seguinte documentação: - Referência de conector gerenciado de FTP - Conectores gerenciados em Aplicativos Lógicos do Azure |
Standard | Aplicativos Lógicos do Azure de locatário único e Ambiente do Serviço de Aplicativo v3 (somente planos Windows) | O conector gerenciado (hospedado no Azure), que aparece na galeria de conectores em Runtime>Compartilhado, e o conector interno (versão prévia), que aparece na galeria de conectores em Runtime>No Aplicativo e é baseado no provedor de serviços. O conector interno pode acessar diretamente as redes virtuais do Azure com uma cadeia de conexão. Para saber mais, consulte a seguinte documentação: - Referência de conector gerenciado de FTP A seção sobre - Operações do conector interno de FTP mais adiante neste artigo - Conectores gerenciados em Aplicativos Lógicos do Azure - Conectores internos em Aplicativos Lógicos do Azure |
Limitações
Capacidade e taxa de transferência
Conector interno para fluxos de trabalho Padrão:
Por padrão, as ações de FTP podem ler ou gravar arquivos que tenham 200 MB ou menos. No momento, o conector interno de FTP não oferece suporte a agrupamento.
Conector gerenciado ou hospedado pelo Azure para fluxos de trabalho dos tipos Consumo e Standard
Por padrão, as ações de FTP podem ler ou gravar arquivos que são de 50 MB ou menores. Para lidar com arquivos maiores do que 50 MB, as ações de FTP dão suporte ao agrupamento de mensagens. A ação obter conteúdo do arquivo usa implicitamente o agrupamento.
Os gatilhos do conector gerenciado pelo FTP ou hospedado pelo Azure podem apresentar resultados ausentes, incompletos ou atrasados quando o carimbo de data/hora "modificado pela última vez" estiver preservado. 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. Para obter mais informações, consulte a seção sobre Limitações do conector de FTP.
O conector gerenciado pelo FTP ou hospedado pelo 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 em que 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 do aplicativo lógico Standard e usar o conector interno do FTP.
Pré-requisitos
Uma conta e uma assinatura do Azure. Se você não tiver uma assinatura do Azure, inscreva-se em uma conta gratuita do Azure.
O fluxo de trabalho de aplicativo lógico que você deseja acessar a sua conta de FTP. Para iniciar seu fluxo de trabalho com um gatilho de FTP, você precisará começar com um fluxo de trabalho em branco. Para usar uma ação de FTP, inicie seu fluxo de trabalho com outro gatilho, por exemplo, Recurrence.
Para obter mais requisitos aplicáveis ao conector gerenciado de FTP e ao conector interno, consulte a Referência de conector gerenciado de FTP – Requisitos.
Problemas conhecidos
Por padrão, os gatilhos que retornam uma matriz têm uma configuração Split On já habilitada. Com essa configuração habilitada, o gatilho faz debatch automaticamente na matriz criando internamente uma instância de fluxo de trabalho separada para processar cada item de 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 Split On está habilitada, os gatilhos de conector gerenciado retornam as saídas para todos os itens de matriz como listas. Todas as ações subsequentes que fazem referência a essas saídas precisam primeiro tratá-las como listas. Para manipular cada item de matriz individualmente, você pode adicionar ações extras. Por exemplo, para iterar por meio desses itens de matriz, você pode usar um loop Para cada. Para gatilhos que retornam apenas metadados ou propriedades, use uma ação que primeiro obtenha os metadados do item de matriz e, em seguida, use uma ação para obter o conteúdo dos itens.
Você só precisa aplicar essa abordagem para gatilhos de conector gerenciado, não para gatilhos de conector interno que retornam saídas para um item de matriz por vez quando a configuração Dividir Em está habilitada.
Por exemplo, suponha que você tenha um gatilho de conector gerenciado chamado Quando um arquivo for adicionado ou modificado (somente propriedades) que retorne os metadados ou as propriedades dos arquivos novos ou atualizados como matrizes. Para obter os metadados separadamente para cada arquivo, você pode usar um loop Para cada que itera por meio da matriz. Neste loop, use as seguintes ações do conector gerenciado na ordem especificada:
Obter metadados do arquivo para obter metadados de cada arquivo.
Ação Obter conteúdo do arquivo para obter o conteúdo de cada arquivo.
Adicionar um gatilho de FTP
Um fluxo de trabalho de aplicativo lógico Consumo pode usar apenas o conector gerenciado de FTP. No entanto, um fluxo de trabalho de aplicativo lógico Padrão pode usar o conector gerenciado de FTP e o conector interno de FTP.connection profile. 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 de FTP e o conector interno têm apenas um gatilho disponível:
Gatilho de conector gerenciado: O gatilho de FTP chamado Quando um arquivo for 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 os metadados do arquivo, não o seu conteúdo. 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 for adicionado ou modificado (somente propriedades).
Gatilho de conector interno: O gatilho de FTP chamado Quando um arquivo for adicionado ou modificado (somente propriedades) 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 os metadados do arquivo, não o seu conteúdo. 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 for adicionado ou modificado.
As etapas a seguir usam o portal do Azure, mas com a extensão de Aplicativos Lógicos do Azure apropriada; você também pode usar as seguintes ferramentas para criar fluxos de trabalho de aplicativo lógico:
Fluxos de trabalho de aplicativos lógicos de consumo: Visual Studio Code
Fluxos de trabalho de aplicativo lógico padrão: Visual Studio Code
No portal do Azure, abra seu fluxo de trabalho de aplicativo lógico em branco no designer.
No designer, na caixa de pesquisa, selecione Standard. Na caixa de pesquisa, digite ftp.
Na lista de gatilhos, selecione aquele chamado Quando um arquivo for adicionado ou modificado (somente propriedades).
Forneça as informações para sua conexão. Quando terminar, selecione Criar.
Observação
Por padrão, esse conector transfere arquivos no formato de texto. Para transferir arquivos no formato binário, como nos casos em que é usada codificação, selecione a opção de transporte binário.
Após a caixa de informações do gatilho ser exibida, localize aquela que você deseja monitorar quanto a arquivos novos ou editados.
Na caixa Pasta, selecione o ícone de pasta para exibir o diretório de pastas.
Selecione a seta em ângulo reto (>). Acesse e selecione a pasta desejada.
Sua pasta selecionada aparece na caixa Pasta.
Quando terminar, salve o fluxo de trabalho.
Quando você salva o fluxo de trabalho, essa etapa publica automaticamente suas atualizações no aplicativo lógico implantado, que está ativo no Azure. Com um gatilho apenas, o fluxo de trabalho só verifica o servidor FTP com base no seu agendamento especificado. Você precisa adicionar uma ação que responda ao gatilho e adote alguma ação quanto às saídas do gatilho.
Adicionar ação de FTP
Um fluxo de trabalho de aplicativo lógico Consumo pode usar apenas o conector gerenciado de FTP. No entanto, um fluxo de trabalho de aplicativo lógico Padrão pode usar o conector gerenciado de FTP e o conector interno de FTP.connection profile. 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 do arquivo e obter o conteúdo do arquivo.
Ações do conector gerenciado: essas ações são executadas em um fluxo de trabalho de aplicativo lógico do tipo Consumo ou Padrão.
Ações do conector interno: essas ações são executadas somente em um fluxo de trabalho de aplicativo lógico Padrão.
As seguintes etapas usam o portal do Azure, mas com a extensão de Aplicativos Lógicos do Azure adequada, você também pode usar as seguintes ferramentas para compilar fluxos de trabalho de aplicativo lógico:
- Fluxos de trabalho de consumo: Visual Studio Code
- Fluxos de trabalho padrão: Visual Studio Code
Para que você possa usar uma ação de FTP, seu fluxo de trabalho já deve começar com um gatilho, que pode ser qualquer tipo à sua escolha. Por exemplo, você pode usar o gatilho interno genérico Recorrência para iniciar seu fluxo de trabalho com agendamento específico.
No portal do Azure, abra o fluxo de trabalho de aplicativo lógico no designer.
Localize e selecione a ação de FTP que você deseja usar.
Este exemplo continua com a ação chamada Obter metadados do arquivo para que você possa obter metadados de um único item de matriz.
No designer, no gatilho ou em quaisquer outras ações, selecione Nova etapa.
Na caixa de pesquisa Escolha uma operação, selecione Standard.
Na caixa de pesquisa, insira ftp obter metadados do arquivo.
Na lista de ações, selecione a ação chamada Obter metadados do arquivo.
Se preciso, forneça as informações sobre a sua conexão. Quando terminar, selecione Criar.
Observação
Por padrão, esse conector transfere arquivos no formato de texto. Para transferir arquivos no formato binário, como nos casos em que é usada codificação, selecione a opção de transporte binário.
Após a ação Obter metadados do arquivo ser exibida, clique na 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 for adicionado ou modificado, selecione Lista de Ids de Arquivos.
A propriedade File agora faz referência à saída do gatilho Lista de Ids de Arquivos.
No designer, na ação Obter metadados do arquivo, selecione Nova etapa.
Na caixa de pesquisa Escolha uma operação, selecione Standard.
Na caixa de pesquisa, insira ftp obter conteúdo do arquivo.
Na lista de ações, selecione a ação chamada Obter conteúdo do arquivo.
Após a ação Obter conteúdo do arquivo ser exibida, clique na caixa Arquivo para que a lista de conteúdo dinâmico seja aberta.
Agora você pode selecionar saídas do gatilho anterior e qualquer outra ação.
Na lista de conteúdo dinâmico, em Obter metadados do arquivo, selecione Id, que faz referência ao arquivo adicionado ou atualizado.
A propriedade File agora faz referência à saída da ação Id.
Quando terminar, salve o fluxo de trabalho. Selecione Salvar na barra de ferramentas do designer.
Testar seu fluxo de trabalho
Para verificar se o fluxo de trabalho retorna o conteúdo esperado, adicione outra ação que lhe envie o conteúdo do arquivo carregado ou atualizado. Este exemplo usa a ação do Office 365 Outlook chamada Enviar um email.
Na ação Obter conteúdo do arquivo, adicione a ação do Office 365 Outlook chamada Enviar um email. Se você tiver uma conta Outlook.com, adicione a ação Enviar um email do Outlook.com e ajuste as etapas a seguir conforme necessário.
No designer, na ação Obter conteúdo do arquivo, selecione Nova etapa.
Na caixa de pesquisa Escolha uma operação, selecione Standard.
Na caixa de pesquisa, insira office 365 outlook enviar um email. Na lista de ações, selecione a ação do Office 365 Outlook chamada Enviar um email.
Se solicitado, entre na sua conta de email.
Na caixa de informações de ação, forneça os valores necessários e inclua todos os outros parâmetros ou propriedades que você queira testar.
Por exemplo, você pode incluir a saída Conteúdo do arquivo da ação Obter conteúdo do arquivo. Para localizar essa saída, siga estas etapas:
Após a ação Obter conteúdo do arquivo abrir, clique na caixa Corpo para que a lista de conteúdo dinâmica 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 do arquivo, selecione Conteúdo do Arquivo.
A propriedade Body agora faz referência à saída da ação Conteúdo do Arquivo.
Salve o fluxo de trabalho do aplicativo lógico.
Para executar e disparar o fluxo de trabalho, na barra de ferramentas do designer, selecione Executar Gatilho>Executar. Adicione um arquivo à pasta FTP que seu fluxo de trabalho monitora.
Operações do conector interno de FTP
O conector interno de FTP só está disponível para fluxos de trabalho de aplicativo lógico Padrão e fornece as seguintes operações:
Gatilho | Descrição |
---|---|
Quando um arquivo for adicionado ou modificado | Inicie um fluxo de trabalho de aplicativo lógico quando um arquivo for adicionado ou atualizado na pasta especificada no servidor FTP. Observação: Esse gatilho obtém apenas os metadados ou as propriedades do arquivo, não seu conteúdo. 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 arquivo | Crie um arquivo usando o caminho e o conteúdo do arquivo especificados. |
Excluir arquivo | Exclua um arquivo usando o caminho do arquivo especificado. |
Obter conteúdo do arquivo | Obtenha o conteúdo de um arquivo usando o caminho do arquivo especificado. |
Obter metadados do arquivo | Obtenha os metadados ou propriedades de um arquivo usando o caminho do arquivo especificado. |
Listar arquivos e subpastas em uma pasta | Obtenha uma lista de arquivos e subpastas na pasta especificada. |
Atualizar o arquivo | Atualize um arquivo usando o caminho e o conteúdo do arquivo especificados. |
Quando um arquivo for adicionado ou modificado
ID da operação: whenFtpFilesAreAddedOrModified
Esse gatilho inicia um fluxo de trabalho de aplicativo lógico quando um arquivo for adicionado ou atualizado na pasta especificada no servidor FTP. O gatilho obtém apenas os metadados ou as propriedades, mas 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 | Key | Obrigatório | Type | Descrição |
---|---|---|---|---|
Caminho da pasta | folderPath |
Verdadeiro | string |
O caminho da pasta, relativo ao diretório raiz. |
Número de arquivos a serem retornados | maxFileCount |
Falso | 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. Observação: Por padrão, a configuração Split On é habilitada e força esse gatilho a processar cada arquivo individualmente em paralelo. |
Carimbo de data/hora de corte para ignorar arquivos mais antigos | oldFileCutOffTimestamp |
Falso | dateTime |
O tempo de corte a ser usado para ignorar arquivos mais antigos. Use o formato do carimbo de hora YYYY-MM-DDTHH:MM:SS . Para desabilitar esse recurso, deixe essa propriedade vazia. |
Devoluções
Quando a configuração Split On do gatilho está habilitada, o gatilho retorna os metadados ou as propriedades de um arquivo por vez. Caso contrário, o gatilho retorna uma matriz que contém os metadados de cada arquivo.
Nome | Tipo |
---|---|
Lista de arquivos | BlobMetadata |
Criar arquivo
ID da operação: createFile
Essa ação cria um arquivo usando o caminho e o conteúdo do arquivo especificados. Se o arquivo já existir, essa ação o substituirá.
Importante
Se você excluir ou renomear um arquivo no servidor FTP imediatamente após a criação no mesmo fluxo de trabalho, a operação poderá retornar um erro HTTP 404, por design. Para evitar esse problema, inclua um atraso de 1 minuto antes de excluir ou renomear qualquer arquivo recém-criado. Você pode usar a ação Atrasar para adicionar esse atraso ao fluxo de trabalho.
Parâmetros
Nome | Key | Obrigatório | Type | Descrição |
---|---|---|---|---|
Caminho do arquivo | filePath |
Verdadeiro | string |
O caminho do arquivo, inclusive a extensão de nome de arquivo, se houver, relativo ao diretório raiz. |
Conteúdo do arquivo | fileContent |
Verdadeiro | string |
O conteúdo do arquivo. |
Devoluções
Essa ação retorna um objeto BlobMetadata chamado Body.
Nome | Tipo |
---|---|
Arquivo de metadados – Nome do arquivo | string |
Arquivo de metadados – Caminho do arquivo | string |
Arquivo de metadados – Tamanho do arquivo | string |
Metadados de arquivo | BlobMetadata |
Excluir arquivo
ID da operação: deleteFtpFile
Essa ação exclui um arquivo usando o caminho do arquivo especificado.
Parâmetros
Nome | Key | Obrigatório | Type | Descrição |
---|---|---|---|---|
Caminho do arquivo | filePath |
Verdadeiro | string |
O caminho do arquivo, inclusive a extensão de nome de arquivo, se houver, relativo ao diretório raiz. |
Devoluções
Nenhum
Obter conteúdo do arquivo
ID da operação: getFtpFileContent
Essa ação obtém o conteúdo de um arquivo usando o caminho do arquivo especificado.
Parâmetros
Nome | Key | Obrigatório | Type | Descrição |
---|---|---|---|---|
Caminho do arquivo | path |
Verdadeiro | string |
O caminho do arquivo, inclusive 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 arquivo | Binário |
Obter metadados do arquivo
ID da operação: getFileMetadata
Essa ação obtém os metadados ou as propriedades de um arquivo usando o caminho do arquivo especificado.
Parâmetros
Nome | Key | Obrigatório | Type | Descrição |
---|---|---|---|---|
Caminho do arquivo | path |
Verdadeiro | string |
O caminho do arquivo, inclusive a extensão de nome de arquivo, se houver, relativo ao diretório raiz. |
Devoluções
Essa ação retorna as seguintes saídas:
Nome | Tipo |
---|---|
Nome do arquivo | string |
Caminho do arquivo | string |
Tamanho do arquivo | string |
Hora da última atualização | string |
Metadados de arquivo | BlobMetadata |
Listar arquivos e subpastas em uma pasta
ID da operação: listFilesInFolder
Essa ação obtém uma lista de arquivos e subpastas na pasta especificada.
Parâmetros
Nome | Key | Obrigatório | Type | Descrição |
---|---|---|---|---|
Caminho da pasta | folderPath |
Verdadeiro | string |
O caminho da pasta, relativo ao diretório raiz. |
Conteúdo do arquivo | fileContent |
Verdadeiro | string |
O conteúdo do arquivo |
Devoluções
Essa ação retorna uma matriz chamada Response e contém objetos BlobMetadata.
Nome | Tipo |
---|---|
Response | Matriz com objetos BlobMetadata |
Atualizar arquivo
ID da operação: updateFile
Essa ação atualiza um arquivo usando o caminho e o conteúdo do arquivo especificados.
Importante
Se você excluir ou renomear um arquivo no servidor FTP imediatamente após a criação no mesmo fluxo de trabalho, a operação poderá retornar um erro HTTP 404, por design. Para evitar esse problema, inclua um atraso de 1 minuto antes de excluir ou renomear qualquer arquivo recém-criado. Você pode usar a ação Atrasar para adicionar esse atraso ao fluxo de trabalho.
Parâmetros
Nome | Key | Obrigatório | Type | Descrição |
---|---|---|---|---|
Caminho do arquivo | filePath |
Verdadeiro | string |
O caminho do arquivo, inclusive a extensão de nome de arquivo, se houver, relativo ao diretório raiz. |
Conteúdo do arquivo | fileContent |
Verdadeiro | string |
O conteúdo do arquivo |
Devoluções
Essa ação retorna um objeto BlobMetadata chamado Body.
Nome | Tipo |
---|---|
Corpo | BlobMetadata |