클린룸 환경 제거하기¶
클린룸 애플리케이션을 제거합니다¶
계정에서 클린룸 애플리케이션을 완전히 제거하려면 클린룸 애플리케이션이 설치된 Snowflake 계정에서 ACCOUNTADMIN 역할을 사용해야 합니다. 이렇게 하면 클린룸 공급자 및 클린룸 컨슈머 모두 계정의 모든 사용자에 대한 클린룸 환경이 삭제됩니다.
중요
이 프로시저를 수행하면 개별 클린룸뿐만 아니라 전체 환경이 완전히 제거됩니다.
계정에 대한 클린룸 애플리케이션을 제거하려면 다음을 수행합니다.
Snowflake 지원 에 문의하여 계정 메타데이터를 검색하십시오.
Snowflake 지원팀의 지침에 따라 다음 정리 스크립트를 실행합니다.
-- Drop created and installed (joined) clean rooms, if you have not done so. USE ROLE ACCOUNTADMIN -- Drop listings SHOW LISTINGS; SELECT CONCAT('alter listing ', "name", ' unpublish; drop listing ', "name", ';') FROM TABLE(RESULT_SCAN(last_query_id())) WHERE "name" LIKE 'SAMOOHA_CLEANROOM_%'; -- Drop shares SHOW SHARES; SELECT CONCAT('drop share ', "name", ';') FROM TABLE(RESULT_SCAN(last_query_id())) WHERE "kind" = 'OUTBOUND' AND "name" LIKE 'SAMOOHA_CLEANROOM_%'; -- These 3 shares have to be dropped manually: DROP SHARE SAMOOHA_INTERNAL_GOVERNANCE_SUMMARY_SHARE_NAV2; DROP SHARE SAMOOHA_INTERNAL_LOGS_SHARE_NAV2; DROP SHARE SAMOOHA_INTERNAL_PROVIDER_METADATA_NAV2; -- Drop applications SHOW APPLICATIONS; SELECT CONCAT('drop application ', "name", ' cascade;') FROM TABLE(RESULT_SCAN(last_query_id())) WHERE "name" LIKE 'SAMOOHA_CLEANROOM_APP_%'; -- Drop application packages SHOW APPLICATION PACKAGES; SELECT CONCAT('drop application package ', "name", ' cascade;') FROM TABLE(RESULT_SCAN(last_query_id())) WHERE "name" LIKE 'SAMOOHA_CLEANROOM_%'; -- Drop databases SHOW DATABASES; SELECT CONCAT('drop database ', "name", ';') FROM TABLE(RESULT_SCAN(last_query_id())) WHERE "name" = 'SAMOOHA_SAMPLE_DATABASE' OR "name" LIKE 'SAMOOHA_CLEANROOM_%' OR "name" = 'SAMOOHA_BY_SNOWFLAKE_LOCAL_DB' OR "name" LIKE 'SAMOOHA_INTERNAL_GOVERNANCE_%' AND NOT startswith("name", 'SAMOOHA_CLEANROOM_CONSUMER_'); -- Finally drop the Snowflake native app DROP APPLICATION SAMOOHA_BY_SNOWFLAKE CASCADE;
생성한 클린룸 삭제¶
다음 번에 클린룸 웹 앱을 열면 공유 사용자에게 더 이상 클린룸이 표시되지 않습니다. 클린룸이 삭제될 때 분석이 진행 중인 경우, 클린룸이 삭제되기 전에 분석이 완료되지 않을 수 있습니다.
API 를 사용하여 단일 클린룸을 삭제 하려면 provider.drop_cleanroom 을 호출합니다.
생성한 클린룸 목록을 보려면 provider.view_cleanrooms 을 호출합니다.
USE ROLE samooha_app_role; USE WAREHOUSE app_wh; -- List created and published clean rooms CALL samooha_by_snowflake_local_db.provider.view_cleanrooms(); SELECT CLEANROOM_ID AS "cleanroom_name" FROM TABLE(RESULT_SCAN(last_query_id())) WHERE STATE = 'CREATED' AND IS_PUBLISHED = TRUE; -- Specify a clean room name from the list and drop it CALL samooha_by_snowflake_local_db.provider.drop_cleanroom($cleanroom_name);
클린룸 제거¶
컨슈머로 설치(조인)한 클린룸을 제거할 수 있습니다. 이렇게 하면 계정의 모든 사용자에 대한 클린룸이 제거됩니다.
API 를 사용하여 단일 클린룸을 제거(조인 해지)하려면 consumer.uninstall_cleanroom 을 호출합니다.
설치된(조인한) 클린룸 목록을 보려면 samooha_by_snowflake_local_db.consumer.view_cleanrooms 를 호출하고 행을 IS_ALREADY_INSTALLED = TRUE 로 필터링하십시오. 여기에는 단순히 조인 초대가 아닌 설치된 클린룸이 표시됩니다.
USE ROLE samooha_app_role; USE WAREHOUSE app_wh; CALL samooha_by_snowflake_local_db.consumer.view_cleanrooms(); SELECT CLEANROOM_ID AS "cleanroom_name" FROM TABLE(RESULT_SCAN(last_query_id())) WHERE IS_ALREADY_INSTALLED = TRUE; CALL samooha_by_snowflake_local_db.consumer.uninstall_cleanroom($cleanroom_name);