Demander l’accès aux tables externes et Apache Iceberg™¶
Cette rubrique décrit comment un fournisseur peut configurer une application pour demander à un consommateur d’autoriser l’application à accéder à des tables externes et Apache Iceberg™ tables qu’un fournisseur partage dans une application.
À propos des tables externes et Iceberg dans une Snowflake Native App¶
La Snowflake Native App Framework permet aux fournisseurs de partager des tables externes et Tables Apache Iceberg™ avec les consommateurs. Pour des informations générales, voir Prise en charge des tables externes et Iceberg.
Pour inclure une table externe ou Iceberg dans une application :
Ajouter une entrée pour les tables externes et Iceberg au manifeste¶
Pour inclure des tables externes ou Iceberg dans une application, les fournisseurs doivent ajouter une entrée dans le fichier manifeste comme indiqué dans l’exemple suivant :
restricted_features:
EXTERNAL_DATA:
description: “The reason for enabling an external or Iceberg table.”
Demander des autorisations pour accéder aux tables externes et Iceberg¶
Pour des raisons de sécurité et de coût, les consommateurs doivent explicitement accorder à une application l’autorisation d’utiliser une table externe ou Iceberg.
Note
Si une application tente de résoudre une table externe ou Iceberg directement dans le script de configuration, le script de configuration échoue si le consommateur n’a pas encore donné l’autorisation à l’application. Pour accéder à des données externes, par exemple pour créer une vue à partir d’une table externe, les fournisseurs doivent créer la vue dans une procédure stockée dans le script d’installation. L’application peut ensuite appeler la procédure stockée une fois que le consommateur a donné l’autorisation à l’application.
Pour créer une Snowsight pour permettre aux consommateurs d’autoriser une application à accéder aux tables externes et Iceberg, la Python Permission SDK fournit les fonctions suivantes :
request_external_data() -> None
Entraîne Snowsight à afficher une boîte de dialogue qui invite le consommateur à autoriser l’application à accéder aux tables externes ou Iceberg requises par l’application.
is_external_data_enabled() -> boolean
Détermine si le consommateur a autorisé l’application à utiliser des tables externes ou Iceberg. Renvoie
True
si c’est autorisé. RenvoieFalse
, sinon.