Compartilhar via


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:

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:

  1. Obter metadados do arquivo para obter metadados de cada arquivo.

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

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

  2. No designer, na caixa de pesquisa, selecione Standard. Na caixa de pesquisa, digite ftp.

  3. Na lista de gatilhos, selecione aquele chamado Quando um arquivo for adicionado ou modificado (somente propriedades).

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

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

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

  5. Após a caixa de informações do gatilho ser exibida, localize aquela que você deseja monitorar quanto a arquivos novos ou editados.

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

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

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

    Sua pasta selecionada aparece na caixa Pasta.

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

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

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.

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

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

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

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

    3. Na caixa de pesquisa, insira ftp obter metadados do arquivo.

    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 Consumo, a caixa de pesquisa com

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

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

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

  5. Na lista de conteúdo dinâmico, em Quando um arquivo for adicionado ou modificado, selecione Lista de Ids de Arquivos.

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

    A propriedade File agora faz referência à saída do gatilho Lista de Ids de Arquivos.

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

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

  8. Na caixa de pesquisa, insira ftp obter conteúdo do arquivo.

  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 Consumo, a caixa de pesquisa com

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

  11. Na lista de conteúdo dinâmico, em Obter metadados do arquivo, selecione Id, que faz referência ao arquivo adicionado ou atualizado.

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

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

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

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

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

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

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

  2. Se solicitado, entre na sua conta de email.

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

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

    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 Consumo, a ação

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

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

  4. Salve o fluxo de trabalho do aplicativo lógico.

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

Próximas etapas