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>
    
    Copy

    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