Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
AWS Glue Verbindungen herstellen (für Administratoren)
Um Datenquellen mit der SQL-Erweiterung zu verwenden, können Administratoren AWS Glue Verbindungen für jede Datenquelle einrichten. Diese Verbindungen speichern die erforderlichen Konfigurationsdetails, um auf die Datenquellen zuzugreifen und mit ihnen zu interagieren. Sobald die Verbindungen erstellt und die entsprechenden Berechtigungen erteilt wurden, werden die Verbindungen für alle Benutzer sichtbarAmazon SageMaker Studio-Räume, die dieselbe Ausführungsrolle haben.
So erstellen Sie diese Verbindungen:
-
Erstellen Sie zunächst eine JSON-Datei, die die Verbindungseigenschaften für jede Datenquelle definiert. Die JSON-Datei enthält Details wie die Datenquellen-ID, die Zugangsdaten und andere relevante Konfigurationsparameter für den Zugriff auf die Datenquellen über die AWS Glue Verbindungen.
-
Verwenden Sie dann AWS Command Line Interface (AWS CLI), um die AWS Glue Verbindung herzustellen, und übergeben Sie die JSON-Datei als Parameter. Der AWS CLI Befehl liest die Verbindungsdetails aus der JSON-Datei und stellt die entsprechende Verbindung her.
Anmerkung
Die SQL-Erweiterung unterstützt das Erstellen von Verbindungen AWS CLI nur mit der.
Stellen Sie vor dem Erstellen von AWS Glue Verbindungen sicher, dass Sie die folgenden Schritte ausführen:
-
Installieren und konfigurieren Sie das AWS Command Line Interface (AWS CLI). Weitere Informationen zur Installation und Konfiguration von finden Sie unter Über AWS CLI Version 2. AWS CLI Stellen Sie sicher, dass die Zugriffsschlüssel und Token des IAM-Benutzers oder der IAM-Rolle, die zur Konfiguration verwendet AWS CLI wurden, über die erforderlichen Berechtigungen zum Herstellen von AWS Glue Verbindungen verfügen. Fügen Sie eine Richtlinie hinzu, die die
glue:CreateConnection
Aktion andernfalls zulässt. -
Verstehe, wie man es benutzt AWS Secrets Manager. Wir empfehlen Ihnen, Secrets Manager zu verwenden, um Verbindungsanmeldeinformationen und andere vertrauliche Informationen für Ihren Datenspeicher bereitzustellen. Weitere Informationen zur Verwendung von Secrets Manager zum Speichern von Anmeldeinformationen finden Sie unter Speichern von Verbindungsanmeldeinformationen in AWS Secrets Manager.
Erstellen Sie eine JSON-Datei mit Verbindungsdefinitionen
Um eine AWS Glue Verbindungsdefinitionsdatei zu erstellen, erstellen Sie eine JSON-Datei, um die Verbindungsdetails auf dem Computer zu definieren, auf dem Sie die installiert und konfiguriert haben AWS CLI. Benennen Sie für dieses Beispiel die Dateisagemaker-sql-connection.json
.
Die Verbindungsdefinitionsdatei sollte das folgende allgemeine Format haben:
-
Name ist der Name für die Verbindung.
-
Beschreibung ist eine Textbeschreibung der Verbindung.
-
ConnectionTypeist die Art der Verbindung. Wählen Sie
REDSHIFT
,ATHENA
oderSNOWFLAKE
. -
ConnectionPropertiesist eine Zuordnung von Schlüssel-Wert-Paaren für die Verbindungseigenschaften, z. B. den ARN Ihres AWS Geheimnisses oder den Namen Ihrer Datenbank.
{ "ConnectionInput": { "Name": <GLUE_CONNECTION_NAME>, "Description": <GLUE_CONNECTION_DESCRIPTION>, "ConnectionType": "REDSHIFT | ATHENA | SNOWFLAKE", "ConnectionProperties": { "PythonProperties": "{\"aws_secret_arn\": <SECRET_ARN>, \"database\": <...>}" } } }
Anmerkung
-
Die Eigenschaften innerhalb des
ConnectionProperties
Schlüssels bestehen aus stringifizierten Schlüssel-Wert-Paaren. Maskieren Sie alle doppelten Anführungszeichen, die in den Schlüsseln oder Werten verwendet werden, mit einem umgekehrten Schrägstrich ().\
-
Alle in Secrets Manager verfügbaren Eigenschaften können auch direkt über bereitgestellt werden
PythonProperties
. Es wird jedoch nicht empfohlen, sensible Felder wie Passwörter in das Feld aufzunehmenPythonProperties
. Stattdessen ist der bevorzugte Ansatz die Verwendung von Secrets Manager.
Verbindungsdefinitionsdateien, die für verschiedene Datenspeicher spezifisch sind, finden Sie in den folgenden Abschnitten.
Die Verbindungsdefinitionsdateien für jede Datenquelle enthalten die spezifischen Eigenschaften und die Konfiguration, die erforderlich sind, um über die SQL-Erweiterung eine Verbindung zu diesen Datenspeichern herzustellen. Einzelheiten zur Definition von Verbindungen zu dieser Quelle finden Sie im entsprechenden Abschnitt.
-
Informationen zum Herstellen einer AWS Glue Verbindung für Amazon Redshift finden Sie in Eine AWS Glue Verbindung für Amazon Redshift konfigurieren der Beispieldefinitionsdatei unter.
-
Informationen zum Herstellen einer AWS Glue Verbindung für Amazon Athena finden Sie in Eine AWS Glue Verbindung für Athena konfigurieren der Beispieldefinitionsdatei unter.
-
Informationen zum Herstellen einer AWS Glue Verbindung für Snowflake finden Sie in der Beispieldefinitionsdatei unter. Konfigurieren Sie eine AWS Glue Verbindung für Snowflake
Dieser Abschnitt enthält Einzelheiten zu den geheimen Eigenschaften und den Verbindungseigenschaften in JSON-Definitionsdateien, die spezifisch für Amazon Redshift sind. Bevor Sie Ihre Verbindungskonfigurationsdatei erstellen, empfehlen wir, Ihre Amazon Redshift Redshift-Zugangsdaten geheim in Secrets Manager zu speichern. Alternativ können Sie temporäre Datenbankanmeldedaten auf der Grundlage von Berechtigungen generieren, die im Rahmen einer AWS Identity and Access Management (IAM-) Berechtigungsrichtlinie gewährt wurden, um den Zugriff Ihrer Benutzer auf Ihre Amazon Redshift Redshift-Datenbank zu verwalten. Weitere Informationen finden Sie unter Verwenden der IAM-Authentifizierung zur Erstellung von Benutzeranmeldeinformationen für die Datenbank.
Erstellen Sie ein Geheimnis für Amazon Redshift Redshift-Zugangsdaten
Um Amazon Redshift Redshift-Informationen in AWS Secrets Manager zu speichern
-
Navigieren Sie von der AWS Konsole aus zu Secrets Manager.
-
Wählen Sie Store a new secret (Ein neues Secret speichern).
-
Wählen Sie unter Geheimer Typ die Option Credentials for Amazon Redshift aus.
-
Geben Sie den Administrator-Benutzernamen und das Passwort ein, die beim Start des Amazon Redshift Redshift-Clusters konfiguriert wurden.
-
Wählen Sie den Amazon Redshift Redshift-Cluster aus, der den Geheimnissen zugeordnet ist.
-
Nennen Sie Ihr Geheimnis.
-
Die übrigen Einstellungen können für die anfängliche Erstellung des Geheimnisses auf ihren Standardwerten belassen oder bei Bedarf angepasst werden.
-
Erstellen Sie das Geheimnis und rufen Sie seinen ARN ab.
Eine AWS Glue Verbindung für Amazon Redshift konfigurieren
Die SQL-Erweiterung stellt mithilfe benutzerdefinierter AWS Glue Verbindungen eine Verbindung zu Datenquellen her. Allgemeine Informationen zum Erstellen von AWS Glue Verbindungen zum Herstellen einer Verbindung mit einer Datenquelle finden Sie unterAWS Glue Verbindungen herstellen (für Administratoren). Das folgende Beispiel ist ein Beispiel für eine AWS Glue Verbindungsdefinition für die Verbindung mit Amazon Redshift.
Bevor Sie eine neue Verbindung herstellen, sollten Sie die folgenden Empfehlungen beachten:
-
Die Eigenschaften innerhalb des
PythonProperties
Schlüssels bestehen aus stringifizierten Schlüssel-Wert-Paaren. Maskieren Sie alle doppelten Anführungszeichen, die in den Schlüsseln oder Werten verwendet werden, mit einem umgekehrten Schrägstrich ().\
-
Geben Sie in der Verbindungsdefinitionsdatei den Namen und die Beschreibung der Verbindung ein und ersetzen Sie den ARN des Geheimnisses durch den ARN des zuvor erstellten Geheimnisses.
aws_secret_arn
-
Stellen Sie sicher, dass die Datenbank, die mit ihrem Namen in der obigen Verbindungsdefinition deklariert wurde, mit der Cluster-Datenbank übereinstimmt. Sie können dies überprüfen, indem Sie die Seite mit den Cluster-Details in der Amazon Redshift Redshift-Konsole
aufrufen und den Datenbanknamen im Abschnitt Datenbankkonfigurationen im Abschnitt Eigenschaften überprüfen. -
Weitere Parameter finden Sie in der Liste der von Amazon Redshift unterstützten Verbindungseigenschaften unter. Amazon Redshift Redshift-Verbindungsparameter
Anmerkung
-
Standardmäßig führt der SQL-Erweiterungsconnector für Python alle Abfragen in einer Transaktion aus, sofern die
auto_commit
Verbindungseigenschaften nicht auf gesetzt sindtrue
. -
Sie können alle Verbindungsparameter, einschließlich des
database
Namens, zu einem Geheimnis hinzufügen.
-
{ "ConnectionInput": { "Name": "
Redshift connection name
", "Description": "Redshift connection description
", "ConnectionType": "REDSHIFT", "ConnectionProperties": { "PythonProperties":"{\"aws_secret_arn\": \"arn:aws:secretsmanager:region:account_id:secret:secret_name
\", \"database\":\"database_name
\", \"database_metadata_current_db_only\": false}" } } }
Sobald Ihre Definitionsdatei aktualisiert wurde, folgen Sie den Schritten unterAWS Glue Verbindungen erstellen, um Ihre AWS Glue Verbindung herzustellen.
Dieser Abschnitt enthält Einzelheiten zu den Verbindungseigenschaften in JSON-Definitionsdateien, die für Athena spezifisch sind.
Eine AWS Glue Verbindung für Athena konfigurieren
Die SQL-Erweiterung stellt mithilfe benutzerdefinierter AWS Glue Verbindungen eine Verbindung zu Datenquellen her. Allgemeine Informationen zum Erstellen von AWS Glue Verbindungen zum Herstellen einer Verbindung mit einer Datenquelle finden Sie unterAWS Glue Verbindungen herstellen (für Administratoren). Das folgende Beispiel ist ein Beispiel für eine AWS Glue Verbindungsdefinition für die Verbindung mit Athena.
Bevor Sie eine neue Verbindung herstellen, sollten Sie die folgenden Empfehlungen beachten:
-
Die Eigenschaften innerhalb des
ConnectionProperties
Schlüssels bestehen aus stringifizierten Schlüssel-Wert-Paaren. Maskieren Sie alle doppelten Anführungszeichen, die in den Schlüsseln oder Werten verwendet werden, mit einem umgekehrten Schrägstrich ().\
-
Geben Sie in der Verbindungsdefinitionsdatei den Namen und die Beschreibung der Verbindung ein, ersetzen Sie die
catalog_name
durch den Namen Ihres Katalogs,s3_staging_dir
durch die Amazon S3 S3-URI (Uniform Resource Identifier) Ihres Ausgabeverzeichnisses in Ihrem Amazon S3 S3-Bucket und dannregion_name
durch die Region Ihres Amazon S3 S3-Buckets. -
Weitere Parameter finden Sie in der Liste der von Athena unterstützten Verbindungseigenschaften unter. Athena-Verbindungsparameter
Anmerkung
-
Sie können alle Verbindungsparameter, einschließlich des
catalog_name
Oder-Parameterss3_staging_dir
, zu einem Geheimnis hinzufügen. -
Wenn Sie ein angeben
workgroup
, müssen Sie es nicht angebens3_staging_dir
.
-
{ "ConnectionInput": { "Name": "
Athena connection name
", "Description": "Athena connection description
", "ConnectionType": "ATHENA", "ConnectionProperties": { "PythonProperties": "{\"catalog_name\": \"catalog_name
\",\"s3_staging_dir\": \"s3://amzn-s3-demo-bucket_in_same_region/output_query_results_dir/
\", \"region_name\": \"region\
"}" } } }
Sobald Ihre Definitionsdatei aktualisiert wurde, folgen Sie den Schritten unterAWS Glue Verbindungen erstellen, um Ihre AWS Glue Verbindung herzustellen.
Dieser Abschnitt enthält Einzelheiten zu den geheimen Eigenschaften und den Verbindungseigenschaften in JSON-Definitionsdateien, die für Snowflake spezifisch sind. Bevor Sie Ihre Verbindungskonfigurationsdatei erstellen, empfehlen wir, Ihre Snowflake-Zugangsdaten als geheim in Secrets Manager zu speichern.
Erstellen Sie ein Geheimnis für die Snowflake-Zugangsdaten
Um Amazon Redshift Redshift-Informationen in Secrets Manager zu speichern
-
Navigieren Sie von der AWS Konsole aus zu AWS Secrets Manager.
-
Wählen Sie Store a new secret (Ein neues Secret speichern).
-
Wählen Sie unter Geheimtyp die Option Anderer Geheimtyp aus.
-
Wählen Sie im Schlüssel-Wert-Paar die Option Plaintext aus, und kopieren Sie dann den folgenden JSON-Inhalt. Ersetzen Sie die
user
password
, undaccount
durch ihre Werte.{ "user":"
snowflake_user
", "password":"snowflake_password
", "account":"account_id
" } -
Nennen Sie das Geheimnis.
-
Die übrigen Einstellungen können für die anfängliche Erstellung des Geheimnisses auf ihren Standardwerten belassen oder bei Bedarf angepasst werden.
-
Erstellen Sie das Geheimnis und rufen Sie seinen ARN ab.
Konfigurieren Sie eine AWS Glue Verbindung für Snowflake
Die SQL-Erweiterung stellt mithilfe benutzerdefinierter AWS Glue Verbindungen eine Verbindung zu Datenquellen her. Allgemeine Informationen zum Erstellen von AWS Glue Verbindungen zum Herstellen einer Verbindung mit einer Datenquelle finden Sie unterAWS Glue Verbindungen herstellen (für Administratoren). Das folgende Beispiel ist ein Beispiel für eine AWS Glue Verbindungsdefinition für die Verbindung mit Snowflake.
Bevor Sie eine neue Verbindung herstellen, sollten Sie die folgenden Empfehlungen beachten:
-
Die Eigenschaften innerhalb des
ConnectionProperties
Schlüssels bestehen aus stringifizierten Schlüssel-Wert-Paaren. Maskieren Sie alle doppelten Anführungszeichen, die in den Schlüsseln oder Werten verwendet werden, mit einem umgekehrten Schrägstrich ().\
-
Geben Sie in der Verbindungsdefinitionsdatei den Namen und die Beschreibung der Verbindung ein, ersetzen Sie dann den ARN des Geheimnisses durch den ARN des zuvor erstellten Geheimnisses und Ihre Konto-ID unter
account
.aws_secret_arn
-
Weitere Parameter finden Sie in der Liste der von Snowflake unterstützten Verbindungseigenschaften unter. Snowflake-Verbindungsparameter
Anmerkung
Sie können alle Verbindungsparameter, einschließlich des
account
, zu einem Geheimnis hinzufügen.
{ "ConnectionInput": { "Name": "
Snowflake connection name
", "Description": "Snowflake connection description
", "ConnectionType": "SNOWFLAKE", "ConnectionProperties": { "PythonProperties": "{\"aws_secret_arn\": \"arn:aws:secretsmanager:region:account_id:secret:secret_name
\", \"account\":\"account_id
\"}"}" } } }
Sobald Ihre Definitionsdatei aktualisiert wurde, folgen Sie den Schritten unterAWS Glue Verbindungen erstellen, um Ihre AWS Glue Verbindung herzustellen.
AWS Glue Verbindungen erstellen
Verwenden Sie Ihre AWS Glue Verbindungsdefinitionsdatei und führen Sie diesen AWS CLI Befehl aus AWS CLI, um eine Verbindung über herzustellen. Ersetzen Sie den region
Platzhalter durch Ihren AWS Regionsnamen und geben Sie den lokalen Pfad zu Ihrer Definitionsdatei an.
Anmerkung
Dem Pfad zu Ihrer Konfigurationsdefinitionsdatei muss Folgendes vorangestellt werden. file://
aws --region
region
glue create-connection --cli-input-json file://path_to_file/sagemaker-sql-connection.json
Stellen Sie sicher, dass die AWS Glue Verbindung hergestellt wurde, indem Sie den folgenden Befehl ausführen, und suchen Sie nach Ihrem Verbindungsnamen.
aws --region
region
glue get-connections
Alternativ können Sie eine bestehende AWS Glue Verbindung wie folgt aktualisieren:
-
Ändern Sie die AWS Glue Verbindungsdefinitionsdatei nach Bedarf.
-
Führen Sie den folgenden Befehl aus, um die Verbindung zu aktualisieren.
aws --region
region
glue update-connection --nameglue_connection_name
--cli-input-json file://path_to_file/sagemaker-sql-connection.json