ALTER DATASHARE - Amazon Redshift

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.

ALTER DATASHARE

Modifie la définition d’une unité de partage des données. Vous pouvez ajouter ou supprimer des objets à l’aide de la commande ALTER DATASHARE. Vous ne pouvez modifier une unité de partage des données que dans la base de données actuelle. Ajoutez ou supprimez des objets de la base de données associée à une unité de partage des données. Le propriétaire de l’unité de partage des données disposant des autorisations requises sur les objets d’unité de partage des données à ajouter ou à supprimer peut modifier l’unité de partage des données.

Privilèges requis

Les privilèges suivants sont requis pour ALTER DATASHARE :

  • Super-utilisateur.

  • Utilisateur disposant du privilège ALTER DATASHARE.

  • Utilisateurs disposant du privilège ALTER ou ALL sur l’unité de partage des données.

  • Pour ajouter des objets spécifiques à une unité de partage des données, les utilisateurs doivent avoir le privilège sur les objets. Dans ce cas, les utilisateurs doivent être les propriétaires des objets ou disposer des privilèges SELECT, USAGE ou ALL sur les objets.

Syntaxe

La syntaxe suivante illustre comment ajouter ou supprimer des objets à l’unité de partage des données.

ALTER DATASHARE datashare_name { ADD | REMOVE } {
TABLE schema.table [, ...]
| SCHEMA schema [, ...]
| FUNCTION schema.sql_udf (argtype,...) [, ...]
| ALL TABLES IN SCHEMA schema [, ...]
| ALL FUNCTIONS IN SCHEMA schema [, ...] }

La syntaxe suivante montre la manière de configurer les propriétés de l’unité de partage des données.

ALTER DATASHARE datashare_name {
[ SET PUBLICACCESSIBLE [=] TRUE | FALSE ]
[ SET INCLUDENEW [=] TRUE | FALSE FOR SCHEMA schema ] }

Paramètres

datashare_name

Nom de l’unité de partage des données à modifier.

ADD | REMOVE

Clause spécifiant s’il faut ajouter ou supprimer des objets de l’unité de partage des données.

TABLE schema.table [, ...]

Nom de la table ou de la vue dans le schéma spécifié à ajouter à l’unité de partage des données.

SCHEMA schema [, ...]

Nom du schéma à ajouter à l’unité de partage des données.

FUNCTION schema.sql_udf (argtype,...) [, ...]

Nom de la fonction SQL définie par l’utilisateur avec des types d’arguments à ajouter à l’unité de partage des données.

ALL TABLES IN SCHEMA schéma [, ...]

Clause spécifiant s’il faut ajouter toutes les tables et vues du schéma spécifié à l’unité de partage des données.

ALL FUNCTIONS IN SCHEMA schema [, ...] }

Clause spécifiant l’ajout de toutes les fonctions du schéma spécifié à l’unité de partage des données.

[ SET PUBLICACCESSIBLE [=] TRUE | FALSE ]

Clause spécifiant si une unité de partage des données peut être partagée avec des clusters accessibles au public.

[ SET INCLUDENEW [=] TRUE | FALSE FOR SCHEMA schema ]

Clause spécifiant s’il faut ajouter des tables, des vues ou des fonctions SQL définies par l’utilisateur (UDF) créées dans le schéma spécifié à l’unité de partage des données. Les tables, vues ou fonctions UDF SQL actuelles dans le schéma spécifié ne sont pas ajoutées à l’unité de partage des données. Seuls les super-utilisateurs peuvent modifier cette propriété pour chaque paire de datashare-schéma. Par défaut, la clause INCLUDENEW est false.

Notes d’utilisation d’ALTER DATASHARE

  • Les utilisateurs suivants peuvent modifier une unité de partage des données :

    • Super-utilisateur

    • Le propriétaire de l’unité de partage des données

    • Les utilisateurs disposant du privilège ALTER ou ALL sur l’unité de partage des données

  • Pour ajouter des objets spécifiques à une unité de partage des données, ces utilisateurs doivent avoir le privilège adéquat sur les objets. Les utilisateurs doivent être les propriétaires des objets ou avoir les privilèges SELECT, USAGE ou ALL sur les objets.

  • Vous pouvez partager des schémas, des tables, des vues régulières, des vues à liaison tardive, des vues matérialisées et des fonctions définies par l’utilisateur (UDF) SQL. Ajoutez d’abord un schéma à une unité de partage des données avant d’ajouter d’autres objets dans le schéma.

    Lorsque vous ajoutez un schéma, Amazon Redshift n’ajoute pas tous les objets qu’il contient. Vous devez les ajouter explicitement.

  • Nous vous recommandons de créer des AWS Data Exchange partages de données avec le paramètre accessible au public activé.

  • En général, nous vous recommandons de ne pas modifier un partage de AWS Data Exchange données pour désactiver l'accessibilité publique à l'aide de l'instruction ALTER DATASHARE. Dans ce cas, ceux Comptes AWS qui ont accès au partage de données perdent l'accès si leurs clusters sont accessibles au public. L'exécution de ce type de modification peut enfreindre les termes des produits de données dans AWS Data Exchange. Pour une exception à cette recommandation, reportez-vous à ce qui suit.

    L'exemple suivant montre une erreur lorsqu'un partage de AWS Data Exchange données est créé alors que le paramètre est désactivé.

    ALTER DATASHARE salesshare SET PUBLICACCESSIBLE FALSE; ERROR: Alter of ADX-managed datashare salesshare requires session variable datashare_break_glass_session_var to be set to value 'c670ba4db22f4b'

    Pour autoriser la modification d'un AWS Data Exchange partage de données afin de désactiver le paramètre accessible au public, définissez la variable suivante et réexécutez l'instruction ALTER DATASHARE.

    SET datashare_break_glass_session_var to 'c670ba4db22f4b';
    ALTER DATASHARE salesshare SET PUBLICACCESSIBLE FALSE;

    Dans ce cas, Amazon Redshift génère une valeur aléatoire à usage unique pour définir la variable de séance afin d’autoriser ALTER DATASHARE SET PUBLICACCESSIBLE FALSE pour une unité de partage des données AWS Data Exchange .

Exemples

L'exemple suivant ajoute le public schéma au partage de données. salesshare

ALTER DATASHARE salesshare ADD SCHEMA public;

L’exemple suivant ajoute la table public.tickit_sales_redshift à l’unité de partage des données salesshare.

ALTER DATASHARE salesshare ADD TABLE public.tickit_sales_redshift;

L’exemple suivant ajoute toutes les tables à l’unité de partage des données salesshare.

ALTER DATASHARE salesshare ADD ALL TABLES IN SCHEMA PUBLIC;

L’exemple suivant supprime la table public.tickit_sales_redshift de l’exemple de l’unité de partage des données salesshare.

ALTER DATASHARE salesshare REMOVE TABLE public.tickit_sales_redshift;