Consulta de tabelas Apache Iceberg™ gerenciadas pelo Snowflake usando o Microsoft Fabric

Para visualizar tabelas Iceberg gerenciadas pelo Snowflake no Microsoft Fabric, você pode conectar um banco de dados Snowflake padrão ao Fabric.

Este tópico apresenta as etapas para conectar um banco de dados Snowflake padrão ao Fabric, o que sincroniza o banco de dados com o Fabric. Ao conectar um banco de dados, você pode selecionar um banco de dados existente ou criar um novo. Em seguida, é possível visualizar as tabelas Iceberg gerenciadas pelo Snowflake no banco de dados no Fabric.

Para obter mais informações sobre o Microsoft OneLake Fabric, consulte OneLake no Microsoft Fabric na documentação do Microsoft Fabric.

Pré-requisitos

Antes de começar, conclua os seguintes pré-requisitos para o Microsoft Fabric e o Snowflake.

Microsoft Fabric

  • Crie uma conta do Microsoft Fabric. Para obter mais informações, consulte Introdução ao Microsoft Fabric.

  • Crie um espaço de trabalho em sua conta do Fabric. Para obter instruções, consulte Criar um espaço de trabalho na documentação do Microsoft Fabric. Use esse espaço de trabalho para consultar as tabelas Iceberg gerenciadas pelo Snowflake.

    Nota

    Recomendamos dar um nome para o espaço de trabalho do Fabric usando apenas caracteres alfanuméricos. Se o nome do espaço de trabalho do Fabric contiver caracteres especiais ou não alfanuméricos, como espaços, será necessário copiar o ID do espaço de trabalho para especificar esse ID mais tarde. Para encontrar o ID do seu espaço de trabalho, abra o espaço de trabalho na UI do Fabric e consulte o URL no seu navegador.

  • Você deve ser administrador do espaço de trabalho do Fabric.

  • O administrador de locatário do Fabric deve habilitar a configuração de locatário Enable Snowflake database item (Preview) ou delegar essa decisão ao administrador de capacidade do Fabric. É possível habilitar essa configuração no portal de administração da UI na web do Fabric. Para acessar o portal de administração, consulte Como acessar o portal de administração na documentação do Microsoft Fabric. É possível habilitar essa configuração no nível do locatário, delegá-la aos administradores de capacidade do Fabric ou habilitá-la somente para determinados grupos de segurança.

Snowflake

  • Você deve ter acesso à função ACCOUNTADMIN ou a outra função no Snowflake com o privilégio CREATE USER na conta.

  • Você deve ter acesso à função ACCOUNTADMIN ou a outra função no Snowflake com privilégios para criar um volume externo.

  • Você deve ter um banco de dados padrão no Snowflake. Para obter instruções, consulte CREATE DATABASE. Este guia faz menção a um banco de dados padrão de exemplo chamado SnowflakeFabricIcebergDB.

    Nota

    Para concluir as etapas deste tópico, você deve ter um banco de dados padrão existente. O tópico inclui etapas para conceder privilégios a esse banco de dados. No entanto, você pode criar um banco de dados quando conectar um banco de dados Snowflake ao Fabric. Se você criar um novo banco de dados ao conectar um banco de dados ao Fabric, será necessário conceder os privilégios necessários ao banco de dados no Snowflake.

Etapa 1: Encontrar seu ID de locatário do Microsoft Fabric, o nome da organização Snowflake e o nome da conta Snowflake

Para se conectar do Snowflake ao Microsoft Fabric, você precisa do ID de locatário do Microsoft Fabric. Para se conectar do Snowflake ao Microsoft OneLake, você precisa dos nomes da sua organização e conta Snowflake.

  • Para encontrar o ID de locatário do Microsoft Fabric, siga estas etapas:

    1. Navegue até o Microsoft Fabric e faça login.

    2. Selecione ?.

    3. No painel Help, selecione About Fabric.

    4. Na janela do Fabric, consulte o valor do Tenant URL e copie em um editor de texto a parte do URL que vem depois de ctid.

      Por exemplo: a111a1a1-1111-111a-a11a-1a11a11111a1

  • Para encontrar o nome da organização Snowflake, (<orgname>), and Snowflake account name (<accountname>), consulte Como encontrar o nome da conta e organização de uma conta.

