Erstellen einer Datenbank aus einem Datashare in Amazon Redshift - Amazon Redshift

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.

Erstellen einer Datenbank aus einem Datashare in Amazon Redshift

Mit Amazon Redshift können Sie ein Datashare verwenden, um eine Datenbank zu erstellen, und dann Daten über Datashares hinweg von Produzenten-Clustern abfragen. So können Sie sicher auf Live-Daten zugreifen, ohne sie kopieren oder übertragen zu müssen. Im Folgenden werden die Schritte für die Einrichtung einer Datenbank in Ihrer Amazon-Redshift-Umgebung beschrieben.

Console

Bevor Sie Daten im Datashare abfragen können, müssen Sie eine Datenbank aus einem Datashare erstellen. Sie können nur eine Datenbank aus einem angegebenen Datashare erstellen.

  1. Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die Amazon-Redshift-Konsole unter https://console.aws.amazon.com/redshiftv2/.

  2. Wählen Sie im Navigationsmenü Clusters (Cluster) und dann Ihren Cluster aus. Die Cluster-Detailseite wird angezeigt.

  3. Klicken Sie auf Datashares. Die Liste mit den Datashares wird angezeigt.

  4. Wählen Sie im Abschnitt Datashares from other clusters (Datashares von anderen Clustern) Connect to database (Mit Datenbank verbinden) aus. Weitere Informationen finden Sie unter Verbinden mit einer Datenbank.

  5. Wählen Sie ein Datashare aus, aus dem Sie Datenbanken erstellen möchten, und wählen Sie anschließend Create database from datashare (Datenbank aus Datashare erstellen) aus. Auf der Seite des Datashares wird „Create database“ (Datenbank erstellen) angezeigt.

  6. Geben Sie bei Datenbankname einen Datenbanknamen an. Der Datenbankname muss aus 1–64 alphanumerischen Zeichen bestehen (nur in Kleinbuchstaben) und es darf kein reserviertes Wort sein.

  7. Wählen Sie Create (Erstellen) aus.

Nachdem die Datenbank erstellt wurde, können Sie Daten in der Datenbank abfragen oder Schreibvorgänge ausführen, sofern diese vom Konsumenten-Administrator genehmigt, autorisiert und zugeordnet wurden.

API

Führen Sie die folgenden Schritte aus, um als Konsumenten-Administrator Daten zu Lesezwecken freizugeben.

  1. Listen Sie die Datashares auf, die Ihnen zur Verfügung gestellt werden, und zeigen Sie deren Inhalt an. Weitere Informationen erhalten Sie unter DESC DATASHARE und SHOW DATASHARES.

    Im folgenden Beispiel werden die Informationen zu eingehenden Datashares eines angegebenen Produzenten-Namespaces angezeigt. Wenn Sie DESC DATASHARE als Konsumenten-Administrator ausführen, müssen Sie die Option NAMESPACE angeben, um eingehende Datashares anzuzeigen.

    DESC DATASHARE salesshare OF NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d'; producer_account | producer_namespace | share_type | share_name | object_type | object_name | include_new -------------------+--------------------------------------+------------+------------+-------------+---------------------------------+------------------ 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND | salesshare | table | public.tickit_users_redshift | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND | salesshare | table | public.tickit_venue_redshift | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND | salesshare | table | public.tickit_category_redshift | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND | salesshare | table | public.tickit_date_redshift | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND | salesshare | table | public.tickit_event_redshift | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND | salesshare | table | public.tickit_listing_redshift | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND | salesshare | table | public.tickit_sales_redshift | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND | salesshare | schema | public | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d | INBOUND | salesshare | view | public.sales_data_summary_view |

    Nur Cluster-Superuser können dies tun. Sie können SVV_DATASHARES auch verwenden, um die Datashares anzuzeigen, und SVV_DATASHARE_OBJECTS, um die Objekte innerhalb des Datashares anzuzeigen.

    Im folgenden Beispiel werden die eingehenden Datashares in einem Konsumenten-Cluster angezeigt.

    SHOW DATASHARES LIKE 'sales%'; share_name | share_owner | source_database | consumer_database | share_type | createdate | is_publicaccessible | share_acl | producer_account | producer_namespace ------------+-------------+-----------------+-------------------+------------+------------+---------------------+-----------+------------------+-------------------------------------- salesshare | | | | INBOUND | | t | | 123456789012 | 13b8833d-17c6-4f16-8fe4-1a018f5ed00d
  2. Als Datenbank-Superuser können Sie lokale Datenbanken erstellen, die auf die Datashares verweisen. Weitere Informationen finden Sie unter CREATE DATABASE.

    CREATE DATABASE sales_db FROM DATASHARE salesshare OF NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';

    Wenn Sie eine genauere Kontrolle über den Zugriff auf die Objekte in der lokalen Datenbank wünschen, verwenden Sie beim Erstellen der Datenbank die WITH PERMISSIONS-Klausel. Auf diese Weise können Sie in Schritt 4 Berechtigungen auf Objektebene für Objekte in der Datenbank gewähren.

    CREATE DATABASE sales_db WITH PERMISSIONS FROM DATASHARE salesshare OF NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';

    Sie können Datenbanken sehen, die Sie durch Abfrage der SVV_REDSHIFT_DATABASES-Ansicht aus dem Datashare erstellt haben. Sie können eine direkte Verbindung zu diesen Datenbanken herstellen oder eine Verbindung zu einer lokalen Datenbank in Ihrem Konsumenten-Cluster herstellen und eine datenbankübergreifende Abfrage ausführen, um die Daten aus den Datashare-Datenbanken abzufragen.

    Anmerkung

    Sie können ein Datashare nicht auf Datenbankobjekten erstellen, die aus einem vorhandenen Datashare erstellt wurden. Sie können die Daten jedoch in eine separate Tabelle im Konsumenten-Cluster kopieren, alle erforderlichen Verarbeitungsvorgänge durchführen und dann die neu erstellten Objekte freigeben.

    Sie können auch die Amazon-Redshift-Konsole verwenden, um Datenbanken aus Datashares zu erstellen. Weitere Informationen finden Sie unter Erstellen von Datenbanken aus Datashares.