Repartager les données entrantes en tant qu’initiateur de repartage

En tant qu’initiateur de repartage, vous pouvez prendre des données de l’annonce d’un fournisseur et les partager avec d’autres comptes, soit dans leur état d’origine, soit transformées avec vos propres données. Cette rubrique décrit comment repartager des données entrantes.

Conditions préalables

  • Dans l’annonce du fournisseur, resharing.enabled doit être défini sur true.

  • Vous devez créer des vues sécurisées dans votre propre base de données. Vous ne pouvez pas modifier directement la base de données importée.

  • Le même rôle doit créer le partage et l’attribuer à l’annonce.

Limitations

  • Le repartage est uniquement activé via des annonces. Vous ne pouvez pas repartager des partages directs ou des applications.

  • Vous ne pouvez pas joindre des objets de données provenant de bases de données importées ou de Localisateurs d’annonces uniformes (ULLs) directement vers un autre partage. Pour repartager des objets de données d’une annonce entrante, vous devez créer une vue sécurisée dans votre base de données.

  • Les initiateurs de repartage peuvent uniquement repartager des tables, des tables dynamiques et des vues à partir des produits de données entrants autorisés pour les repartager.

  • Les annonces repartagées ne prennent pas en charge la reprise après sinistre.

Repartage des flux de travail

  1. Créez une base de données importée à partir de l’annonce du fournisseur.

  2. Créez une vue sécurisée dans votre propre base de données qui fait référence aux données de la base de données importée.

  3. Créez un partage et accordez SELECT sur la vue sécurisée du partage.

  4. Créez une nouvelle annonce en utilisant le partage.

CREATE DATABASE imported_db FROM LISTING provider_listing;
CREATE DATABASE reshared_db;
CREATE SECURE VIEW reshared_db.public.reshared_view
  AS SELECT * FROM imported_db.public.provider_table;

CREATE SHARE my_reshare;
GRANT USAGE ON DATABASE reshared_db TO SHARE my_reshare;
GRANT USAGE ON SCHEMA reshared_db.public TO SHARE my_reshare;
GRANT SELECT ON VIEW reshared_db.public.reshared_view TO SHARE my_reshare;

Note

Un octroi de REFERENCE_USAGE n’est pas nécessaire sur les bases de données importées créées à partir d’annonces repartagées.

Repartage interrégional

Note

Assurez-vous de bien comprendre les coûts de l’exécution automatique avant d’activer l’exécution automatique pour vos annonces repartagées. Snowflake fournit également plusieurs vues pour surveiller les coûts et l’utilisation de l’exécution automatique. Pour plus d’informations, voir Surveiller les ressources et les coûts des vues.

Pour repartager des données avec des consommateurs dans d’autres régions, l’exécution automatique des éléments de liste doit être activée. La propriété exécution automatique comprend un champ warehouse que vous devez spécifier lors du repartage entre régions. Ce champ peut être omis lors du repartage au sein de la même région.

Le repartage interrégional des données nécessite une copie locale des données pour une réplication ultérieure en aval. Snowflake crée automatiquement des tables dynamiques pour gérer cela. L’entrepôt que vous spécifiez est utilisé pour créer et actualiser ces tables dynamiques.

auto_fulfillment:
  warehouse: my_wh

Vous pouvez utiliser la fonction système SYSTEM $SHOW_DYNAMIC_TABLES_CREATED_FOR_RESHARING pour afficher les tables dynamiques créées pour le nouveau partage.

Permettre un nouveau partage par vos consommateurs

Si vous souhaitez que vos consommateurs puissent repartager l’annonce que vous avez créée, activez le partage sur votre propre annonce en définissant resharing.enabled sur true. Pour plus de détails sur la configuration de en tant que fournisseur, voir Utilisation du repartage en tant que fournisseur.

Résolution des problèmes

Si les consommateurs reçoivent l’erreur « L’annonce possède des restrictions de repartage qui empêchent l’accès aux données sous-jacentes », travaillez avec le fournisseur pour résoudre le problème. Cette erreur peut se produire lorsque :

  • Le fournisseur désactive le partage en définissant enabled sur false.

  • Le fournisseur ajoute ou modifie des politiques de gouvernance ou des fonctions contextuelles sur les tables de base qui ne sont pas compatibles avec le repartage.