Criar uma conexão de origem SFTP usando a API Flow Service

Este tutorial usa a API Flow Service para orientá-lo pelas etapas para conectar o Experience Platform a um servidor SFTP (Secure File Transfer Protocol).

Introdução

Este guia requer uma compreensão funcional dos seguintes componentes do Adobe Experience Platform:

  • Fontes: O Experience Platform permite que os dados sejam assimilados de várias fontes, fornecendo a capacidade de estruturar, rotular e aprimorar os dados recebidos usando os serviços da plataforma.
  • Sandboxes: O Experience Platform fornece sandboxes virtuais que particionam uma única instância da Platform em ambientes virtuais separados para ajudar a desenvolver aplicativos de experiência digital.
IMPORTANTE

É recomendável evitar quebras de linha ou retornos de carro ao assimilar objetos JSON com uma conexão de origem SFTP. Para contornar a limitação, use um único objeto JSON por linha e use várias linhas para os arquivos subsequentes.

As seções a seguir fornecem informações adicionais que você precisará saber para se conectar com êxito a um servidor SFTP usando a API Flow Service.

Obter credenciais necessárias

Para que Flow Service se conecte ao SFTP, você deve fornecer valores para as seguintes propriedades de conexão:

Credencial Descrição
host O nome ou endereço IP associado ao servidor SFTP.
username O nome de usuário com acesso ao seu servidor SFTP.
password A senha do servidor SFTP.
privateKeyContent O conteúdo da chave privada SSH codificada em Base64. O tipo de chave OpenSSH deve ser classificado como RSA ou DSA.
passPhrase A senha ou senha para descriptografar a chave privada se o arquivo da chave ou o conteúdo da chave estiver protegido por uma senha. Se PrivateKeyContent estiver protegido por senha, esse parâmetro precisará ser usado com a senha de PrivateKeyContent como valor.

Lendo exemplos de chamadas de API

Este tutorial fornece exemplos de chamadas de API para demonstrar como formatar suas solicitações do . Isso inclui caminhos, cabeçalhos necessários e cargas de solicitação formatadas corretamente. O JSON de exemplo retornado nas respostas da API também é fornecido. Para obter informações sobre as convenções usadas na documentação para chamadas de API de exemplo, consulte a seção sobre como ler chamadas de API de exemplo no guia de solução de problemas do Experience Platform.

Coletar valores para cabeçalhos necessários

Para fazer chamadas para APIs da plataforma, primeiro complete o tutorial de autenticação. A conclusão do tutorial de autenticação fornece os valores para cada um dos cabeçalhos necessários em todas as chamadas de API do Experience Platform, conforme mostrado abaixo:

  • Authorization: Bearer {ACCESS_TOKEN}
  • x-api-key: {API_KEY}
  • x-gw-ims-org-id: {IMS_ORG}

Todos os recursos em Experience Platform, incluindo aqueles pertencentes a Flow Service, são isolados para sandboxes virtuais específicas. Todas as solicitações para Platform APIs exigem um cabeçalho que especifica o nome da sandbox em que a operação ocorrerá:

  • x-sandbox-name: {SANDBOX_NAME}

Todas as solicitações que contêm uma carga útil (POST, PUT, PATCH) exigem um cabeçalho de tipo de mídia adicional:

  • Content-Type: application/json

Criar uma conexão

Uma conexão especifica uma fonte e contém suas credenciais para essa fonte. Somente uma conexão é necessária, pois pode ser usada para criar vários fluxos de dados para trazer dados diferentes.

Criar uma conexão SFTP usando a autenticação básica

Para criar uma conexão SFTP usando autenticação básica, faça uma solicitação POST para a API Flow Service, fornecendo valores para as host, userName e password da sua conexão.

Formato da API

POST /connections

Solicitação

Para criar uma conexão SFTP, a ID de especificação de conexão exclusiva deve ser fornecida como parte da solicitação POST. A ID da especificação de conexão para SFTP é b7bf2577-4520-42c9-bae9-cad01560f7bc.

