앱에 필요한 리소스 지정¶
이 항목에서는 marketplace.yml
파일을 사용하여 Snowflake Native App 에 대한 리소스 요구 사항을 선언하는 방법에 대해 설명합니다.
marketplace.yml
은 앱의 manifest.yml
파일과 유사한 구성 파일입니다. Snowflake는 다음과 같은 맥락에서 이 파일을 사용합니다:
required_compute_pools
및connections
속성에 지정된 오브젝트는 Snowsight 의 목록에 나타납니다. 이를 통해 컨슈머는 앱에 필요한 리소스를 확인할 수 있습니다.이 파일은 불필요한 리소스를 만들거나 사용하는 것을 방지하는 데 도움이 될 수 있습니다. 예를 들어, 컨슈머가 설치할 수 없는 리전에 애플리케이션 패키지를 복제하는 것을 방지할 수 있습니다. 컨슈머가 원격 리전 목록을 요청하기 전에 Snowflake는 컨슈머가
marketplace.yml
파일에 선언된 리소스 요구 사항을 충족하는지 확인합니다. 이렇게 하면 불필요한 복제 비용을 방지하는 데 도움이 됩니다.애플리케이션을 설치 및 업그레이드하기 전에 Snowsight 는 요구 사항이 충족되는지 확인하여 고장나거나 사용할 수 없는 애플리케이션을 설치하거나 작동 중인 애플리케이션을 사용할 수 없는 상태로 업그레이드하는 것을 방지합니다.
이 선택적 파일은 앱의 루트 디렉터리에서 manifest.yml
파일과 동일한 수준에 위치해야 합니다. 이 파일이 없으면 아무 작업도 수행되지 않습니다.
앱에 필요한 컴퓨팅 풀을 지정합니다.¶
다음 예제에서는 앱의 특정 버전에 필요한 컴퓨팅 풀 리소스를 지정하는 방법을 보여줍니다.
required_compute_pools:
- HIGH_MEM_POOL_1:
label: "High memory pool"
description: "A compute pool for computational tasks."
compatible_instance_families:
- HIGHMEM_X64_M
- HIGHMEM_X64_L
이 예제에서는 required_compute_pools
이름이 HIGH_MEM_POOL_1
인 컴퓨팅 풀을 사용합니다.
compatible_instance_families
속성은 컴퓨팅 풀에 프로비저닝할 머신의 유형을 지정합니다. 각 컴퓨팅 풀에 대해 최소한 하나의 값을 선언해야 합니다. 자세한 내용은 CREATE COMPUTE POOL 섹션을 참조하십시오.
참고
compatible_instance_families
속성이 누락되었거나 값이 잘못되어 버전 생성에 실패합니다.
앱에 필요한 외부 엔드포인트를 지정합니다.¶
다음 예제에서는 앱에 필요한 외부 엔드포인트를 선언하는 방법을 보여줍니다.
connections:
- LAUNCH_DARKLY:
label: "Launch Darkly"
description: "Feature flag and configuration"
required: true
endpoints:
- "mobile.launchdarkly.com"
- "stream.launchdarkly.com"
- OPEN_AI:
label: "OpenAPI"
description: "LLM Connection"
required: false
endpoints:
- "openai.com"
이 예제에서, connection
속성은 LAUNCH_DARKLY
및 OPEN_AI
의 2개 외부 엔드포인트를 지정합니다. required
속성은 Snowsight 의 컨슈머에게 연결이 필요하다는 것을 나타냅니다.
이 파일에서 connection
을 지정하는 경우 endpoints
및 required
속성이 필요합니다. 이러한 속성이 없으면 버전 생성이 실패합니다. endpoints
속성에는 1개 이상의 URL이 필요합니다.