ALTER LISTING¶
인라인 :doc:` 매니페스트가 있는 </collaboration/collaboration-listings-about>목록 `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 권한. 스키마에 대한 모든 권한이 부여된 역할은 스키마를 확인할 수 있습니다. 예를 들어, 스키마에 대해 CREATE 권한을 부여받은 역할은 해당 스키마에 대한 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 $$;