Azure Data Lake Storage

O conetor do Azure Data Lake Storage permite-lhe estabelecer ligação ao Azure Data Lake Storage e usar o SQL para obter e atualizar os dados do Azure Data Lake Storage.

Antes de começar

Antes de usar o conetor do Azure Data Lake Storage, faça as seguintes tarefas:

  • No seu projeto do Google Cloud:
    • Certifique-se de que a conetividade de rede está configurada. Para obter informações sobre padrões de rede, consulte o artigo Conetividade de rede.
    • Conceda a função IAM roles/connectors.admin ao utilizador que está a configurar o conetor.
    • Conceda as seguintes funções de IAM à conta de serviço que quer usar para o conector:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

      Uma conta de serviço é um tipo especial de Conta Google destinada a representar um utilizador não humano que precisa de autenticação e autorização para aceder a dados nas APIs Google. 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. Para mais informações, consulte Criar uma conta de serviço.

    • Ative os seguintes serviços:
      • secretmanager.googleapis.com (Secret Manager API)
      • connectors.googleapis.com (API Connectors)

      Para saber como ativar serviços, consulte o artigo Ativar serviços.

    Se estes serviços ou autorizações não tiverem sido ativados anteriormente para o seu projeto, é-lhe pedido que os ative quando configurar o conector.

  • Para ver informações sobre como criar uma conta de armazenamento do Azure, consulte o artigo Criar uma conta de armazenamento. Para obter informações sobre como criar um contentor no Azure, consulte o artigo Crie um contentor. Para obter informações sobre como criar um diretório no Azure, consulte o artigo Crie um diretório.

Configure o conetor

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:

  1. Na Cloud Console, aceda à página Integration Connectors > Ligações e, de seguida, selecione ou crie um projeto do Google Cloud.

    Aceda à página Ligações

  2. Clique em + Criar novo para abrir a página Criar associação.
  3. Na secção Localização, escolha a localização para a ligação.
    1. Região: selecione uma localização na lista pendente.

      As regiões suportadas para conetores incluem:

      Para ver a lista de todas as regiões suportadas, consulte o artigo Localizações.

    2. Clicar em Seguinte.
  4. Na secção Detalhes da associação, conclua o seguinte:
    1. Conetor: selecione Azure Data Lake Storage na lista pendente de conetores disponíveis.
    2. Versão do conetor: selecione a versão do conetor na lista pendente de versões disponíveis.
    3. No campo Nome da ligação, introduza um nome para a instância de ligação.

      Os nomes das associações têm de cumprir os seguintes critérios:

      • Os nomes das associações podem usar letras, números ou hífenes.
      • As letras têm de ser minúsculas.
      • Os nomes das associações têm de começar com uma letra e terminar com uma letra ou um número.
      • Os nomes das associações não podem exceder 49 carateres.
    4. Opcionalmente, introduza uma Descrição para a instância de associação.
    5. 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.
    6. Conta de serviço: selecione uma conta de serviço que tenha as funções necessárias.
    7. Opcionalmente, 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.

      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.

    8. Conta: esta propriedade especifica o nome da conta do Azure Data Lake Storage.
    9. Diretório: esta propriedade especifica o caminho raiz para listar ficheiros e pastas.
    10. Sistema de ficheiros: esta propriedade especifica o nome do sistema de ficheiros que vai ser usado numa conta de armazenamento de 2.ª geração. Por exemplo, o nome do contentor de blobs do Azure.
    11. Tamanho do fragmento: o tamanho dos fragmentos (em MB) a usar ao carregar ficheiros grandes.
    12. Incluir subdiretórios: escolha se os caminhos dos subdiretórios devem ser apresentados na vista Recursos no esquema ADLSGen2.
    13. Opcionalmente, clique em + Adicionar etiqueta para adicionar uma etiqueta à associação sob a forma de um par chave/valor.
    14. Clicar em Seguinte.
  5. Na secção Autenticação, introduza os detalhes de autenticação.
    1. Selecione um Tipo de autenticação e introduza os detalhes relevantes.

      Os seguintes tipos de autenticação são suportados pela ligação do Azure Data Lake Storage:

      • Assinatura de acesso partilhado
      • Chave de acesso à conta
      • Autenticação JWT
    2. Para saber como configurar estes tipos de autenticação, consulte o artigo Configurar autenticação.

    3. Clicar em Seguinte.
  6. Rever: reveja os detalhes da ligação e da autenticação.
  7. Clique em Criar.

