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 externo nomeado usando SQL ou a interface da Web.
Nota
Você deve usar uma função que tenha recebido ou herdado o privilégio USAGE no banco de dados e no esquema que armazena o estágio e o privilégio CREATE STAGE no esquema.
Consulte Requisitos de controle de acesso para CREATE STAGE.
Criação de um estágio externo usando SQL¶
Use o comando CREATE STAGE para criar um estágio externo usando SQL.
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;
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.
Criação de um estágio externo usando Snowsight¶
Para usar Snowsight para criar um estágio externo nomeado, faça o seguinte:
Entre em Snowsight.
No menu de navegação, selecione Data » Databases.
Selecione o banco de dados e o esquema no qual você deseja criar um estágio.
Selecione Create » Stage.
Selecione o serviço de armazenamento em nuvem compatível onde seus arquivos estão localizados.
Insira um Stage Name.
Digite o URL de seu local de armazenamento externo em nuvem.
Se o armazenamento externo não for público, ative Authentication e insira seus detalhes. Para obter mais informações, consulte CREATE STAGE.
Opcionalmente, desmarque Directory table. As tabelas de diretório permitem que você veja os arquivos no estágio, mas exigem um warehouse e, portanto, têm um custo. Você pode optar por desmarcar essa opção por enquanto e ativar uma tabela de diretórios posteriormente.
Se você ativar Directory table, selecione opcionalmente Enable auto-refresh e selecione sua notificação de evento ou integração de notificação para atualizar automaticamente a tabela de diretórios quando arquivos forem adicionados ou removidos. Para saber mais, consulte Atualizações automatizadas dos metadados da tabela de diretório.
Se seus arquivos estiverem criptografados, ative Encryption e digite seus detalhes.
Opcionalmente, expanda o SQL Preview para visualizar uma instrução SQL gerada. Para especificar opções adicionais para seu estágio, como AUTO_REFRESH, você pode abrir essa versão preliminar de SQL em uma planilha.
Selecione Create.
Como criar um estágio externo usando o Console clássico¶
Selecione Databases » <nome_bd> » Stages.
Próximo: Cópia de dados de um estágio S3