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:

Voraussetzungen

Sie benötigen die folgenden Informationen, um die API-Integration für AWS in Snowflake zu erstellen:

  • Der neue IAM-Rollen-ARN (von Ihrem Arbeitsblatt).

  • Die Ressourcenaufruf-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>;
    
  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;
    

    Passen Sie den Befehl an:

    • Wenn Sie einen privaten Endpunkt verwenden, sollte die api_provider-Klausel auf den Wert aws_private_api_gateway festgelegt sein. Andernfalls sollte die api_provider-Klausel auf aws_api_gateway festgelegt werden.

    • Der <new_IAM_role_ARN> sollte der Wert im Feld „New IAM Role ARN“ des 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;
    
  4. Notieren Sie sich den Namen der erstellten API-Integration auf dem Arbeitsblatt unter „API Integration Name“. 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>;
    

    Beispiel:

    DESCRIBE INTEGRATION my_api_integration_01;
    
  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.