Configure a autenticação

Introduza os detalhes com base na autenticação que quer usar.

  • Assinatura de acesso partilhado
    • Assinatura de acesso partilhado: segredo do Gestor Secreto que contém a assinatura de acesso partilhado.
  • Chave de acesso à conta
    • Chave de acesso à conta: segredo do Secret Manager que contém a chave de acesso à conta.
  • Autenticação JWT
    • ID de cliente: o ID de cliente usado para pedir tokens de acesso.
    • Chave privada: segredo do Secret Manager que contém o conteúdo do ficheiro de chave privada no formato PEM. A chave privada tem de corresponder à chave pública/certificado.
    • Palavra-passe da chave privada: segredo do Secret Manager que contém a palavra-passe (frase de acesso) do ficheiro de chave privada.

Exemplos de configuração de ligação

Esta secção apresenta os valores de exemplo para os vários campos que configura quando cria a ligação do Azure Data Lake Storage.

Tipo de ligação de assinatura de acesso partilhado

Nome do campo Detalhes
Localização us-central1
Conetor azuredatalakestorage
Versão do conetor 1
Nome da ligação adls-gen2-conn-public
Ative o Cloud Logging Sim
Conta de serviço account@my-project.iam.gserviceaccount.com
Conta google-cloud-dslgen3
Diretório diretório
Sistema de ficheiros contentor
Incluir subdiretórios Não
Número mínimo de nós 2
Número máximo de nós 50
Assinatura de acesso partilhado SHARED_ACCESS_SIGNATURE
Versão do secret 1

Tipo de ligação da chave de acesso à conta

Nome do campo Detalhes
Localização us-central1
Conetor azuredatalakestorage
Versão do conetor 1
Nome da ligação azure-data-lake-conn
Ative o Cloud Logging Sim
Conta de serviço account@my-project.iam.gserviceaccount.com
Conta google-cloud-dslgen3
Diretório north-america
Sistema de ficheiros contentor
Incluir subdiretórios Não
Número mínimo de nós 2
Número máximo de nós 50
Chave de acesso à conta ACCOUNT_ACCESS_KEY
Versão do secret 1

Tipo de ligação de autenticação JWT

Nome do campo Detalhes
Localização us-central1
Conetor azuredatalakestorage
Versão do conetor 1
Nome da ligação adls-gen2-jwt-conn
Ative o Cloud Logging Sim
Conta de serviço account@my-project.iam.gserviceaccount.com
Conta your-adls-account-name
Diretório north-america
Sistema de ficheiros data-lake-container
Incluir subdiretórios Sim
Número mínimo de nós 2
Número máximo de nós 50
Tipo de autenticação Autenticação JWT
ID do cliente CLIENT_ID
Chave privada PRIVATE_KEY_SECRET
Palavra-passe da chave privada PRIVATE_KEY_PASSWORD_SECRET
Versão do Secret (para a chave privada) 1
Versão do Secret (para palavra-passe da chave privada) 1

Entidades, operações e ações

