Exemplos de uso do Git com Snowflake¶
Os exemplos deste tópico descrevem como usar arquivos de um repositório Git remoto ao desenvolver aplicativos Snowflake e como executar scripts SQL em um clone do repositório Git.
Não deixe de ver os itens a seguir, que descrevem outras maneiras de interagir com um clone do repositório Git.
Use um arquivo de repositório Git como um manipulador de procedimento armazenado¶
Depois que você configurar a integração entre o Snowflake e o repositório Git remoto, você pode usar os arquivos do repositório como código manipulador em procedimentos armazenados e UDFs. Observe que, assim como acontece com manipuladores em estágios, você deve qualificar o nome da função do manipulador com o nome da classe ou módulo que o contém.
Este exemplo descreve como usar o código do manipulador Python do repositório em um procedimento armazenado.
Código exigido por este exemplo¶
O manipulador neste exemplo depende de um banco de dados criado com código SQL semelhante ao seguinte:
O exemplo usa o seguinte código de manipulador Python contido em filter.py:
Confirmar o arquivo e atualizar o clone do repositório Git¶
No seu cliente Git, adicione o código ao repositório remoto.
O código no exemplo a seguir usa a ferramenta de linha de comando git para adicionar e confirmar o arquivo do manipulador no repositório local e, em seguida, enviá-lo para o repositório remoto referenciado pelo clone do repositório Git no Snowflake:
No Snowflake, atualize o clone do repositório Git.
Supondo que você tenha configurado a integração entre o Snowflake e o seu repositório Git remoto, resultando em um clone do repositório Git no Snowflake, é possível atualizar o clone do repositório Git buscando no repositório remoto.
Usar o Snowflake para atualizar a partir do seu repositório remoto é semelhante a trabalhar com outras ferramentas de cliente Git, em que você busca no repositório remoto antes de começar a trabalhar para garantir que tenha as alterações mais recentes.
O código no exemplo a seguir executa o comando ALTER GIT REPOSITORY para recuperar as alterações mais recentes do repositório remoto. O código gera um clone completo que inclui ramificações, tags e commits.
Criar e executar um procedimento que use o arquivo no clone do repositório Git¶
No Snowflake, escreva o procedimento.
Quando você escreve um procedimento, pode fazer referência ao seu código manipulador no local do arquivo do código no clone do repositório Git no Snowflake. Por exemplo, para se referir a um arquivo
python-handlers/filter.pyna ramificação principal de um repositório remoto sincronizado com um clone do repositório Git chamadosnowflake_extensions, você usaria uma sintaxe semelhante à seguinte:O código no exemplo a seguir cria um procedimento chamado
filter_by_role, especificando o código do manipulador armazenado no clone do repositório Git:Execute o procedimento.
O código a seguir executa o procedimento.
Aqui está um exemplo de saída do procedimento.
Usar um arquivo do clone do repositório Git para configurar novas contas¶
Este exemplo descreve como executar um script SQL contido em um clone do repositório Git no Snowflake. O script no exemplo cria um usuário e uma função.
Este exemplo usa o comando EXECUTE IMMEDIATE FROM para executar as instruções SQL contidas em um arquivo no clone do repositório Git.
Com EXECUTE IMMEDIATE FROM, você pode executar (de qualquer sessão do Snowflake) scripts que você gerencia no repositório Git remoto. Por exemplo, você pode ter um script que configura cada nova conta Snowflake na sua organização. O script pode conter instruções para criar usuários, funções, objetos e conceder privilégios na conta e nos objetos.
Crie o arquivo
setup.sqlcom o seguinte conteúdo:Confirme seu arquivo SQL em seu repositório Git remoto.
Use the git command-line tool to commit the file to your remote Git repository:
Para instruções detalhadas, consulte Confirmar o arquivo e atualizar o clone do repositório Git.
Atualize o clone do repositório Git.
Atualize o clone do repositório Git
configuration_repo:Para instruções detalhadas, consulte Confirmar o arquivo e atualizar o clone do repositório Git.
No Snowflake, execute o arquivo no clone do seu repositório Git:
Nota
O usuário que executa a instrução a seguir deve usar uma função que tenha os privilégios necessários para executar todas as instruções no arquivo. Para obter mais informações, consulte Requisitos de controle de acesso.
Os comando EXECUTE IMMEDIATE FROM retorna os resultados da última instrução SQL no arquivo: