Schritt 3: API-Integration für AWS in Snowflake erstellen¶
Unter diesem Thema finden Sie eine Anleitung zum Erstellen eines API-Integrationsobjekts in Snowflake für die Verwendung mit Ihrem Proxydienst (d. h. Amazon API Gateway). Die Anweisungen sind dieselben, unabhängig davon, ob Sie die Management Console oder die CloudFormation-Vorlage verwenden.
Unter diesem Thema:
Vorheriger Schritt¶
- AWS Management Console:
Schritt 2: Proxydienst (Amazon API Gateway) in der AWS Management Console erstellen
- AWS-CloudFormation-Vorlage:
Schritt 2: Amazon API Gateway-URL und die neue IAM-Rollen-ARN erfassen
Voraussetzungen¶
Sie benötigen die folgenden Informationen, um die API-Integration für AWS in Snowflake zu erstellen:
Den Wert von
New IAM Role ARN
(von Ihrem Arbeitsblatt).Die
Resource Invocation URL
(von Ihrem Arbeitsblatt).
API-Integrationsobjekt erstellen¶
Öffnen Sie eine Snowflake-Sitzung, normalerweise eine Snowflake-Weboberflächensitzung.
Verwenden Sie eine Snowflake-Rolle mit ACCOUNTADMIN-Berechtigungen oder mit der CREATE INTEGRATION-Berechtigung, zum Beispiel:
use role <has_accountadmin_privileges>;
Geben Sie den Befehl CREATE API INTEGRATION ein, um eine API-Integration zu erstellen. Der Befehl sollte ungefähr wie folgt aussehen:
CREATE OR REPLACE API INTEGRATION my_api_integration_01 api_provider = aws_api_gateway api_aws_role_arn = '<new_IAM_role_ARN>' api_allowed_prefixes = ('https://') enabled = true;
Passen Sie den Befehl an:
Die
api_provider
-Klausel sollte je nach Typ des Endpunkts festgelegt werden:Wenn Sie einen privaten Endpunkt verwenden, sollte die api_provider-Klausel auf den Wert
aws_private_api_gateway
festgelegt sein.Wenn Sie einen GovCloud-Endpunkt der US-Regierung verwenden, sollte die api_provider-Klausel auf den Wert
aws_gov_api_gateway
oderaws_gov_private_api_gateway
festgelegt werden.Für die meisten anderen Benutzer sollte die api_provider-Klausel auf
aws_api_gateway
festgelegt werden.
Der
<Neuer_IAM-Rollen-ARN>
muss der Wert vonNew IAM Role ARN
Ihres Arbeitsblatts sein.Das Feld api_allowed_prefixes sollte die Ressourcenaufruf-URL enthalten, die Sie zuvor notiert haben.
Im Folgenden finden Sie ein Beispiel für eine vollständige CREATE API INTEGRATION-Anweisung:
create or replace api integration demonstration_external_api_integration_01 api_provider=aws_api_gateway api_aws_role_arn='arn:aws:iam::123456789012:role/my_cloud_account_role' api_allowed_prefixes=('https://xyz.execute-api.us-west-2.amazonaws.com/production/') enabled=true;
Notieren Sie sich auf dem Arbeitsblatt unter
API Integration Name
den Namen der erstellten API-Integration. Sie benötigen den Namen der API-Integration, wenn Sie später den Befehl CREATE EXTERNAL FUNCTION ausführen.Führen Sie den oben eingegebenen CREATE API INTEGRATION-Befehl aus.
Notieren Sie sich die Werte für API_AWS_IAM_USER_ARN und API_AWS_EXTERNAL_ID.¶
Führen Sie den Befehl DESCRIBE INTEGRATION aus:
DESCRIBE INTEGRATION <my_integration_name>;
Beispiel:
DESCRIBE INTEGRATION my_api_integration_01;
Suchen Sie nach der Eigenschaft API_AWS_IAM_USER_ARN, und notieren Sie sich den Wert von property_value dieser Eigenschaft auf dem Arbeitsblatt.
Suchen Sie nach der Eigenschaft API_AWS_EXTERNAL_ID, und notieren Sie sich den Wert von property_value dieser Eigenschaft auf dem Arbeitsblatt.
Beachten Sie, dass der Wert von property_value von API_AWS_EXTERNAL_ID häufig mit einem Gleichheitszeichen („=“) endet. Das Gleichheitszeichen ist Teil des Wertes. Stellen Sie also sicher, dass Sie es zusammen mit dem Rest von property_value ausschneiden und einfügen.
Für die nächsten Schritte kehren Sie zum AWS-Verwaltungsfenster zurück. Schließen Sie jetzt nicht das Snowflake-Verwaltungsfenster. Sie müssen später zu diesem Fenster zurückkehren.
Nächster Schritt¶
Schritt 4: API-Integration für AWS mit dem Proxydienst in der Management Console verknüpfen