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 os seguintes recursos com o Git, cada um dos quais inclui sua própria maneira de executar operações Git:

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

Você pode fazer com que o Snowflake se conecte ao seu repositório Git usando SQL ou Snowsight.

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

Busca do repositório Git remoto

Você pode buscar em um clone de repositório Git no Snowflake 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 buscar no repositório Git remoto usando Snowsight ou SQL.

Você pode buscar 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.