ステップ3: Snowflakeで GCP 用の API 統合を作成する¶
このトピックでは、プロキシサービス(つまり、Google Cloud API Gateway)と連携するためにSnowflakeで API 統合オブジェクトを作成する手順について説明します。
このトピックの内容:
前のステップ¶
API統合オブジェクトの作成¶
CREATE API INTEGRATION コマンドを使用して、API統合オブジェクトを作成します。
Open a Snowflake session, typically a Snowflake web interface session.
USE ROLEコマンドを実行して、ACCOUNTADMINロールまたはCREATE INTEGRATION権限を持つロールを使用します。例:
use role has_accountadmin_privileges;
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;
ステートメントで以下を確認します:
<統合名>
を一意の統合名に置き換えます(たとえば、my_api_integration_name
)。名前は、 オブジェクト識別子 のルールに従う必要があります。さらに、統合名を追跡ワークシートの
API Integration Name
フィールドに記録します。作成プロセスの後半でCREATE EXTERNAL FUNCTIONコマンドを実行するときに、名前が必要になります。google_audience
の場合は、<Google オーディエンスクレーム>
を追跡ワークシートのManaged Service Identifier
フィールドにある値に置き換えます。認証中に、SnowflakeはJWT(JSONウェブトークン)をGoogleに渡します。JWTには、Snowflakeが
google_audience
フィールドの値に設定する「aud」(「オーディエンス」)クレームが含まれています。Googleでの認証の詳細については、Googleサービスアカウント 認証のドキュメント をご参照ください。
api_allowed_prefixes
の場合は、<URL>
を追跡ワークシートのGateway Base URL
フィールドにある値に置き換えます。このフィールドでは、このAPI統合を適用できるURLsを制限できます。Gateway Base URLよりも制限の厳しい値を使用できます。
まだ実行していない場合は、入力したCREATE API INTEGRATIONステートメントを実行します。
API統合のAPI_GCP_SERVICE_ACCOUNT情報を記録します¶
DESCRIBE INTEGRATION コマンドを実行します。例:
describe integration my_api_integration_name;
API_GCP_SERVICE_ACCOUNT
の値を追跡ワークシートのAPI_GCP_SERVICE_ACCOUNT
フィールドに記録します。