curl -X POST \
    'https://platform.adobe.io/data/foundation/flowservice/connections' \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {IMS_ORG}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}' \
    -H 'Content-Type: application/json' \
    -d  '{
        "name": "SFTP connector with password",
        "description": "SFTP connector password",
        "auth": {
            "specName": "Basic Authentication for sftp",
            "params": {
                "host": "{HOST}",
                "userName": "{USERNAME}",
                "password": "{PASSWORD}"
            }
        },
        "connectionSpec": {
            "id": "b7bf2577-4520-42c9-bae9-cad01560f7bc",
            "version": "1.0"
        }
    }'
Propriedade Descrição
auth.params.host O nome do host do seu servidor SFTP.
auth.params.username O nome de usuário associado ao servidor SFTP.
auth.params.password A senha associada ao servidor SFTP.
connectionSpec.id A ID de especificação da conexão do servidor SFTP: b7bf2577-4520-42c9-bae9-cad01560f7bc

Resposta

Uma resposta bem-sucedida retorna o identificador exclusivo (id) da conexão recém-criada. Essa ID é necessária para explorar seu servidor SFTP no próximo tutorial.

{
    "id": "bf367b0d-3d9b-4060-b67b-0d3d9bd06094",
    "etag": "\"1700cc7b-0000-0200-0000-5e3b3fba0000\""
}

Criar uma conexão SFTP usando a autenticação de chave pública SSH

Para criar uma conexão SFTP usando a autenticação de chave pública SSH, faça uma solicitação POST para a API Flow Service, fornecendo valores para as host, userName, privateKeyContent e passPhrase da sua conexão.

IMPORTANTE

O conector SFTP suporta uma chave OpenSSH tipo RSA ou DSA. Certifique-se de que o conteúdo do arquivo principal comece com "-----BEGIN [RSA/DSA] PRIVATE KEY-----" e termine com "-----END [RSA/DSA] PRIVATE KEY-----". Se o arquivo de chave privada for um arquivo no formato PPK, use a ferramenta PuTTY para converter do formato PPK para OpenSSH.

Formato da API

POST /connections

Solicitação

curl -X POST \
    'https://platform.adobe.io/data/foundation/flowservice/connections' \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {IMS_ORG}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "SFTP connector with SSH authentication",
        "description": "SFTP connector with SSH authentication",
        "auth": {
            "specName": "SSH PublicKey Authentication for sftp",
            "params": {
                "host": "{HOST}",
                "userName": "{USERNAME}",
                "privateKeyContent": "{PRIVATE_KEY_CONTENT}",
                "passPhrase": "{PASSPHRASE}"
            }
        },
        "connectionSpec": {
            "id": "b7bf2577-4520-42c9-bae9-cad01560f7bc",
            "version": "1.0"
        }
    }'
Propriedade Descrição
auth.params.host O nome do host do seu servidor SFTP.
auth.params.username O nome de usuário associado ao servidor SFTP.
auth.params.privateKeyContent O conteúdo da chave privada SSH codificada em Base64. O tipo de chave OpenSSH deve ser classificado como RSA ou DSA.
auth.params.passPhrase A senha ou senha para descriptografar a chave privada se o arquivo da chave ou o conteúdo da chave estiver protegido por uma senha. Se PrivateKeyContent estiver protegido por senha, esse parâmetro precisará ser usado com a senha de PrivateKeyContent como valor.
connectionSpec.id A ID de especificação da conexão do servidor SFTP: b7bf2577-4520-42c9-bae9-cad01560f7bc

Resposta

Uma resposta bem-sucedida retorna o identificador exclusivo (id) da conexão recém-criada. Essa ID é necessária para explorar seu servidor SFTP no próximo tutorial.

{
    "id": "bf367b0d-3d9b-4060-b67b-0d3d9bd06094",
    "etag": "\"1700cc7b-0000-0200-0000-5e3b3fba0000\""
}

Próximas etapas

Ao seguir este tutorial, você criou uma conexão SFTP usando a API Flow Service e obteve o valor de ID exclusivo da conexão. Você pode usar essa ID de conexão para explorar armazenamentos em nuvem usando a API do Serviço de Fluxo ou assimilar dados do Parquet usando a API do Serviço de Fluxo.

Nesta página

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now