Amazon Redshift ne prendra plus en charge la création de nouvelles fonctions Python définies par l’utilisateur à compter du 1er novembre 2025. Si vous souhaitez utiliser des fonctions Python définies par l’utilisateur, créez-les avant cette date. Les fonctions Python définies par l’utilisateur existantes continueront de fonctionner normalement. Pour plus d’informations, consultez le billet de blog
Vues AWS Glue Data Catalog
Cette rubrique décrit comment créer des vues dans le AWS Glue Data Catalog. Vous pouvez utiliser les vues du Catalogue de données pour accéder aux données de différentes sources de données en utilisant le même schéma.
En créant des vues dans le Catalogue de données, vous pouvez créer un schéma de vue et un objet de métadonnées communs uniques à utiliser sur des moteurs tels qu’Amazon Athena et Amazon EMR Spark. Cela vous permet d’utiliser les mêmes vues sur l’ensemble de vos lacs de données et de vos entrepôts des données pour répondre à vos cas d’utilisation. Les vues du catalogue de données ont ceci de particulier qu’elles sont classées dans la catégorie des vues de définisseur, où les autorisations d’accès sont définies par l’utilisateur qui a créé la vue et non par l’utilisateur qui interroge la vue. Voici quelques cas d’utilisation et avantages de la création de vues dans le catalogue de données :
-
Créer une vue qui restreint l’accès aux données en fonction des autorisations dont l’utilisateur a besoin. Par exemple, vous pouvez utiliser des vues du catalogue de données pour empêcher les employés qui ne travaillent pas dans le service des ressources humaines (RH) de voir des données d’identification personnelle (PII).
-
S’assurer que les utilisateurs ne peuvent pas accéder aux enregistrements incomplets. En appliquant certains filtres aux vues du catalogue de données, vous vous assurez que les enregistrements de données d’une vue du catalogue de données sont toujours complets.
-
Les vues du catalogue de données présentent un avantage en matière de sécurité, car la définition de requête utilisée pour créer la vue doit être complète pour que la vue soit créée. Cet avantage en matière de sécurité signifie que les vues du catalogue de données ne sont pas sensibles aux commandes SQL provenant d’acteurs malveillants.
-
Les vues du catalogue de données présentent les mêmes avantages que les vues normales, notamment en permettant aux utilisateurs d’accéder à une vue sans mettre la table sous-jacente à leur disposition.
Pour créer une vue dans le catalogue de données, vous devez disposer d’une table externe Spectrum, d’un objet contenu dans une unité de partage des données gérée par Lake Formation ou d’une table Apache Iceberg.
Les définitions des vues du catalogue de données sont stockées dans le AWS Glue Data Catalog. Utilisez AWS Lake Formation pour accorder l’accès via des autorisations liées aux ressources ou aux colonnes, ou des contrôles d’accès basés sur des balises. Pour plus d’informations sur l’octroi et la révocation de l’accès dans Lake Formation, consultez Octroi et révocation d’autorisations liées aux ressources du catalogue de données.
Lorsque vous utilisez Amazon Redshift pour exécuter une requête faisant référence à de telles vues AWS Glue Data Catalog, Amazon Redshift masque automatiquement les champs de certaines tables système et colonnes de vue lors de l’enregistrement des métadonnées relatives à cette requête. Pour plus d’informations, consultez Journalisation sécurisée dans le Guide de gestion Amazon Redshift.
Prérequis
Avant de pouvoir créer une vue dans le catalogue de données, assurez-vous que les conditions préalables suivantes sont remplies :
Assurez-vous que votre rôle IAM possède la stratégie d’approbation suivante.
-
Vous avez aussi besoin de la stratégie de transmission de rôle suivante.
Enfin, vous aurez également besoin des autorisations suivantes.
Glue:GetDatabaseGlue:GetDatabasesGlue:CreateTableGlue:GetTableGlue:UpdateTableGlue:DeleteTableGlue:GetTablesGlue:SearchTablesGlue:BatchGetPartitionGlue:GetPartitionsGlue:GetPartitionGlue:GetTableVersionGlue:GetTableVersions
Exemple complet
Commencez par créer un schéma externe basé sur la base de données de votre catalogue de données.
CREATE EXTERNAL SCHEMA IF NOT EXISTS external_schema FROM DATA CATALOG DATABASE 'external_data_catalog_db' IAM_ROLE 'arn:aws:iam::123456789012:role/sample-role';
Vous pouvez désormais créer une vue du catalogue de données.
CREATE EXTERNAL PROTECTED VIEW external_schema.remote_view AS SELECT * FROM external_schema.remote_table;
Vous pouvez ensuite commencer à interroger cette vue.
SELECT * FROM external_schema.remote_view;
Pour plus d’informations sur les commandes SQL associées aux vues du catalogue de données, consultez CREATE EXTERNAL VIEW, ALTER EXTERNAL VIEW et DROP EXTERNAL VIEW.
Considérations et restrictions
Les considérations et restrictions suivantes s’appliquent aux vues créées dans le catalogue de données.
Les vues AWS Glue Data Catalog ne sont prises en charge que sur les clusters alloués RA3 ou les groupes de travail Redshift sans serveur.
Vous ne pouvez pas créer une vue du catalogue de données basée sur une autre vue.
Une vue du catalogue de données ne peut comporter que 10 tables de base.
Le définisseur de la vue doit disposer d’autorisations
SELECT GRANTABLEcomplètes sur les tables de base.Les vues ne peuvent contenir que des éléments intégrés et des objets Lake Formation. Les objets suivants ne sont pas autorisés à l’intérieur d’une vue.
Tables système
Fonctions définies par l’utilisateur (UDF)
Tables, vues, vues matérialisées et vues à liaison tardive Redshift qui ne se trouvent pas dans une unité de partage des données gérée par Lake Formation.
Les vues ne peuvent pas contenir de tables Redshift Spectrum imbriquées.
Les représentations AWS Glue des objets de base d’une vue doivent être dans les mêmes Compte AWS et régions que la vue.