Criação de um estágio S3

Um estágio externo (isto é, S3) especifica onde os arquivos de dados são armazenados para que os dados nos arquivos possam ser carregados em uma tabela.

Os dados podem ser carregados diretamente de arquivos em um bucket S3 especificado, com ou sem um caminho de pasta (ou prefixo, em terminologia do S3). Se o caminho terminar com /, todos os objetos da pasta S3 correspondente serão carregados.

Nota

No estágio anterior, se você seguiu as instruções para configurar uma função do AWS IAM com as políticas e permissões necessárias para acessar seu bucket S3 externo, você já criou um estágio S3. Você pode ignorar esta etapa e continuar para Cópia de dados de um estágio S3.

Neste tópico:

Estágios externos

Além de carregar diretamente a partir dos arquivos em buckets S3, o Snowflake oferece suporte à criação de estágios externos nomeados, que encapsulam todas as informações necessárias para a preparação de arquivos, incluindo:

  • O bucket S3 onde os arquivos são preparados.

  • O objeto de integração de armazenamento nomeado ou credenciais S3 para o bucket (se ele estiver protegido).

  • Uma chave de criptografia (se os arquivos no bucket tiverem sido criptografados).

Os estágios externos nomeados são opcionais, mas recomendados quando você planeja carregar dados regularmente a partir do mesmo local.

Criação de um estágio externo

Você pode criar um estágio nomeado usando a interface da Web ou SQL:

Classic Console: Clique em Databases Databases tab » <nome_bd> » Stages

SQL

CREATE STAGE

Exemplo

O exemplo a seguir usa SQL para criar um estágio externo chamado my_s3_stage que faz referência a um bucket S3 privado/protegido chamado mybucket com um caminho de pasta chamado encrypted_files/. A instrução CREATE inclui a integração de armazenamento s3_int que foi criada em Opção 1: Configuração de uma integração de armazenamento do Snowflake para acessar o Amazon S3 para acessar o bucket S3. O estágio faz referência a um objeto de formato de arquivo nomeado chamado my_csv_format, que descreve os dados nos arquivos armazenados no caminho do bucket:

CREATE STAGE my_s3_stage
  STORAGE_INTEGRATION = s3_int
  URL = 's3://mybucket/encrypted_files/'
  FILE_FORMAT = my_csv_format;
Copy

Nota

Ao especificar um objeto de formato de arquivo nomeado (ou opções individuais de formato de arquivo) para o estágio, não é necessário especificar posteriormente as mesmas opções de formato de arquivo no comando COPY usado para carregar dados do estágio.

Próximo: Cópia de dados de um estágio S3