Snowflake에서의 Git 작업¶
이 항목에서는 SQL 명령과 Snowsight 를 사용하여 일반적인 리포지토리 작업을 수행하는 방법을 설명합니다.
다음 기능을 Git과 함께 사용할 수도 있으며, 각 기능에는 Git 작업을 수행하는 고유한 방법이 포함되어 있습니다.
Snowflake 계정과 Git 리포지토리 통합¶
SQL 또는 Snowsight 를 사용하여 Git 리포지토리에 Snowflake를 연결할 수 있습니다.
SQL을 사용해 Git 리포지토리와의 통합을 설정하는 방법에 대한 자세한 내용은 Git을 사용하기 위해 Snowflake 설정하기 섹션을 참조하세요.
Snowsight 에서는 작업 공간을 사용하여 :ref:`Git 리포지토리와 통합<label-integrate_a_git_repository>`할 수 있습니다.
원격 Git 리포지토리에서 가져오기¶
원격 리포지토리에서 모든 분기, 태그, 커밋을 Snowflake의 Git 리포지토리 복제본으로 가져올 수 있습니다. 이렇게 하면 이전에 가져왔지만 원격 리포지토리에 더 이상 존재하지 않는 분기와 커밋도 정리됩니다.
이 섹션에 설명된 작업을 수행하려면 ALTER GIT REPOSITORY의 액세스 제어 에 설명된 Snowflake 액세스가 필요합니다.
Snowsight 또는 SQL 중 하나를 사용하여 원격 Git 리포지토리에서 가져올 수 있습니다.
ALTER GIT REPOSITORY 명령을 사용하면 원격 Git 리포지토리에서 Snowflake의 Git 리포지토리 복제본으로 가져올 수 있습니다.
다음 예제의 코드는 Git 리포지토리 복제본을 리포지토리의 내용으로 업데이트합니다.
ALTER GIT REPOSITORY snowflake_extensions FETCH;
Snowsight 를 사용해 원격 리포지토리에서 가져올 수 있습니다.
Snowsight 에 로그인합니다.
탐색 메뉴에서 Catalog » Database Explorer 를 선택합니다.
오브젝트 탐색기에서 가져올 Git 리포지토리 복제본이 포함된 데이터베이스와 스키마를 선택합니다.
스키마 내부에서 Git Repositories 를 엽니다.
Git Repositories 에서, 리포지토리를 선택하여 세부 정보 페이지를 확인합니다.
리포지토리 세부 정보의 Files Explorer 탭에서 Fetch 버튼을 선택하여 원격 리포지토리에서 가져옵니다.
리포지토리 파일 목록 보기¶
Snowsight 또는 SQL 중 하나를 사용하여 분기, 태그 또는 커밋의 파일 목록을 볼 수 있습니다.
다음 형식의 LIST 명령을 사용하여 스테이지와 마찬가지로 Git 리포지토리 복제본을 지정하면 리포지토리의 파일 목록을 볼 수 있습니다(LIST 를 LS 로 축약 가능).
분기 이름별 나열:
LS @repository_name/branches/branch_name;
태그 이름별 나열:
LS @repository_name/tags/tag_name;
커밋 해시별 나열:
LS @repository_name/commits/commit_hash;
다음 예제는 Git 리포지토리 snowflake_extensions 의 기본 분기에 있는 파일을 나열하는 출력을 생성합니다.
LS @snowflake_extensions/branches/main;
위 명령은 다음과 유사한 출력을 생성합니다. 출력 열에 대한 설명은 LIST 명령 참조 섹션을 참조하세요.
-------------------------------------------------------------------------------------------------------------------------------------------------------
| 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 |
-------------------------------------------------------------------------------------------------------------------------------------------------------
Snowsight 를 사용하여 Git 리포지토리의 분기 및 태그 목록을 볼 수 있습니다.
Snowsight 에 로그인합니다.
탐색 메뉴에서 Catalog » Database Explorer 를 선택합니다.
오브젝트 탐색기에서 보려는 Git 리포지토리 복제본이 포함된 데이터베이스와 스키마를 선택합니다.
스키마 내부에서 Git Repositories 를 엽니다.
Git Repositories 에서, 리포지토리를 선택하여 세부 정보 페이지를 확인합니다.
리포지토리의 세부 정보 페이지의 Files Explorer 탭에서 Branch 버튼을 선택합니다.
Branch 드롭다운 메뉴에서 다음 중 하나를 선택합니다.
리포지토리에서 복제된 분기 목록을 보려면 Branches 를 선택합니다.
리포지토리에서 복제된 태그 목록을 보려면 Tags 를 선택합니다.
파일을 나열할 분기나 태그를 선택합니다.
리포지토리 이름 아래에서 선택한 항목에 해당하는 폴더 및 파일 목록을 확인합니다.
Git 리포지토리 복제본 속성 보기¶
Snowflake에서 Git 리포지토리 복제본과 관련된 속성을 볼 수 있습니다.
이 섹션에 설명된 작업을 수행하려면 DESC GIT REPOSITORY의 액세스 제어 에 설명된 Snowflake 액세스가 필요합니다.
Snowsight 또는 SQL 중 하나를 사용하여 Git 리포지토리 복제본 속성을 볼 수 있습니다.
SQL 명령 SHOW GIT REPOSITORIES 및 DESCRIBE GIT REPOSITORY 를 사용하여 Git 리포지토리 복제본 속성을 볼 수 있습니다.
속성 정보에는 원격 리포지토리와의 연결을 위해 사용되는 Git 소스 URL, API 통합 이름 및 자격 증명(시크릿 으로 지정됨) 등이 포함됩니다.
DESCRIBE GIT REPOSITORY snowflake_extensions;
위 명령은 다음과 유사한 출력을 생성합니다.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| 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 | |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Snowsight 를 사용하여 리포지토리 속성을 볼 수 있습니다.
Snowsight 에 로그인합니다.
탐색 메뉴에서 Catalog » Database Explorer 를 선택합니다.
오브젝트 탐색기에서 보려는 Git 리포지토리 복제본이 포함된 데이터베이스와 스키마를 선택합니다.
스키마 내부에서 Git Repositories 를 엽니다.
Git Repositories 에서, 리포지토리를 선택하여 세부 정보 페이지를 확인합니다.
리포지토리의 세부 정보 페이지에서 Git Repository Details 탭을 선택하면 다음과 같은 세부 정보를 비롯한 정보를 볼 수 있습니다.
리포지토리의 코드 실행¶
리포지토리에 있는 파일에 포함된 코드를 실행할 수 있습니다.
이 섹션에 설명된 작업을 수행하려면 EXECUTE IMMEDIATE FROM의 액세스 제어 에 설명된 Snowflake 액세스가 필요합니다.
Snowsight 또는 SQL 중 하나를 사용하여 코드를 실행할 수 있습니다.
EXECUTE IMMEDIATE FROM 을 사용하여 Git 리포지토리 복제본에서 코드를 실행할 수 있습니다.
다음 예제의 코드는 Git 리포지토리 복제본 snowflake_extensions 에서 create-database.sql 의 코드를 실행합니다.
EXECUTE IMMEDIATE FROM @snowflake_extensions/branches/main/sql/create-database.sql;
Snowsight 를 사용하여 Git 리포지토리에서 SQL 코드를 실행할 수 있습니다.
이 방법으로 코드를 실행하면 코드 실행으로 생성된 출력이 표시되지 않는다는 점에 유의하십시오.
Snowsight 에 로그인합니다.
탐색 메뉴에서 Catalog » Database Explorer 를 선택합니다.
오브젝트 탐색기에서 보려는 Git 리포지토리 복제본이 포함된 데이터베이스와 스키마를 선택합니다.
스키마 내부에서 Git Repositories 를 엽니다.
Git Repositories 에서, 리포지토리를 선택하여 세부 정보 페이지를 확인합니다.
리포지토리의 세부 정보 페이지의 Files Explorer 탭에서 Branch 버튼을 선택합니다.
Branch 드롭다운 메뉴에서 다음 중 하나를 선택합니다.
리포지토리에서 복제된 분기 목록을 보려면 Branches 를 클릭합니다.
리포지토리에서 복제된 태그 목록을 보려면 Tags 를 클릭합니다.
실행하려는 코드가 들어 있는 분기나 태그를 선택합니다.
리포지토리 이름 아래에서 실행하려는 파일이 있는 폴더를 선택합니다.
표시되는 상자에서 파일에 포함된 코드를 검토합니다.
이는 Snowflake가 실행하는 코드입니다.
표시된 코드를 실행하려면 Execute Immediate 를 선택합니다.
세부 정보 페이지에는 코드 실행이 시작되었다는 알림이 표시됩니다. 이는 나중에 실행이 성공했는지 실패했는지를 나타냅니다.
리포지토리 기반 코드를 워크시트에 복사¶
리포지토리 파일의 코드를 워크시트로 빠르게 복사할 수 있습니다. 복사한 코드를 편집하고 실행하거나 다른 사용자를 위한 읽기 전용 템플릿으로 사용할 수 있습니다.
다음 유형의 .sql 및 .py 파일의 내용을 복사할 수 있습니다.
리포지토리에서 변경 사항을 저장하려면 워크시트에서 편집한 코드를 로컬 Git 리포지토리의 파일(예: 복사한 파일에 해당하는 파일)에 복사한 다음 해당 파일에서 변경 사항을 커밋해야 합니다.
- Snowsight:
Snowsight 를 사용하여 리포지토리에 있는 파일에서 워크시트로 콘텐츠를 복사할 수 있습니다.
Snowsight 에 로그인합니다.
탐색 메뉴에서 Catalog » Database Explorer 를 선택합니다.
오브젝트 탐색기에서 보려는 Git 리포지토리 복제본이 포함된 데이터베이스와 스키마를 선택합니다.
스키마 내부에서 Git Repositories 를 엽니다.
Git Repositories 에서, 리포지토리를 선택하여 세부 정보 페이지를 확인합니다.
리포지토리의 세부 정보 페이지의 Files Explorer 탭에서 Branch 버튼을 선택합니다.
Branch 드롭다운 메뉴에서 다음 중 하나를 수행합니다.
리포지토리에서 복제된 분기 목록을 보려면 Branches 를 선택합니다.
리포지토리에서 복제된 태그 목록을 보려면 Tags 를 선택합니다.
복사할 코드가 들어 있는 분기나 태그를 선택합니다.
리포지토리 이름 아래에서 실행하려는 파일이 있는 폴더를 선택합니다.
실행할 코드가 있는 파일을 찾아
» Copy into worksheet 를 선택합니다.Snowflake가 선택한 파일의 코드를 새 워크시트에 복사합니다.