Create an Azure stage¶
Um estágio especifica onde os arquivos de dados são armazenados (ou seja, «preparados») para que os dados nos arquivos possam ser carregados em uma tabela.
Os dados podem ser carregados diretamente dos arquivos em um contêiner Azure especificado ou em uma “pasta” Azure (ou seja, prefixo do valor chave). Se o caminho termina com /, todos os objetos da pasta Azure correspondente são carregados.
Estágios externos¶
Além de carregar diretamente a partir de contêineres Azure, 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 contêiner Azure onde os arquivos são preparados.
O objeto de integração de armazenamento nomeado ou as credenciais Azure do contêiner (se for protegido).
Uma chave de criptografia (se os arquivos no contêiner tiverem sido criptografados).
Named external stages are optional, but recommended when you plan to load data regularly from the same location. For instructions for creating an external stage, see Create an external stage below.
Nota
Para melhorar o desempenho da consulta para um estágio externo do Azure, configure seu roteamento de rede para usar o roteamento de rede da Microsoft. Para obter instruções, consulte a documentação do Azure.
Create an external stage¶
Você pode criar um estágio externo nomeado usando SQL ou a interface da Web.
Nota
Para criar uma área de preparação, você deve usar uma função que receba ou herde os privilégios necessários. Para obter mais informações, consulte Requisitos de controle de acesso para CREATE STAGE.
Create an external stage using SQL¶
Use o comando CREATE STAGE para criar um estágio externo.
O exemplo seguinte cria um estágio externo chamado my_azure_stage. A instrução CREATE inclui a integração de armazenamento azure_int que foi criada em Configure an Azure container for loading data para acessar o contêiner Azure container1 na conta myaccount.
Os arquivos de dados são armazenados no caminho load/files/. 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:
CREATE STAGE my_azure_stage
STORAGE_INTEGRATION = azure_int
URL = 'azure://myaccount.blob.core.windows.net/mycontainer/load/files/'
FILE_FORMAT = my_csv_format;
Nota
Use o ponto de extremidade blob.core.windows.net para todos os tipos com suporte de contas de armazenamento de blobs Azure, incluindo Data Lake Storage Gen2.
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. Para obter mais informações sobre os objetos de formato de arquivo e opções, consulte CREATE FILE FORMAT.
Criação de um estágio externo usando Python¶
Use o método StageCollection.create das APIs Snowflake Python para criar um estágio externo.
Semelhante ao exemplo anterior em SQL, o exemplo Python a seguir cria um estágio externo chamado my_azure_stage:
from snowflake.core.stage import Stage
my_stage = Stage(
name="my_azure_stage",
storage_integration="azure_int",
url="azure://myaccount.blob.core.windows.net/mycontainer/load/files/"
)
root.databases["<database>"].schemas["<schema>"].stages.create(my_stage)
Nota
Atualmente, a API Python não oferece suporte ao parâmetro FILE_FORMAT do comando SQL CREATE STAGE.
Create an external stage using Snowsight¶
Para usar Snowsight para criar um estágio externo nomeado, faça o seguinte:
Sign in to Snowsight.
At the top of the navigation menu, select
(Create) » Stage » External Stage.Selecione seu provedor de armazenamento em nuvem externo: Amazon S3, Microsoft Azure ou Google Cloud Platform.
Na caixa de diálogo Create Stage, insira um Stage Name.
Selecione o banco de dados e o esquema onde você deseja criar o estágio.
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, em seguida, selecione sua notificação de eventos ou a integração de notificações para atualizar de maneira automática a tabela de diretórios quando arquivos forem adicionados ou removidos. Para obter mais informações, consulte Atualizações automatizadas dos metadados da tabela de diretório.
Se seus arquivos estiverem criptografados, ative Encryption e insira seus dados.
(Opcional) Para visualizar uma instrução SQL gerada, expanda o SQL Preview. Para especificar opções adicionais para sua área de preparação, como AUTO_REFRESH, você pode abrir essa versão preliminar de SQL em uma planilha.
Selecione Create.
Próximo: Copy data from an Azure stage