claude-skills/

Anthropic公式スキル・プラグインの日本語ディレクトリ

last sync 22h ago
スキルOfficialdatabase

🔄external-collection

プラグイン
zilliz

説明

次のような場合に使用: ユーザーが外部コレクション(Vector Lake などの外部データソースをバックエンドとするコレクション)に対するリフレッシュジョブのトリガー実行、詳細確認、または一覧取得を行いたい場合。 なお、これはデータプレーンのリフレッシュワークフローであり、コレクションの CRUD 操作とは異なります。 コレクションの作成・削除・ロードについては、コレクション skill を参照してください。

原文を表示

Use when the user wants to trigger, describe, or list refresh jobs for an external collection (a collection backed by an external data source such as Vector Lake). Note this is the data-plane refresh workflow, not collection CRUD -- for create/drop/load see the collection skill.

ユースケース

  • 外部コレクションのリフレッシュジョブをトリガー実行する
  • リフレッシュジョブの詳細を確認する
  • リフレッシュジョブの一覧を取得する

本文(日本語訳)

前提条件

  1. CLIがインストール済みで、ログイン済み、かつクラスターのコンテキストが設定されていること(セットアップスキルを参照)。
  2. 対象のコレクションが外部コレクションとしてすでに存在していること (collectionスキルにて externalSource / externalSpec スキーマを使用して作成されたもの)。 通常のインプレースコレクションにはリフレッシュジョブが存在しない。
  3. クラスターが /v2/vectordb/jobs/external_collection/* を公開する kite-coordinator ビルド(PR #5735 以降)で動作していること。 旧バージョンのデータプレーンではAPIが404を返すため、その場合はユーザーにクラスターのアップグレードを促すこと。

コマンドリファレンス

external-collection リソースには refresh という単一のオペレーションがあり、 triggerdescribelist の3つのアクションを持つ。 いずれもデータプレーンへの呼び出しであり、--database で上書きしない限り、 現在のコンテキストからデータベースを継承する。

リフレッシュジョブのトリガー

zilliz external-collection refresh trigger --name <collection-name>
# オプション:
#   --database <db-name>          コンテキストのデータベースを上書き
#   --external-source <src>       コレクションに登録された外部ソースを上書き
#   --external-spec <spec>        コレクションに登録された外部スペックを上書き

trigger は新しい jobId を返す。 ステータスをポーリングする際は refresh describe と組み合わせて使用すること。 上書きフラグは通常ほとんど使用しない。 ソースとスペックはコレクション作成時に固定されるため、 通常は refresh trigger --name <name> のみで十分である。

リフレッシュジョブの詳細確認

zilliz external-collection refresh describe --job-id <id>

ジョブの状態・進捗、および失敗時にはエラーメッセージを返す。

リフレッシュジョブの一覧表示

zilliz external-collection refresh list
# オプション:
#   --name <collection-name>      特定の外部コレクションに絞り込む
#   --database <db-name>          コンテキストのデータベースを上書き

フィルターなしの場合、list は現在のデータベーススコープ内の 直近のリフレッシュジョブを返す。 --query と組み合わせることで特定フィールドを抽出できる。例:

zilliz external-collection refresh list --name my_external_coll \
  --query 'data[?state==`Pending` || state==`Running`].jobId'

ガイダンス

  • 外部コレクションとは、行データが外部ソース(例: Vector Lakeテーブル)に存在するコレクションのことである。 コレクションのメタデータ・インデックス・スキーマはMilvus上に保持されるが、 データはオンデマンドで取得される。 refresh ジョブは、その外部データをコレクションに同期し、 以降のクエリが最新の行を参照できるようにするためのものである。

  • リフレッシュジョブは非同期で実行される。 trigger 実行後は、ジョブが終端状態に達するまで describe でポーリングすること。 trigger が正常に返ったからといって完了を前提にしてはならない。 それはジョブが受理されたことを意味するにすぎない。

  • trigger が「collection not found」または「not an external collection」で失敗した場合は、 zilliz collection describe --name <name> で当該コレクションに externalSource フィールドが存在するか確認すること。 存在しない場合、そのコレクションは通常のインプレースコレクションであり、 リフレッシュは適用されない。その場合は何も対処不要である。

  • describe でジョブの失敗が報告された場合は、エラーメッセージをそのままユーザーに提示すること。 多くの場合、Milvusのバグではなく、外部ソース側の認証情報・ネットワーク・ スキーマの不一致が原因として示されている。

  • 同一コレクションに対して重複するリフレッシュジョブのスケジューリングは避けること。 新しいジョブをトリガーする前に、list --name <name> で 実行中のジョブがないか確認すること。

  • 大規模な外部テーブルに対する trigger は数分かかる場合がある。 数秒おきにポーリングしながらチャットセッションを保持し続けることは避け、 ユーザーに jobId を伝えた上で、後から describe で確認する方法を案内すること。

  • 同一コレクションに対する関連オペレーション(作成・削除・ロード・クエリ)については、 collection スキルを参照すること。本スキルはリフレッシュのライフサイクルのみを対象とする。

原文(English)を表示

Prerequisites

  1. CLI installed, logged in, and cluster context set (see setup skill).
  2. The target collection must already exist as an external collection (created with an externalSource / externalSpec schema in the collection skill). Plain in-place collections do not have refresh jobs.
  3. The cluster must be running a kite-coordinator build that exposes /v2/vectordb/jobs/external_collection/* (PR #5735 or later). On older data planes the API returns 404 -- in that case ask the user to upgrade the cluster.

Commands Reference

The external-collection resource has a single operation, refresh, with three actions: trigger, describe, and list. All three are data-plane calls and inherit the database from the current context unless overridden with --database.

Trigger a refresh job

zilliz external-collection refresh trigger --name <collection-name>
# Optional:
#   --database <db-name>          Override the context database
#   --external-source <src>       Override the external source registered on the collection
#   --external-spec <spec>        Override the external spec registered on the collection

trigger returns the new jobId. Use it with refresh describe to poll status. The override flags are intentionally rare -- normally the source and spec are pinned at collection-create time, and a plain refresh trigger --name <name> is enough.

Describe a refresh job

zilliz external-collection refresh describe --job-id <id>

Returns the job's state, progress, and (on failure) the error message.

List refresh jobs

zilliz external-collection refresh list
# Optional:
#   --name <collection-name>      Filter to one external collection
#   --database <db-name>          Override the context database

Without filters, list returns recent refresh jobs scoped to the current database. Pair with --query to extract a single field, e.g.:

zilliz external-collection refresh list --name my_external_coll \
  --query 'data[?state==`Pending` || state==`Running`].jobId'

Guidance

  • An external collection is a collection whose rows live in an external source (e.g. a Vector Lake table). The collection's metadata, indexes, and schema are in Milvus, but the data is pulled in on demand. The refresh job is what synchronises that external data into the collection so subsequent queries see fresh rows.
  • Refresh jobs are asynchronous. After trigger, poll with describe until the job reaches a terminal state. Do not assume completion just because trigger returned successfully -- that only means the job was accepted.
  • If trigger fails with "collection not found" or "not an external collection", verify with zilliz collection describe --name <name> that the collection actually has an externalSource field. If it does not, this is a normal in-place collection and refresh does not apply -- nothing needs to be done.
  • When describe reports a failed job, surface the error message to the user verbatim. It usually points at a credentials, network, or schema mismatch in the external source rather than a Milvus bug.
  • Avoid scheduling overlapping refresh jobs against the same collection -- check list --name <name> for an already-running job before triggering a new one.
  • A trigger on a large external table can run for minutes. Do not hold a chat session open polling every few seconds -- give the user the jobId and explain how to come back and check describe later.
  • For related operations on the same collection (create, drop, load, query) defer to the collection skill. This skill only covers the refresh lifecycle.

原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。