ALTER LISTING¶
인라인 YAML 매니페스트가 있는 목록 또는 스테이지 위치에 있는 파일에서 속성을 수정합니다.
구문¶
ALTER LISTING [ IF EXISTS ] <name> [ { PUBLISH | UNPUBLISH | REVIEW } ]
ALTER LISTING [ IF EXISTS ] <name> AS '<yaml_manifest_string>'
[ PUBLISH = { TRUE | FALSE } ]
[ REVIEW = { TRUE | FALSE } ]
[ COMMENT = '<string>' ]
ALTER LISTING <name> ADD VERSION [ [ IF NOT EXISTS ] <version_name> ]
FROM <yaml_manifest_stage_location>
[ COMMENT = '<string>' ]
ALTER LISTING [ IF EXISTS ] <name> { ADD | REMOVE } TARGETS <manifest>
ALTER LISTING [ IF EXISTS ] <name> RENAME TO <new_name>;
ALTER LISTING [ IF EXISTS ] <name> SET COMMENT = '<string>'
매개 변수¶
name
변경할 목록의 식별자(이름)를 지정합니다.
{ PUBLISH | UNPUBLISH | REVIEW }
목록에서 수행할 작업입니다.
PUBLISH
이전에는 검색할 수 없었던 목록을 검색할 수 있게 만듭니다.이전에 게시한 목록에 PUBLISH를 지정해도 효과가 없습니다.
UNPUBLISH
이전에 검색 가능했던 목록을 새로운 컨슈머가 검색할 수 없도록 설정합니다. 기존 컨슈머는 게시되지 않은 목록과 관련된 데이터에 계속 액세스할 수 있습니다.이전에 게시 취소한 목록에 UNPUBLISH를 지정해도 효과가 없습니다.
목록 게시 취소 를 참조하십시오.
REVIEW
검토를 위해 목록을 제출합니다.
yaml_manifest_string
목록의 YAML 매니페스트입니다. 매니페스트 매개 변수는 목록 매니페스트 참조 섹션을 참조하십시오.
매니페스트는 일반적으로 달러 기호로 묶인 문자열로 제공됩니다. 자세한 내용은 달러 기호로 묶인 문자열 상수 섹션을 참조하십시오.
ADD VERSION version_name
추가할 버전의 고유한 버전 식별자를 지정합니다. 식별자에 공백, 특수 문자 또는 대/소문자가 혼합된 문자가 포함된 경우 전체 식별자를 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다. 식별자 구문에 대한 자세한 내용은 식별자 요구 사항 을 참조하십시오.
FROM 'yaml_manifest_stage_location'
내부 또는 Snowflake Git 리포지토리 복제본 manifest.yml 파일의 경로를 지정합니다. 변경에 대해 Marketplace Ops의 검토가 필요한 경우 REVIEW 및 PUBLISH 작업을 사용하십시오.
{ ADD | REMOVE } TARGETS manifest
추가하거나 제거하려는 대상*만* 포함하는 매니페스트를 사용하여 목록에 대상을 추가하거나 목록에서 대상을 제거합니다. 이 부분 매니페스트는 목록 매니페스트 사양에 이미 정의된 익숙한 구조인
targets
,external_targets
및organization_targets
를 재사용합니다.아래 표에는 지원되지 않는 목록-매니페스트/수신-매니페스트 조합이 나열되어 있습니다.
참고
V2 목록은 여전히 미리 보기로 제공됩니다. 기능이 활성화되면 공개 또는 비공개 여부에 관계없이 모든 후속 목록이 v2 목록으로 생성됩니다.
외부 목록 대상 버전
수신 매니페스트
결과
해결 방법
V1 대상
V2 외부 대상
오류를 반환합니다.
버전 1 수신 매니페스트를 제공합니다.
V2 대상
V1 대상
오류를 반환합니다.
버전 2 수신 매니페스트를 제공합니다.
모든 외부 목록
계정이 없는 조직을 지정하는 조직 수준 대상입니다.
오류를 반환합니다.
조직 수준 대상은 현재 지원되지 않습니다.
조직 목록의 경우 아래 표에는 대상 추가 및 제거가 지원되지 않는 사용 사례가 나열되어 있습니다.
외부 목록
수신 매니페스트
추가 또는 제거
결과
동작
모든 조직 목록
매니페스트에는
organization_user_group
필드 세트가 있습니다.둘 다
오류를 반환합니다.
organization_user_group
필드를 제거하고 다시 시도합니다.계정 또는 계정 및 역할
매니페스트의
all_internal_accounts
필드는TRUE
로 설정되어 있습니다.제거
오류를 반환합니다.
특정 계정을 제거하고 다시 시도합니다.
목록의
all_internal_accounts`는 `TRUE
로 설정되어 있음.수신 매니페스트에는 계정 또는 계정과 역할이 포함됩니다.
제거
오류를 반환합니다.
all_internal_accounts
를 특정 계정으로 바꾸고 다시 시도합니다.계정에 지정된 역할이 없음.
수신 매니페스트에는 역할이 있는 계정이 있습니다.
제거
오류를 반환합니다.
먼저 계정을 제거한 다음, 특정 역할을 추가합니다.
RENAME TO new_name
목록의 이름을
new_name
으로 변경합니다. 목록 이름은 고유해야 합니다. 다른 목록에 식별자가 이미 사용 중인 경우에는 새 식별자를 사용할 수 없습니다.
SET ...
목록에 설정할 하나 이상의 속성을 지정합니다(공백, 쉼표 또는 줄 바꿈으로 구분됨).
COMMENT = 'string_literal'
기존 목록에 대한 설명을 추가하거나 기존 설명을 덮어씁니다.
PUBLISH = { TRUE | FALSE }
목록을 게시하는 방법을 지정합니다.
TRUE인 경우, 목록에 등록하는 즉시 Marketplace Ops에 목록이 게시되어 심사가 수행됩니다.
기본값: TRUE.
REVIEW = { TRUE | FALSE }
목록을 Marketplace Ops 검토에 제출해야 할지 여부를 지정합니다.
기본값: TRUE.
PUBLISH 및 REVIEW 속성의 값을 다르게 조합하면 다음과 같은 동작이 발생합니다.
PUBLISH |
REVIEW |
동작 |
---|---|---|
TRUE |
TRUE |
검토를 요청한 후 승인 후 즉시 게시합니다. |
TRUE |
FALSE |
오류가 발생합니다. 검토하지 않고는 Snowflake Marketplace 에 목록을 게시할 수 없습니다. |
FALSE |
TRUE |
검토 후 자동으로 게시하지 않고 검토를 요청합니다. |
FALSE |
FALSE |
검토나 게시를 요청하지 않고 목록을 초안으로 저장합니다. |
사용법 노트¶
목록은 DRAFT 상태에서만 이름을 변경할 수 있습니다.
목록에 대한 YAML 형식 매니페스트의 라이브 버전을 설정할 때는
COMMIT
를 사용하여 변경 사항을 적용하거나ABORT
를 사용하여 변경 사항을 삭제해야 합니다.
액세스 제어 요구 사항¶
이 작업을 실행하는 데 사용되는 역할 에는 최소한 다음 권한 이 있어야 합니다.
권한 |
오브젝트 |
참고 |
---|---|---|
OWNERSHIP 또는 MODIFY |
수정 중인 목록에서. |
ALTER 명령을 사용하여 자동 복제를 위한 매니페스트 내용을 수정하는 경우 클라우드 간 자동 복제를 구성하는 데 필요한 위임된 권한이 있는 역할을 사용해야 합니다. 자동 복제 설정 권한 위임하기 섹션을 참조하십시오.
스키마의 모든 오브젝트에 대해 작업을 수행하려면 상위 데이터베이스 및 스키마에 대한 USAGE 권한.
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
예¶
업데이트된 매니페스트 파일을 사용하도록 mylisting
목록을 변경합니다.
ALTER LISTING mylisting AS $$ title: "MyListing" subtitle: "Subtitle for MyListing" description: "Description or MyListing" listing_terms: type: "STANDARD" targets: accounts: ["Org1.Account1"] usage_examples: - title: "this is a test sql" description: "Simple example" query: "select *" $$;
검토를 위해 mylisting
목록을 제출합니다.
ALTER LISTING mylisting REVIEW;
mylisting
목록을 게시하여 목록을 변경합니다.
ALTER LISTING mylisting PUBLISH;
mylisting
게시를 취소하여 목록을 변경합니다.
ALTER LISTING mylisting UNPUBLISH;
새 설명을 설정하여 mylisting
목록을 변경합니다.
ALTER LISTING mylisting SET COMMENT = 'My listing is ready!';
지정된 YAML 매니페스트 파일 스테이지 위치에서 새 버전을 추가합니다.
ALTER LISTING mylisting ADD VERSION V3 FROM @dbforstage.public.listingstage/listingmanifests;
대상이 수신 매니페스트를 가져와 기존 목록 대상과 병합하도록 목록을 변경합니다.
ALTER LISTING mylisting ADD TARGETS $$manifest$$;
외부 V1 목록에 대상을 추가합니다.
ALTER LISTING mylisting ADD TARGETS $$ targets: accounts: ["Org1.Account1", "Org2.Account2"] $$;
외부 V2 목록에 대상을 추가합니다.
ALTER LISTING mylisting ADD TARGETS $$ external_targets: access: - organization: OrgName2 accounts: [acc1, acc2] $$;
대상을 추가할 때 수신 매니페스트를 가져와 기존 organization_targets
와 병합합니다.
ALTER LISTING mylisting ADD TARGETS $$ organization_targets: access: - account: account2 roles: [role1, role2] $$;
대상을 제거합니다.
ALTER LISTING mylisting REMOVE TARGETS $$manifest$$;
외부 V1 목록에서 대상을 제거합니다.
ALTER LISTING mylisting REMOVE TARGETS $$ targets: accounts: ["Org1.Account1", "Org2.Account2"] $$;
외부 V2 목록에서 대상을 제거합니다.
ALTER LISTING mylisting REMOVE TARGETS $$ external_targets: access: - organization: OrgName2 accounts: [acc1, acc2] $$;
조직 목록에서 대상을 제거합니다.
ALTER LISTING mylisting REMOVE TARGETS $$ organization_targets: access: - account: account1 $$;