Etapa 2: Criar uma função no Snowflake

Nesta etapa, você cria uma função no Snowflake e concede a ela os privilégios necessários para usar o banco de dados padrão e executa uma instrução SELECT em tabelas no banco de dados. Mais tarde, você concede essa função a um usuário.

Complete as seguintes etapas com a função ACCOUNTADMIN:

  1. Faça login no Snowsight.

  2. Crie uma planilha no Snowsight. Para obter mais informações, consulte Como criar planilhas na Snowsight.

  3. Use o comando CREATE ROLE para criar uma função:

    USE ROLE ACCOUNTADMIN;
    
    CREATE ROLE IF NOT EXISTS R_ICEBERG_METADATA;
    
    Copy
  4. Para conceder os privilégios da função de metadados do Iceberg a um banco de dados padrão, siga este exemplo, que os concede a um banco de dados SnowflakeFabricIcebergDB:

    BEGIN
       LET db STRING := 'SnowflakeFabricIcebergDB';
       EXECUTE IMMEDIATE 'GRANT USAGE ON DATABASE ' || db || ' TO ROLE R_ICEBERG_METADATA';
       EXECUTE IMMEDIATE 'GRANT USAGE ON ALL SCHEMAS IN DATABASE ' || db || ' TO ROLE R_ICEBERG_METADATA';
       EXECUTE IMMEDIATE 'GRANT USAGE ON FUTURE SCHEMAS IN DATABASE ' || db || ' TO ROLE R_ICEBERG_METADATA';
       EXECUTE IMMEDIATE 'GRANT SELECT ON ALL ICEBERG TABLES IN DATABASE ' || db || ' TO ROLE R_ICEBERG_METADATA';
       EXECUTE IMMEDIATE 'GRANT SELECT ON FUTURE ICEBERG TABLES IN DATABASE ' || db || ' TO ROLE R_ICEBERG_METADATA';
    END;
    
    Copy
  5. Para conceder à função permissões para executar consultas em um warehouse existente, siga este exemplo, que concede à função permissões para executar consultas em um warehouse COMPUTE_WH:

    GRANT USAGE ON WAREHOUSE COMPUTE_WH TO ROLE R_ICEBERG_METADATA;
    
    Copy

Etapa 3: Criar um usuário no Snowflake

Nesta etapa, você cria um usuário no Snowflake e concede a ele a função que já criou. Essa concessão permite ao usuário utilizar o banco de dados padrão. Mais tarde, você especificará as credenciais desse usuário ao criar uma conexão com o Snowflake no Microsoft Fabric.

Se você criou um usuário no Snowflake, pode pular esta etapa.

  1. Para criar um usuário com a função que você criou como padrão, use o comando CREATE USER:

    USE ROLE ACCOUNTADMIN;
    
    CREATE USER IF NOT EXISTS SVC_FABRIC_ICEBERG_METADATA
       TYPE = LEGACY_SERVICE
       LOGIN_NAME = 'SVC_FABRIC_ICEBERG_METADATA'
       DISPLAY_NAME = 'Service - Fabric Iceberg Metadata'
       PASSWORD = '<strong_password>'
       MUST_CHANGE_PASSWORD = FALSE
       DEFAULT_ROLE = R_ICEBERG_METADATA;
    
    Copy
  2. Conceda a função que você criou ao usuário:

    GRANT ROLE R_ICEBERG_METADATA TO USER SVC_FABRIC_ICEBERG_METADATA;
    
    Copy

Etapa 4: Criar uma conexão com o Snowflake no Microsoft Fabric

Nesta etapa, você cria uma conexão com o Snowflake no Microsoft Fabric, o que permite conectar seu banco de dados padrão no Snowflake ao Microsoft Fabric.

Importante

