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

このトピックでは、プロキシサービス(つまり、Google Cloud API Gateway)と連携するためにSnowflakeで API 統合オブジェクトを作成する手順について説明します。

このトピックの内容:

前のステップ

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

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

CREATE API INTEGRATION コマンドを使用して、API統合オブジェクトを作成します。

  1. Open a Snowflake session, typically a Snowflake web interface session.

  2. USE ROLEコマンドを実行して、ACCOUNTADMINロールまたはCREATE INTEGRATION権限を持つロールを使用します。例:

    use role has_accountadmin_privileges;
    
    Copy
  3. CREATE API INTEGRATIONステートメントを入力します。ステートメントは次のようになります。

    create or replace api integration <integration_name>
        api_provider = google_api_gateway
        google_audience = '<google_audience_claim>'
        api_allowed_prefixes = ('<url>')
        enabled = true;
    
    Copy

    ステートメントで以下を確認します:

    1. <統合名> を一意の統合名に置き換えます(たとえば、 my_api_integration_name)。名前は、 オブジェクト識別子 のルールに従う必要があります。

      さらに、統合名を追跡ワークシートの API Integration Name フィールドに記録します。作成プロセスの後半でCREATE EXTERNAL FUNCTIONコマンドを実行するときに、名前が必要になります。

    2. google_audience の場合は、 <Google オーディエンスクレーム> を追跡ワークシートの Managed Service Identifier フィールドにある値に置き換えます。

      認証中に、SnowflakeはJWT(JSONウェブトークン)をGoogleに渡します。JWTには、Snowflakeが google_audience フィールドの値に設定する「aud」(「オーディエンス」)クレームが含まれています。

      Googleでの認証の詳細については、Googleサービスアカウント 認証のドキュメント をご参照ください。

    3. api_allowed_prefixes の場合は、 <URL> を追跡ワークシートの Gateway Base URL フィールドにある値に置き換えます。

      このフィールドでは、このAPI統合を適用できるURLsを制限できます。Gateway Base URLよりも制限の厳しい値を使用できます。

  4. まだ実行していない場合は、入力したCREATE API INTEGRATIONステートメントを実行します。

API統合のAPI_GCP_SERVICE_ACCOUNT情報を記録します

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

    describe integration my_api_integration_name;
    
    Copy
  2. API_GCP_SERVICE_ACCOUNT の値を追跡ワークシートの API_GCP_SERVICE_ACCOUNT フィールドに記録します。

次のステップ

ステップ4: Snowflakeで GCP 用の外部関数を作成する