Partilhar via


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:

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:

  1. Obtenha metadados de arquivo para obter os metadados de cada arquivo.

  2. 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:

  1. No portal do Azure e abra seu fluxo de trabalho de aplicativo lógico em branco no designer.

  2. No designer, na caixa de pesquisa, selecione Padrão. Na caixa de pesquisa, digite ftp.

  3. Na lista de gatilhos, selecione o gatilho chamado Quando um arquivo é adicionado ou modificado (somente propriedades).

    A captura de tela mostra o portal do Azure, o designer de fluxo de trabalho de consumo e o gatilho FTP selecionados.

  4. 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.

    A captura de tela mostra o designer de fluxo de trabalho de consumo e o perfil de conexão FTP.

  5. Depois que a caixa de informações do gatilho for exibida, localize a pasta que você deseja monitorar para arquivos novos ou editados.

    1. Na caixa Pasta, selecione o ícone de pasta para exibir o diretório da pasta.

    2. Selecione a seta em ângulo reto (>). Navegue até a pasta desejada e selecione a pasta.

    A captura de tela mostra o designer de fluxo de trabalho de consumo, o gatilho FTP e a propriedade

    A pasta selecionada aparece na caixa Pasta .

    A captura de tela mostra o designer de fluxo de trabalho de consumo, o gatilho FTP e a propriedade

  6. 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:

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.

  1. No portal do Azure e abra o fluxo de trabalho do aplicativo lógico no designer.

  2. 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.

    1. No designer, sob o gatilho ou quaisquer outras ações, selecione Nova etapa.

    2. Na caixa de pesquisa Escolha uma operação, selecione Padrão.

    3. Na caixa de pesquisa, digite ftp get file metadata.

    4. Na lista de ações, selecione a ação chamada Obter metadados do arquivo.

    A captura de tela mostra o portal do Azure, o designer de fluxo de trabalho de consumo, a caixa de pesquisa com a ação

  3. 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.

    A captura de tela mostra o designer de fluxo de trabalho de consumo e o perfil de conexão FTP para uma ação.

  4. 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.

  5. Na lista de conteúdo dinâmico, em Quando um arquivo é adicionado ou modificado, selecione Id da lista de arquivos.

    A captura de tela mostra o designer de fluxo de trabalho de consumo, a ação

    A propriedade File agora faz referência à saída do gatilho List of Files Id .

  6. No designer, na ação Obter metadados de arquivo, selecione Nova etapa.

  7. Na caixa de pesquisa Escolha uma operação, selecione Padrão.

  8. Na caixa de pesquisa, digite ftp get file content.

  9. Na lista de ações, selecione a ação chamada Obter conteúdo do arquivo.

    A captura de tela mostra o portal do Azure, o designer de fluxo de trabalho de consumo, a caixa de pesquisa com a ação

  10. 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.

  11. 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 captura de tela mostra o designer de fluxo de trabalho de consumo, a ação

    A propriedade File agora faz referência à saída da ação Id .

    A captura de tela mostra o designer de fluxo de trabalho de consumo, a ação

  12. 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.

  1. 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.

    1. No designer, na ação Obter conteúdo do arquivo, selecione Nova etapa.

    2. Na caixa de pesquisa Escolha uma operação, selecione Padrão.

    3. 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.

    A captura de tela mostra o designer de fluxo de trabalho de consumo e a ação

  2. Se necessário, inicie sessão na sua conta de e-mail.

  3. 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:

    1. Na ação Obter conteúdo do arquivo, clique dentro da caixa Corpo para que a lista de conteúdo dinâmico seja aberta.

    2. Na lista de conteúdo dinâmico, ao lado de Obter conteúdo do arquivo, selecione Ver mais.

      A captura de tela mostra o designer de fluxo de trabalho de consumo, a ação

    3. 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 .

      A captura de tela mostra o designer de fluxo de trabalho de consumo, a ação

  4. Salve seu fluxo de trabalho de aplicativo lógico.

  5. 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:SSde 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

Próximos passos