SFTP
O conetor SFTP permite-lhe estabelecer ligação a um servidor SFTP e realizar operações de transferência de ficheiros.
Antes de começar
No seu projeto do Google Cloud, faça as seguintes tarefas:
- Certifique-se de que a conetividade de rede está configurada. Para mais informações, consulte o artigo Conetividade de rede.
- Conceda a função IAM roles/connectors.admin ao utilizador que está a configurar o conetor.
- Conceda funções de IAM a
roles/secretmanager.viewer
eroles/secretmanager.secretAccessor
à conta de serviço que quer usar para o conector. Se não tiver uma conta de serviço, tem de criar uma. O conector e a conta de serviço têm de pertencer ao mesmo projeto. - Ative a
secretmanager.googleapis.com
(API Secret Manager) e aconnectors.googleapis.com
(API Connectors). Para mais informações, consulte o artigo Ativar serviços.
Crie uma ligação SFTP
Uma associação é específica de uma origem de dados. Isto significa que, se tiver muitas origens de dados, tem de criar uma associação separada para cada origem de dados. Para criar uma associação, faça o seguinte:
- Na Cloud Console, aceda à página Integration Connectors > Ligações e, de seguida, selecione ou crie um projeto do Google Cloud.
- Clique em + Criar novo para abrir a página Criar associação.
- Na secção Localização, selecione uma localização na lista Região e,
de seguida, clique em Seguinte.
Para ver a lista de todas as regiões suportadas, consulte o artigo Localizações.
- Na secção Detalhes da associação, conclua o seguinte:
- No campo Conetor, selecione SFTP.
- No campo Versão do conetor, selecione a versão pretendida.
- No campo Nome da associação, introduza um nome para a instância da associação. O nome da associação pode conter letras minúsculas, números ou hífenes. O nome tem de começar com uma letra e terminar com uma letra ou um número, e não pode exceder os 49 carateres.
- Opcionalmente, introduza uma Descrição para a instância de associação.
- Opcionalmente, ative o Registo na nuvem e, em seguida, selecione um nível de registo. Por predefinição, o nível do registo está definido como
Error
. - No campo Conta de serviço, selecione uma conta que tenha as funções necessárias.
- (Opcional) Configure as definições do nó de associação.
- Número mínimo de nós: introduza o número mínimo de nós de ligação.
- Número máximo de nós: introduza o número máximo de nós de ligação.
- (Opcional) No campo Caminho remoto, introduza o caminho da pasta no servidor SFTP para realizar as operações de entidades,
como
List
,Create
,Update
ouDelete
. - Opcionalmente, clique em + Adicionar etiqueta para adicionar uma etiqueta à associação sob a forma de um par chave/valor.
- Clicar em Seguinte.
Um nó é uma unidade (ou uma réplica) de uma ligação que processa transações. São necessários mais nós para processar mais transações para uma ligação e, inversamente, são necessários menos nós para processar menos transações. Para compreender como os nós afetam os preços dos conectores, consulte o artigo Preços dos nós de ligação. Se não introduzir valores, por predefinição, os nós mínimos são definidos como 2 (para uma melhor disponibilidade) e os nós máximos são definidos como 50.
Se estiver a aceder a entidades (ficheiros ou pastas) na pasta raiz ou nas pastas secundárias imediatas da pasta raiz, não precisa de definir nenhum valor para este campo. No entanto, se quiser aceder a entidades aninhadas presentes a uma profundidade de 2 níveis ou mais a partir da pasta raiz, tem de definir o valor deste campo para o caminho base da pasta que tem as entidades às quais quer aceder. Por exemplo, se quiser aceder ao ficheiro
/folder_A/folder_B/folder_C/test.png
, tem de definir o caminho remoto como/folder_A/folder_B/folder_C
. - Na secção Destinos, introduza os detalhes do anfitrião remoto (sistema de back-end) ao qual quer estabelecer ligação e clique em Seguinte.
- Para especificar o nome de anfitrião ou o endereço IP de destino, selecione Endereço do anfitrião e introduza o endereço no campo Anfitrião 1.
- Para estabelecer uma ligação privada, selecione Anexo do ponto final e escolha o anexo necessário na lista Anexo do ponto final.
-
Na secção Autenticação, selecione um Tipo de autenticação
introduza os detalhes relevantes e clique em Seguinte.
Os seguintes tipos de autenticação são suportados pela ligação SFTP:
- Nome de utilizador e palavra-passe
- SSH_PUBLIC_KEY
Para saber como configurar estes tipos de autenticação, consulte o artigo Configurar autenticação.
- Reveja os detalhes da ligação e da autenticação e, de seguida, clique em Criar.
No campo Tipo de destino, selecione o tipo pretendido:
Se quiser estabelecer uma ligação pública aos seus sistemas de back-end com segurança adicional, pode considerar configurar endereços IP estáticos de saída para as suas ligações e, em seguida, configurar as regras da firewall para permitir apenas os endereços IP estáticos específicos.
Configure a autenticação
Introduza os detalhes com base na autenticação que quer usar.
-
Nome de utilizador e palavra-passe
- Nome de utilizador: o nome de utilizador do SFTP a usar para a ligação.
- Palavra-passe: Secret do Secret Manager que contém a palavra-passe associada ao nome de utilizador do SFTP.
-
SSH_PUBLIC_KEY
- Nome de utilizador: a conta de utilizador do SFTP usada para autenticação.
- Chave privada de SSH: chave privada para autenticação SSH.
- Palavra-passe da chave privada SSH: frase de acesso/palavra-passe que protege a chave privada, se existir.
- Tipo de chave privada de SSH: formato da chave privada.
Use a ligação SFTP numa integração
Depois de criar a ligação, esta fica disponível no Apigee Integration e no Application Integration. Pode usar a ligação numa integração através da tarefa Conectores.
- Para compreender como criar e usar a tarefa Connectors no Apigee Integration, consulte o artigo Tarefa Connectors.
- Para compreender como criar e usar a tarefa Connectors na integração de aplicações, consulte o artigo Tarefa Connectors.
Ações
Esta secção apresenta algumas das ações suportadas pelo conetor. Para compreender como configurar as ações, consulte os exemplos de ações.
Ação de carregamento
A tabela seguinte descreve os parâmetros de entrada da ação Upload
.
Nome do parâmetro | Tipo de dados | Obrigatória | Descrição |
---|---|---|---|
Conteúdo | String | Não | Conteúdo a carregar como um ficheiro. |
ContentBytes | String | Não | Conteúdo de bytes (como uma string Base64) a carregar como um ficheiro. Use esta opção para carregar dados binários. |
HasBytes | Booleano | Não | Especifica se o conteúdo deve ser carregado como bytes. O valor predefinido é false . |
RemoteFile | String | Sim | O nome do ficheiro no anfitrião remoto. |
Substituir | Booleano | Não | Especifica se o ficheiro remoto deve ser substituído. O valor predefinido é false . |
Para ver exemplos de como configurar a ação Upload
, consulte a secção Exemplos.
Ação de transferência
A tabela seguinte descreve os parâmetros de entrada da ação Download
.
Nome do parâmetro | Tipo de dados | Obrigatória | Descrição |
---|---|---|---|
RemoteFile | String | Sim | O nome do ficheiro no anfitrião remoto. |
HasBytes | Booleano | Não | Especifica se o conteúdo deve ser transferido como bytes. O valor predefinido é false . |
Para ver exemplos de como configurar a ação Download
, consulte a secção Exemplos.
Ação MoveFile
A tabela seguinte descreve os parâmetros de entrada da ação MoveFile
.
Nome do parâmetro | Tipo de dados | Obrigatória | Descrição |
---|---|---|---|
RemoteFile | String | Sim | O caminho do ficheiro remoto a mover. |
DestinationPath | String | Sim | O novo caminho para o qual quer mover o ficheiro. |
Para ver exemplos de como configurar a ação MoveFile
, consulte a secção Exemplos.
Ação RenameFile
A tabela seguinte descreve os parâmetros de entrada da ação RenameFile
.
Nome do parâmetro | Tipo de dados | Obrigatória | Descrição |
---|---|---|---|
RemoteFile | String | Sim | Caminho e nome do ficheiro remoto cujo nome vai ser mudado. |
NewFileName | String | Sim | Novo nome do ficheiro remoto. |
Para ver exemplos de como configurar a ação RenameFile
, consulte a secção Exemplos.
Exemplos
Esta secção descreve como realizar algumas das operações e ações de entidades neste conector. Os exemplos descrevem as seguintes operações:
- Listar todos os ficheiros no diretório raiz
- Listar ficheiros que correspondem a um padrão num diretório
- Mova um ficheiro
- Mude o nome de um ficheiro
- Elimine um ficheiro
- Carregue um ficheiro de texto ASCII
- Carregue um ficheiro binário
- Transfira um ficheiro de texto ASCII
- Transfira um ficheiro binário
- Transfira vários ficheiros
A tabela seguinte lista os cenários de exemplo e a configuração correspondente na tarefa Conectores:
Tarefa | Comando de exemplo | Configuração |
---|---|---|
Listar todos os ficheiros no diretório raiz | ls / |
|
Listar ficheiros .csv num diretório |
ls /tmp/*.csv |
|
Mova um ficheiro | mv /tmp/dir_A/hello_world.txt /dir_B/dir_C/ |
Este exemplo move o ficheiro [{ "Success":"true" }] |
Mude o nome de um ficheiro | mv /tmp/hello_world.txt /tmp/hello_world_new.txt |
Este exemplo muda o nome do ficheiro [{ "Success":"true" }] |
Elimine um ficheiro | rm /tmp/myfile.csv |
|
Carregue um ficheiro de texto ASCII | put file_1.txt /tmp/file_1.txt |
Este exemplo cria o ficheiro A definição do atributo |
Carregue um ficheiro binário | put image_1.png /tmp/image_1.png |
Para carregar conteúdo binário, tem de codificar primeiro o conteúdo no formato Base64. Pode escolher uma ferramenta à sua escolha para
codificar o conteúdo. Os passos para codificar o conteúdo estão fora do
âmbito deste documento. Depois de ter o conteúdo como uma string Base64, siga estes passos:
Este exemplo cria o ficheiro A definição do atributo |
Transfira um ficheiro de texto ASCII | get /tmp/myfile.txt |
O conteúdo do ficheiro transferido está disponível como uma string
no campo |
Transfira um ficheiro binário | get /tmp/myfile.png |
O conteúdo do ficheiro transferido está disponível como uma string codificada em Base64
no campo |
Transfira vários ficheiros |
|
|
Limitações do sistema
O conector SFTP pode processar 1 transação por segundo, por nó, e limita todas as transações que excedam este limite. Por predefinição, os Integration Connectors atribuem 2 nós (para uma melhor disponibilidade) a uma ligação.
Para informações sobre os limites aplicáveis aos Integration Connectors, consulte Limites.
Crie ligações com o Terraform
Pode usar o recurso do Terraform para criar uma nova associação.
Para saber como aplicar ou remover uma configuração do Terraform, consulte os comandos básicos do Terraform.
Para ver um modelo do Terraform de exemplo para a criação de ligações, consulte o modelo de exemplo.
Quando criar esta associação através do Terraform, tem de definir as seguintes variáveis no ficheiro de configuração do Terraform:
Nome do parâmetro | Tipo de dados | Obrigatória | Descrição |
---|---|---|---|
remote_path | STRING | Falso | O caminho atual no servidor SFTP. |
Esquema JSON para o payload
Todos os objetos de entidades numa ligação SFTP têm um esquema JSON predefinido. Os objetos de entidade numa ligaçã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 } } }
Obtenha ajuda da comunidade do Google Cloud
Pode publicar as suas perguntas e discutir este conector na comunidade do Google Cloud nos fóruns do Google Cloud.
O que se segue?
- Compreenda como suspender e retomar uma associação.
- Compreenda como monitorizar a utilização do conector.
- Compreenda como ver os registos do conetor.