Todos os conetores de integração oferecem uma camada de abstração para os objetos da aplicação ligada. Só pode aceder aos objetos de uma aplicação através desta abstração. A abstração é exposta como entidades, operações e ações.

  • Entidade: pode considerar uma entidade como um objeto ou uma coleção de propriedades na aplicação ou no serviço associado. A definição de uma entidade difere de um conetor para um conetor. Por exemplo, num conetor de base de dados, as tabelas são as entidades. Num conetor de servidor de ficheiros, as pastas são as entidades. Num conetor de sistema de mensagens, as filas são as entidades.

    No entanto, é possível que um conector não suporte ou não tenha entidades, caso em que a lista Entities estará vazia.

  • Operação: uma operação é a atividade que pode realizar numa entidade. Pode realizar qualquer uma das seguintes operações numa entidade:

    Selecionar uma entidade na lista disponível gera uma lista de operações disponíveis para a entidade. Para uma descrição detalhada das operações, consulte as operações de entidades da tarefa de conectores. No entanto, se um conector não suportar nenhuma das operações de entidades, essas operações não suportadas não são apresentadas na lista Operations.

  • Ação: uma ação é uma função de primeira classe que é disponibilizada à integração através da interface do conetor. Uma ação permite-lhe fazer alterações a uma ou mais entidades e varia de conetor para conetor. Normalmente, uma ação tem alguns parâmetros de entrada e um parâmetro de saída. No entanto, é possível que um conector não suporte nenhuma ação, caso em que a lista Actions está vazia.

Limitações do sistema

O conector do Azure Data Lake Storage pode processar 5 transações por segundo, por , 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.

Ações

Esta secção apresenta as ações suportadas pelo conetor. Para compreender como configurar as ações, consulte os exemplos de ações.

Ação DownloadFile

Esta ação permite-lhe transferir o conteúdo de um blob específico de um diretório ou um contentor.

Introduza os parâmetros da ação DownloadFile

Nome do parâmetro Tipo de dados Obrigatória Descrição
Caminho String Sim O caminho do ficheiro (incluindo o nome do ficheiro) a transferir. Por exemplo:
  • FILE_NAME
  • dir1/FILE_NAME
  • dir1/dir2/FILE_NAME
HasBytes Booleano Não Se o conteúdo deve ser transferido como bytes (formato Base64).
  • Para transferir ficheiros que não sejam de texto, como .pdf, .xls e .docx, tem de definir HasBytes como true.
  • Para transferir um ficheiro de texto, pode definir HasBytes como true ou false. Se definir o valor como true, o conteúdo de texto é transferido como bytes (formato Base64).
O valor predefinido deste parâmetro é false.

Parâmetros de saída da ação DownloadFile

Se a ação for bem-sucedida, devolve o conteúdo do ficheiro ou do blob.

Por exemplo, para saber como configurar a ação DownloadFile, consulte os exemplos de ações.

Ação CreateFile

Esta ação permite-lhe criar um blob ou um ficheiro num contentor ou num diretório.

Parâmetros de entrada da ação CreateFile

Nome do parâmetro Tipo de dados Obrigatória Descrição
Caminho String Sim O caminho do ficheiro que vai ser criado.

Por exemplo, para saber como configurar a ação CreateFile, consulte os exemplos de ações.

Ação CopyFile

Esta ação permite-lhe copiar o conteúdo de um ficheiro ou um blob para outro ficheiro ou blob no mesmo contentor ou diretório.

Introduza os parâmetros da ação CopyFile

Nome do parâmetro Tipo de dados Obrigatória Descrição
SourcePath String Sim O caminho do ficheiro que vai ser copiado.
DestinationPath String Sim O caminho do ficheiro para onde vai ser copiado.

Por exemplo, para saber como configurar a ação CopyFile, consulte os exemplos de ações.

Ação DeleteObject

Esta ação permite-lhe eliminar um ficheiro ou um blob.

Parâmetros de entrada da ação DeleteObject

Nome do parâmetro Tipo de dados Obrigatória Descrição
Recursivo String Não Defina esta opção como true para eliminar todo o conteúdo da pasta, incluindo quaisquer subpastas.
Caminho String Sim O caminho do ficheiro ou da pasta a eliminar.
DeleteType String Sim
  • Defina este valor como FILESANDFOLDERS para eliminar o ficheiro ou a pasta especificada no parâmetro Path.
  • Defina esta opção como FILES para eliminar apenas os ficheiros na pasta especificada no parâmetro Path.

