SSnowpark Container Services:ガイドラインと制約¶
一般的な制限: これらの制限に関する問題が発生した場合は、アカウント担当者にお問い合わせください。
Snowflakeアカウントには最大200のサービスを作成できます。
各サービスは最大100のエンドポイントを持つことができます(spec.endpoints を参照)。
各サービスは最大20のコンテナーを持つことができます(spec.containers を参照)。
各サービスは最大50のシークレットを持つことができます(containers.secrets を参照)。
各サービスは最大20のボリュームを持つことができます(spec.volumes を参照)。
外部アクセス統合(EAIs)を使用してインターネットアクセス(ネットワークエグレスの構成)を有効にすると、以下の制限が適用されます。
各サービスは最大10個の EAIs (CREATE SERVICE および ALTER SERVICE を参照)をサポートすることができます。
各 EAI は最大100のホスト名を持つことができます。
インターネットからパブリックエンドポイントにアクセスすると、ユーザー名/パスワード認証コードは機能しますが、 SSO では、空白のページが表示されるか、以下のエラーが表示されることがあります。" 指定された OAuth クライアントとの統合 ID が見つかりません。"この問題への対処情報については、 進入と SSO への配慮 をご覧ください。
画像プラットフォームの要件: 現在、Snowpark Container Servicesにはlinux/amd64プラットフォーム画像が必要です。
サービスコンテナの権限なし: サービスコンテナは権限として実行されないため、ホスト上のハードウェアの構成を変更できず、限られた OS 構成のみを変更できます。サービスコンテナは、通常のユーザー(つまり、ルートを必要としないユーザー)ができるオペレーティングシステム構成のみを実行できます。
データベースおよびスキーマの名前変更:
すでにサービスを作成したデータベースやスキーマの名前は変更しないでください。名前変更は事実上、サービスを別のデータベースとスキーマに移動することになりますが、これはサポートされていません。例:
Snowflakeが実行中のサービスコンテナーに提供したデータベースとスキーマの情報は、引き続き従来の名前を参照します。
サービスがイベントテーブルにインジェストする新しいログは、従来のデータベース名とスキーマ名を参照し続けます。
サービス関数は従来のデータベースとスキーマのサービスを参照し続け、サービス関数を呼び出すと失敗します。
サービス仕様は、Snowflakeステージやイメージリポジトリなどのオブジェクトを参照することができます。これらのオブジェクトが存在するデータベース名やスキーマ名を変更した場合は、サービス仕様の参照オブジェクトのデータベース名やスキーマ名を手動で更新する必要があります。
親スキーマまたはデータベースの所有権の譲渡:
親データベース/スキーマの所有権は、別のロールに譲渡できます。しかし、データベースやスキーマ内のサービスの所有権は、新しいロールに譲渡されません。サービスはサービスの所有者ロールとして実行されるため、変更されません。その結果、サービスは、同じスキーマ内のイメージリポジトリやSnowflakeステージなど、スキーマ内のオブジェクトに対する権限を失う可能性があります。
親スキーマ/データベースの所有権の譲渡が必要な場合は、サービスの再作成を検討してください。
データベースおよびスキーマのドロップおよびドロップ解除:
親データベースまたはスキーマをドロップすると、サービスは非同期に削除されます。つまり、内部プロセスでサービスが削除されるまで、しばらくの間サービスが実行され続ける可能性があります。
以前に削除されたデータベースやスキーマのドロップ解除を試行しても、サービスが復元される保証はありません。
サービスの所有権譲渡: :doc:` サービスの所有権譲渡 </sql-reference/sql/grant-ownership>` または将来の所有権譲渡(ジョブサービスを含む)はサポートされていません。
サービス関数の所有権移転:
サービス関数の所有権は、別のロールに譲渡することができます。新しい所有者ロールにサービスに対する USAGE 権限がない場合、関数の呼び出しは失敗します。新しい関数所有者ロールへ USAGE 権限を付与する必要があります。
複製: Snowflakeで複製を扱う場合、以下の点に注意してください。
サービス、コンピューティングプール、リポジトリなどのSnowpark Container Servicesオブジェクトを複製することはできません。
データベース内にリポジトリを作成した場合は、データベース全体を複製することはできません。データベースにサービス、コンピューティングプールなどの他のリソースが含まれている場合、データベースの複製プロセスは成功しますが、データベース内の個々のオブジェクトは複製されません。
**ジョブサービスのタイムアウト:**Snowpark Container Servicesのジョブサービスは、デフォルトで同期的に実行されます。ステートメントがタイムアウトすると、ジョブサービスはキャンセルされます。デフォルトのステートメントタイムアウトは2日間。お客様は、STATEMENT_TIMEOUT_IN_SECONDS ALTER を使用してパラメーター SESSION を設定することにより、タイムアウトを変更できます。
ALTER SESSION SET statement_timeout_in_seconds=<time>
EXECUTE JOB SERVICE コマンドを実行する前に設定します。
ASYNC=trueを指定してジョブサービスを非同期的に実行し、ステートメントのタイムアウトによってジョブサービスが中断されるのを回避できます。Google Cloudでのファイルステージングコマンドのサポート: PUT 、 GET 、 LIST または REMOVE コマンドをGoogle CloudのSnowflakeクライアントライブラリと一緒に使用するには、クライアントを少なくとも次のバージョンに更新します。
クライアント
バージョン
Go Snowflake Driver
1.14.1
Python用Snowflakeコネクタ
3.16.0
.NET ドライバー
4.6.0
Node.jsドライバー
2.1.3
JDBC ドライバー
3.25.1
ODBC ドライバー
3.10.0