Operações Git no Snowflake

Este tópico descreve como executar operações comuns de repositório.

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.

Atualização de um estágio do repositório a partir do repositório

Você pode atualizar o estágio do repositório com um clone completo que busca todas as ramificações, tags e commits 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 estágio do seu repositório usando Snowsight ou SQL.

Quando você quiser atualizar o estágio do seu repositório, você pode buscar o conteúdo do repositório Git integrado para o estágio do repositório usando o comando ALTER GIT REPOSITORY.

O código no exemplo a seguir atualiza o estágio do repositório 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 estágio do repositório que representa um clone do seu repositório Git.

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 (você pode abreviar LIST para LS):

  • Listar por nome da ramificação:

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

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

    LS @repository_stage_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 |
-------------------------------------------------------------------------------------------------------------------------------------------------------

Visualizar propriedades do estágio do repositório

Você pode visualizar as propriedades associadas a um estágio do repositório.

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 estágio do repositório usando Snowsight ou SQL.

Você pode visualizar as propriedades do estágio do repositório 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 código em um estágio de repositório.

O código no exemplo a seguir executa o código em create-database.sql do estágio de repositório 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 estágio 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.