Por exemplo, para saber como configurar a ação DeleteObject, consulte os exemplos de ações.

Ação LeaseBlob

Esta ação permite-lhe criar e gerir um bloqueio num blob.

Parâmetros de entrada da ação LeaseBlob

Nome do parâmetro Tipo de dados Obrigatória Descrição
Caminho String Sim O caminho do ficheiro.
LeaseAction String Sim Especifica a ação de concessão a executar.
LeaseDuration Número inteiro Sim Especifica a duração do arrendamento.

Por exemplo, para saber como configurar a ação LeaseBlob, consulte os exemplos de ações.

Ação UploadFile

Esta ação permite que os utilizadores carreguem o conteúdo para um contentor ou um blob específico.

Parâmetros de entrada da ação UploadFile

Nome do parâmetro Tipo de dados Obrigatória Descrição
Caminho String Sim O caminho do ficheiro a carregar.
HasBytes Booleano Não Se deve carregar conteúdo como bytes.
Conteúdo String Sim Conteúdo a carregar.

Por exemplo, para saber como configurar a ação UploadFile, consulte os exemplos de ações.

Ação RenameObject

Esta ação permite-lhe mudar o nome de um ficheiro ou de uma pasta.

Parâmetros de entrada da ação RenameObject

Nome do parâmetro Tipo de dados Obrigatória Descrição
Caminho String Sim O caminho cujo nome vai ser alterado.
RenameTo String Sim O novo nome do ficheiro ou da pasta.

Por exemplo, para saber como configurar a ação RenameObject, consulte os exemplos de ações.

Exemplos de ações

Exemplo: transferir um ficheiro

Este exemplo transfere um ficheiro binário.

  1. Na caixa de diálogo Configure connector task, clique em Actions.
  2. Selecione a ação DownloadFile e, de seguida, clique em Concluído.
  3. Na secção Entrada da tarefa da tarefa Conetores, clique em connectorInputPayload e, de seguida, introduza um valor semelhante ao seguinte no campo Default Value:
    {
    "Path": "testdirectory1/test1.pdf",
    "HasBytes": true
    }
  4. Se a ação for bem-sucedida, o parâmetro de resposta da tarefa terá um valor semelhante ao seguinte:DownloadFileconnectorOutputPayload

    [{
    "Success": "True",
    "ContentBytes": "UEsDBBQABgAIAAAAIQCj77sdZQEAAFIFAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooA"
    }]

Exemplo: carregar um ficheiro

Este exemplo carrega conteúdo como um blob.

  1. Na caixa de diálogo Configure connector task, clique em Actions.
  2. Selecione a ação UploadFile e, de seguida, clique em Concluído.
  3. Na secção Entrada da tarefa da tarefa Conetores, clique em connectorInputPayload e, de seguida, introduza um valor semelhante ao seguinte no campo Default Value:
    {
    "Path": "testblob4",
    "HasBytes": true,
    "Content": "abcdef\nabcdef"
    }
  4. Se a ação for bem-sucedida, o parâmetro de resposta da tarefa terá um valor semelhante ao seguinte:UploadFileconnectorOutputPayload

    [{
    "Success": "true"
    }]

Exemplo: crie um ficheiro

Este exemplo cria um ficheiro no diretório especificado.

  1. Na caixa de diálogo Configure connector task, clique em Actions.
  2. Selecione a ação CreateFile e, de seguida, clique em Concluído.
  3. Na secção Entrada da tarefa da tarefa Conetores, clique em connectorInputPayload e, de seguida, introduza um valor semelhante ao seguinte no campo Default Value:
    {
    "path": "testdirectory1/testblob"
    }
  4. Se a ação for bem-sucedida, o parâmetro de resposta da tarefa terá um valor semelhante ao seguinte:CreateFileconnectorOutputPayload

    [{
    "Success": "true"
    }]

Exemplo: copie um ficheiro

