개발자 APIs를 사용하여 활성화를 위해 공급자에게 결과 보내기¶
일부 경우 공동 작업자는 컨슈머가 분석을 실행한 다음, 그 결과를 공급자에게 푸시하여 활성화하기를 원합니다. 이 항목에서는 개발자 APIs를 사용하여 컨슈머에서 공급자에게 결과를 전송하는 방법을 설명합니다.
공급자 활성화의 기본적인 플로우는 다음과 같습니다.
- 공급자:
- 컨슈머:
공급자의 템플릿을 실행 하여 결과를 공급자의 Snowflake 계정으로 다시 보냅니다.
- 공급자:
Snowflake 계정의 테이블에서 결과를 확인 합니다.
공급자 활성화를 위한 템플릿 만들기¶
결과를 활성화하는 데 사용되는 템플릿은 분석을 실행하는 데 사용되는 템플릿과 유사합니다. 예를 들어, 활성화 템플릿은 분석 템플릿처럼 provider.add_custom_sql_template
명령으로 클린룸에 추가됩니다. 그러나 활성화 템플릿에는 다음과 같은 중요한 차이점이 있습니다.
활성화 템플릿의 이름은
activation
문자열로 시작해야 합니다. 예를 들어, 이름이activation_my_template
인 활성화 템플릿은 요구 사항을 충족합니다.활성화 템플릿은 특정 규칙을 따르는 이름으로 테이블을 생성하고 테이블 이름을 명시적으로 반환해야 합니다.
활성화 템플릿에서 테이블 정의하기¶
활성화 결과를 클린룸에 보관하려면 모든 활성화 템플릿에서 테이블을 생성해야 합니다. 이 테이블에는 다음의 두 가지 요구 사항이 있습니다.
테이블 이름은
cleanroom.activation_data_
문자열로 시작해야 합니다. 예를 들어, 이름이cleanroom.activation_data_analysis_results
테이블은 요구 사항은 충족합니다.템플릿 정의에서 테이블을 생성하는 부분은 테이블의 이름을 형성하기 위해
cleanroom.activation_data_
에 추가된 문자열을 반환해야 합니다. 예를 들어, 테이블 이름이cleanroom.activation_data_analysis_results
인 경우analysis_results
문자열이 반환되어야 합니다.
다음은 테이블을 정의하고 내보내기 위해 템플릿 정의에 포함되어야 하는 내용의 예입니다.
BEGIN
CREATE OR REPLACE TABLE cleanroom.activation_data_analysis_results AS
SELECT * FROM identifier({{ my_table[0] }})
RETURN 'analysis_results';
END;
provider.add_custom_sql_template
명령을 호출하여 클린룸에 활성화 템플릿을 추가하는 방법에 대한 자세한 내용은 Snowflake Data Clean Rooms: 공급자 API 참조 가이드 섹션을 참조하십시오.
필수 테이블 연결¶
공급자 활성화를 활성화하려면 공급자가 samooha_by_snowflake_local_db.library.temp_public_key
테이블을 클린룸에 연결한 후 이를 컨슈머와 공유해야 합니다. 예를 들어, 필수 테이블을 my_activation_cleanroom
클린룸에 연결하려면 다음을 실행합니다.
CALL samooha_by_snowflake_local_db.provider.link_datasets(
'my_activation_cleanroom',
['samooha_by_snowflake_local_db.library.temp_public_key']);
다른 테이블과 뷰를 연결할 때 단일 호출을 사용하여 필요한 테이블을 연결할 수도 있습니다.
결과를 공급자에게 다시 보내기¶
컨슈머는 consumer.run_activation
명령을 호출하여 활성화 템플릿을 실행하는 방식으로 결과를 공급자에게 다시 전송하며, 이는 consumer.run_analysis
명령을 실행하는 것과 유사합니다. 차이점은 두 번째 인자로, 이 인자는 공급자가 활성화 내용을 파악하는 데 도움이 되는 문자열을 지정합니다.
예를 들어, 컨슈머는 다음을 호출할 수 있습니다.
CALL samooha_by_snowflake_local_db.consumer.run_activation(
'activation_clean_room',
'my_activation_segment',
'activation_custom_template',
['consumer_source_table'],
['provider_source_table'],
object_construct(
'dimensions', ['p.CAMPAIGN'],
'where_clause', 'p.EMAIL=c.EMAIL'
));
consumer.run_activation
명령의 구문에 대한 자세한 내용은 Snowflake Data Clean Rooms: 컨슈머 API 참조 가이드 섹션을 참조하십시오.
공급자로서 활성화된 결과 보기¶
컨슈머가 결과를 공급자에게 활성화한 후, 공급자는 Snowflake 계정에서 이러한 결과를 볼 수 있습니다(클린룸 환경 아님). 결과를 보려면 공급자가 Snowflake 계정에 로그인하기 전에 클린룸 환경에 로그인해야 합니다.
자세한 내용은 활성화된 결과 보기 섹션을 참조하십시오.