❄️
SnowPro Core資格への道 ~Part4:外部関数(EXTERNAL FUNCTION)
はじめに
9月のSnowflake World Tour TokyoまでにSnowPro Coreをとります!
試験日を8月28日(木)に受けようと思います。
今日のお題は外部関数(EXTERNAL FUNCTION)です。
外部関数のコードはどの場所で実行されるか?を検証してみたいと思います。
まとめ:外部関数はSnowflakeの外で実行される
いきなりまとめです。
外部関数(EXTERNAL FUNCTION)はSnowflakeの【外】で実行されます。
以下、Geminiさんからの引用です。
Snowflakeの外部関数のコードは、Snowflakeの外部で実行されます。
具体的には、リモートサービスと呼ばれる別のクラウドプラットフォーム
(AWS Lambda、Azure Functions、Google Cloud Functionsなど)
で実行されるコードを呼び出します。
Snowflake自身は、外部関数の定義をデータベースオブジェクトとして保存し、
その定義にはリモートサービスを呼び出すための情報(プロキシサービスのURLなど)
が含まれています。
SQLステートメントで外部関数が呼び出されると、Snowflakeはその定義とAPI統合情報を読み込み、
プロキシサービス(Amazon API GatewayなどのHTTPプロキシサービス)を介して
リモートサービスに情報を中継し、そこでコードが実行されます。
公式リファレンス
SnowflakeからはUDFで呼び出し、実際の処理はHTTPS Proxy Service経由でリモートサービスで実行されるとのこと。
おわりに
当初は頑張っていろんな資料を絵にして・・・とか考えていたのですが、それだと続かないので続けるためのアクション(短時間でアウトプットすることで覚える)をやってみたいと思います。
Discussion