Se você já tiver uma conexão com o Snowflake existente configurada no Microsoft Fabric que atenda às seguintes condições, poderá pular esta etapa:

  • Ele usa as credenciais corretas de nome de usuário e senha do Snowflake.

  • Ele tem acesso ao warehouse necessário no Snowflake.

  1. Navegue até o Microsoft Fabric e faça login.

  2. Selecione o ícone Settings.

  3. No Settings, selecione Manage connections and gateways.

  4. Selecione + New.

  5. Na caixa de diálogo New connection, crie uma conexão com o Snowflake:

    1. Selecione Cloud.

    2. Em Connection name, insira um nome para a conexão.

    3. Para Connection type, selecione Snowflake.

    4. Em Server, insira o identificador da sua conta Snowflake:

      https://<orgname>-<accountname>.snowflakecomputing.com
      
      Copy

      Onde:

    5. Em Warehouse, insira o nome do warehouse no Snowflake ao qual você concedeu acesso de uso da função R_ICEBERG_METADATA, como COMPUTE_WH, quando você criou uma função.

    6. Para Authentication method, selecione Snowflake.

    7. Em Username, insira o nome do usuário que você criou no Snowflake.

    8. Em Password, insira a senha do usuário que você criou no Snowflake.

    9. Selecione Create.

    Nota

    Para obter mais informações sobre como criar uma conexão com o Snowflake no Microsoft Fabric, consulte Configurar sua conexão com o banco de dados Snowflake na documentação do Microsoft Fabric.

  6. Depois de criar a conexão, copie o Connection ID dela em um editor de texto.

    Por exemplo: 1111a111-11a1-1111-11a1-11aa1111aaa1. Você deve especificar esse ID da conexão posteriormente no Snowflake quando conectar seu banco de dados padrão Snowflake ao Microsoft Fabric.

Etapa 5: Recuperar o nome do seu aplicativo multilocatário do Azure

Nesta etapa, você usa o Snowflake para recuperar o nome do seu aplicativo multilocatário do Azure. Você especificará esse nome de aplicativo posteriormente ao dar ao aplicativo multilocatário do Azure acesso ao espaço de trabalho do Fabric.

  1. Faça login no Snowsight.

  2. No menu de navegação, selecione Ingestion » Add Data.

  3. Na página Add Data, selecione Microsoft OneLake.

  4. Insira o ID de locatário do Fabric e selecione Continue.

  5. Na parte superior da caixa de diálogo Create an item in Microsoft Fabric, copie seu Multi-tenant app name em um editor de texto.

Etapa 6: Conceder ao aplicativo multilocatário do Azure acesso ao espaço de trabalho

Nesta etapa, você concede ao aplicativo multilocatário do Azure acesso ao seu espaço de trabalho no Fabric.

  1. Navegue até o Microsoft Fabric e faça login.

  2. Abra o espaço de trabalho do Microsoft Fabric.

    Para criar um espaço de trabalho, consulte Pré-requisitos.

  3. Selecione Manage access.

  4. Selecione + Add people or groups.

  5. No campo Enter name or email, cole o nome do seu aplicativo multilocatário do Azure do Snowflake.

    Para recuperar o nome do seu aplicativo multilocatário do Azure, consulte Etapa 5: Recuperar o nome do seu aplicativo multilocatário do Azure.

  6. No menu suspenso, selecione o acesso de Contributor, ou superior, para permitir que o app crie o item do Fabric necessário.

  7. Selecione Add.

  8. Na área superior direita, selecione Settings e, depois, Manage connections and gateways.

  9. Na área superior direita, procure o ID da conexão.

    Você copiou esse ID quando criou uma conexão com o Snowflake no Microsoft Fabric.

  10. Na guia Connections, passe o cursor do mouse sobre sua conexão, selecione o ícone da sua conexão e, depois, Manage users.

  11. No campo Search by name or email, procure o nome do seu aplicativo multilocatário e selecione-o.

  12. Selecione o nível apropriado de privilégios para o usuário.

  13. Para permitir que o aplicativo multilocatário use a conexão com o Snowflake, selecione Share.

Etapa 7: Conectar seu banco de dados padrão Snowflake ao Microsoft Fabric

