Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting
Hinzufügen von Objekten zu einem Datashare in Amazon Redshift
Sie können Datenbankobjekte verschiedener Typen in der Konsole und mit SQL hinzufügen, indem Sie eines der folgenden Verfahren befolgen.
- Console
-
Sie können Ihrem Datashare in den Abschnitten Bereichsbezogene Berechtigungen oder Direkte Berechtigungen Objekte hinzufügen. Wählen Sie entweder Bereichsbezogene Berechtigungen erteilen oder Direkte Berechtigungen erteilen aus, um Objekte hinzuzufügen. Wählen Sie die Schaltfläche Hinzufügen, um Objekte hinzuzufügen. Es wird ein Dialogfeld angezeigt. Führen Sie die folgenden Schritte aus:
-
Wenn Sie Bereichsbezogene Berechtigungen erteilen auswählen, wird die Seite Bereichsbezogene Berechtigungen erteilen angezeigt, auf der Sie bereichsbezogene Berechtigungen auf Datenbank- oder Schemaebene erteilen können. Datashares mit bereichsspezifischen Berechtigungen verfügen über die angegebenen Berechtigungen für alle aktuellen und zukünftigen Objekte innerhalb der Datenbank oder des Schemas. Weitere Informationen finden Sie unter, Bereichsbeschränkte Berechtigungen.
-
Wählen Sie Datenbankbezogene Berechtigungen aus, um bereichsbezogene Berechtigungen auf Datenbankebene zu erteilen. Wenn Sie bereichsbezogene Berechtigungen erteilen, gelten sie für die aktuelle Datenbank, während das Datashare erstellt wird. Diese Berechtigungen können keinen einzelnen Objekten erteilt werden und gelten sowohl für vorhandene als auch für neue Objekte (Schemata, Tabellen, Ansichten, UDFs).
-
Wählen Sie die bereichsbezogene(n) Berechtigung(en) für die Schemata, Tabellen, Ansichten oder benutzerdefinierte Funktionen aus. Das bedeutet, dass alle Objekte in der Datenbank über die ausgewählten Berechtigungen verfügen, die Konsumenten erteilt wurden. Wählen Sie Erteilen aus, um die Erteilung von datenbankbezogenen Berechtigungen abzuschließen.
-
Wählen Sie anschließend Schemabezogene Berechtigungen aus, um bereichsbezogene Berechtigungen auf Schemaebene zu erteilen. Wenn Sie schemabezogene Berechtigungen erteilen, verfügen alle dem Schema hinzugefügten Objekte über die angegebenen Datashare-Berechtigungen.
-
Wählen Sie in der Dropdown-Liste das Schema aus, das Sie dem Datashare hinzufügen möchten. Sie können jeweils nur ein Schema auswählen. Wählen Sie anschließend die direkte(n) Berechtigung(en) aus, die Sie für das ausgewählte Schema erteilen möchten.
-
Wählen Sie eine oder mehrere bereichsbezogene Berechtigungen für Ihre Schemaobjekte aus, wie Tabellen, Ansichten und benutzerdefinierte Funktionen. Berechtigungen werden für alle übereinstimmenden Objekte im Schema erteilt. Dabei kann es sich um vorhandene Objekte oder um Objekte handeln, die in der Zukunft hinzugefügt werden. Nachdem eine Berechtigung angewendet wurde, kann sie nicht von einem Objekt entfernt werden, ohne die bereichsbezogenen Berechtigungen zu widerrufen.
-
Wählen Sie Erteilen aus, um die Erteilung von schemabezogenen Berechtigungen abzuschließen.
-
-
Wenn Sie Direkte Berechtigungen erteilen auswählen, wird die Seite Direkte Berechtigungen erteilen angezeigt, auf der Sie direkte Berechtigungen auf jeder Objektebene erteilen können, z. B. Schema, Tabelle, Ansicht oder benutzerdefinierte Funktion. Um direkte Berechtigungen zu erteilen, müssen Sie zunächst die relevanten Schemata zum Datashare hinzufügen.
-
Wählen Sie anschließend Direkte Berechtigungen erteilen aus, um direkte Berechtigungen auf ein bestimmtes Schema anzuwenden. Wählen Sie anschließend eine oder mehrere Schemaberechtigungen für Ihre Schemaobjekte aus, z. B. Tabellen, Ansichten und benutzerdefinierte Funktionen. Wählen Sie anschließend das Schema aus, das Sie dem Datashare hinzufügen möchten. Wählen Sie Erteilen aus, um das Hinzufügen des Schemas zum Datashare abzuschließen.
-
Nachdem Sie Ihrem Datashare ein Schema hinzugefügt haben, können Sie mit dem Hinzufügen direkter Berechtigungen für Ihre Schemaobjekte fortfahren. Wählen Sie erneut Direkte Berechtigungen erteilen aus. Anschließend wird die Seite Direkte Berechtigungen erteilen angezeigt. Navigieren Sie dann zu den direkten Berechtigungen für Schemaobjekte.
-
Wählen Sie Direkte Berechtigungen für Tabellen und Ansichten erteilen aus, um direkte Berechtigungen auf Objektebene für diese Objekte zu erteilen. Wählen Sie die erforderliche(n) direkte(n) Berechtigung(en) und die erforderlichen Objekte aus der Liste aus. Verwenden Sie das Suchfeld, um Datashare-Objekte zu suchen. Wählen Sie „Erteilen“ aus, um das Hinzufügen von Tabellen und Ansichten zum Datashare abzuschließen.
-
Wählen Sie Direkte Berechtigungen für benutzerdefinierte Funktionen erteilen aus, um direkte Berechtigungen auf Objektebene für benutzerdefinierte Funktionen zu erteilen. Wählen Sie die erforderliche(n) direkte(n) Berechtigung(en) und die erforderlichen Objekte aus der Liste aus. Verwenden Sie das Suchfeld, um Datashare-Objekte zu suchen. Wählen Sie Erteilen aus, um das Hinzufügen benutzerdefinierter Funktionen zum Datashare abzuschließen.
-
-
Sie können auch Zukünftige Objekte hinzufügen auswählen. Wenn Sie sich dafür entscheiden, dem Schema hinzugefügte Datashare-Objekte einzubeziehen, bedeutet dies, dass dem Schema hinzugefügte Objekte automatisch dem Datashare hinzugefügt werden.
-
Wählen Sie Hinzufügen, um den Abschnitt zu vervollständigen und die Objekte hinzuzufügen. Sie sind unter den Datashare-Objekten aufgeführt.
-
Nachdem Sie Objekte hinzugefügt haben, können Sie einzelne Objekte auswählen und deren Berechtigungen bearbeiten. Wenn Sie ein Schema auswählen, wird ein Dialogfeld angezeigt, in dem Sie gefragt werden, ob Sie bereichsbezogene Berechtigungen hinzufügen möchten. Dadurch verfügt jedes vorhandene oder dem Schema hinzugefügte Objekt über einen vorausgewählten Satz von Berechtigungen, die für den Objekttyp geeignet sind. Der Administrator kann beispielsweise festlegen, dass alle hinzugefügten Tabellen über SELECT- und UPDATE-Berechtigungen verfügen.
-
Alle Datashare-Objekte werden in den Abschnitten Bereichsbezogene Berechtigungen oder Direkte Berechtigungen aufgeführt.
-
Im Bereich Datenkonsumenten können Sie Namespaces oder AWS-Konten als Nutzer des Datashares hinzufügen.
-
Wählen Sie Datashare erstellen aus, um Ihre Änderungen zu speichern.
Nachdem Sie das Datashare erstellt haben, wird es in der Liste unter In meinem Namespace erstellte Datashares angezeigt. Wenn Sie ein Datashare aus der Liste auswählen, können Sie dessen Nutzer, Objekte und andere Eigenschaften anzeigen.
-
- SQL
-
Bei Verwendung von SQL muss der Besitzer des Datashares die USAGE-Berechtigung für die Schemata erteilen, die dem Datashare hinzugefügt werden sollen. Die GRANT-Berechtigung wird verwendet, um verschiedene Aktionen für das Schema zu ermöglichen, darunter CREATE und USAGE. Die Schemata enthalten gemeinsam genutzte Objekte:
CREATE SCHEMA myshared_schema1; CREATE SCHEMA myshared_schema2; GRANT USAGE ON SCHEMA myshared_schema1 TO DATASHARE my_datashare; GRANT CREATE, USAGE ON SCHEMA myshared_schema2 TO DATASHARE my_datashare;Alternativ kann der Administrator weiterhin ALTER-Befehle ausführen, um dem Datashare ein Schema hinzuzufügen. Wenn ein Schema auf diese Weise hinzugefügt wird, werden nur USAGE-Berechtigungen gewährt.
ALTER DATASHARE my_datashare ADD SCHEMA myshared_schema1;Nachdem der Administrator Schemata hinzugefügt hat, kann er Datashare-Berechtigungen für Objekte in dem Schema gewähren. Dies können Lese- und Schreibberechtigungen sein. Das GRANT ALL-Beispiel zeigt, wie alle Berechtigungen gewährt werden.
GRANT SELECT, INSERT ON TABLE myshared_schema1.table1, myshared_schema1.table2, myshared_schema2.table1 TO DATASHARE my_datashare; GRANT ALL ON TABLE myshared_schema1.table4 TO DATASHARE my_datashare;Sie können weiterhin Befehle wie ALTER DATASHARE ausführen, um Tabellen hinzuzufügen. Wenn Sie dies tun, werden nur SELECT-Berechtigungen für die hinzugefügten Objekte gewährt.
ALTER DATASHARE my_datashare ADD TABLE myshared_schema1.table1, myshared_schema1.table2, myshared_schema2.table1;Sie können einem Datashare bereichsbezogene Berechtigungen für alle Objekte eines Typs innerhalb einer Datenbank oder eines Schemas erteilen. Datashares mit bereichsspezifischen Berechtigungen verfügen über die angegebenen Berechtigungen für alle aktuellen und zukünftigen Objekte innerhalb der Datenbank oder des Schemas.
Den Umfang der bereichsbezogenen Berechtigungen auf Datenbankebene finden Sie unter SVV_DATABASE_PRIVILEGES. Den Umfang der bereichsbezogenen Berechtigungen auf Schemaebene finden Sie unter SVV_SCHEMA_PRIVILEGES.
Im Folgenden sehen Sie die Syntax zum Erteilen bereichsbezogener Berechtigungen für Datashares. Weitere Informationen zu bereichsbezogenen Berechtigungen finden Sie unter Bereichsbeschränkte Berechtigungen.
GRANT { CREATE | USAGE | ALTER | DROP } [,...] | ALL [ PRIVILEGES ] }FOR SCHEMAS IN DATABASE db_name TO DATASHARE { datashare_name} GRANT { { SELECT | INSERT | UPDATE | DELETE | DROP | ALTER | TRUNCATE | REFERENCES } [, ...] } | ALL [PRIVILEGES] } }FOR TABLES IN {SCHEMA schema_name [DATABASE db_name ] | DATABASE db_name } TO DATASHARE { datashare_name} GRANT { EXECUTE | ALL [ PRIVILEGES ] }FOR FUNCTIONS IN {SCHEMA schema_name [DATABASE db_name ] | DATABASE db_name } TO DATASHARE { datashare_name}