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

  1. Öffnen Sie eine Snowflake-Sitzung, normalerweise eine Snowflake-Weboberflächensitzung.

  2. Verwenden Sie eine Snowflake-Rolle mit ACCOUNTADMIN-Berechtigungen oder mit der CREATE INTEGRATION-Berechtigung, zum Beispiel:

    use role <has_accountadmin_privileges>;
    
    Copy
  3. 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;
    
    Copy

    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 oder aws_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 von New 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;
    
    Copy
  4. 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.

  5. 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.

  1. Führen Sie den Befehl DESCRIBE INTEGRATION aus:

    DESCRIBE INTEGRATION <my_integration_name>;
    
    Copy

    Beispiel:

    DESCRIBE INTEGRATION my_api_integration_01;
    
    Copy
  2. Suchen Sie nach der Eigenschaft API_AWS_IAM_USER_ARN, und notieren Sie sich den Wert von property_value dieser Eigenschaft auf dem Arbeitsblatt.

  3. 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