SFTP
Com o conector SFTP, você pode se conectar a um servidor SFTP e realizar operações de transferência de arquivos.
Antes de começar
No seu projeto do Google Cloud, faça o seguinte:
- Verifique se a conectividade de rede está configurada. Para mais informações, consulte Conectividade de rede.
- Conceda o papel do IAM roles/connectors.admin ao usuário que está configurando o conector.
- Conceda os papéis do IAM
roles/secretmanager.viewer
eroles/secretmanager.secretAccessor
à conta de serviço que você quer usar para o conector. - Ative
secretmanager.googleapis.com
(API Secret Manager) econnectors.googleapis.com
(API Connectors). Para mais informações, consulte Como ativar serviços.
Criar uma conexão SFTP
Uma conexão é específica a uma fonte de dados. Isso significa que, se você tiver muitas fontes de dados, precisará criar uma conexão separada para cada uma. Para criar uma conexão, faça o seguinte:
- No console do Cloud, acesse a página Integration Connectors > Conexões e selecione ou crie um projeto do Google Cloud.
- Clique em + Criar novo para abrir a página Criar conexão.
- Na seção Local, selecione um local na lista Região e clique em Próxima.
Para conferir a lista de todas as regiões com suporte, consulte Locais.
- Na seção Detalhes da conexão, faça o seguinte:
- No campo Conector, selecione SFTP.
- No campo Versão do conector, selecione a versão desejada.
- No campo Nome da conexão, insira um nome para a instância de conexão. O nome da conexão pode conter letras minúsculas, números ou hífens. O nome precisa começar com uma letra e terminar com uma letra ou um número, e não pode ter mais de 49 caracteres.
- Como opção, insira uma Descrição para a instância de conexão.
- Se quiser, ative o Cloud Logging e selecione um nível de registro. Por padrão, o nível de registro é definido como
Error
. - No campo Conta de serviço, selecione uma conta que tenha os papéis necessários.
- (Opcional) Defina as Configurações do nó de conexão.
- Número mínimo de nós: digite o número mínimo de nós de conexão.
- Número máximo de nós: digite o número máximo de nós de conexão.
- (Opcional) No campo Caminho remoto, insira o caminho da pasta no servidor SFTP para realizar as operações de entidade, como
List
,Create
,Update
ouDelete
. - Outra opção é clicar em + Adicionar rótulo para adicionar um rótulo à conexão na forma de um par de chave-valor.
- Clique em Próxima.
Um nó é uma unidade (ou réplica) de uma conexão que processa transações. Mais nós são necessários para processar mais transações para uma conexão e, por outro lado, menos nós são necessários para processar menos transações. Para entender como os nós afetam os preços do conector, consulte Preços dos nós de conexão. Se você não inserir qualquer valor, por padrão, os nós mínimos serão definidos como 2 (para melhor disponibilidade) e os nós máximos serão definidos como 50.
Se você estiver acessando entidades (arquivos ou pastas) na pasta raiz ou nas subpastas imediatas da pasta raiz, não será necessário definir um valor para esse campo. No entanto, se você quiser acessar entidades aninhadas que estejam em uma profundidade de dois níveis ou mais da pasta raiz, defina o valor desse campo como o caminho base da pasta que tem as entidades que você quer acessar. Por exemplo, se você quiser acessar o arquivo
/folder_A/folder_B/folder_C/test.png
, defina o caminho remoto como/folder_A/folder_B/folder_C
. - Na seção Destinos, insira os detalhes do host remoto (sistema de back-end) ao qual você quer se conectar e clique em Próxima.
- Para especificar o nome do host ou o endereço IP de destino, selecione Endereço do host e insira o endereço no campo Host 1.
- Para estabelecer uma conexão particular, selecione Anexo de endpoint e escolha o anexo necessário na lista Anexo de endpoint.
-
Na seção Autenticação, selecione um Tipo de autenticação
e insira os detalhes relevantes. Clique em Próxima.
A conexão SFTP oferece suporte aos seguintes tipos de autenticação:
- Nome de usuário e senha
- SSH_PUBLIC_KEY
Para entender como configurar esses tipos de autenticação, consulte Configurar autenticação.
- Revise os detalhes de conexão e autenticação e clique em Criar.
No campo Tipo de destino, selecione o tipo desejado:
Para estabelecer uma conexão pública com os sistemas de back-end com mais segurança, considere configurar endereços IP de saída estáticos para suas conexões e configure as regras de firewall para autorizar apenas os endereços IP estáticos específicos.
Configurar a autenticação
Digite os detalhes com base na autenticação que você quer usar.
-
Nome de usuário e senha
- Nome de usuário: o nome de usuário do SFTP a ser usado para a conexão.
- Senha: o Secret do Secret Manager que contém a senha associada ao nome de usuário do SFTP.
-
SSH_PUBLIC_KEY
- Nome de usuário: a conta de usuário do SFTP usada para autenticação.
- Chave privada SSH: chave privada usada para autenticação SSH.
- Senha da chave privada SSH: senha longa/senha que protege a chave privada, se houver.
- Tipo de chave privada SSH: formato da chave privada SSH.
Usar a conexão SFTP em uma integração
Depois de criar a conexão, ela fica disponível na integração da Apigee e no Application Integration. É possível usar a conexão em uma integração pela tarefa "Conectores".
- Para entender como criar e usar a tarefa "Conectores" na integração da Apigee, consulte Tarefa "Conectores".
- Para entender como criar e usar a tarefa "Conectores" na Application Integration, consulte Tarefa "Conectores".
Ações
Esta seção lista algumas das ações compatíveis com o conector. Para entender como configurar as ações, consulte Exemplos de ações.
Ação de upload
A tabela a seguir descreve os parâmetros de entrada da ação Upload
.
Nome do parâmetro | Tipo de dados | Obrigatório | Descrição |
---|---|---|---|
Conteúdo | String | Não | Conteúdo a ser enviado como um arquivo. |
ContentBytes | String | Não | Conteúdo de bytes (como uma string Base64) para upload como um arquivo. Use isso para fazer upload de dados binários. |
HasBytes | Booleano | Não | Especifica se o conteúdo será enviado como bytes. O valor padrão é false . |
RemoteFile | String | Sim | O nome do arquivo no host remoto. |
Substituir | Booleano | Não | Especifica se o arquivo remoto deve ser substituído. O valor padrão é false . |
Veja como configurar a ação Upload
em Exemplos.
Ação de download
A tabela a seguir descreve os parâmetros de entrada da ação Download
.
Nome do parâmetro | Tipo de dados | Obrigatório | Descrição |
---|---|---|---|
RemoteFile | String | Sim | O nome do arquivo no host remoto. |
HasBytes | Booleano | Não | Especifica se o conteúdo deve ser baixado como bytes. O valor padrão é false . |
Veja como configurar a ação Download
em Exemplos.
Ação MoveFile
A tabela a seguir descreve os parâmetros de entrada da ação MoveFile
.
Nome do parâmetro | Tipo de dados | Obrigatório | Descrição |
---|---|---|---|
RemoteFile | String | Sim | O caminho do arquivo remoto a ser movido. |
DestinationPath | String | Sim | O novo caminho para onde você quer mover o arquivo. |
Veja como configurar a ação MoveFile
em Exemplos.
Ação RenameFile
A tabela a seguir descreve os parâmetros de entrada da ação RenameFile
.
Nome do parâmetro | Tipo de dados | Obrigatório | Descrição |
---|---|---|---|
RemoteFile | String | Sim | Caminho e nome do arquivo remoto a ser renomeado. |
NewFileName | String | Sim | Novo nome do arquivo remoto. |
Veja como configurar a ação RenameFile
em Exemplos.
Exemplos
Nesta seção, descrevemos como executar algumas das operações e ações da entidade neste conector. Os exemplos descrevem as seguintes operações:
- Listar todos os arquivos no diretório
- Listar arquivos que correspondem a um padrão em um diretório
- Mover um arquivo
- Renomear um arquivo
- Excluir um arquivo
- Fazer upload de um arquivo de texto ASCII
- Fazer upload de um arquivo binário
- Baixar um arquivo de texto ASCII
- Baixar um arquivo binário
- Fazer o download de vários arquivos
A tabela a seguir lista os cenários de exemplo e a configuração correspondente na tarefa Connectors:
Tarefa | Comando de amostra | Configuração |
---|---|---|
Listar todos os arquivos no diretório | ls / |
|
Listar arquivos .csv em um diretório |
ls /tmp/*.csv |
|
Mover um arquivo | mv /tmp/dir_A/hello_world.txt /dir_B/dir_C/ |
Este exemplo move o arquivo [{ "Success":"true" }] |
Renomear um arquivo | mv /tmp/hello_world.txt /tmp/hello_world_new.txt |
Este exemplo renomeia o arquivo [{ "Success":"true" }] |
Excluir um arquivo | rm /tmp/myfile.csv |
|
Fazer upload de um arquivo de texto ASCII | put file_1.txt /tmp/file_1.txt |
Este exemplo cria o arquivo Definir o atributo |
Fazer upload de um arquivo binário | put image_1.png /tmp/image_1.png |
Para fazer upload de um conteúdo binário, primeiro é necessário codificar o conteúdo
no formato Base64. Você pode escolher a ferramenta que quiser para
codificar o conteúdo. As etapas para codificar o conteúdo estão fora do escopo deste documento. Depois de criar o conteúdo como uma string Base64, siga estas etapas:
Este exemplo cria o arquivo Definir o atributo |
Baixar um arquivo de texto ASCII | get /tmp/myfile.txt |
O conteúdo do arquivo baixado está disponível como uma string
no campo |
Baixar um arquivo binário | get /tmp/myfile.png |
O conteúdo do arquivo baixado está disponível como uma string codificada em Base64
no campo |
Fazer o download de vários arquivos |
|
|
Limitações do sistema
O conector SFTP pode processar uma transação por segundo, por nó, e limita qualquer transação além desse limite. Por padrão, o Integration Connectors aloca dois nós (para melhor disponibilidade) para uma conexão.
Para informações sobre os limites aplicáveis aos Integration Connectors, consulte Limites.
Criar conexões usando o Terraform
Use o recurso do Terraform para criar uma conexão.
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
Para conferir um modelo de exemplo do Terraform para criação de conexão, consulte modelo de exemplo.
Ao criar essa conexão usando o Terraform, defina as seguintes variáveis no arquivo de configuração do Terraform:
Nome do parâmetro | Tipo de dados | Obrigatório | Descrição |
---|---|---|---|
remote_path | STRING | Falso | O caminho atual no servidor SFTP. |
Esquema JSON para payload
Todos os objetos de entidade em uma conexão SFTP têm um esquema JSON predefinido. Os objetos de entidade em uma conexão SFTP usam o seguinte esquema JSON:
{ "type": "object", "properties": { "FilePath": { "type": "string", "readOnly": false }, "Filename": { "type": [ "string", "null" ], "readOnly": false, "description": "The name of the file or directory." }, "FileSize": { "type": [ "number", "null" ], "readOnly": false, "description": "The size of the file." }, "LastModified": { "type": [ "string", "null" ], "readOnly": false }, "IsDirectory": { "type": [ "boolean", "null" ], "readOnly": false }, "Permissions": { "type": [ "string", "null" ], "readOnly": false }, "Owner": { "type": [ "string", "null" ], "readOnly": false }, "OwnerId": { "type": [ "string", "null" ], "readOnly": false }, "Group": { "type": [ "string", "null" ], "readOnly": false }, "GroupId": { "type": [ "string", "null" ], "readOnly": false } } }
Receber ajuda da comunidade do Google Cloud
Poste suas dúvidas e converse sobre esse conector na comunidade do Google Cloud em Fóruns do Cloud.
A seguir
- Entenda como suspender e retomar uma conexão.
- Entenda como monitorar o uso do conector.
- Saiba como ver os registros do conector.