Nesta etapa, você conecta um banco de dados padrão Snowflake ao Microsoft Fabric.

  1. Faça login no Snowsight.

  2. No menu de navegação, selecione Ingestion » Add Data.

  3. Na página Add Data, selecione Microsoft OneLake.

  4. Insira o ID de locatário do Fabric e selecione Continue.

    Para encontrar o ID de locatário do Fabric, consulte Etapa 1: Encontrar seu ID de locatário do Microsoft Fabric, o nome da organização Snowflake e o nome da conta Snowflake.

  5. Para dar consentimento para uso do aplicativo multilocatário da sua conta Snowflake em seu locatário do Entra, selecione Provide consent.

    • Se você ainda não executou esta etapa, deve aparecer um prompt para o consentimento. Revise as permissões, dê o seu consentimento e prossiga para a próxima etapa.

    • É possível que esta etapa já esteja concluída em sua conta Snowflake. Se for o caso, feche a janela pop-up e prossiga para a próxima etapa.

    • Se você não puder concluir o fluxo de consentimento, peça que seu administrador de locatário do Entra conclua esta etapa para você.

  6. Selecione Continue.

  7. Na caixa de diálogo Create an item in Microsoft Fabric, preencha os campos:

    • Em Fabric workspace name, insira o nome do espaço de trabalho no Fabric em que deseja visualizar as tabelas Iceberg.

    • Para validar que o ID da conexão está no formato correto, em Snowflake connection ID in Fabric, insira o ID da conexão do Snowflake que você copiou quando criou uma conexão com o Snowflake no Microsoft Fabric.

      Nota

      Você deve criar um objeto de conexão do Snowflake no Fabric para poder ler suas tabelas gerenciadas pelo Snowflake.

    • Em Snowflake database, selecione o banco de dados Snowflake que contém as tabelas Iceberg gerenciadas pelo Snowflake que você deseja visualizar no Fabric.

      Nota

      Se quiser criar um novo banco de dados Snowflake e conectá-lo ao Fabric, selecione + Create a new database.

  8. Para criar um item do Fabric e um banco de dados, selecione Continue.

  9. Na caixa de diálogo Create External Volume, para criar um volume externo, revise os detalhes do volume e selecione Create Volume.

    Um item do Fabric é criado no Microsoft Fabric e um volume externo é criado no Microsoft Fabric OneLake.

Etapa 8: Criação de uma tabela Iceberg

Nesta etapa, você cria uma tabela Iceberg gerenciada pelo Snowflake em seu banco de dados padrão no Snowflake.

  1. Faça login no Snowsight.

  2. Abra sua planilha no Snowsight.

    Para obter mais informações, consulte Abertura de planilhas em guias.

  3. No banco de dados padrão, crie uma tabela Iceberg de amostra:

    CREATE ICEBERG TABLE SnowflakeFabricIcebergDB.PUBLIC.SampleIcebergTable (
       id INT,
       name STRING
    )
    CATALOG = 'SNOWFLAKE';
    
    Copy
  4. Na tabela Iceberg de amostra, insira duas linhas:

    INSERT INTO SnowflakeFabricIcebergDB.PUBLIC.SampleIcebergTable VALUES
       (1, 'Alice'),
       (2, 'Bob');
    
    Copy

Etapa 9: Visualizar a tabela Iceberg no Fabric

  1. Navegue até o Microsoft Fabric e faça login.

  2. Abra seu espaço de trabalho.

    Você deve ver um novo item do banco de dados Snowflake com o nome do seu banco de dados. Se necessário, atualize a página.

  3. Onde você criou sua tabela no Snowflake, abra o item e o esquema do banco de dados.

    Você deve ver a tabela Iceberg criada no Snowflake. Conforme você atualiza a tabela no Snowflake, você pode recarregar as atualizações da tabela no Microsoft Fabric.

  4. No canto superior direito, selecione SQL analytics endpoint.

    Você pode usar SQL para interagir com sua tabela ou tentar usar outras cargas de trabalho do Fabric para consultar essa tabela junto com outros dados do Fabric.