CREATE CATALOG INTEGRATION (AWS Glue)¶
Cria uma nova integração de catálogo na conta ou substitui uma integração de catálogo existente para Tabelas Apache Iceberg™ que use o AWS Glue como catálogo.
Importante
Ao criar uma integração de catálogo para o AWS Glue, você deve concluir etapas adicionais para estabelecer uma relação de confiança entre o Snowflake e o catálogo de dados do Glue. Para obter mais informações, consulte Configuração de uma integração de catálogo para AWS Glue.
- Consulte também:
ALTER CATALOG INTEGRATION, DROP CATALOG INTEGRATION, SHOW CATALOG INTEGRATIONS, DESCRIBE CATALOG INTEGRATION
Sintaxe¶
CREATE [ OR REPLACE ] CATALOG INTEGRATION [IF NOT EXISTS]
<name>
CATALOG_SOURCE = GLUE
TABLE_FORMAT = ICEBERG
GLUE_AWS_ROLE_ARN = '<arn-for-AWS-role-to-assume>'
GLUE_CATALOG_ID = '<glue-catalog-id>'
[ GLUE_REGION = '<AWS-region-of-the-glue-catalog>' ]
CATALOG_NAMESPACE = '<catalog-namespace>'
ENABLED = { TRUE | FALSE }
[ REFRESH_INTERVAL_SECONDS = <value> ]
[ COMMENT = '<string_literal>' ]
Parâmetros obrigatórios¶
name
Cadeia de caracteres que especifica o identificador (nome) para a integração de catálogo; deve ser única em sua conta.
Além disso, o identificador deve começar com um caractere alfabético e não pode conter espaços ou caracteres especiais, a menos que toda a cadeia de caracteres do identificador esteja entre aspas duplas (por exemplo,
"My object"
). Identificadores entre aspas duplas também diferenciam maiúsculas de minúsculas.Para obter mais informações, consulte Requisitos para identificadores.
CATALOG_SOURCE = GLUE
Especifica que a integração é para AWS Glue.
TABLE_FORMAT = ICEBERG
Especifica tabelas Iceberg do Glue.
GLUE_AWS_ROLE_ARN = 'arn-for-AWS-role-to-assume'
Especifica o Amazon Resource Name (ARN) da função do AWS Identity and Access Management (IAM) a ser assumida.
GLUE_CATALOG_ID = 'glue-catalog-id'
Especifica o ID da sua conta AWS.
CATALOG_NAMESPACE = 'catalog-namespace'
Especifica seu namespace do catálogo de dados do AWS Glue (por exemplo,
my_glue_database
). Este é o namespace padrão para todas as tabelas Iceberg associadas a esta integração de catálogo. Você pode substituir esse valor especificando o namespace no nível da tabela ao criar uma tabela.ENABLED = { TRUE | FALSE }
Especifica se a integração do catálogo está disponível para uso em tabelas Iceberg.
TRUE
permite que os usuários criem novas tabelas Iceberg que façam referência a essa integração. As tabelas Iceberg existentes que fazem referência a esta integração funcionam normalmente.FALSE
impede que os usuários criem novas tabelas Iceberg que referenciem esta integração. As tabelas Iceberg existentes que fazem referência a esta integração não podem acessar o catálogo na definição da tabela.
Parâmetros opcionais¶
[ GLUE_REGION = 'AWS-region-of-the-glue-catalog' ]
Especifica a região AWS do catálogo de dados do AWS Glue. Você deverá especificar um valor para esse parâmetro se sua conta Snowflake não estiver hospedada em AWS. Caso contrário, a região padrão será a região de implantação do Snowflake da conta.
REFRESH_INTERVAL_SECONDS = value
Especifica o número de segundos que o Snowflake aguarda entre as tentativas de pesquisar o catálogo Iceberg externo para atualizações de metadados para atualização automatizada.
Valores: 30 a 86400, inclusivo
Padrão: 30 segundos
COMMENT = 'string_literal'
Cadeia de caracteres (literal) que especifica um comentário da integração.
Padrão: sem valor
Requisitos de controle de acesso¶
Uma função usada para executar este comando SQL deve ter os seguintes privilégios no mínimo:
Privilégio |
Objeto |
Notas |
---|---|---|
CREATE INTEGRATION |
Conta |
Only the ACCOUNTADMIN role has this privilege by default. The privilege can be granted to additional roles as needed. |
Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.
Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.
Notas de uso¶
Não é possível modificar uma integração de catálogo existente; use uma instrução CREATE OR REPLACE CATALOG INTEGRATION.
Não é possível descartar ou substituir uma integração de catálogo se uma ou mais tabelas Apache Iceberg™ estiverem associadas à integração de catálogo.
Para visualizar as tabelas que dependem de uma integração de catálogo, você pode usar o comando SHOW ICEBERG TABLES e uma consulta usando RESULT_SCAN que filtra na coluna
catalog_name
.Nota
O identificador da coluna (
catalog_name
) diferencia maiúsculas de minúsculas. Especifique o identificador da coluna exatamente como ele aparece na saída SHOW ICEBERG TABLES.Por exemplo:
SHOW ICEBERG TABLES; SELECT * FROM TABLE( RESULT_SCAN( LAST_QUERY_ID() ) ) WHERE "catalog_name" = 'my_catalog_integration_1';
Em relação aos metadados:
Atenção
Os clientes devem garantir que nenhum dado pessoal (exceto para um objeto do usuário), dados sensíveis, dados controlados por exportação ou outros dados regulamentados sejam inseridos como metadados ao usar o serviço Snowflake. Para obter mais informações, consulte Campos de metadados no Snowflake.
Instruções CREATE OR REPLACE <object> são atômicas. Ou seja, quando um objeto é substituído, o objeto antigo é excluído e o novo objeto é criado em uma única transação.
Exemplos¶
O exemplo a seguir cria uma integração de catálogo que usa uma fonte de catálogo do AWS Glue. Ao criar uma integração de catálogo para o Glue, você deve concluir etapas adicionais para estabelecer uma relação de confiança entre o Snowflake e o catálogo de dados do Glue. Para obter mais informações, consulte Configuração de uma integração de catálogo para AWS Glue.
CREATE CATALOG INTEGRATION glueCatalogInt CATALOG_SOURCE = GLUE CATALOG_NAMESPACE = 'myNamespace' TABLE_FORMAT = ICEBERG GLUE_AWS_ROLE_ARN = 'arn:aws:iam::123456789012:role/myGlueRole' GLUE_CATALOG_ID = '123456789012' GLUE_REGION = 'us-east-2' ENABLED = TRUE;