템플릿

템플릿은 지정된 공동 작업자가 실행할 수 있는 JinjaSQL 클린룸 템플릿입니다. 모든 공동 작업자는 공동 작업에서 공동 작업자와 템플릿을 공유할 수 있습니다. 자신의 계정에 등록된 템플릿만 추가하거나 제거하도록 요청할 수 있습니다.

템플릿을 등록하고 공동 작업에 추가하는 방법을 알아보려면 계속 읽으세요.

템플릿 등록

템플릿을 등록하려면 다음 단계를 따릅니다.

  1. :ref:`공동 작업을 위한 템플릿을 디자인 <label-dcr_design_collaboration_template>`하고 :ref:`템플릿 사양 <label-dcr_collaboration_template_yaml>`에 포함합니다.

  2. REGISTER_TEMPLATE을 호출하여 템플릿을 등록합니다. 이는 템플릿을 연결하는 데 사용할 템플릿 ID를 반환합니다.

템플릿이 등록되면 해당 레지스트리에 대한 읽기 액세스 권한이 있는 모든 사용자가 공동 작업에 연결할 수 있습니다.

템플릿 추가

템플릿 추가 요청 프로세스는 공동 작업이 이미 존재하는지에 따라 달라집니다.

  • 공동 작업이 생성되기 전에 템플릿을 추가 하려면 템플릿 ID를 공동 작업 소유자에게 제공합니다. 공동 작업 소유자는 이를 공동 작업 사양 에 포함하여 템플릿을 실행할 수 있는 대상을 지정합니다. 다음 공동 작업 코드 조각에서 alicebob_template_v1 템플릿을 실행할 수 있는 액세스 권한이 부여되었습니다.

    ...
    analysis_runners:
      alice:
        templates:
        - id: bob_template_v1
    ...
    
  • 기존 공동 작업에 템플릿을 추가하려면 다음 단계에 따라 모든 잠재적 공유자에게 요청을 보냅니다.

    1. 템플릿 ID와 함께 ADD_TEMPLATE_REQUEST를 호출하여 특정 사용자를 대상으로 특정 공동 작업에 템플릿을 추가하는 승인 흐름을 시작합니다.

      템플릿의 영향을 받는 모든 공동 작업자는 VIEW_UPDATE_REQUESTS를 호출할 때 요청을 확인합니다.

    2. PENDING_MY_APPROVAL 상태의 요청을 확인하는 공동 작업자는 APPROVE_UPDATE_REQUEST 또는 REJECT_UPDATE_REQUEST를 호출해야 합니다.

      • 공동 작업자가 요청을 거부하면 업데이트 요청이 거부됩니다.

      • 공동 작업자는 나중에 승인을 거부로 변경하거나 거부를 승인으로 변경할 수 없습니다.

      • 템플릿은 모든 요청 당사자가 요청을 승인할 때까지 공유되지 않습니다.

      • 공동 작업자는 나중에 승인을 거부로 변경하거나 거부를 승인으로 변경할 수 없습니다.

      • 승인 후 다른 공동 작업자가 계속 승인해야 하는 경우 상태가 PENDING_PARTNER_APPROVAL로 변경됩니다.

    3. 모든 필수 공동 작업자가 승인한 경우 상태가 APPROVED로 변경되고 업데이트가 자동으로 적용됩니다. 업데이트 요청의 터미널 상태는 COMPLETED 및 FAILED입니다. 요청 상태가 COMPLETED인 경우 템플릿 추가 요청에 지정된 사용자가 템플릿을 사용할 수 있습니다. 요청 상태가 FAILED인 경우, 실패 세부 정보는 VIEW_UPDATE_REQUESTS에서 DETAILS 열을 참조하세요. 공동 작업자가 요청을 거부하는 경우 상태는 REJECTED로 변경되고 거부 당사자가 제공한 모든 이유가 요청 보고서에 표시됩니다.

    4. 모든 사용자가 템플릿을 승인한 후 템플릿을 사용할 수 있을 때까지 약간의 지연이 있을 수 있습니다. VIEW_TEMPLATES를 호출하여 템플릿을 사용할 수 있는지 확인합니다.

등록한 템플릿을 확인하려면 VIEW_REGISTERED_TEMPLATES를 호출합니다.

분석을 실행하는 방법을 알아보려면 분석 실행 섹션을 참조하세요.

템플릿 디자인

공동 작업 템플릿은 공급자 및 컨슈머 클린룸 템플릿 과 동일하지만 다음과 같은 몇 가지 고려 사항이 있습니다.

  • 템플릿의 source_table 변수는 공동 작업의 데이터 오퍼링으로 채워집니다. 대부분의 공동 작업 템플릿에서 source_table 은 사용되는 유일한 데이터 소스 변수입니다.

  • 템플릿의 my_table 은 분석 실행자가 Snowflake Standard Edition을 사용하고 공동 작업에 데이터 오퍼링을 기여할 수 없는 경우에만 사용됩니다.

  • 원래 데이터 소스의 열은 템플릿이나 사용자에게 노출될 때 이름을 바꿀 수 있습니다. 소스 열의 이름을 바꾸는 방법과 시기를 알아보려면 소스 열 이름 바꾸기 섹션을 참조하세요. 템플릿 및 사용자가 제공한 인자(예: 참여 열 이름)는 열 이름이 바뀐 경우 원래 이름이 아닌 최종 이름을 사용해야 합니다.

  • 공동 작업의 활성화 템플릿에는 activation_<template_name> 이름을 지정할 필요가 없습니다. 기타 모든 :ref:`활성화 템플릿 요구 사항 <label-dcr_custom_templates_activation>`은 계속 적용됩니다.

Snowflake Data Clean Rooms의 사용자 지정 템플릿 구문에 대한 자세한 내용은 사용자 지정 템플릿 디자인 섹션을 참조하세요.