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