CREATE GIT REPOSITORY¶
스키마에 Snowflake Git 리포지토리 복제본 을 만들거나 기존 Git 리포지토리 복제본을 바꿉니다.
- 참고 항목:
ALTER GIT REPOSITORY, DESCRIBE GIT REPOSITORY, DROP GIT REPOSITORY, SHOW GIT BRANCHES, SHOW GIT REPOSITORIES, SHOW GIT TAGS
구문¶
CREATE [ OR REPLACE ] GIT REPOSITORY [ IF NOT EXISTS ] <name>
ORIGIN = '<repository_url>'
API_INTEGRATION = <integration_name>
[ GIT_CREDENTIALS = <secret_name> ]
[ COMMENT = '<string_literal>' ]
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]
필수 매개 변수¶
name
만들 Git 리포지토리 복제본의 식별자를 지정합니다.
식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.
자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
ORIGIN = 'repository_url'
이 Git 리포지토리 복제본이 나타내는 원격 Git 리포지토리의 원본 URL 을 지정합니다. URL은 HTTPS를 사용해야 합니다.
Snowflake는 HTTPS Git 리포지토리 URL 을 지원합니다. 예를 들어, 사용자 지정 URL 을 자체 도메인 내의 기업 Git 서버로 지정할 수 있습니다.
다음 예제와 같이 명령줄에서 로컬 리포지토리 내에서
git config
명령을 사용하여 ORIGIN 매개 변수에 사용할 값을 가져올 수 있습니다.$ git config --get remote.origin.url https://github.com/mycompany/My-Repo.git
API_INTEGRATION = integration_name
대상 URL에 대해 허용되는 자격 증명 및 접두사 등 원격 Git 리포지토리에 대한 정보가 포함된 API INTEGRATION 을 지정합니다.
여기서 지정하는 API 통합에는 값이
git_https_api
로 설정된 API_PROVIDER 매개 변수가 있어야 합니다.API 통합에 대한 참조 정보는 CREATE API INTEGRATION 섹션을 참조하십시오.
선택적 매개 변수¶
GIT_CREDENTIALS = secret_name
원격 Git 리포지토리 인증에 사용할 자격 증명이 포함된 Snowflake 시크릿 을 지정합니다. API 통합에서 지정한 기본 시크릿을 사용하거나 이 통합에 인증이 필요하지 않은 경우 이 매개 변수를 생략합니다.
가장 좋은 방법은 시크릿의 PASSWORD 값에 개인 액세스 토큰을 사용하는 것입니다. GitHub에서 개인 액세스 토큰을 생성하는 방법에 대한 자세한 내용은 GitHub 설명서에서 개인 액세스 토큰 관리하기 를 참조하십시오.
여기서 지정하는 시크릿은 이 명령의 API_INTEGRATION 매개 변수로 지정한 API 통합의 ALLOWED_AUTHENTICATION_SECRETS 매개 변수로 지정한 시크릿이어야 합니다.
기본값: 값 없음
시크릿에 대한 참조 정보는 CREATE SECRET 섹션을 참조하십시오.
COMMENT = 'string_literal'
외부 액세스 통합에 대한 설명을 지정합니다.
기본값: 값 없음
TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )
태그 이름과 태그 문자열 값을 지정합니다.
태그 값은 항상 문자열이며, 태그 값의 최대 문자 수는 256자입니다.
문에서 태그를 지정하는 방법에 대한 자세한 내용은 오브젝트에 대한 태그 할당량 섹션을 참조하십시오.
액세스 제어 요구 사항¶
이 작업을 실행하는 데 사용되는 역할 에는 최소한 다음 권한 이 있어야 합니다.
권한 |
오브젝트 |
참고 |
---|---|---|
CREATE GIT REPOSITORY |
스키마 |
|
USAGE |
API 통합 |
이 명령의 API INTEGRATION 매개 변수에 의해 지정된 통합 |
USAGE |
시크릿 |
이 명령의 GIT_CREDENTIALS 매개 변수에 의해 지정된 시크릿 |
스키마의 모든 오브젝트에 대해 작업을 수행하려면 상위 데이터베이스 및 스키마에 대한 USAGE 권한.
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
사용법 노트¶
OR REPLACE
및IF NOT EXISTS
절은 상호 배타적입니다. 두 문자를 같은 문에 함께 사용할 수 없습니다.CREATE OR REPLACE <오브젝트> 문은 원자성입니다. 즉, 오브젝트가 바뀔 때 단일 트랜잭션으로 이전 오브젝트가 삭제되고 새 오브젝트가 생성됩니다.
예¶
다음 예제의 코드는 snowflake_extensions
라는 Git 리포지토리 복제본을 생성하며, 여기서 원격 리포지토리의 원본 URL 은 https://github.com/my-account/snowflake-extensions.git
입니다. 이 예제에서는 git_api_integration
이라는 API 통합을 사용합니다. 또한 git_secret
이라는 시크릿을 사용하여 원격 리포지토리로 인증하기 위한 자격 증명을 저장합니다.
원격 Git 리포지토리와의 통합 설정에 대한 자세한 내용은 Git을 사용하기 위해 Snowflake 설정하기 섹션을 참조하십시오.
CREATE OR REPLACE GIT REPOSITORY snowflake_extensions
API_INTEGRATION = git_api_integration
GIT_CREDENTIALS = git_secret
ORIGIN = 'https://github.com/my-account/snowflake-extensions.git';