

 Amazon Redshift ne prendra plus en charge la création de nouveaux Python à UDFs partir du patch 198. UDFs Le Python existant continuera de fonctionner jusqu'au 30 juin 2026. Pour plus d’informations, consultez le [ billet de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Commencer à utiliser les AWS Lake Formation partages de données gérés
<a name="lf-getting-started"></a>

Avec Amazon Redshift, vous pouvez accéder aux données en temps réel et les partager entre différents AWS comptes et clusters AWS Lake Formation Amazon Redshift via des partages de données gérés. AWS Lake Formation les partages de données permettent aux fournisseurs de données de partager en toute sécurité les données en temps réel de leur lac de données Amazon S3 avec n'importe quel consommateur, y compris les autres AWS comptes et les clusters Amazon Redshift.

# Utilisation d’unités de partage des données gérées par Lake Formation en tant que producteur
<a name="lake-formation-getting-started-producer"></a>

Avec Amazon Redshift, vous pouvez accéder aux données partagées par le biais AWS Lake Formation de partages de données et les analyser. AWS Lake Formation les partages de données permettent un partage sécurisé des données entre les AWS comptes et les clusters Amazon Redshift sans avoir à copier ou à déplacer les données sous-jacentes.

Le partage de données vous AWS Lake Formation permet de définir de manière centralisée AWS Lake Formation les autorisations des partages de données Amazon Redshift et de restreindre l'accès des utilisateurs aux objets d'un partage de données.

Avec Amazon Redshift, vous pouvez partager en toute sécurité des données en temps réel entre des AWS comptes et des clusters Amazon Redshift en AWS Lake Formation utilisant des partages de données gérés en tant que producteur. Une unité de partage des données géré par Lake Formation est un objet qui vous permet de partager des données en direct depuis votre cluster Amazon Redshift avec d’autres comptes et services AWS .

En tant qu’administrateur de cluster producteur ou de groupe de travail, procédez comme suit pour partager des unités de partage des données avec Lake Formation :

1. Créez des partages de données dans votre cluster et autorisez l'accès AWS Lake Formation aux partages de données.

   Seuls les super-utilisateurs de cluster et les propriétaires de base de données peuvent créer des unités de partage des données. Chaque datashare est associé à une base de données lors de sa création. Seuls les objets de cette base de données peuvent être partagés dans ce datashare. Plusieurs datashares peuvent être créés sur la même base de données avec la même précision d’objets ou une précision différente. Il n’y a pas de limite au nombre d’unités de partage des données que vous pouvez créer sur un cluster.

   ```
   CREATE DATASHARE salesshare;
   ```

1. Ajoutez des objets à l’unité de partage des données. L’administrateur du cluster producteur ou du groupe de travail continue de gérer les objets de l’unité de partage des données disponibles. Pour ajouter des objets à une unité de partage des données, ajoutez le schéma avant d’ajouter des objets. Lorsque vous ajoutez un schéma, Amazon Redshift n’ajoute pas tous les objets qu’il contient. Vous devez les ajouter explicitement. Pour plus d’informations, consultez [ALTER DATASHARE](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_DATASHARE.html). 

   ```
   ALTER DATASHARE salesshare ADD SCHEMA PUBLIC;
   ALTER DATASHARE salesshare ADD TABLE public.tickit_sales_redshift;
   ALTER DATASHARE salesshare ADD ALL TABLES IN SCHEMA PUBLIC;
   ```

   Vous pouvez également ajouter des vues à une unité de partage des données. Seules les vues standard, à liaison tardive et matérialisées sont prises en charge.

   ```
   CREATE VIEW public.sales_data_summary_view AS SELECT * FROM public.tickit_sales_redshift;
   ALTER DATASHARE salesshare ADD TABLE public.tickit_sales_redshift;
   ```

   Utilisez ALTER DATASHARE pour partager des schémas, des tables et des vues dans un schéma donné. Les super-utilisateurs, les propriétaires d’unité de partage des données ou les utilisateurs disposant des autorisations ALTER ou ALL sur l’unité de partage des données peuvent modifier l’unité de partage des données pour y ajouter des objets ou en supprimer. Les utilisateurs de la base de données doivent également être les propriétaires des objets ou disposer des autorisations SELECT, USAGE ou ALL sur les objets. 

   Utilisez la clause INCLUDENEW pour ajouter de nouvelles tables et des vues créées dans un schéma spécifié à l’unité de partage des données. Seuls les super-utilisateurs peuvent modifier cette propriété pour chaque paire datashare-schéma.

   ```
   ALTER DATASHARE salesshare ADD SCHEMA PUBLIC;
   ALTER DATASHARE salesshare SET INCLUDENEW = TRUE FOR SCHEMA PUBLIC;
   ```

