PythonでSnowflake統合を管理する¶
Pythonを使用して、Snowflakeでさまざまなタイプの統合を管理できます。
前提条件¶
このトピックの例では、Snowflakeと接続するコードを追加して Root オブジェクトを作成し、そこからSnowflake Python Snowflake Python APIs を使用することを想定しています。
たとえば、以下のコードでは、構成ファイルで定義された接続パラメーターを使用してSnowflakeへの接続を作成します。
出来上がった Session オブジェクトを使って、コードは API のタイプとメソッドを使う Root オブジェクトを作成します。詳細については、 Snowflake Python APIs によるSnowflakeへの接続 をご参照ください。
カタログ統合の管理¶
アカウントで Apache Iceberg™ テーブルのカタログ統合を管理できます。カタログ統合とは、 SnowflakeをIcebergカタログとして使用しない場合、または Snowflake Open Catalog と統合したい場合に、シナリオ用のIcebergテーブルのメタデータをどのように整理するかについての情報を格納する、名前付きのアカウントレベルのSnowflakeオブジェクトです。詳細については、 Apache Iceberg™ テーブル の カタログ統合 セクションをご参照ください。
注釈
ALTER CATALOG INTEGRATION は現在サポートされていません。
Snowflake Python APIs は、2つのタイプに分かれたカタログ統合を表しています。
CatalogIntegration: カタログ統合の名前、テーブル形式、カタログ設定などのプロパティを公開します。CatalogIntegrationResource: 対応するCatalogIntegrationオブジェクトを取得し、データベースを削除するために使用できるメソッドを公開します。
カタログ統合の作成¶
カタログ統合を作成するには、まず CatalogIntegration オブジェクトを作成して、 API Root オブジェクトから CatalogIntegrationCollection オブジェクトを作成します。 CatalogIntegrationCollection.create を使用して、新しいカタログ統合をSnowflakeに追加します。
アカウントで、次のタイプの外部 Iceberg カタログのカタログ統合を作成できます。
AWS Glue¶
以下の例のコードは、指定されたプロパティを持つ AWS Glue を使用する Iceberg テーブルの my_catalog_integration という名前のカタログ統合を表す CatalogIntegration オブジェクトを作成します。
オブジェクトストア¶
次の例のコードは、オブジェクト・ストアを使用するIcebergテーブルの my_catalog_integration というカタログ統合を表す CatalogIntegration オブジェクトを作成します。
Snowflake Open Catalog¶
以下の例のコードは、指定されたプロパティを持つ Open Catalog を使用する Iceberg テーブルの my_catalog_integration という名前のカタログ統合を表す CatalogIntegration オブジェクトを作成します。
カタログ統合の詳細の取得¶
CatalogIntegration オブジェクトを返す CatalogIntegrationResource.fetch メソッドを呼び出すことで、カタログ統合に関する情報を取得できます。
次の例のコードは、 my_catalog_integration という名前のカタログ統合の情報を取得します。
カタログ統合のリスト¶
CatalogIntegration オブジェクトの PagedIter 反復子を返す CatalogIntegrationCollection.iter メソッドを使用して、カタログ統合を一覧表示することができます。
次の例のコードは、名前が my で始まるカタログ統合を一覧表示し、それぞれの名前を表示します。
カタログ統合のドロップ¶
カタログ統合を CatalogIntegrationResource オブジェクトにドロップできます。
次の例のコードは、 my_catalog_integration カタログ統合リソースオブジェクトを取得し、カタログ統合をドロップします。
通知統合の管理¶
通知統合を管理することができます。これは、サードパーティのクラウドメッセージキューイングサービス、メールサービス、WebhookなどのサードパーティのメッセージングサービスとSnowflakeの間のインタフェースを提供するSnowflakeオブジェクトです。詳細については、 Snowflakeでの通知 をご参照ください。
注釈
ALTER NOTIFICATION INTEGRATION は現在サポートされていません。
Snowflake Python APIs は、2つのタイプに分かれた通知統合を表しています。
NotificationIntegration: 通知統合の名前や通知フック設定などのプロパティを公開します。NotificationIntegrationResource: 対応するNotificationIntegrationオブジェクトを取得し、通知統合をドロップするために使用できるメソッドを公開します。
通知統合の作成¶
通知統合を作成するには、まず NotificationIntegration オブジェクトを作成して、 API Root オブジェクトから NotificationIntegrationCollection オブジェクトを作成します。 NotificationIntegrationCollection.create を使用して、新しい通知統合をSnowflakeに追加します。
以下のタイプのメッセージングサービスの通知統合を作成できます。
メール¶
次の例のコードは、指定された NotificationEmail プロパティを持つ my_email_notification_integration という名前の通知統合を表す NotificationIntegration オブジェクトを作成します。
ウェブフック¶
次の例のコードは、指定された NotificationWebhook プロパティを持つ my_webhook_notification_integration という名前の通知統合を表す NotificationIntegration オブジェクトを作成します。
Amazon SNS トピック(アウトバウンド)¶
次の例のコードは、指定された NotificationQueueAwsSnsOutbound プロパティを持つ my_aws_sns_outbound_notification_integration という名前の通知統合を表す NotificationIntegration オブジェクトを作成します。
Microsoft Azure Event Gridトピック(出力)¶
次の例のコードは、指定された NotificationQueueAzureEventGridOutbound プロパティを持つ my_azure_outbound_notification_integration という名前の通知統合を表す NotificationIntegration オブジェクトを作成します。
Microsoft Azure Event Gridトピック(入力)¶
次の例のコードは、指定された NotificationQueueAzureEventGridInbound プロパティを持つ my_azure_inbound_notification_integration という名前の通知統合を表す NotificationIntegration オブジェクトを作成します。
Google Pub/Subトピック(出力)¶
次の例のコードは、指定された NotificationQueueGcpPubsubOutbound プロパティを持つ my_gcp_outbound_notification_integration という名前の通知統合を表す NotificationIntegration オブジェクトを作成します。
Google Pub/Subトピック(入力)¶
次の例のコードは、指定された NotificationQueueGcpPubsubInbound プロパティを持つ my_gcp_inbound_notification_integration という名前の通知統合を表す NotificationIntegration オブジェクトを作成します。
通知統合の詳細の取得¶
NotificationIntegration オブジェクトを返す NotificationIntegrationResource.fetch メソッドを呼び出すことで、通知統合に関する情報を取得できます。
次の例のコードは、 my_notification_integration という名前の通知統合の情報を取得します。
通知統合のリスト¶
NotificationIntegration オブジェクトの PagedIter 反復子を返す NotificationIntegrationCollection.iter メソッドを使用して、カタログ統合を一覧表示することができます。
次の例のコードは、名前が my で始まる通知統合をリストし、それぞれの名前を表示します。
通知統合のドロップ¶
NotificationIntegrationResource オブジェクトで通知統合をドロップできます。
次の例のコードは、 my_notification_integration 通知統合リソースオブジェクトを取得し、通知統合を削除します。