조직 리스팅 매니페스트 참조
조직 리스팅 매니페스트 참조
제공자(Provider)로서 조직 리스팅을 사용해 조직 내에서 데이터 제품을 안전하게 공유할 수 있어요. 조직 리스팅을 프로그래밍 방식으로 만들려면 YAML(https://yaml.org/spec/)로 작성된 매니페스트가 필요해요. 여기 제공된 정보를 사용해 매니페스트 형식과 개별 필드에 대해 알아보세요.
본문
조직 리스팅 필드는 더 큰 리스팅 매니페스트 참조의 일부예요. 조직 리스팅 필드를 프로그래밍 방식으로 추가하거나 수정하려면 DESCRIBE LISTING 및 ALTER LISTING 명령을 사용해 리스팅 매니페스트를 찾아 수정해요.
조직 리스팅 매니페스트
주의 조직 리스팅 필드는 다음 중 하나일 수 있어요.
- 선택 사항 — 조직 리스팅에서 선택 사항.
- 필수 — 조직 리스팅에서 필수.
조직 리스팅 매니페스트의 일반 형식은 다음과 같아요.
#
# Organization listing manifest
#
title: <Required listing title>
description: <listing description>
resources: <optional listing resources>
listing_terms: <optional listing terms>
data_dictionary: <optional data dictionary>
usage_examples: <optional usage examples>
data_attributes: <optional data attributes>
organization_profile: <Optional custom organization profile. Default "INTERNAL">
organization_targets:
- # Required
support_contact: "<support email address>"
- # Required
approver_contact: "<approver email address>"
- # Required when the organization_targets includes the organization_targets.discovery field
request_approval_type:
- # Optional. Can be REQUEST_AND_APPROVE_IN_SNOWFLAKE or REQUEST_AND_APPROVE_OUTSIDE_SNOWFLAKE.
locations:
- # Optional list of regions to share into.
auto_fulfillment:
- # Required when the target accounts are outside the provider's region, otherwise optional.
resharing:
enabled: true # Optional. Controls whether the listing can be reshared by consumers.
custom_attributes: <organization-defined custom attributes> # Required or optional, depending on organization configuration.
조직 리스팅 필드
조직 리스팅 매니페스트에는 접두사와 필수·선택 필드 집합이 포함돼요.
조직 리스팅 접두사
각 조직 리스팅 매니페스트는 다음 필드로 시작해요.
title(문자열, 필수, 최대 길이 110): 리스팅 제목.description(문자열, 선택, 최대 길이 7500): 리스팅 설명. Markdown 구문이 지원돼요.resources(문자열, 선택): 리스팅의 리소스.listing_terms(하위 필드가 있는 상위 필드, 선택): 리스팅의 약관.organization_profile(문자열, 선택): 선택적인 사용자 정의 조직 프로필. 지정하지 않으면INTERNAL로 기본 설정돼요.
resources
리스팅의 리소스.
선택 필드 resources는 다음 이름-값 쌍을 포함해요.
resources.documentation(문자열, 필수): 리스팅에 대한 더 자세한 문서가 있는 웹사이트 페이지에 대한 정규화된 링크.http또는https로 시작해야 해요.resources.media(문자열, 선택): 리스팅에 대한 비공개 또는 공개 YouTube 동영상에 대한 정규화된 링크.
이 필드에 포함할 수 있는 정보 유형에 대한 자세한 내용은 추가 필드를 참고하세요.
resources 예시
. . .
resources:
documentation: https://www.example.com/documentation/
media: https://www.youtube.com/watch?v=MEFlT3dc3uc
. . .
listing_terms
리스팅에 대한 서비스 약관을 정의해요.
선택 필드 listing_terms는 다음 이름-값 쌍을 포함해요.
listing_terms.type—CUSTOM.CUSTOM만 지원돼요.listing_terms.type을 지정하면listing_terms.link에 대한 값도 지정해야 해요.listing_terms.link: 제공자의 리스팅 약관에 대한 정규화된 링크.http또는https로 시작해야 해요.
자세한 내용은 기본 정보 표의 서비스 약관(Terms of Service)을 참고하세요.
주의 소비자는 프로그래밍 방식으로 리스팅 약관을 수락할 수 있어요. 자세한 내용은 Snowflake 지원에 문의하세요.
listing_terms 예시
. . .
listing_terms:
type: "CUSTOM"
link: "http://example.com/my/listing/terms"
. . .
data_dictionary
선택 필드 data_dictionary는 리스팅 내 객체에 대한 데이터 미리보기와 열 유형 정보를 제공해요.
data_dictionary 필드는 최대 5개의 데이터 사전 항목 목록을 포함해요.
data_dictionary.featured(data_dictionary사용 시 필수): 'featured'여야 해요.data_dictionary.featured.database(data_dictionary사용 시 필수): 데이터베이스 이름.data_dictionary.featured.objects(data_dictionary사용 시 필수): 다음 이름-값 쌍의 목록.name(문자열, 필수): 객체 이름.schema(문자열, 필수): 데이터 사전과 연결된 스키마.domain(필수): 다음 중 하나.DATABASESCHEMATABLEVIEWEXTERNAL_TABLEMATERIALIZED_VIEWDIRECTORY_TABLEFUNCTIONCOLUMN
자세한 내용은 데이터 사전 문서를 참고하세요.
data_dictionary 예시
. . .
data_dictionary:
featured:
database: "WEATHERDATA"
objects:
- name: "GLOBAL_WEATHER"
schema: "PUBLIC"
domain: "TABLE"
- name: "GLOBAL_WEATHER_REPORT"
schema: "PUBLIC"
domain: "TABLE"
. . .
usage_examples
선택 필드 usage_examples는 다음 이름-값 쌍의 목록을 포함해요.
usage.title(문자열, 필수): 사용 예시 제목. 최대 길이는 110자예요.usage.description(문자열, 선택): 사용 예시에 대한 설명. 최대 길이는 300자예요.usage.query(문자열, 필수): 사용 예시와 연결된 쿼리. 최대 길이는 30000자예요.
자세한 내용은 Secure Share 데이터 제품을 가진 공개 리스팅에 필수 문서를 참고하세요.
usage_examples 예시
. . .
usage_examples:
- title: "Return all weather for the US"
description: "Example of how to select weather information for the United States"
query: "select * from weather where country_code='USA'"
. . .
data_attributes
데이터 속성은 소비자에게 리스팅 정보를 제공해요.
선택 필드 data_attributes는 다음 이름-값 쌍을 포함해요.
data_attributes.refresh_rate(필수): 데이터 제품이 Snowflake에서 얼마나 자주 업데이트되는지 지정해요. 다음 중 하나.CONTINUOUSLY(연속),HOURLY(매시간),DAILY(매일),WEEKLY(매주),MONTHLY(매월),QUARTERLY(분기별),ANNUALLY(매년),STATIC(정적)
data_attributes.geography(필수): 데이터 제품의 지리 정보를 지정해요.granularity(문자열, 필수): 데이터셋의 지리적 범위. 다음 중 하나.LATITUDE_LONGITUDE,ADDRESS,POSTAL_CODE,CITY,COUNTY,STATE,COUNTRY,REGION_CONTINENT
geo_option(문자열, 필수): 다음 중 하나.NOT_APPLICABLE,GLOBAL,COUNTRIES
coverage(geo_option선택에 따라 필수):states(주 목록): 유효한 미국 주 이름을 포함하는 모든 목록. 또는continents(대륙 목록): 다음 중 하나.ASIA,EUROPE,AFRICA,NORTH AMERICA,SOUTH AMERICA,OCEANIA,ANTARCTICA
time(필수): 데이터 제품의 기간을 지정해요.granularity(필수): 다음 중 하나.EVENT_BASED,HOURLY,DAILY,WEEKLY,MONTHLY,YEARLY
time_range(필수): 다음 이름/값 쌍을 포함.time_frame(필수): 다음 중 하나.NEXT,LAST,BETWEEN
unit(필수): 다음 중 하나.DAYS,WEEKS,MONTHS,YEARS
value(time_frame이NEXT/LAST일 때 필수, 정수). 범위는 1~100.start_time(time_frame이BETWEEN일 때 필수, String 날짜). 데이터 제품의 시작 시간. 형식은MM-DD-YYYY.end_time(time_frame이BETWEEN일 때 필수, String 날짜). 형식MM-DD-YYYY.
데이터 제품 속성에 대한 추가 정보는 공개 리스팅에 필수 문서를 참고하세요.
data_attributes 예시
. . .
data_attributes:
refresh_rate: DAILY
geography:
granularity:
- REGION_CONTINENT
geo_option: COUNTRIES
coverage:
continents:
ASIA:
- INDIA
- CHINA
NORTH AMERICA:
- UNITED STATES
- CANADA
EUROPE:
- UNITED KINGDOM
time:
granularity: MONTHLY
time_range:
time_frame: LAST
unit: MONTHS
value: 6
organization_targets
필수 필드 organization_targets는 누가 리스팅을 발견하고 접근할 수 있는지 정의해요.
discovery와 access 필드를 포함하며 그중 하나를 지정해야 해요.
discovery—access가 지정되지 않았을 때 필수, 그 외에는 선택. 누가 리스팅을 발견할 수 있는지 정의해요. 없으면 어떤 계정도 리스팅을 발견할 수 없어요.access—discovery가 지정되지 않았을 때 필수, 그 외에는 선택. 누가 리스팅에 접근할 수 있는지 정의해요.
discovery와 access는 모두 같은 하위 필드를 포함해요.
다음 중 하나:
all_internal_accounts: {true | false}—true면 모든 내부 계정이 리스팅을 찾거나 접근할 수 있어요.false면 어떤 계정도 찾거나 접근할 수 없어요.
또는 계정 배열과, 지정된 계정 내의 선택적 roles 배열.
-
account: "<account_name>"—roles가 있으면 계정 내에서 리스팅에 접근하거나 발견할 수 있는 역할 목록을 지정해요. 예를 들어:roles: ['role1','role2']
organization_targets 예시
다음 예시들은 discovery와 access 필드의 다양한 조합을 보여줘요.
조직의 모든 내부 계정이 리스팅을 발견하고 접근할 수 있음
. . .
organization_targets:
discovery:
- all_internal_accounts : true
access:
- all_internal_accounts : true
. . .
발견 가능하지만 제한된 계정만 접근 가능
조직 내 모든 내부 계정이 리스팅을 발견할 수 있지만, finance 계정만 접근할 수 있어요.
. . .
organization_targets:
discovery:
- all_internal_accounts : true
access:
- account: 'finance'
. . .
발견 가능하지만 일부 선별된 계정만 접근 가능
조직 내 모든 내부 계정이 리스팅을 발견할 수 있지만, finance 또는 credit 계정의 계정만 접근할 수 있어요.
. . .
organization_targets:
discovery:
- all_internal_accounts : true
access:
- account: 'finance'
- account: 'credit'
. . .
발견 가능하지만 제한된 계정과 특정 역할만 접근 가능
조직 내 모든 내부 계정이 리스팅을 발견할 수 있지만, finance 계정에서 accounting 또는 debit 역할이 있는 계정만 접근할 수 있어요.
. . .
organization_targets:
discovery:
- all_internal_accounts : true
access:
- account: 'finance'
roles: [ 'accounting','debit']
. . .
support_contact
리스팅과 연결된 지원 정보의 이메일 주소.
discovery 필드가 지정된 경우 필수예요.
. . .
support_contact: "[email protected]"
. . .
approver_contact
리스팅 승인자의 이메일 주소.
discovery 필드가 지정된 경우 필수예요.
. . .
approver_contact: "[email protected]"
. . .
request_approval_type
승인 요청과 승인이 Snowflake 내부 또는 외부에서 발생할지 정의해요. 다음 값 중 하나를 지정해요.
NULLREQUEST_AND_APPROVE_IN_SNOWFLAKE— 접근 요청이 Snowflake 환경 내에서 제출되고 승인됨을 나타내요.REQUEST_AND_APPROVE_OUTSIDE_SNOWFLAKE— 제공자가 접근 요청 제출과 승인을 독립적으로 관리함을 나타내요.
외부 리스팅의 값은 항상 NULL이에요.
. . .
request_approval_type: "REQUEST_AND_APPROVE_IN_SNOWFLAKE"
. . .
locations
리스팅을 발견하거나 접근할 수 있는 선택적 위치를 지정해요.
locations가 지정되면 access_regions 필드가 필수이며, 다음 하위 필드 중 하나를 포함해야 해요.
-
ALL— 모든 리전이 리스팅을 발견하거나 접근할 수 있어요. -
앞에
PUBLIC이 붙은 리전 이름 배열 — 리스팅을 발견하거나 접근할 수 있는 리전. 예를 들어:access_regions: - name: PUBLIC.AWS_US_WEST_2. . . locations: access_regions: - name: "<names | ALL>" . . .
리전의 전체 목록은 SHOW REGIONS 문서를 참고하세요.
auto_fulfillment
Cross-Cloud Auto-fulfillment는 리스팅과 연결된 데이터 제품이 다른 Snowflake 리전으로 자동으로 이행되게 해줘요. auto_fulfillment 필드는 그 자동 이행이 어떻게 이루어지는지 정의해요.
Cross-Cloud Auto-fulfillment에 대한 자세한 내용은 리스팅 자동 이행 문서를 참고하세요.
자동 이행은 여러 리전에 데이터를 공유하는 경우에만 필요해요. 같은 리전의 계정에 공유한다면 활성화하지 마세요.
여러 리전에 데이터를 공유한다면 auto_fulfillment는:
- 데이터 제품이 애플리케이션 패키지라면 필수.
- 데이터 제품이 프라이빗 리스팅을 통해 공유된다면 필수.
- 데이터 제품이 공개 리스팅을 통해 공유된다면 권장.
다음 이름 값 쌍을 포함해요.
auto_fulfillment.refresh_schedule<num> MINUTE— 분 단위. 최소 10분, 최대 8일 또는 11520분.refresh_type을SUB_DATABASE_WITH_REFERENCE_USAGE로 지정했다면 이 설정을 포함하지 마세요. 애플리케이션 패키지의 새로고침 일정은 계정 수준에서 정의해야 하며 리스팅 수준에서는 지정할 수 없어요. 자세한 내용은 계정 수준 새로고침 간격 설정 문서를 참고하세요.USING CRON <expression>— 데이터 제품 자동 이행 새로고침 일정을 정의해요.USING CRON구문과REPLICATION SCHEDULE구문은 동일해요. 파라미터를 참고하세요.
auto_fulfillment.refresh_type(auto_fulfillment사용 시 필수): 다음 중 하나여야 해요.SUB_DATABASE— 데이터베이스 복제(객체 수준). 권장.SUB_DATABASE_WITH_REFERENCE_USAGE— 애플리케이션 패키지.FULL_DATABASE— 데이터베이스 복제(전체 데이터베이스). (더 이상 사용되지 않음.)
auto_fulfillment.refresh_schedule_override(선택): 같은 데이터베이스를 사용하는 모든 리스팅에 대해 정의된 업데이트 새로고침 빈도를 재정의해요. 이 값이FALSE이면 같은 데이터베이스를 공유하는 여러 리스팅의 새로고침 빈도가 다를 때 리스팅 업데이트가 실패해요.TRUE— 새로고침 빈도 재정의를 활성화.FALSE— (기본값) 새로고침 빈도 재정의를 비활성화.
auto_fulfillment.warehouse(선택): 크로스 리전 재공유(resharing)를 위한 숨겨진 동적 테이블을 만들고 새로고침하는 데 사용되는 웨어하우스의 이름. 이 웨어하우스는 재공유 유지 관리 작업에만 사용돼요. 리스팅이 재공유된 리스팅일 때 필수. 재공유되지 않은 리스팅에서는 생략할 수 있어요. 자세한 내용은 재공유자로서 수신 데이터 재공유 문서를 참고하세요.
리스팅 자동 이행도 참고하세요.
auto_fulfillment.refresh_schedule 예시
다음 예시는 리스팅과 연결된 데이터 제품을 매 10분마다 새로고침해요.
. . .
listing_terms: . . .
. . .
auto_fulfillment:
refresh_schedule: 10 MINUTE
refresh_type: SUB_DATABASE
. . .
다음 예시는 특정 리전의 특정 요일과 시간에 리스팅과 연결된 데이터 제품을 새로고침해요.
. . .
listing_terms: . . .
. . .
auto_fulfillment:
refresh_schedule: USING CRON 0 17 * * MON-FRI Europe/London
refresh_type: SUB_DATABASE
. . .
다음 예시는 같은 데이터베이스를 공유하지만 새로고침 빈도가 다른 리스팅에 대해 새로고침 빈도 재정의를 활성화해요.
. . .
listing_terms: . . .
. . .
auto_fulfillment:
refresh_schedule: 10 MINUTE
refresh_type: SUB_DATABASE
refresh_schedule_override: TRUE
. . .
Snowflake Native App 자동 이행 예시
SUB_DATABASE_WITH_REFERENCE_USAGE는 애플리케이션 패키지에서만 사용할 수 있으며 auto_fulfillment.refresh_schedule과 결합할 수 없어요.
. . .
listing_terms: . . .
. . .
auto_fulfillment:
refresh_type: SUB_DATABASE_WITH_REFERENCE_USAGE
. . .
객체 수준 자동 이행 예시
. . .
listing_terms: . . .
. . .
auto_fulfillment:
refresh_type: SUB_DATABASE
. . .
resharing
resharing 필드는 리스팅의 소비자가 데이터 제품을 다른 계정으로 재공유할 수 있는지 제어해요.
재공유에 대한 자세한 내용은 리스팅 재공유 문서를 참고하세요.
다음 이름-값 쌍을 포함해요.
resharing.enabled(선택): 리스팅의 재공유를 활성화하거나 비활성화해요.true— (기본값) 소비자가 리스팅 데이터를 재공유하도록 허용.false— 소비자가 리스팅 데이터를 재공유하지 못하게 방지.
resharing.only_within_organization(선택): 소비자가 리스팅을 자기 조직 내에서만 재공유할 수 있는지, 다른 조직과도 재공유할 수 있는지 지정해요.true— 소비자는 자기 조직 내에서만 리스팅을 재공유할 수 있어요.false— 소비자는 자기 조직 밖에서도 리스팅을 재공유할 수 있어요. 조직 리스팅의 기본 동작은 재공유를 같은 조직 내로 제한해요. 자세한 내용은 리스팅을 재공유하는 소비자가 특정 조직에만 재공유하도록 요구를 참고하세요.
resharing 예시
다음 예시는 리스팅에서 재공유를 활성화해요.
. . .
listing_terms: . . .
. . .
resharing:
enabled: true
. . .
다음 예시는 소비자의 조직 내에서만 리스팅 재공유를 활성화해요.
. . .
listing_terms: . . .
. . .
resharing:
enabled: true
only_within_organization: true
. . .
custom_attributes
custom_attributes 필드는 제공자가 조직에서 정의한 사용자 정의 속성을 리스팅에 적용할 수 있게 해줘요. 이 필드를 포함해야 하는지 여부는 조직 관리자가 각 사용자 정의 속성을 어떻게 구성했는지에 따라 달라져요.
목록의 각 항목은 다음 필드를 포함해요.
name(문자열, 필수): 조직 관리자가 정의한 사용자 정의 속성 구성의 이름.values(목록, 필수):single_select및multi_select속성의 경우 속성의 허용된 값에서 하나 이상의 표시 이름.free_text속성의 경우 단일 값(최대 길이 300자).
custom_attributes 예시
. . .
custom_attributes:
- name: DATA_CATEGORY_CONFIG
values:
- Finance
. . .
사용자 정의 속성 만들기와 지원되는 속성 유형에 대한 자세한 내용은 Internal Marketplace의 사용자 정의 속성 문서를 참고하세요.