Pular para o conteúdo principal

Usando o padrão AWS CloudFormation Quickstart para se conectar a AWS S3

Esta página descreve como se conectar a um bucket AWS S3 criando um objeto de localização externa usando um padrão de início rápido do AWS CloudFormation fornecido. Quando o senhor cria um local externo usando o padrão AWS CloudFormation, o Databricks configura o local externo e cria uma credencial de armazenamento para o senhor.

A Databricks recomenda esse método se o senhor quiser configurar rapidamente uma nova conexão com um local do S3 e ainda não tiver uma credencial de armazenamento existente. Para obter uma visão geral de outros métodos compatíveis, consulte Conectar-se a um local externo do AWS S3.

Antes de começar

Pré-requisitos :

O senhor deve criar o bucket S3 que deseja usar como um local externo no AWS antes de criar o objeto de local externo no Databricks.

  • Não use notação de ponto (por exemplo, incorrect.bucket.name.notation) nos nomes de buckets do S3. Embora o AWS permita pontos em nomes de buckets, a Databricks não oferece suporte a buckets S3 com notação de pontos. Os buckets que contêm pontos podem causar problemas de compatibilidade com recursos como Delta Sharing devido a falhas na validação do certificado SSL. Para obter mais informações, consulte as práticas recomendadas de nomenclatura de buckets emAWS.

  • Os caminhos de localização externos devem conter somente caracteres ASCII padrão (letras A–Z, a–z, dígitos 0–9 e símbolos comuns como /, _, -).

  • O bucket não pode ter uma lista de controle de acesso S3 anexada a ele.

  • Evite usar um caminho no S3 que já esteja definido como um local externo em outro metastore do Unity Catalog. O senhor pode ler dados com segurança em um único local externo S3 de mais de um metastore, mas gravações simultâneas no mesmo local S3 de vários metastores podem levar a problemas de consistência.

Requisitos de permissões do Databricks :

  • Você deve ter o privilégio CREATE STORAGE CREDENTIAL na metastore. Os administradores do metastore têm CREATE STORAGE CREDENTIAL no metastore por default.
  • Você deve ter o privilégio CREATE EXTERNAL LOCATION na metastore e na credencial de armazenamento referenciada no local externo. Os administradores do metastore têm CREATE EXTERNAL LOCATION no metastore por default.

Requisitos de permissões do AWS :

  • O senhor deve ter as permissões iam:CreateRole para criar o IAM role.

o passo 1: Criar um local externo para um bucket S3 usando um padrão AWS CloudFormation

  1. Faça login em um site workspace que esteja anexado ao metastore.

  2. Clique em Ícone de dados. Catálogo para abrir o Catalog Explorer.

  3. Clique em Ícone de adicionar ou ícone de mais e, em seguida, clique em Criar um local externo .

  4. Na caixa de diálogo Criar um novo local externo , selecione AWS Quickstart (Recomendado) e clique em Next .

    O AWS Quickstart configura o local externo e cria uma credencial de armazenamento para o senhor. Se o senhor optar por usar a opção Manual , deverá criar manualmente um IAM role que dê acesso ao bucket S3 e criar a credencial de armazenamento em Databricks.

  5. Na caixa de diálogo Create external location with Quickstart (Criar local externo com início rápido ), digite o caminho para o bucket S3 no campo Bucket Name (Nome do bucket ).

  6. Clique em Generate new tokens (Gerar novos tokens ) para gerar o access token pessoal que o senhor usará para se autenticar entre Databricks e seu AWS account.

  7. Copie os tokens e clique em Launch in Quickstart .

  8. No padrão AWS CloudFormation que é iniciado (rótulo Quick create stack ), cole os tokens no campo Databricks Personal access token .

  9. Aceite os termos na parte inferior da página (reconheço que o AWS CloudFormation pode criar o recurso IAM com nomes personalizados ).

  10. Clique em Criar pilha .

    Pode levar alguns minutos para que o padrão CloudFormation termine de criar o objeto de localização externa em Databricks. Se o padrão CloudFormation não conseguir criar o local externo, verifique se sua função tem permissões iam:CreateRole.

o passo 2: Verificar a localização externa

  1. Em seu site Databricks workspace, clique em Catalog para abrir o Catalog Explorer .

  2. Na página Acesso rápido , clique no botão Dados externos > .

  3. Em External Locations (Locais externos ) tab, confirme se o local externo foi criado.

    Locais externos gerados automaticamente usam a sintaxe de nomenclatura db_s3_external_databricks-S3-ingest-<id>.

  4. Clique no nome do local externo e, em seguida, clique em Browse tab. Como proprietário do local externo, o senhor deve ver seus arquivos do bucket S3 no Catalog Explorer.

  5. (Opcional) Vincule o local externo a um espaço de trabalho específico.

    Em default, qualquer usuário privilegiado pode usar o local externo em qualquer workspace anexado ao metastore. Se o senhor quiser permitir o acesso somente a partir de um espaço de trabalho específico, acesse o espaço de trabalho tab e atribua o espaço de trabalho. Consulte Atribuir um local externo a um espaço de trabalho específico.

  6. Conceda permissão para usar o local externo.

    Para que qualquer pessoa use o local externo, você deve conceder permissões:

    • Para usar o local externo para adicionar um local de armazenamento gerenciar ao metastore, catálogo ou esquema, conceda o privilégio CREATE MANAGED LOCATION.
    • Para criar tabelas ou volumes externos, conceda CREATE EXTERNAL TABLE ou CREATE EXTERNAL VOLUME.

    Para usar o Catalog Explorer para conceder permissões:

    1. Clique no nome do local externo para abrir o painel de detalhes.
    2. Em Permissions (Permissões ) tab, clique em Grant (Conceder ).
    3. Na caixa de diálogo Grant on <external location> , selecione usuários, grupos ou entidade de serviço no campo Principals e selecione o privilégio que deseja conceder.
    4. Clique em Conceder .