1. Autorisez l’unité de partage des données à accéder à un compte administrateur Lake Formation.

   ```
   GRANT USAGE ON DATASHARE salesshare TO ACCOUNT '012345678910' VIA DATA CATALOG;
   ```

   Pour annuler l’utilisation, utilisez la commande suivante.

   ```
   REVOKE USAGE ON DATASHARE salesshare FROM ACCOUNT '012345678910' VIA DATA CATALOG;
   ```

1. Autorisez l’unité de partage des données à accéder à Lake Formation à l’aide de l’opération d’API `aws redshift authorize-data-share`. Cela permet à Lake Formation de reconnaître l’unité de partage des données dans le compte de service et de gérer l’association des consommateurs à l’unité de partage des données.

   ```
   aws redshift authorize-data-share 
   --data-share-arn arn:aws:redshift:us-east-1:{PRODUCER_ACCOUNT}:datashare:{PRODUCER_CLUSTER_NAMESPACE}/salesshare 
   --consumer-identifier {"DataCatalog/<consumer-account-id>"}
   ```

    Pour supprimer l’autorisation des unités de partage des données gérés par Lake Formation, utilisez l’opération d’API `aws redshift deauthorize-data-share`. Ce faisant, vous autorisez AWS Lake Formation à reconnaître le partage de données dans le compte de service et à supprimer l'autorisation. 

   ```
   aws redshift deauthorize-data-share 
   --data-share-arn arn:aws:redshift:us-east-1:{PRODUCER_ACCOUNT}:datashare:{PRODUCER_CLUSTER_NAMESPACE}/salesshare 
   --consumer-identifier {"DataCatalog/<consumer-account-id>"}
   ```

    À tout moment, si l’administrateur du cluster producteur ou du groupe de travail décide qu’il n’est plus nécessaire de partager des données avec le cluster consommateur ou le groupe de travail, il peut utiliser DROP DATASHARE pour supprimer l’unité de partage des données, annuler les autorisations de l’unité de partage des données ou révoquer les autorisations de l’unité de partage des données. Les autorisations et les objets associés dans Lake Formation ne sont pas automatiquement supprimés. 

   ```
   DROP DATASHARE salesshare;
   ```

    Après avoir autorisé le compte Lake Formation à gérer le partage de données, l'administrateur de Lake Formation peut découvrir le partage de données partagé, associer le partage de données à un ARN du catalogue de données et créer une base de données dans le lien vers le partage de données. AWS Glue Data Catalog Pour associer des partages de données à l'aide de AWS CLI, utilisez la commande. [ associate-data-share-consumer](https://docs.aws.amazon.com/cli/latest/reference/redshift/associate-data-share-consumer.html) Pour partager une unité de partage des données entre des Régions AWS, spécifiez le paramètre `--region` dans la commande `associate-data-share-consumer` ou utilisez la console AWS pour choisir vos consommateurs de données. L’exemple suivant montre comment partager une unité de partage des données gérée par Lake Formation entre des régions. 

   ```
   aws redshift associate-data-share-consumer --region <region-1>
   --data-share-arn 'arn:aws:redshift:us-east-1:12345678912:datashare:035c45ea-61ce-86f0-8b75-19ac6102c3b7/sample_share' 
   --consumer-arn 'arn:aws:glue:<region-1>:111912345678:catalog'
   ```

   L’administrateur Lake Formation doit également créer des ressources locales qui définissent la manière dont les objets de l’unité de partage des données doivent être mappés aux objets Lake Formation. Pour plus d’informations sur la découverte des unités de partage des données et la création de ressources locales, consultez [Gestion des autorisations pour les données dans une unité de partage des données Amazon Redshift](https://docs.aws.amazon.com/lake-formation/latest/dg/data-sharing-redshift.html). 

# Utilisation d’unités de partage des données gérées par Lake Formation en tant que consommateur
<a name="lake-formation-getting-started-consumer"></a>

Avec Amazon Redshift, vous pouvez accéder aux données partagées avec vous par le biais d’unités de partage des données AWS Lake Formation et les analyser. Une unité de partage des données est un produit de données qui contient un ensemble d’objets de données, tels que des tables ou des bases de données, provenant de différentes sources de données. 

 Une fois AWS Glue Data Catalog que l' AWS Lake Formation administrateur a découvert l'invitation de partage de données et y a créé une base de données liée au partage de données, l'administrateur du cluster de consommateurs ou de groupe de travail peut associer le cluster au partage de données et à la base de données du AWS Glue Data Catalog, créer une base de données locale pour le cluster de consommateurs ou le groupe de travail Amazon Redshift et accorder l'accès aux utilisateurs et aux rôles du cluster de consommateurs ou du groupe de travail Amazon Redshift pour commencer à interroger. Suivez ces étapes pour configurer les autorisations d’interrogation. 

1. Dans la console Amazon Redshift, créez un cluster Amazon Redshift qui fera office de cluster consommateur de groupe de travail, le cas échéant. Pour plus d’informations sur la création d’un cluster, consultez [Création d’un cluster](https://docs.aws.amazon.com/redshift/latest/mgmt/managing-clusters-console.html#create-cluster).

1. Pour répertorier les bases de données du cluster AWS Glue Data Catalog consommateur ou du groupe de travail auxquelles les utilisateurs ont accès, exécutez la commande [SHOW DATABASES](https://docs.aws.amazon.com/redshift/latest/dg/r_SHOW_DATABASES.html).

   ```
   SHOW DATABASES FROM DATA CATALOG [ACCOUNT <account-id>,<account-id2>] [LIKE <expression>]
   ```

   Cela permet de répertorier les ressources disponibles dans le catalogue de données, telles que l'ARN de la AWS Glue base de données, le nom de la base de données et les informations sur le partage de données.

1. À l'aide de l'ARN de la AWS Glue base de données de SHOW DATABASES, créez une base de données locale dans le cluster de consommateurs ou le groupe de travail. Pour plus d’informations, consultez [CREATE DATABASE](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_DATABASE.html).

   ```
   CREATE DATABASE lf_db FROM ARN <lake-formation-database-ARN> WITH [NO] DATA CATALOG SCHEMA [<schema>];
   ```

1. Accordez l’accès aux bases de données et aux références de schéma créées à partir des unités de partage des données aux utilisateurs et rôles du cluster consommateur ou du groupe de travail selon les besoins. Pour plus d’informations, consultez [GRANT](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html) ou [REVOKE](https://docs.aws.amazon.com//redshift/latest/dg/r_REVOKE.html). Notez que les utilisateurs créés à l’aide de la commande [CREATE USER](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_USER.html) ne peuvent pas accéder aux objets de l’unité de partage des données qui ont été partagés avec Lake Formation. Seuls les utilisateurs ayant accès à la fois à Redshift et à Lake Formation peuvent accéder aux unités de partage des données qui ont été partagées avec Lake Formation. 

   ```
   GRANT USAGE ON DATABASE sales_db TO IAM:Bob;
   ```

    En tant qu’administrateur de cluster consommateur ou de groupe de travail, vous ne pouvez attribuer des autorisations sur l’ensemble de la base de données créée à partir de l’unité de partage des données qu’à vos utilisateurs et groupes. Dans certains cas, vous avez besoin de contrôles précis sur un sous-ensemble d’objets de base de données créés à partir de l’unité de partage des données. 

    Vous pouvez également créer des vues à liaison tardive sur les objets partagés et les utiliser pour attribuer des autorisations détaillées. Vous pouvez également envisager que les clusters producteur ou les groupes de travails créent des unité de partage des données supplémentaires pour vous avec la précision requise. Vous pouvez créer autant de références de schéma à la base de données créée à partir de l’unité de partage des données. 

1. Les utilisateurs de base de données peuvent utiliser les vues SVV\$1EXTERNAL\$1TABLES et SVV\$1EXTERNAL\$1COLUMNS pour rechercher toutes les tables ou colonnes partagées dans la base de données AWS Glue .

   ```
   SELECT * from svv_external_tables WHERE redshift_database_name = 'lf_db';
                           
   SELECT * from svv_external_columns WHERE redshift_database_name = 'lf_db';
   ```

1. Interroger les données dans les objets partagés dans les unités de partage des données.

   Les utilisateurs et les rôles disposant d’autorisations sur les bases de données consommateur et les schémas sur les clusters consommateur peuvent explorer et naviguer entre les métadonnées de tous les objets partagés. Ils peuvent également explorer les objets locaux dans un cluster consommateur ou un groupe de travail. Pour ce faire, ils peuvent utiliser les pilotes JDBC ou ODBC ou les vues SVV\$1ALL et SVV\$1EXTERNAL.

   ```
   SELECT * FROM lf_db.schema.table;
   ```

   Vous ne pouvez utiliser les instructions SELECT que sur les objets partagés. Toutefois, vous pouvez créer des tables dans le cluster consommateur en interrogeant les données des objets partagés dans une base de données locale différente.

   ```
   // Connect to a local cluster database
               
   // Create a view on shared objects and access it.
   
   CREATE VIEW sales_data 
   AS SELECT * 
   FROM sales_db.public.tickit_sales_redshift 
   WITH NO SCHEMA BINDING;
   
   SELECT * FROM sales_data;
   ```