Operações Git no Snowflake

Este tópico descreve como realizar operações comuns de repositório usando os comandos SQL e Snowsight.

Você também pode usar o seguinte com o Git, cada um dos quais inclui sua própria maneira de executar operações do Git.

Integração de um repositório Git em sua conta Snowflake

Para obter informações sobre como configurar uma integração com um repositório Git, consulte Configuração do Snowflake para usar o Git.

Atualizar um clone do repositório Git a partir do repositório

Você pode atualizar o clone do repositório Git no Snowflake com um clone completo que busca todas as ramificações, tags e confirmações do repositório remoto. Ao fazer isso, você também remove ramificações e commits que foram obtidos anteriormente, mas que não existem mais no repositório remoto.

Para executar as operações descritas nesta seção, você precisará do acesso Snowflake descrito em Controle de acesso para ALTER GIT REPOSITORY.

Você pode atualizar o clone do repositório Git usando Snowsight ou SQL.

Quando quiser atualizar o clone do repositório Git, você pode buscar o conteúdo do repositório Git remoto para o clone do repositório Git no Snowflake usando o comando ALTER GIT REPOSITORY.

O código no exemplo a seguir atualiza o clone do repositório Git com o conteúdo do repositório:

ALTER GIT REPOSITORY snowflake_extensions FETCH;
Copy

Ver uma lista de ramificações ou tags do repositório

Você pode visualizar uma lista de ramificações e tags disponíveis no clone do repositório Snowflake Git obtido do repositório remoto.

Para executar as operações descritas nesta seção, você precisará do acesso Snowflake descrito nos tópicos a seguir:

Você pode visualizar uma lista de ramificações ou tags usando Snowsight ou SQL.

Você pode visualizar ramificações e tags usando os comandos SHOW GIT BRANCHES e SHOW GIT TAGS.

O exemplo a seguir gera uma saída que lista as ramificações no repositório Git snowflake_extensions:

SHOW GIT BRANCHES IN snowflake_extensions;
Copy

O comando anterior gera uma saída semelhante à seguinte:

--------------------------------------------------------------------------------
| name | path           | checkouts | commit_hash                              |
--------------------------------------------------------------------------------
| main | /branches/main |           | 0f81b1487dfc822df9f73ac6b3096b9ea9e42d69 |
--------------------------------------------------------------------------------

Ver uma lista de arquivos de repositório

Você pode visualizar uma lista de arquivos em uma ramificação, tag ou commit usando Snowsight ou SQL.

Você pode visualizar uma lista de arquivos no repositório usando o comando LIST nas seguintes formas, especificando o clone do repositório Git como se fosse um estágio (você pode abreviar LIST como LS):

  • Listar por nome da ramificação:

    LS @repository_name/branches/branch_name;
    
    Copy
  • Listar por nome de tag:

    LS @repository_name/tags/tag_name;
    
    Copy
  • Listar por hash de commit:

    LS @repository_name/commits/commit_hash;
    
    Copy

O exemplo a seguir gera uma saída que lista os arquivos na ramificação principal do repositório Git snowflake_extensions:

LS @snowflake_extensions/branches/main;
Copy

O comando anterior gera uma saída semelhante à seguinte:

-------------------------------------------------------------------------------------------------------------------------------------------------------
| name                                                         | size | md5 | sha1                                     | last_modified                |
-------------------------------------------------------------------------------------------------------------------------------------------------------
| snowflake_extensions/branches/main/.gitignore                | 10   |     | e43b0f988953ae3a84b00331d0ccf5f7d51cb3cf | Wed, 5 Jul 2023 22:42:34 GMT |
-------------------------------------------------------------------------------------------------------------------------------------------------------
| snowflake_extensions/branches/main/python-handlers/filter.py | 169  |     | c717137b18d7b75005849d76d89037fafc7b5223 | Wed, 5 Jul 2023 22:42:34 GMT |
-------------------------------------------------------------------------------------------------------------------------------------------------------

Exibir as propriedades do clone do repositório Git

Você pode visualizar as propriedades associadas a um clone do repositório Git no Snowflake.

Para executar as operações descritas nesta seção, você precisará do acesso Snowflake descrito em Controle de acesso para DESC GIT REPOSITORY.

Você pode visualizar as propriedades do clone do repositório Git usando Snowsight ou SQL.

Você pode visualizar as propriedades do clone do repositório Git usando os comandos SQL SHOW GIT REPOSITORIES e DESCRIBE GIT REPOSITORY.

As informações de propriedades incluem o URL de origem do Git, nome da integração de API e credenciais (especificadas como um segredo) usadas para se conectar com o repositório remoto, e assim por diante.

DESCRIBE GIT REPOSITORY snowflake_extensions;
Copy

O comando anterior gera uma saída semelhante à seguinte:

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| CREATED_ON                    | NAME                 | DATABASE_NAME | SCHEMA_NAME | ORIGIN                                                 | API_INTEGRATION     | GIT_CREDENTIALS           | OWNER        | OWNER_ROLE_TYPE | COMMENT |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| 2023-06-28 08:46:10.886 -0700 | SNOWFLAKE_EXTENSIONS | MY_DB         | MAIN        | https://github.com/my-account/snowflake-extensions.git | GIT_API_INTEGRATION | MY_DB.MAIN.GIT_SECRET     | ACCOUNTADMIN | ROLE            |         |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Executar código de um repositório

Você pode executar o código contido em um arquivo do repositório.

Para executar as operações descritas nesta seção, você precisará do acesso Snowflake descrito em Controle de acesso para EXECUTE IMMEDIATE FROM.

Você pode executar o código usando Snowsight ou SQL.

Você pode usar EXECUTE IMMEDIATE FROM para executar o código em um clone do repositório Git.

O código no exemplo a seguir executa o código em create-database.sql a partir do clone do repositório Git snowflake_extensions:

EXECUTE IMMEDIATE FROM @snowflake_extensions/branches/main/sql/create-database.sql;
Copy

Copiar o código baseado em repositório em uma planilha

Você pode copiar rapidamente o código de um arquivo de repositório em uma planilha. Você pode editar e executar o código copiado ou usá-lo como um modelo somente leitura para outros usuários.

Você pode copiar o conteúdo dos seguintes tipos de arquivos: .sql e .py.

Para salvar suas alterações no repositório, você precisa copiar o código editado da planilha em um arquivo (como o arquivo correspondente ao que você copiou) no seu repositório Git local e confirmar as alterações a partir daí.

Snowsight:

Você pode usar Snowsight para copiar conteúdo de um arquivo em seu repositório em uma planilha.

  1. Faça login no Snowsight.

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

  3. No explorador de objetos, selecione o banco de dados e o esquema que contêm o clone do repositório Git que você deseja visualizar.

  4. Dentro do esquema, abra Git Repositories.

  5. Dentro de Git Repositories, selecione um repositório para visualizar sua página de detalhes.

  6. Na página de detalhes do repositório, na aba Files Explorer, selecione o botão Branch.

  7. A partir do menu suspenso Branch, faça um dos seguintes:

    • Para visualizar uma lista de ramificações clonadas do repositório, selecione Branches.

    • Para visualizar uma lista das tags clonadas do repositório, selecione Tags.

  8. Selecione a ramificação ou tag que contém o arquivo cujo código você deseja copiar.

  9. Abaixo do nome do repositório, selecione a pasta que contém o arquivo que você deseja executar.

  10. Localize o arquivo cujo código você deseja executar e selecione Mais opções » Copy into worksheet.

    O Snowflake copia o código do arquivo selecionado para uma nova planilha.