앱에 필요한 리소스 지정

이 항목에서는 marketplace.yml 파일을 사용하여 Snowflake Native App 에 대한 리소스 요구 사항을 선언하는 방법에 대해 설명합니다.

marketplace.yml 은 앱의 manifest.yml 파일과 유사한 구성 파일입니다. Snowflake는 다음과 같은 맥락에서 이 파일을 사용합니다:

  • required_compute_poolsconnections 속성에 지정된 오브젝트는 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
Copy

이 예제에서는 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"
Copy

이 예제에서, connection 속성은 LAUNCH_DARKLYOPEN_AI 의 2개 외부 엔드포인트를 지정합니다. required 속성은 Snowsight 의 컨슈머에게 연결이 필요하다는 것을 나타냅니다.

이 파일에서 connection 을 지정하는 경우 endpointsrequired 속성이 필요합니다. 이러한 속성이 없으면 버전 생성이 실패합니다. endpoints 속성에는 1개 이상의 URL이 필요합니다.