ステップ3: Snowflakeで AWS 用の API 統合を作成する

このトピックでは、プロキシサービス(つまり、Azure API Gateway)と連携するためにSnowflakeで API 統合オブジェクトを作成する手順について説明します。Managementコンソールlまたは CloudFormation テンプレートのどちらを使用しているかに関係なく、手順は同じです。

このトピックの内容:

前のステップ

AWS Managementコンソール:

ステップ2: AWS Managementコンソールでプロキシサービス(Amazon API Gateway)を作成する

AWS CloudFormation テンプレート:

ステップ 2: Amazon API Gateway URL と新しい IAM ロール ARN を記録する

前提条件

Snowflakeで AWS の API 統合を作成するには、次の情報が必要です。

  • New IAM Role ARN (追跡ワークシートから)。

  • Resource Invocation URL (追跡ワークシートから)。

API 統合オブジェクトの作成

  1. Snowflakeセッションを開きます。通常は、Snowflakeウェブインターフェイスセッションです。

  2. ACCOUNTADMIN 権限または CREATE INTEGRATION 権限を持つSnowflakeロールを使用します。次に例を示します。

    use role <has_accountadmin_privileges>;
    
    Copy
  3. CREATE API INTEGRATION コマンドを入力して、 API 統合を作成します。コマンドは次のようになります。

    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

    コマンドをカスタマイズします。

    • api_provider 句は、エンドポイントのタイプに基づいて設定する必要があります。

      • プライベートエンドポイントを使用している場合は、 api_provider 句を aws_private_api_gateway に設定する必要があります。

      • 米国政府 GovCloud エンドポイントを使用している場合は、 api_provider 句を aws_gov_api_gateway または aws_gov_private_api_gateway に設定する必要があります。

      • 他のほとんどのユーザーでは、 api_provider 句は aws_api_gateway に設定する必要があります。

    • <新しい IAM ロール ARN> は、追跡ワークシートの New IAM Role ARN フィールドにある値である必要があります。

    • api_allowed_prefixes フィールドには、以前に記録したリソース呼び出し URL が含まれている必要があります。

    以下は、包括的な CREATE API INTEGRATION ステートメントの例です。

    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. API Integration Name というタイトルの追跡ワークシートのフィールドに、作成した API 統合の名前を記録します。後で CREATE EXTERNAL FUNCTION コマンドを実行するときに、 API 統合名が必要になります。

  5. 上で入力した CREATE API INTEGRATION コマンドを実行します。

API_AWS_IAM_USER_ARN と API_AWS_EXTERNAL_ID を記録する

  1. DESCRIBE INTEGRATION コマンドを実行します。

    DESCRIBE INTEGRATION <my_integration_name>;
    
    Copy

    例:

    DESCRIBE INTEGRATION my_api_integration_01;
    
    Copy
  2. API_AWS_IAM_USER_ARN という名前のプロパティを探して、そのプロパティの property_value を追跡ワークシートに記録します。

  3. API_AWS_EXTERNAL_ID という名前のプロパティを見つけて、そのプロパティの property_value を追跡ワークシートに記録します。

    API_AWS_EXTERNAL_IDproperty_value は、しばしば等号(「=」)で終わることに注意してください。その等号は値の一部です。 property_value の残りの部分と一緒に切り取って貼り付けます。

次のいくつかのステップでは、 AWS の管理ウィンドウに戻ります。ここでSnowflake管理ウィンドウを閉じないでください。後で戻る必要があります。

次のステップ

ステップ4: AWS の API 統合をManagementコンソールのプロキシサービスにリンクする