Configuração de um volume externo para armazenamento compatível com S3¶
Para tabelas Apache Iceberg™ gerenciadas externamente ou gerenciadas pelo Snowflake com dados e metadados em armazenamento compatível com S3, você pode configurar um volume externo associado a um local de armazenamento compatível com o Amazon S3.
Para criar um volume externo para armazenamento compatível com o S3, você pode Usar o SQL ou Usar o Snowsight.
Pré-requisitos¶
Para usar o armazenamento compatível com S3 para tabelas Iceberg, você deve ter um ponto de extremidade de API compatível com S3 para o Snowflake. Para obter mais informações, consulte Requisitos para armazenamento compatível com S3.
Create an external volume for S3-compatible storage by using SQL¶
Crie um volume externo que especifique um local de armazenamento compatível com S3. Para obter informações sobre os parâmetros compatíveis com S3 no comando CREATE EXTERNAL VOLUME, consulte a sintaxe do comando.
CREATE OR REPLACE EXTERNAL VOLUME ext_vol_s3_compat
STORAGE_LOCATIONS = (
(
NAME = 'my_s3_compat_storage_location'
STORAGE_PROVIDER = 'S3COMPAT'
STORAGE_BASE_URL = 's3compat://mybucket/unload/mys3compatdata'
CREDENTIALS = (
AWS_KEY_ID = '1a2b3c...'
AWS_SECRET_KEY = '4x5y6z...'
)
STORAGE_ENDPOINT = 'mystorage.com'
)
);
Create an external volume for S3-compatible storage by using Snowsight¶
Faça login no Snowsight.
No canto inferior esquerdo, selecione seu nome » Switch role e, em seguida, selecione ACCOUNTADMIN ou uma função que tenha o privilégio CREATE EXTERNAL VOLUME.
Para obter mais informações, consulte Mudar sua função primária.
No menu de navegação, selecione Catalog » External data.
Selecione a guia External volumes.
Selecione + Create.
Selecione S3 compatible storage.
Selecione Next.
No seu provedor de armazenamento compatível com S3, crie credenciais de chave de acesso que tenham as permissões necessárias para acessar seu bucket e obter objetos.
Para obter mais informações, consulte Requisitos para armazenamento compatível com S3.
Selecione Next.
Para configurar seu volume externo, na página Configure external volume, preencha os campos:
Campo
Descrição
External volume name
Insira um nome para o seu volume externo.
Storage endpoint
Especifica um domínio totalmente qualificado que aponta para seu ponto de extremidade de API compatível com S3.
Nota
O ponto de extremidade de armazenamento não deve incluir um nome de bucket; por exemplo, especifique
example.comem vez demy_bucket.example.com.AWS key ID
Especifica o ID da chave da AWS para conexão e acesso ao seu local de armazenamento compatível com S3.
AWS secret key
Especifica a chave secreta da AWS para conexão e acesso ao seu local de armazenamento compatível com S3.
Access scope
Especifica se as operações de gravação são permitidas para o volume externo. Deve ser definido como Allow writes para as seguintes tabelas:
Tabelas Iceberg que usam o Snowflake como catálogo.
Tabelas Iceberg que usam um catálogo externo e são graváveis. As tabelas Iceberg gerenciadas externamente são graváveis quando você as acessa por meio de um banco de dados vinculado a catálogo que tem o parâmetro ALLOWED_WRITE_OPERATIONS definido como TRUE.
Para tabelas Iceberg criadas de arquivos de tabela Delta, definir esse parâmetro como Allow writes permite que o Snowflake grave metadados Iceberg em seu armazenamento externo. Para obter mais informações, consulte Tabelas baseadas em Delta.
O valor deste campo também deve corresponder às permissões definidas na conta de armazenamento em nuvem para cada local de armazenamento especificado.
Nota
Se você planeja usar o volume externo para ler tabelas Iceberg gerenciadas externamente, pode definir este campo como Desativado. O Snowflake não grava dados ou arquivos de metadados do Iceberg no seu armazenamento em nuvem quando você lê tabelas em um catálogo Iceberg externo.
Scope
Escolha onde este volume externo deve se tornar o local padrão para futuras tabelas Iceberg. Os valores possíveis são:
Do not set a default: não defina o volume externo como padrão em nenhum lugar.
Account: defina o volume externo como padrão para tabelas Iceberg criadas no âmbito da conta.
Specific database: defina o volume externo como padrão para tabelas Iceberg criadas no banco de dados que você especificar. Para especificar esse banco de dados, use o menu suspenso Database que aparece quando você seleciona Specific database.
Specific schema: defina o volume externo como padrão para tabelas Iceberg criadas no esquema que você especificar. Para especificar esse esquema, use o menu suspenso Database que aparece para selecionar primeiro o banco de dados pai do esquema e, em seguida, o esquema.
Comment
Especifica um comentário para o volume externo.
Storage base URL
Especifica o URL base para seu local de armazenamento em nuvem.
Selecione Next.
Na página Verify connection & create volume, o Snowflake verifica sua conexão com o armazenamento compatível com S3 e exibe uma mensagem de conexão bem-sucedida.
Nota
Se o Snowflake não puder verificar a conexão, confira sua permissão ou a configuração de volume externo e selecione Verify again.
Selecione Create.
Atualização de suas credenciais de volume externo¶
Para alterar ou atualizar as credenciais do volume externo, é possível usar o comando ALTER EXTERNAL VOLUME … UPDATE. Especifique o nome do local de armazenamento para o qual você deseja alterar as credenciais.
ALTER EXTERNAL VOLUME ext_vol_s3_compat UPDATE
STORAGE_LOCATION = 'my_s3_compat_storage_location'
CREDENTIALS = (
AWS_KEY_ID = '4d5e6f...'
AWS_SECRET_KEY = '7g8h9i...'
);