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 ALTERDATASHARE. 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 ALTER DATASHARE privilège.

  • Utilisateurs disposant du ALL privilège ALTER or sur le partage de 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 propriétaires des objets ou avoir SELECT ou USAGE des ALL privilèges 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.

TABLEschéma. tableau [,...]

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

SCHEMAschéma [,...]

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

FUNCTIONschéma. sql_udf (argtype,...) [,...]

Le nom de la SQL fonction définie par l'utilisateur avec les types d'arguments à ajouter au partage de données.

ALLTABLESSCHEMASchéma IN [,...]

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

ALLFUNCTIONSSCHEMASchéma IN [,...]}

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.

[SETINCLUDENEW[=] TRUE | FALSE FOR SCHEMA schéma]

Clause qui indique s'il faut ajouter au partage de données les futures tables, vues ou fonctions SQL définies par l'utilisateur (UDFs) créées dans le schéma spécifié. Les tables, les vues ou SQL UDFs le schéma spécifié actuels ne sont pas ajoutés au partage de données. Seuls les super-utilisateurs peuvent modifier cette propriété pour chaque paire datashare-schéma. Par défaut, la INCLUDENEW clause est fausse.

ALTERDATASHAREnotes d'utilisation

  • 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

    • Utilisateurs disposant du partage de données ALTER ou ayant des ALL privilèges sur celui-ci

  • 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 propriétaires des objets ou avoir SELECT ou USAGE des ALL privilèges sur les objets.

  • Vous pouvez partager des schémas, des tables, des vues standard, des vues à reliure tardive, des vues matérialisées et des fonctions SQL définies par l'utilisateur (). UDFs 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'ALTERDATASHAREaide de cette déclaration. 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'ALTERDATASHAREinstruction.

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

    Dans ce cas, Amazon Redshift génère une valeur unique aléatoire pour définir la variable de session afin d'autoriser un AWS Data Exchange partage de ALTER DATASHARE SET PUBLICACCESSIBLE FALSE données.

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;