Gestion de la réplication automatique dans le Cloud Snowflake Data Clean Rooms¶
À propos de l’exécution automatique inter-Cloud¶
Dans l’environnement de clean room par défaut, une clean room ne peut être partagée qu’avec des comptes de la même région Cloud. En d’autres termes, le fournisseur et le consommateur doivent se trouver dans la même région Cloud.
Si vous souhaitez collaborer avec un collaborateur dont le compte se trouve dans une région différente de la vôtre, vous devez activer l’exécution automatique inter-Cloud pour votre environnement de clean room et votre clean room, comme indiqué sur cette page.
Vous pouvez déterminer votre propre région Cloud en lançant SELECT CURRENT_REGION();
Permettre l’exécution automatique inter-Cloud¶
Pour permettre à des collaborateurs d’une autre région de travailler :
L’administrateur de la clean room doit activer l’exécution automatique inter-Cloud pour le compte de la clean room dans les comptes du fournisseur et du consommateur.
L’étape suivante dépend de votre environnement :
Lorsque vous créez ou rejoignez une clean room dans l’UI, aucune étape supplémentaire n’est nécessaire.
Lors de la création d’une clean room avec l’API, le fournisseur et le consommateur doivent prendre des mesures supplémentaires décrites ci-dessous pour permettre l’utilisation inter-Cloud.
Activer l’exécution automatique inter-Cloud pour un compte de clean room¶
Un administrateur de clean rooms doit suivre les étapes suivantes dans l’UI ou l’API pour activer l’exécution automatique inter-Cloud pour un compte de clean room :
Accédez à la page de connexion Snowflake Data Clean Rooms.
Saisissez votre adresse e-mail et sélectionnez Continue.
Entrez votre mot de passe.
Si vous êtes associé à plusieurs environnements de salles blanches, sélectionnez le compte Snowflake que vous êtes en train de configurer.
Sélectionnez Admin > Snowflake Admin.
Sélectionnez Login to Snowflake et authentifiez-vous en tant qu’utilisateur de Snowflake avec le rôle ACCOUNTADMIN.
Basculez sur Cross-Cloud Auto-Fulfillment.
Aucune exigence supplémentaire n’est requise de la part du fournisseur ou du consommateur lors de la création ou de l’adhésion à une clean room.
Administrateur
L’administrateur du fournisseur et du consommateur doit activer l’exécution automatique inter-Cloud pour leur compte Snowflake. Cela peut se faire soit dans l’UI de clean room, soit à l’aide de la procédure d’API suivante :
USE ROLE ACCOUNTADMIN; CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.library.enable_laf_on_account();
Fournisseur et consommateur
Une fois que l’exécution automatique inter-Cloud est activée pour un compte, le fournisseur et le consommateur doivent activer l’exécution automatique inter-Cloud pour la clean room chaque fois qu’ils créent ou rejoignent une clean room dans plusieurs régions du Cloud.
Pour une utilisation de base de la clean room, le consommateur doit appeler uniquement
consumer.request_laf_cleanroom
.Pour soutenir la pleine fonctionnalité décrite ci-dessous, les deux parties doivent prendre ces mesures supplémentaires :
Le consommateur appelle
consumer.setup_cleanroom_request_share_for_laf
.Le fournisseur appelle ensuite
provider.request_laf_cleanroom_requests
etprovider.mount_laf_cleanroom_requests_share
.Pour l’activation du fournisseur, le consommateur appelle
consumer.setup_activation_share_to_laf_consumer
.Une fois la configuration complète achevée, les fonctionnalités supplémentaires suivantes peuvent être mises en œuvre de la même manière que pour les collaborateurs de la même région :
Requête connectée
Requêtes de modèles de clients
Analyses menées par les fournisseurs
Activation du fournisseur
Exemple de configuration complète :
Le fournisseur : le fournisseur crée, partage et publie une clean room de manière standard.
USE ROLE SAMOOHA_APP_ROLE; USE WAREHOUSE APP_WH; SET cleanroom_name = 'LAF example'; CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.provider.cleanroom_init($cleanroom_name); CALL samooha_by_snowflake_local_db.provider.link_datasets($cleanroom_name, ['SAMOOHA_SAMPLE_DATABASE.DEMO.CUSTOMERS']); CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.provider.set_default_release_directive($cleanroom_name, 'V1_0', '0'); CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.provider.add_consumers($cleanroom_name, $consumer_locator, $consumer_account_name); CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.provider.create_or_update_cleanroom_listing($cleanroom_name);Le consommateur : le consommateur installe la clean room et paramètre l’ensemble des fonctionnalités d’une clean room interrégionale.
-- Async request to set up Cross-Cloud Auto-Fulfillment. -- This must be done before installing the clean room. -- Continue calling until it returns status FULFILLED. This can take 10 minutes. CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.consumer.request_laf_cleanroom( $cleanroom_name,$provider_locator); -- Consumer can now install and use the clean room in a limited fashion. -- However, if they want full functionality they must take the following steps. CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.consumer.install_cleanroom( $cleanroom_name, $provider_locator); -- Set up cross-region sharing. CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.consumer.setup_cleanroom_request_share_for_laf( $cleanroom_name, $provider_data_sharing_account_locator); -- Continue with clean room configuration, but don't use full functionality until -- the provider has completed the next section.Le fournisseur : une fois que le consommateur a défini la fonctionnalité interrégionale pour la clean room, le fournisseur doit la mettre en place de son côté.
USE ROLE SAMOOHA_APP_ROLE; -- Call request_laf_cleanroom_requests until it reports the status as FULFILLED, -- then call mount_laf_cleanroom_requests_share. These steps can take 10 minutes -- or more to complete. CALL samooha_by_snowflake_local_db.provider.request_laf_cleanroom_requests( $cleanroom_name, $consumer_locator); CALL samooha_by_snowflake_local_db.provider.mount_laf_cleanroom_requests_share( $cleanroom_name, $consumer_locator);La fonctionnalité complète est désormais disponible.
Coûts liés à la collaboration interrégionale¶
Des coûts supplémentaires sont associés aux collaborateurs qui se trouvent dans une autre région. Pour plus d’informations sur la manière dont ces coûts sont supportés, voir Coûts d’exécution automatique.
Limites de la collaboration interrégionale¶
La collaboration interrégionale se heurte aux limites suivantes :
Les collaborateurs doivent partager la même région d’hébergement de l’application Web. Par exemple, si la région d’hébergement de l’application Web pour un compte est Amazon Web Services : US East (N. Virginia) et que la région d’hébergement Web d’un autre compte est Amazon Web Services : Asie-Pacifique (Mumbai), les deux clients Snowflake ne peuvent pas collaborer. Pour déterminer si deux collaborateurs partagent la même région d’hébergement d’application Web, consultez Hébergement d’applications Web.
Un fournisseur ne peut pas recourir à la confidentialité différentielle dans la salle blanche.
Les collaborateurs ne peuvent pas lier des tables externes et des tables iceberg dans les salles blanches.
Un consommateur ne peut pas effectuer une analyse multi-fournisseurs.
Les collaborateurs ne peuvent pas utiliser de politiques de masquage ou de politiques d’accès aux lignes.