Este exemplo copia um ficheiro de uma localização para outra.

  1. Na caixa de diálogo Configure connector task, clique em Actions.
  2. Selecione a ação CopyFile e, de seguida, clique em Concluído.
  3. Na secção Entrada da tarefa da tarefa Conetores, clique em connectorInputPayload e, de seguida, introduza um valor semelhante ao seguinte no campo Default Value:
    {
    "SourcePath": "testdirectory1/testblob",
    "DestinationPath": "testblob"
    }
  4. Se a ação for bem-sucedida, o parâmetro de resposta da tarefa terá um valor semelhante ao seguinte:CopyFileconnectorOutputPayload

    [{
    "Success": "true"
    }]

Exemplo: elimine um blob

Este exemplo elimina o blob especificado.

  1. Na caixa de diálogo Configure connector task, clique em Actions.
  2. Selecione a ação DeleteObject e, de seguida, clique em Concluído.
  3. Na secção Entrada da tarefa da tarefa Conetores, clique em connectorInputPayload e, de seguida, introduza um valor semelhante ao seguinte no campo Default Value:
    {
    "path": "testdirectory1/testblob"
    }
  4. Se a ação for bem-sucedida, o parâmetro de resposta da tarefa terá um valor semelhante ao seguinte:DeleteObjectconnectorOutputPayload

    [{
    "Success": "true"
    }]

Exemplo: arrendar um blob

Este exemplo arrenda o blob especificado.

  1. Na caixa de diálogo Configure connector task, clique em Actions.
  2. Selecione a ação LeaseBlob e, de seguida, clique em Concluído.
  3. Na secção Entrada da tarefa da tarefa Conetores, clique em connectorInputPayload e, de seguida, introduza um valor semelhante ao seguinte no campo Default Value:
    {
    "Path": "testblob2",
    "LeaseAction": "Acquire",
    "LeaseDuration": 60.0
    }
  4. Se a ação for bem-sucedida, o parâmetro de resposta da tarefa terá um valor semelhante ao seguinte:LeaseBlobconnectorOutputPayload

    [{
    "LeaseId": "7aae9ca2-f015-41b6-9bdf-5fd3401fc493",
    "Success": "true"
    }]

Exemplo: mude o nome de um blob

Este exemplo muda o nome de um blob.

  1. Na caixa de diálogo Configure connector task, clique em Actions.
  2. Selecione a ação RenameObject e, de seguida, clique em Concluído.
  3. Na secção Entrada da tarefa da tarefa Conetores, clique em connectorInputPayload e, de seguida, introduza um valor semelhante ao seguinte no campo Default Value:
    {
    "Path": "testblob",
    "RenameTo": "testblob6"
    }
  4. Se a ação for bem-sucedida, o parâmetro de resposta da tarefa terá um valor semelhante ao seguinte:RenameObjectconnectorOutputPayload

    [{
    "Success": true
    }]

Exemplos de operações de entidades

Esta secção mostra como realizar algumas das operações de entidades neste conector.

Exemplo: lista todos os registos

Este exemplo apresenta todos os registos na entidade Resource.

  1. Na caixa de diálogo Configure connector task, clique em Entities.
  2. Selecione Resource na lista Entity.
  3. Selecione a operação List e, de seguida, clique em Concluído.
  4. Opcionalmente, na secção Entrada de tarefas da tarefa Conectores, pode filtrar o conjunto de resultados especificando uma cláusula de filtro. Especifique sempre o valor da cláusula de filtro entre aspas simples (').

Exemplo: obter um registo

Este exemplo obtém um registo com o ID especificado da entidade Resource.

  1. Na caixa de diálogo Configure connector task, clique em Entities.
  2. Selecione Resource na lista Entity.
  3. Selecione a operação Get e, de seguida, clique em Concluído.
  4. Na secção Entrada de tarefas da tarefa Conetores, clique em EntityId e, de seguida, introduza testdirectory1/testblob1 no campo Valor predefinido.

    Aqui, testdirectory1/testblob1 é um ID de registo exclusivo na entidade Resource.

Use a ligação do Azure Data Lake Storage 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.

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

O que se segue?