クリーンルーム環境のアンインストール¶
クリーンルームアプリケーションのアンインストール¶
アカウントからクリーンルームアプリケーションを完全にアンインストールするには、クリーンルームアプリケーションがインストールされている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);