diff --git a/TOC-ai.md b/TOC-ai.md index e29b0bc6d5ca2..9558ff09d9c60 100644 --- a/TOC-ai.md +++ b/TOC-ai.md @@ -5,45 +5,162 @@ ## クイックスタート -- [Pythonで始める](/ai/quickstart-via-python.md) -- [SQL経由で開始する](/ai/quickstart-via-sql.md) - -## 概念 - -- [ベクトル検索](/ai/concepts/vector-search-overview.md) +- [Python によるベクトル検索のクイックスタート](/ai/quickstart-via-python.md) +- [SQL によるベクトル検索のクイックスタート](/ai/quickstart-via-sql.md) +- [TiDB Cloud CLI のクイックスタート](/ai/ti/ti-quick-start.md) ## ガイド -- [TiDBに接続する](/ai/guides/connect.md) -- [表の操作](/ai/guides/tables.md) -- 検索機能 - - [ベクトル検索](/ai/guides/vector-search.md) +- [Python から TiDB に接続する](/ai/guides/connect.md) +- 検索と取得 + - ベクトル検索 + - [概要](/ai/guides/vector-search-overview.md) + - [ベクトル検索ガイド](/ai/guides/vector-search.md) + - [ベクトル検索の例](/ai/guides/vector-search-with-pytidb.md) - 全文検索 - [Pythonによる全文検索](/ai/guides/vector-search-full-text-search-python.md) - [SQLによる全文検索](/ai/guides/vector-search-full-text-search-sql.md) - - [ハイブリッド検索](/ai/guides/vector-search-hybrid-search.md) - - [画像検索](/ai/guides/image-search.md) -- 高度な機能 - - [自動埋め込み](/ai/guides/auto-embedding.md) - - [フィルタリング](/ai/guides/filtering.md) + - [全文検索の例](/ai/guides/fulltext-search-with-pytidb.md) + - ハイブリッド検索 + - [ハイブリッド検索ガイド](/ai/guides/vector-search-hybrid-search.md) + - [ハイブリッド検索の例](/ai/guides/hybrid-search-with-pytidb.md) + - 自動埋め込み + - [自動埋め込みガイド](/ai/guides/auto-embedding.md) + - [自動埋め込みの例](/ai/guides/auto-embedding-with-pytidb.md) + - 画像検索 + - [画像検索ガイド](/ai/guides/image-search.md) + - [画像検索の例](/ai/guides/image-search-with-pytidb.md) - [再ランキング](/ai/guides/reranking.md) +- データを操作する + - [テーブルを操作する](/ai/guides/tables.md) + - [フィルタリング](/ai/guides/filtering.md) - [結合クエリ](/ai/guides/join-queries.md) - [生のSQLクエリ](/ai/guides/raw-queries.md) - [トランザクション](/ai/guides/transactions.md) - -## 例 - -- [基本的なCRUD操作](/ai/examples/basic-with-pytidb.md) -- [自動埋め込み](/ai/examples/auto-embedding-with-pytidb.md) -- 検索と取得 - - [ベクトル検索](/ai/examples/vector-search-with-pytidb.md) - - [全文検索](/ai/examples/fulltext-search-with-pytidb.md) - - [ハイブリッド検索](/ai/examples/hybrid-search-with-pytidb.md) - - [画像検索](/ai/examples/image-search-with-pytidb.md) -- AIアプリケーション - - [RAG アプリケーション](/ai/examples/rag-with-pytidb.md) - - [会話記憶](/ai/examples/memory-with-pytidb.md) - - [テキストからSQLへ](/ai/examples/text2sql-with-pytidb.md) +- AI アプリケーションを構築する + - [RAG の例](/ai/guides/rag-with-pytidb.md) + - [会話メモリの例](/ai/guides/memory-with-pytidb.md) + - [Text-to-SQL の例](/ai/guides/text2sql-with-pytidb.md) +- TiDB Cloud CLI + - [概要](/ai/ti/ti-overview.md) + - [TiDB Cloud CLI のインストール、設定、および更新](/ai/ti/reference/ti-install-configure-update.md) + - [TiDB Cloud Starter インスタンスを管理する](/ai/ti/guides/manage-starter-instances.md) + - TiDB Cloud Filesystem を管理する + - [Filesystem リソースを管理する](/ai/ti/guides/manage-filesystem-resources.md) + - [Filesystem AI プロバイダーを設定する](/ai/ti/guides/configure-filesystem-ai-providers.md) + - [Filesystem トークンを管理する](/ai/ti/guides/manage-filesystem-tokens.md) + - [Filesystem データを操作する](/ai/ti/guides/work-with-filesystem-data.md) + - [Filesystem のレイヤーとチェックポイントを管理する](/ai/ti/guides/manage-filesystem-layers.md) + - [TiDB Cloud Filesystem をマウントする](/ai/ti/guides/mount-filesystem.md) + - [Git ワークスペースを管理する](/ai/ti/guides/manage-git-workspaces.md) + - [Filesystem ジャーナルを使用する](/ai/ti/guides/use-filesystem-journals.md) + - [Filesystem Vault シークレットを管理する](/ai/ti/guides/manage-filesystem-vault-secrets.md) + - ユーザーと自動化のシナリオ + - [日次の TiDB Cloud CLI ワークフローを実行する](/ai/ti/guides/ti-daily-workflow-example.md) + - [明示的な SQL ロールを使用して TiDB Cloud Starter にクエリする](/ai/ti/guides/ti-query-sql-with-roles-example.md) + - [複数のマシン間で TiDB Cloud Filesystem を共有する](/ai/ti/guides/ti-share-filesystem-across-machines-example.md) + - [TiDB Cloud Filesystem を使用して分離されたジョブ間で CI アーティファクトを受け渡す](/ai/ti/guides/ti-ci-artifact-handoff-example.md) + - AI エージェントのシナリオ + - [エージェントのサンドボックスで TiDB Cloud Filesystem を使用する](/ai/ti/guides/ti-agent-sandbox-example.md) + - [TiDB Cloud Filesystem を使用して使い捨てサンドボックス間でエージェントの状態を永続化する](/ai/ti/guides/ti-persistent-agent-state-example.md) + - [TiDB Cloud Filesystem を使用して並列エージェント間で読み取り専用データセットを共有する](/ai/ti/guides/ti-parallel-agent-dataset-example.md) + - [TiDB Cloud Filesystem 上でエージェント用の Git ワークスペースを準備する](/ai/ti/guides/ti-git-workspace-for-agents-example.md) + - [TiDB Cloud Filesystem ジャーナルにエージェントのワークフローを記録する](/ai/ti/guides/ti-journal-agent-workflow-example.md) + - [TiDB Cloud Filesystem Vault シークレットをエージェントに委任する](/ai/ti/guides/ti-vault-agent-secrets-example.md) + - コマンドリファレンス + - [概要](/ai/ti/reference/ti-cli-reference.md) + - [configure](/ai/ti/reference/ti-configure.md) + - [update](/ai/ti/reference/ti-update.md) + - TiDB Cloud Starter インスタンスを管理するための `ti db` コマンド + - [概要](/ai/ti/reference/ti-starter-database.md) + - [create-db-cluster](/ai/ti/reference/ti-db-create-db-cluster.md) + - [list-db-clusters](/ai/ti/reference/ti-db-list-db-clusters.md) + - [describe-db-cluster](/ai/ti/reference/ti-db-describe-db-cluster.md) + - [update-db-cluster](/ai/ti/reference/ti-db-update-db-cluster.md) + - [delete-db-cluster](/ai/ti/reference/ti-db-delete-db-cluster.md) + - [create-db-cluster-branch](/ai/ti/reference/ti-db-create-db-cluster-branch.md) + - [list-db-cluster-branches](/ai/ti/reference/ti-db-list-db-cluster-branches.md) + - [describe-db-cluster-branch](/ai/ti/reference/ti-db-describe-db-cluster-branch.md) + - [delete-db-cluster-branch](/ai/ti/reference/ti-db-delete-db-cluster-branch.md) + - [create-db-sql-users](/ai/ti/reference/ti-db-create-db-sql-users.md) + - [format-db-connection-string](/ai/ti/reference/ti-db-format-db-connection-string.md) + - [execute-sql-statement](/ai/ti/reference/ti-db-execute-sql-statement.md) + - TiDB Cloud Filesystem を管理するための `ti fs` コマンド + - [概要](/ai/ti/reference/ti-filesystem.md) + - [create-file-system](/ai/ti/reference/ti-fs-create-file-system.md) + - [import-file-system-token](/ai/ti/reference/ti-fs-import-file-system-token.md) + - [generate-file-system-token](/ai/ti/reference/ti-fs-generate-file-system-token.md) + - [generate-file-system-scoped-token](/ai/ti/reference/ti-fs-generate-file-system-scoped-token.md) + - [list-file-system-tokens](/ai/ti/reference/ti-fs-list-file-system-tokens.md) + - [enable-file-system-token](/ai/ti/reference/ti-fs-enable-file-system-token.md) + - [disable-file-system-token](/ai/ti/reference/ti-fs-disable-file-system-token.md) + - [delete-file-system-token](/ai/ti/reference/ti-fs-delete-file-system-token.md) + - [refresh-file-system-token](/ai/ti/reference/ti-fs-refresh-file-system-token.md) + - [list-file-systems](/ai/ti/reference/ti-fs-list-file-systems.md) + - [describe-file-system](/ai/ti/reference/ti-fs-describe-file-system.md) + - [describe-file-system-extract-configuration](/ai/ti/reference/ti-fs-describe-file-system-extract-configuration.md) + - [update-file-system-extract-configuration](/ai/ti/reference/ti-fs-update-file-system-extract-configuration.md) + - [describe-file-system-embedding-configuration](/ai/ti/reference/ti-fs-describe-file-system-embedding-configuration.md) + - [update-file-system-embedding-configuration](/ai/ti/reference/ti-fs-update-file-system-embedding-configuration.md) + - [check-file-system](/ai/ti/reference/ti-fs-check-file-system.md) + - [delete-file-system](/ai/ti/reference/ti-fs-delete-file-system.md) + - [copy-file](/ai/ti/reference/ti-fs-copy-file.md) + - [read-file](/ai/ti/reference/ti-fs-read-file.md) + - [list-files](/ai/ti/reference/ti-fs-list-files.md) + - [describe-file](/ai/ti/reference/ti-fs-describe-file.md) + - [move-file](/ai/ti/reference/ti-fs-move-file.md) + - [delete-file](/ai/ti/reference/ti-fs-delete-file.md) + - [create-directory](/ai/ti/reference/ti-fs-create-directory.md) + - [chmod-file](/ai/ti/reference/ti-fs-chmod-file.md) + - [create-symlink](/ai/ti/reference/ti-fs-create-symlink.md) + - [create-hardlink](/ai/ti/reference/ti-fs-create-hardlink.md) + - [search-file-content](/ai/ti/reference/ti-fs-search-file-content.md) + - [find-files](/ai/ti/reference/ti-fs-find-files.md) + - [create-layer](/ai/ti/reference/ti-fs-create-layer.md) + - [list-layers](/ai/ti/reference/ti-fs-list-layers.md) + - [fork-layer](/ai/ti/reference/ti-fs-fork-layer.md) + - [list-layer-chain](/ai/ti/reference/ti-fs-list-layer-chain.md) + - [describe-layer](/ai/ti/reference/ti-fs-describe-layer.md) + - [diff-layer](/ai/ti/reference/ti-fs-diff-layer.md) + - [create-layer-checkpoint](/ai/ti/reference/ti-fs-create-layer-checkpoint.md) + - [delete-layer](/ai/ti/reference/ti-fs-delete-layer.md) + - [rollback-layer](/ai/ti/reference/ti-fs-rollback-layer.md) + - [commit-layer](/ai/ti/reference/ti-fs-commit-layer.md) + - [pack-file-system](/ai/ti/reference/ti-fs-pack-file-system.md) + - [unpack-file-system](/ai/ti/reference/ti-fs-unpack-file-system.md) + - [mount-file-system](/ai/ti/reference/ti-fs-mount-file-system.md) + - [drain-file-system](/ai/ti/reference/ti-fs-drain-file-system.md) + - [unmount-file-system](/ai/ti/reference/ti-fs-unmount-file-system.md) + - TiDB Cloud Filesystem Git ワークスペースを管理するための `ti fs-git` コマンド + - [概要](/ai/ti/reference/ti-filesystem-git.md) + - [clone-git-workspace](/ai/ti/reference/ti-fs-git-clone-git-workspace.md) + - [hydrate-git-workspace](/ai/ti/reference/ti-fs-git-hydrate-git-workspace.md) + - [add-git-worktree](/ai/ti/reference/ti-fs-git-add-git-worktree.md) + - [remove-git-worktree](/ai/ti/reference/ti-fs-git-remove-git-worktree.md) + - TiDB Cloud Filesystem ジャーナルを管理するための `ti fs-journal` コマンド + - [概要](/ai/ti/reference/ti-filesystem-journal.md) + - [create-journal](/ai/ti/reference/ti-fs-journal-create-journal.md) + - [append-journal-entries](/ai/ti/reference/ti-fs-journal-append-journal-entries.md) + - [read-journal-entries](/ai/ti/reference/ti-fs-journal-read-journal-entries.md) + - [search-journal-entries](/ai/ti/reference/ti-fs-journal-search-journal-entries.md) + - [verify-journal](/ai/ti/reference/ti-fs-journal-verify-journal.md) + - TiDB Cloud Filesystem Vault シークレットを管理するための `ti fs-vault` コマンド + - [概要](/ai/ti/reference/ti-filesystem-vault.md) + - [create-secret](/ai/ti/reference/ti-fs-vault-create-secret.md) + - [replace-secret](/ai/ti/reference/ti-fs-vault-replace-secret.md) + - [read-secret](/ai/ti/reference/ti-fs-vault-read-secret.md) + - [list-secrets](/ai/ti/reference/ti-fs-vault-list-secrets.md) + - [delete-secret](/ai/ti/reference/ti-fs-vault-delete-secret.md) + - [create-grant](/ai/ti/reference/ti-fs-vault-create-grant.md) + - [delete-grant](/ai/ti/reference/ti-fs-vault-delete-grant.md) + - [list-audit-events](/ai/ti/reference/ti-fs-vault-list-audit-events.md) + - [run-with-secret](/ai/ti/reference/ti-fs-vault-run-with-secret.md) + - [mount-vault](/ai/ti/reference/ti-fs-vault-mount-vault.md) + - [unmount-vault](/ai/ti/reference/ti-fs-vault-unmount-vault.md) + - [TiDB Cloud CLI の設定と認証情報](/ai/ti/reference/ti-configuration-and-credentials.md) + - [TiDB Cloud CLI のリージョン、セキュリティ、および制限事項](/ai/ti/reference/ti-regions-security-and-limitations.md) + - [tdc から TiDB Cloud CLI へ移行する](/ai/ti/reference/ti-migrate-from-tdc.md) + - [TiDB Cloud CLI のトラブルシューティング](/ai/ti/reference/ti-troubleshooting.md) ## 統合 diff --git a/TOC-tidb-cloud-essential.md b/TOC-tidb-cloud-essential.md index 0fc856224731d..96f5a155f3c5c 100644 --- a/TOC-tidb-cloud-essential.md +++ b/TOC-tidb-cloud-essential.md @@ -12,7 +12,7 @@ - さあ始めましょう - [TiDB Cloudをお試しください](/tidb-cloud/tidb-cloud-quickstart.md) - [HTAPを試してみてください](/tidb-cloud/tidb-cloud-htap-quickstart.md) - - [TiDB Cloud CLI をお試しください](/tidb-cloud/get-started-with-cli.md) + - [TiDB Cloud CLI (ticloud) を試す](/tidb-cloud/get-started-with-cli.md) - 主要概念 - [概要](/tidb-cloud/key-concepts.md) - [アーキテクチャ](/tidb-cloud/architecture-concepts.md) @@ -463,7 +463,7 @@ - [`schema_unused_indexes`](/sys-schema/sys-schema-unused-indexes.md) - [メタデータロック](/metadata-lock.md) - [TiDB高速テーブル作成](/accelerated-table-creation.md) -- CLI リファレンス ![PREVIEW](/media/tidb-cloud/blank_transparent_placeholder.png) +- TiDB Cloud CLI (ticloud) リファレンス ![PREVIEW](/media/tidb-cloud/blank_transparent_placeholder.png) - [概要](/tidb-cloud/cli-reference.md) - 認証 - [ログイン](/tidb-cloud/ticloud-auth-login.md) @@ -557,6 +557,7 @@ - [サーバーステータス変数](/status-variables.md) - [テーブルフィルター](/table-filter.md) - [外部ストレージサービスのURI形式](/external-storage-uri.md) + - [スロークエリのトリガールールを設定する](/config-slow-query-trigger-rules.md) - [データとインデックス間の不整合のトラブルシューティング](/troubleshoot-data-inconsistency-errors.md) - [通知](/tidb-cloud/notifications.md) - [TiDB Cloud StarterおよびEssential向けプロジェクトAPI移行ガイド](/tidb-cloud/tidbx-starter-essential-project-api-migration-guide.md) diff --git a/TOC-tidb-cloud-premium.md b/TOC-tidb-cloud-premium.md index f7a5d3752c500..216e22345d37d 100644 --- a/TOC-tidb-cloud-premium.md +++ b/TOC-tidb-cloud-premium.md @@ -478,6 +478,7 @@ - [テーブルフィルター](/table-filter.md) - [外部ストレージサービスのURI形式](/external-storage-uri.md) - [DDL文に埋め込まれた `ANALYZE`](/ddl_embedded_analyze.md) + - [スロークエリのトリガールールを設定する](/config-slow-query-trigger-rules.md) - [データとインデックス間の不整合のトラブルシューティング](/troubleshoot-data-inconsistency-errors.md) - [通知](/tidb-cloud/notifications.md) - サポートプラン diff --git a/TOC-tidb-cloud-starter.md b/TOC-tidb-cloud-starter.md index cd9f8a2c33f53..bab8f5cbaf210 100644 --- a/TOC-tidb-cloud-starter.md +++ b/TOC-tidb-cloud-starter.md @@ -13,7 +13,7 @@ - [TiDB Cloudをお試しください](/tidb-cloud/tidb-cloud-quickstart.md) - [TiDB + AIツールを試してみよう](/tidb-cloud/use-tidb-cloud-with-ai-tools.md) - [HTAPを試してみてください](/tidb-cloud/tidb-cloud-htap-quickstart.md) - - [TiDB Cloud CLI をお試しください](/tidb-cloud/get-started-with-cli.md) + - [TiDB Cloud CLI (ticloud, Legacy) を試す](/tidb-cloud/get-started-with-cli.md) - 主要概念 - [概要](/tidb-cloud/key-concepts.md) - [アーキテクチャ](/tidb-cloud/architecture-concepts.md) @@ -461,7 +461,7 @@ - [`schema_unused_indexes`](/sys-schema/sys-schema-unused-indexes.md) - [メタデータロック](/metadata-lock.md) - [TiDB高速テーブル作成](/accelerated-table-creation.md) -- CLI リファレンス ![PREVIEW](/media/tidb-cloud/blank_transparent_placeholder.png) +- TiDB Cloud CLI (ticloud, Legacy) リファレンス ![PREVIEW](/media/tidb-cloud/blank_transparent_placeholder.png) - [概要](/tidb-cloud/cli-reference.md) - 認証 - [ログイン](/tidb-cloud/ticloud-auth-login.md) diff --git a/TOC.md b/TOC.md index 833ac705cc386..3c5d0d0993638 100644 --- a/TOC.md +++ b/TOC.md @@ -213,6 +213,7 @@ - 問題シナリオ - スロークエリ - [スロークエリを特定する](/identify-slow-queries.md) + - [スロークエリのトリガールールを設定する](/config-slow-query-trigger-rules.md) - [スロークエリを分析する](/analyze-slow-queries.md) - [TiDB メモリ不足](/troubleshoot-tidb-oom.md) - [ホットスポット](/troubleshoot-hot-spot-issues.md) @@ -224,7 +225,7 @@ - 診断方法 - [SQL診断](/information-schema/information-schema-sql-diagnostics.md) - [ステートメントサマリーテーブル](/statement-summary-tables.md) - - [Top SQL を使用して高コストなクエリを特定する](/dashboard/top-sql.md) + - [Top SQL を使用して高コストクエリを特定する](/dashboard/top-sql.md) - [ログを使用して高負荷なクエリを特定する](/identify-expensive-queries.md) - [クラスタのオンサイト情報を保存および復元する](/sql-plan-replayer.md) - [TiKVにおけるステイル読み取りとsafe-tsの理解](/troubleshoot-stale-read.md) @@ -455,7 +456,7 @@ - [楽観的モード](/dm/feature-shard-merge-optimistic.md) - [シャーディングDDLロックを手動で処理する](/dm/manually-handling-sharding-ddl-locks.md) - [gh-ost/pt-osc を使用する MySQL データベースから移行する](/dm/feature-online-ddl.md) - - [より多くのカラムを持つダウンストリーム TiDB テーブルにデータを移行する](/migrate-with-more-columns-downstream.md) + - [より多くのカラムを持つ下流の TiDB テーブルにデータを移行する](/migrate-with-more-columns-downstream.md) - [継続的なデータ検証](/dm/dm-continuous-data-validation.md) - 管理 - クラスタのアップグレード diff --git a/ai/_index.md b/ai/_index.md index 79efd2f706654..79c3211c404d5 100644 --- a/ai/_index.md +++ b/ai/_index.md @@ -1,67 +1,123 @@ --- title: TiDB for AI -summary: TiDBの統合されたベクトル検索、全文検索、そしてシームレスなPython SDKを活用して、最新のAIアプリケーションを構築しましょう。 +summary: SQL、統合検索、TiDB Cloud Starter、および永続的な共有 Filesystems を使用して、TiDB で AI アプリケーションとエージェントワークフローを構築します。 --- # AI向けTiDB {#tidb-for-ai} -TiDBは、最新のAIアプリケーション向けに設計された分散型SQLデータベースであり、統合されたベクトル検索、全文検索、およびハイブリッド検索機能を提供します。このドキュメントでは、TiDBを使用してAI搭載アプリケーションを構築するために利用できるAI機能とツールについて概説します。 +TiDBは、AIアプリケーションの構築とAIエージェントワークフローの実行のためのデータ機能とワークスペース機能を提供します。 -## クイックスタート {#quick-start} +- アプリケーション開発では、SQL または [TiDB AI 向け Python SDK (`pytidb`)](https://github.com/pingcap/pytidb) を使用して、構造化データ、ベクトル検索、全文検索、ハイブリッド検索、および AI を活用した検索取得を利用できます。 +- AI エージェントと自動化では、[TiDB Cloud CLI (`ti`)](https://github.com/tidbcloud/ti-cli) を使用して TiDB Cloud Starter インスタンスと SQL ワークフローを管理し、TiDB Cloud Filesystems をローカルマシン、CI ジョブ、一時的なエージェントサンドボックス間で永続的な共有ストレージとして使用できます。Filesystems は、マウントされたワークスペース、Git ワークフロー、ジャーナル、および委任されたシークレットもサポートします。 -TiDBのAI機能を活用して、すぐに運用を開始しましょう。 +## はじめに {#get-started} -| ドキュメント | 説明 | -| ------------------------------------------- | -------------------------------------------- | -| [Pythonを始めよう](/ai/quickstart-via-python.md) | TiDBとPythonを使って、わずか数分で最初のAIアプリケーションを構築しましょう。 | -| [SQL入門](/ai/quickstart-via-sql.md) | SQLを使用したベクトル検索のクイックスタートガイド。 | +構築したいものに応じて、開始する方法を選択してください。 -## 概念 {#concepts} +| 目標 | まずはこちら | +| --- | --- | +| ベクトル検索を使用した AI アプリケーションを構築する | [Python によるベクトル検索のクイックスタート](/ai/quickstart-via-python.md) または [SQL によるベクトル検索のクイックスタート](/ai/quickstart-via-sql.md) | +| TiDB Cloud を使用してエージェントおよび自動化ワークフローを構築する | [TiDB Cloud CLI のクイックスタート](/ai/ti/ti-quick-start.md) | -TiDBにおけるAIを活用した検索の背後にある基礎概念を理解する。 +## TiDB で AI アプリケーションを構築する {#build-ai-applications-with-tidb} -| ドキュメント | 説明 | -| ------------------------------------------------ | --------------------------------- | -| [ベクトル検索](/ai/concepts/vector-search-overview.md) | ベクトル検索の概念、仕組み、使用例など、包括的な概要を解説します。 | +[`pytidb`](https://github.com/pingcap/pytidb) SDK または SQL を使用して TiDB に接続し、データを検索および取得して、AI を活用したアプリケーションを構築できます。 -## ガイド {#guides} +### TiDB に接続する {#connect-to-tidb} -[`pytidb`](https://github.com/pingcap/pytidb) SDKまたはSQLを使用してTiDBでAIアプリケーションを構築するためのステップバイステップガイド。 +| ドキュメント | 説明 | +| --- | --- | +| [Python で TiDB に接続する](/ai/guides/connect.md) | `pytidb` を使用して TiDB Cloud または TiDB Self-Managed に接続します。 | -| ドキュメント | 説明 | -| ----------------------------------------------------------- | ---------------------------------------------------- | -| [TiDBに接続する](/ai/guides/connect.md) | `pytidb`を使用してTiDB Cloudまたは TiDB Self-Managed に接続します。 | -| [テーブルの操作](/ai/guides/tables.md) | ベクトルフィールドを使用してテーブルを作成、クエリ、管理します。 | -| [ベクトル検索](/ai/guides/vector-search.md) | `pytidb`を使用して意味的類似性検索を実行します。 | -| [全文検索](/ai/guides/vector-search-full-text-search-python.md) | BM25ランキングを用いたキーワードベースのテキスト検索。 | -| [ハイブリッド検索](/ai/guides/vector-search-hybrid-search.md) | より良い結果を得るために、ベクトル検索と全文検索を組み合わせましょう。 | -| [画像検索](/ai/guides/image-search.md) | マルチモーダル埋め込みを使用して画像を検索する。 | -| [自動埋め込み](/ai/guides/auto-embedding.md) | データ挿入時に埋め込みを自動的に生成する。 | -| [フィルタリング](/ai/guides/filtering.md) | メタデータ条件で検索結果を絞り込む。 | +### 検索と取得 {#search-retrieval} -## 例 {#examples} +#### ベクトル検索 {#vector-search} -TiDBのAI機能を紹介する、完全なコード例とデモ。 +| ドキュメント | 説明 | +| --- | --- | +| [ベクトル検索の概要](/ai/guides/vector-search-overview.md) | 概念、仕組み、ユースケースを含む、ベクトル検索の包括的な概要。 | +| [ベクトル検索ガイド](/ai/guides/vector-search.md) | `pytidb` を使用してセマンティック類似検索を実行します。 | +| [ベクトル検索の例](/ai/guides/vector-search-with-pytidb.md) | `pytidb` を使用したセマンティック類似検索の例。 | -| ドキュメント | 説明 | -| ----------------------------------------------------- | ---------------------------- | -| [基本的なCRUD操作](/ai/examples/basic-with-pytidb.md) | `pytidb`を使用した基本的なテーブル操作。 | -| [ベクトル検索](/ai/examples/vector-search-with-pytidb.md) | 意味的類似性検索の例。 | -| [RAGアプリケーション](/ai/examples/rag-with-pytidb.md) | 検索拡張型生成アプリケーションを構築する。 | -| [画像検索](/ai/examples/image-search-with-pytidb.md) | Jina AI埋め込みを用いたマルチモーダル画像検索。 | -| [会話記憶](/ai/examples/memory-with-pytidb.md) | AIエージェントおよびチャットボットのための永続メモリ。 | -| [テキストからSQLへの変換](/ai/examples/text2sql-with-pytidb.md) | 自然言語をSQLクエリに変換する。 | +#### 全文検索 {#full-text-search} + +| ドキュメント | 説明 | +| --- | --- | +| [Python による全文検索](/ai/guides/vector-search-full-text-search-python.md) | `pytidb` を使用した BM25 ランキングによるキーワードベースのテキスト検索。 | +| [SQL による全文検索](/ai/guides/vector-search-full-text-search-sql.md) | SQL を使用した BM25 ランキングによるキーワードベースのテキスト検索。 | +| [全文検索の例](/ai/guides/fulltext-search-with-pytidb.md) | `pytidb` を使用した全文検索の例。 | + +#### ハイブリッド検索 {#hybrid-search} + +| ドキュメント | 説明 | +| --- | --- | +| [ハイブリッド検索ガイド](/ai/guides/vector-search-hybrid-search.md) | ベクトル検索と全文検索を組み合わせて、より良い結果を得ます。 | +| [ハイブリッド検索の例](/ai/guides/hybrid-search-with-pytidb.md) | `pytidb` を使用したハイブリッド検索の例。 | + +#### 自動埋め込み {#auto-embeddings} + +| ドキュメント | 説明 | +| --- | --- | +| [自動埋め込みガイド](/ai/guides/auto-embedding.md) | データ挿入時に埋め込みを自動的に生成します。 | +| [自動埋め込みの例](/ai/guides/auto-embedding-with-pytidb.md) | `pytidb` を使用した自動埋め込みの例。 | + +#### 画像検索 {#image-search} + +| ドキュメント | 説明 | +| --- | --- | +| [画像検索ガイド](/ai/guides/image-search.md) | マルチモーダル埋め込みを使用して画像を検索します。 | +| [画像検索の例](/ai/guides/image-search-with-pytidb.md) | Jina AI埋め込みを使用したマルチモーダル画像検索の例。 | + +#### リランキング {#reranking} + +| ドキュメント | 説明 | +| --- | --- | +| [再ランキング](/ai/guides/reranking.md) | 検索結果をリランキングして関連性を向上させます。 | + +### データを操作する {#work-with-data} + +| ドキュメント | 説明 | +| --- | --- | +| [表の操作](/ai/guides/tables.md) | ベクトルフィールドを持つテーブルを作成、クエリ、管理します。 | +| [フィルタリング](/ai/guides/filtering.md) | メタデータ条件で検索結果をフィルタリングします。 | +| [結合クエリ](/ai/guides/join-queries.md) | テーブル間で結合クエリを実行します。 | +| [生のSQLクエリ](/ai/guides/raw-queries.md) | 生のSQLクエリを直接実行します。 | +| [トランザクション](/ai/guides/transactions.md) | データ整合性のためにトランザクションを使用します。 | + +### アプリケーション例 {#application-examples} + +| ドキュメント | 説明 | +| --- | --- | +| [RAGの例](/ai/guides/rag-with-pytidb.md) | Retrieval-Augmented Generation アプリケーションを構築します。 | +| [会話メモリの例](/ai/guides/memory-with-pytidb.md) | AIエージェントやチャットボット向けの永続メモリ。 | +| [Text-to-SQLの例](/ai/guides/text2sql-with-pytidb.md) | 自然言語をSQLクエリに変換します。 | + +## TiDB Cloud CLI でエージェントと自動化ワークフローを構築する {#build-agent-and-automation-workflows-with-tidb-cloud-cli} + +TiDB Cloud CLI (`ti`) を使用すると、ユーザー、スクリプト、CIジョブ、AIエージェントがターミナルから TiDB Cloud を管理できます。これを使用して TiDB Cloud Starter と SQL 操作を自動化したり、それらを使用するマシンやサンドボックスとは独立してファイルやワークスペースを利用可能な状態に保ったりできます。 + +| やりたいこと | まずはこちら | +| --- | --- | +| `ti` が管理する対象と使用するタイミングを理解する | [TiDB Cloud CLI の概要](/ai/ti/ti-overview.md) | +| `ti` をインストールして設定し、最初のワークフローを完了する | [TiDB Cloud CLI を使い始める](/ai/ti/ti-quick-start.md) | +| TiDB Cloud Starter インスタンス、ブランチ、SQL 操作を自動化する | [TiDB Cloud Starter インスタンスを管理する](/ai/ti/guides/manage-starter-instances.md) | +| マシン、CIジョブ、サンドボックス間でファイルを永続化して共有する | [Filesystem リソースを管理する](/ai/ti/guides/manage-filesystem-resources.md) および [Filesystem データを操作する](/ai/ti/guides/work-with-filesystem-data.md) | +| マウントされたワークスペース、Git ワークスペース、ジャーナル、または委任されたシークレットを使用する | [Filesystem をマウントする](/ai/ti/guides/mount-filesystem.md)、[Git ワークスペースを管理する](/ai/ti/guides/manage-git-workspaces.md)、[Filesystem ジャーナルを使用する](/ai/ti/guides/use-filesystem-journals.md)、および [Filesystem Vault シークレットを管理する](/ai/ti/guides/manage-filesystem-vault-secrets.md) | +| エンドツーエンドの自動化またはエージェントの例をたどる | [日次の TiDB Cloud CLI ワークフローを実行する](/ai/ti/guides/ti-daily-workflow-example.md) または [エージェントサンドボックスで TiDB Cloud Filesystem を使用する](/ai/ti/guides/ti-agent-sandbox-example.md) | +| コマンド、グローバルオプション、出力動作、エラーを調べる | [TiDB Cloud CLI コマンドリファレンス](/ai/ti/reference/ti-cli-reference.md) | ## 統合 {#integrations} -TiDBを、人気のAIフレームワーク、埋め込みプロバイダー、開発ツールと統合します。 +TiDBを、埋め込みプロバイダー、AIフレームワーク、アプリケーションライブラリ、クラウドサービス、AI開発ツールに接続します。 -| ドキュメント | 説明 | +| 統合領域 | まずはこちら | | ------------------------------------------------------------------------------------------------------- | ------------------------------------------ | -| [統合の概要](/ai/integrations/vector-search-integration-overview.md) | 利用可能なすべての連携機能の概要。 | -| [埋め込みプロバイダー](/ai/integrations/vector-search-auto-embedding-overview.md#available-text-embedding-models) | OpenAI、Cohere、Jina AIなどに対応した統合インターフェース。 | -| [LlamaIndex](/ai/integrations/vector-search-integrate-with-llamaindex.md) | TiDBをLlamaIndexを使用したベクトルストアとして利用する。 | -| [MCPサーバー](/ai/integrations/tidb-mcp-server.md) | TiDBをClaude Code、Cursor、その他のAI搭載IDEに接続します。 | +| すべての統合 | [TiDB 向け AI 統合](/ai/integrations/vector-search-integration-overview.md) | +| 自動埋め込みプロバイダー | [自動埋め込みの概要](/ai/integrations/vector-search-auto-embedding-overview.md) | +| AIフレームワーク | [LlamaIndex](/ai/integrations/vector-search-integrate-with-llamaindex.md) | +| ORMライブラリ | [SQLAlchemy](/ai/integrations/vector-search-integrate-with-sqlalchemy.md), [Django ORM](/ai/integrations/vector-search-integrate-with-django-orm.md), and [Peewee](/ai/integrations/vector-search-integrate-with-peewee.md) | +| クラウド埋め込みサービス | [Jina AI Embedding](/ai/integrations/vector-search-integrate-with-jinaai-embedding.md) and [Amazon Bedrock](/ai/integrations/vector-search-integrate-with-amazon-bedrock.md) | +| MCPクライアントとAI開発ツール | [TiDB MCP Server](/ai/integrations/tidb-mcp-server.md) | ## 参照 {#reference} @@ -70,7 +126,7 @@ TiDBのAIおよびベクトル検索機能に関する技術リファレンス | ドキュメント | 説明 | | ---------------------------------------------------------------- | ------------------------------------ | | [ベクトルデータ型](/ai/reference/vector-search-data-types.md) | ベクトル列の型と使用方法。 | -| [関数と演算子](/ai/reference/vector-search-functions-and-operators.md) | 距離関数とベクトル演算。 | +| [ベクトル関数と演算子](/ai/reference/vector-search-functions-and-operators.md) | 距離関数とベクトル演算。 | | [ベクトル検索インデックス](/ai/reference/vector-search-index.md) | パフォーマンス向上のために、ベクトルインデックスを作成および管理します。 | -| [性能チューニング](/ai/reference/vector-search-improve-performance.md) | ベクトル検索のパフォーマンスを最適化します。 | -| [制限事項](/ai/reference/vector-search-limitations.md) | 現在の制約と制限。 | +| [ベクトル検索の性能チューニング](/ai/reference/vector-search-improve-performance.md) | ベクトル検索のパフォーマンスを最適化します。 | +| [ベクトル検索の制限事項](/ai/reference/vector-search-limitations.md) | 現在の制約と制限。 | diff --git a/ai/concepts/vector-search-overview.md b/ai/concepts/vector-search-overview.md deleted file mode 100644 index 20e4f112ff286..0000000000000 --- a/ai/concepts/vector-search-overview.md +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: Vector Search Overview -summary: TiDBのベクトル検索について学びましょう。この機能は、文書、画像、音声、動画など、さまざまなデータタイプにわたる意味的類似性検索を実行するための高度な検索ソリューションを提供します。 -aliases: ['/ja/tidb/stable/vector-search-overview/','/ja/tidb/dev/vector-search-overview/','/ja/tidbcloud/vector-search-overview/'] ---- - -# ベクトル検索の概要 {#vector-search-overview} - -ベクトル検索は、文書、画像、音声、動画など、多様なデータタイプにわたる意味的類似性検索のための強力なソリューションを提供します。開発者は、MySQLの専門知識を活用して、生成型AI機能を備えた拡張性の高いアプリケーションを構築でき、高度な検索機能の統合を簡素化できます。 - -> **Note:** -> -> - ベクトル検索機能はパブリックプレビューです。予告なく変更される場合があります。バグを発見した場合は、GitHubで[問題](https://github.com/pingcap/tidb/issues)を報告してください。 -> - ベクトル検索機能は、 [TiDB Self-Managed](/overview.md) および [{{{ .starter }}}](/tidb-cloud/select-cluster-tier.md#starter)で利用できます。TiDB Self-Managedの場合、TiDBのバージョンはv8.4.0以降である必要があります(v8.5.0以降を推奨)。 - -## 概念 {#concepts} - -ベクトル検索とは、データの意味を優先して関連性の高い結果を提供する検索手法です。 - -キーワードの厳密な一致や単語の出現頻度に依存する従来の全文検索とは異なり、ベクトル検索はテキスト、画像、音声などの様々なデータタイプを高次元ベクトルに変換し、これらのベクトル間の類似性に基づいてクエリを実行します。この検索方法は、データの意味論的な意味や文脈情報を捉えるため、ユーザーの意図をより正確に理解することができます。 - -検索語がデータベース内のコンテンツと完全に一致しない場合でも、ベクトル検索はデータの意味を分析することで、ユーザーの意図に沿った結果を提供することができます。 - -例えば、「泳ぐ動物」というキーワードで全文検索を行うと、このキーワードと完全に一致する結果のみが表示されます。一方、ベクトル検索では、キーワードと完全に一致しない場合でも、魚やアヒルなど、他の泳ぐ動物に関する結果も表示されることがあります。 - -### ベクトル埋め込み {#vector-embedding} - -ベクトル埋め込み(または埋め込み)とは、現実世界のオブジェクトを高次元空間で表現する数値のシーケンスです。これは、文書、画像、音声、動画などの非構造化データの意味と文脈を捉えます。 - -ベクトル埋め込みは機械学習において不可欠であり、意味的類似性検索の基盤となります。 - -TiDB は、ベクトル埋め込みのストレージと検索を最適化するように設計された[ベクトルデータ型](/ai/reference/vector-search-data-types.md)と[ベクトル検索インデックス](/ai/reference/vector-search-index.md)を導入し、AI アプリケーションでの使用を強化します。ベクトル埋め込みを TiDB に保存し、ベクトル検索クエリを実行して、これらのデータタイプを使用して最も関連性の高いデータを見つけることができます。 - -### 埋め込みモデル {#embedding-model} - -埋め込みモデルは、データを[ベクトル埋め込み](#vector-embedding)に変換するアルゴリズムです。 - -適切な埋め込みモデルを選択することは、セマンティック検索結果の精度と関連性を確保するために重要です。非構造化テキストデータの場合は、 [大規模テキスト埋め込みベンチマーク(MTEB)リーダーボード](https://huggingface.co/spaces/mteb/leaderboard)で最高のパフォーマンスのテキスト埋め込みモデルを見つけることができます。 - -特定のデータタイプに対応したベクトル埋め込みを生成する方法については、統合チュートリアルまたは埋め込みモデルの例を参照してください。 - -## ベクトル検索の仕組み {#how-vector-search-works} - -生データをベクトル埋め込みに変換してTiDBに保存した後、アプリケーションはベクトル検索クエリを実行して、ユーザーのクエリに対して意味的または文脈的に最も関連性の高いデータを見つけることができます。 - -TiDBベクトル検索は、 [距離関数](/ai/reference/vector-search-functions-and-operators.md)が指定されたベクトルとデータベースに格納されているベクトル間の距離を計算するために用いられます。クエリで指定されたベクトルに最も近いベクトルは、意味的に最も類似したデータを表します。 - -![The Schematic TiDB Vector Search](/media/vector-search/embedding-search.png) - -TiDBは、ベクトル検索機能を統合したリレーショナルデータベースとして、データとその対応するベクトル表現(ベクトル埋め込み)を1つのデータベースにまとめて保存できます。データの保存方法は以下のいずれかの方法を選択できます。 - -- データとその対応するベクトル表現を、同じテーブルの異なる列に格納します。 -- データとその対応するベクトル表現を別々のテーブルに格納します。このため、データを取得する際には`JOIN`クエリを使用してテーブルを結合する必要があります。 - -## ユースケース {#use-cases} - -### 検索拡張生成(RAG) {#retrieval-augmented-generation-rag} - -検索拡張生成(RAG)は、大規模言語モデル(LLM)の出力を最適化するために設計されたアーキテクチャです。RAGアプリケーションは、ベクトル検索を用いることで、ベクトル埋め込みをデータベースに保存し、LLMが応答を生成する際に、関連する文書を追加のコンテキストとして取得することができます。これにより、応答の質と関連性が向上します。 - -### セマンティック検索 {#semantic-search} - -セマンティック検索とは、単にキーワードを照合するのではなく、クエリの意味に基づいて検索結果を返す検索技術です。埋め込み表現を用いて、異なる言語や様々な種類のデータ(テキスト、画像、音声など)における意味を解釈します。そして、ベクトル検索アルゴリズムがこれらの埋め込み表現を利用して、ユーザーのクエリに最も合致する関連性の高いデータを見つけ出します。 - -### レコメンデーションエンジン {#recommendation-engine} - -レコメンデーションエンジンとは、ユーザーにとって関連性が高くパーソナライズされたコンテンツ、製品、サービスを積極的に提案するシステムです。これは、ユーザーの行動や嗜好を表す埋め込みデータを作成することで実現されます。これらの埋め込みデータは、他のユーザーが操作したり興味を示したりした類似アイテムをシステムが特定するのに役立ちます。これにより、レコメンデーションがユーザーにとって関連性が高く魅力的なものになる可能性が高まります。 - -## 関連項目 {#see-also} - -TiDBベクトル検索の利用を開始するには、以下のドキュメントを参照してください。 - -- [Pythonを使ったベクトル検索を始めましょう](/ai/quickstart-via-python.md) -- [SQL を使用したベクトル検索を始めましょう](/ai/quickstart-via-sql.md) - -## 関連リソース {#related-resources} - - - - diff --git a/ai/examples/auto-embedding-with-pytidb.md b/ai/examples/auto-embedding-with-pytidb.md deleted file mode 100644 index 451d22af84687..0000000000000 --- a/ai/examples/auto-embedding-with-pytidb.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -title: Auto Embedding Example -summary: 組み込みの埋め込みモデルを使用して、テキストデータの埋め込みを自動的に生成します。 ---- - -# 自動埋め込みの例 {#auto-embedding-example} - -この例では、 [pytidb](https://github.com/pingcap/pytidb)クライアントで[自動埋め込み](/ai/integrations/vector-search-auto-embedding-overview.md)機能を使用する方法を示します。 - -1. `pytidb`クライアントを使用してTiDBに接続します。 -2. 自動埋め込み用に構成されたVectorFieldを持つテーブルを定義します。 -3. プレーンテキストデータを挿入してください。埋め込みデータはバックグラウンドで自動的に生成されます。 -4. 自然言語クエリを使用してベクトル検索を実行します。埋め込みベクトルは透過的に生成されます。 - -## 前提条件 {#prerequisites} - -始める前に、以下のものを用意してください。 - -- **Python (>=3.10)** : [Python](https://www.python.org/downloads/) 3.10以降のバージョンをインストールしてください。 -- **TiDB Cloud Starterインスタンス**: [TiDB Cloud](https://tidbcloud.com/free-trial)で無料のTiDB Cloud Starterインスタンスを作成できます。 - -## 実行方法 {#how-to-run} - -### ステップ1. `pytidb`リポジトリをクローンする {#step-1-clone-the-pytidb-repository} - -```bash -git clone https://github.com/pingcap/pytidb.git -cd pytidb/examples/auto_embedding/ -``` - -### ステップ2. 必要なパッケージをインストールします {#step-2-install-the-required-packages} - -```bash -python -m venv .venv -source .venv/bin/activate -pip install -r reqs.txt -``` - -### ステップ3.環境変数を設定する {#step-3-set-environment-variables} - -1. [TiDB Cloudコンソール](https://tidbcloud.com/)で、[**My TiDB**](https://tidbcloud.com/tidbs)ページに移動し、ターゲットのTiDB Cloud Starterインスタンスの名前をクリックして、その概要ページに移動します。 -2. 右上隅の**Connect**をクリックします。接続ダイアログが表示され、接続パラメータが表示されます。 -3. 接続パラメータに応じて環境変数を以下のように設定してください。 - -```bash -cat > .env < .env <全文検索機能を備えたECサイトの商品検索

全文検索機能を備えたECサイトの商品検索

- -## 前提条件 {#prerequisites} - -始める前に、以下のものを用意してください。 - -- **Python (>=3.10)** : [Python](https://www.python.org/downloads/) 3.10以降のバージョンをインストールしてください。 -- **TiDB Cloud Starterインスタンス**: [TiDB Cloud](https://tidbcloud.com/free-trial)で無料のTiDB Cloud Starterインスタンスを作成できます。 - -## 実行方法 {#how-to-run} - -### ステップ1. `pytidb`リポジトリをクローンする {#step-1-clone-the-pytidb-repository} - -[`pytidb`](https://github.com/pingcap/pytidb)はTiDBの公式Python SDKであり、開発者がAIアプリケーションを効率的に構築できるよう設計されています。 - -```bash -git clone https://github.com/pingcap/pytidb.git -cd pytidb/examples/fulltext_search/ -``` - -### ステップ2. 必要なパッケージをインストールし、環境をセットアップします。 {#step-2-install-the-required-packages-and-set-up-the-environment} - -```bash -python -m venv .venv -source .venv/bin/activate -pip install -r reqs.txt -``` - -### ステップ3.環境変数を設定する {#step-3-set-environment-variables} - -1. [TiDB Cloudコンソール](https://tidbcloud.com/)で、[**My TiDB**](https://tidbcloud.com/tidbs)ページに移動し、ターゲットのTiDB Cloud Starterインスタンスの名前をクリックして、その概要ページに移動します。 -2. 右上隅の**Connect**をクリックします。接続ダイアログが表示され、接続パラメータが表示されます。 -3. 接続パラメータに応じて環境変数を以下のように設定してください。 - -```bash -cat > .env <TiDBハイブリッド検索デモ

TiDBハイブリッド検索デモ

- -## 前提条件 {#prerequisites} - -始める前に、以下のものを用意してください。 - -- **Python (>=3.10)** : [Python](https://www.python.org/downloads/) 3.10以降のバージョンをインストールしてください。 -- **TiDB Cloud Starterインスタンス**: [TiDB Cloud](https://tidbcloud.com/free-trial)で無料のTiDB Cloud Starterインスタンスを作成できます。 -- **OpenAI API キー**: [OpenAI](https://platform.openai.com/api-keys)から OpenAI API キーを取得します。 - -> **Note** -> -> 現在、全文検索は以下の製品オプションおよび地域でのみご利用いただけます。 -> -> - TiDB Cloud Starter:フランクフルト( `eu-central-1` )、シンガポール( `ap-southeast-1` ) - -## 実行方法 {#how-to-run} - -### ステップ1. `pytidb`リポジトリをクローンする {#step-1-clone-the-pytidb-repository} - -[pytidb](https://github.com/pingcap/pytidb)はTiDBの公式Python SDKであり、開発者がAIアプリケーションを効率的に構築できるよう設計されています。 - -```bash -git clone https://github.com/pingcap/pytidb.git -cd pytidb/examples/hybrid_search -``` - -### ステップ2. 必要なパッケージをインストールし、環境をセットアップします。 {#step-2-install-the-required-packages-and-set-up-the-environment} - -```bash -python -m venv .venv -source .venv/bin/activate -pip install -r reqs.txt -``` - -### ステップ3.環境変数を設定する {#step-3-set-environment-variables} - -1. [TiDB Cloudコンソール](https://tidbcloud.com/)で、[**My TiDB**](https://tidbcloud.com/tidbs)ページに移動し、ターゲットのTiDB Cloud Starterインスタンスの名前をクリックして、その概要ページに移動します。 -2. 右上隅の**Connect**をクリックします。接続ダイアログが表示され、接続パラメータが表示されます。 -3. 接続パラメータに応じて環境変数を以下のように設定してください。 - -```bash -cat > .env < -EOF -``` - -### ステップ4.デモを実行する {#step-4-run-the-demo} - -### オプション1:Streamlitアプリを実行する {#option-1-run-the-streamlit-app} - -ウェブUIでデモを確認したい場合は、以下のコマンドを実行してください。 - -```bash -streamlit run app.py -``` - -ブラウザを開いて`http://localhost:8501`にアクセスしてください。 - -### オプション2:デモスクリプトを実行する {#option-2-run-the-demo-script} - -スクリプトを使ってデモを確認したい場合は、以下のコマンドを実行してください。 - -```bash -python example.py -``` - -期待される出力: - -``` -=== CONNECT TO TIDB === -Connected to TiDB. - -=== CREATE TABLE === -Table created. - -=== INSERT SAMPLE DATA === -Inserted 3 rows. - -=== PERFORM HYBRID SEARCH === -Search results: -[ - { - "_distance": 0.4740166257687124, - "_match_score": 1.6804268, - "_score": 0.03278688524590164, - "id": 60013, - "text": "TiDB is a distributed database that supports OLTP, OLAP, HTAP and AI workloads." - }, - { - "_distance": 0.6428459116216618, - "_match_score": 0.78427225, - "_score": 0.03200204813108039, - "id": 60015, - "text": "LlamaIndex is a Python library for building AI-powered applications." - }, - { - "_distance": 0.641581407158715, - "_match_score": null, - "_score": 0.016129032258064516, - "id": 60014, - "text": "PyTiDB is a Python library for developers to connect to TiDB." - } -] -``` - -## 関連リソース {#related-resources} - -- **ソースコード**: [GitHubで見る](https://github.com/pingcap/pytidb/tree/main/examples/hybrid_search) diff --git a/ai/examples/image-search-with-pytidb.md b/ai/examples/image-search-with-pytidb.md deleted file mode 100644 index 25699d99b2d64..0000000000000 --- a/ai/examples/image-search-with-pytidb.md +++ /dev/null @@ -1,99 +0,0 @@ ---- -title: Image Search Example -summary: テキストから画像への検索と画像から画像への検索の両方に対応する、マルチモーダル埋め込みを用いた画像検索アプリケーションを構築する。 ---- - -# 画像検索の例 {#image-search-example} - -この例では、TiDBのベクトル検索機能とマルチモーダル埋め込みモデルを組み合わせることで、画像検索アプリを構築する方法を示します。 - -ほんの数行のコードで、テキストと画像の両方を理解する検索システムを作成できます。 - -- **テキストから画像への検索**:例えば「ふわふわのオレンジ色の猫」のように、自然言語でペットの写真を説明することで、ペットの写真を検索できます。 -- **画像検索**:写真をアップロードして、犬種、色、ポーズなど、視覚的に類似したペットを検索します。 - -

PyTiDB画像検索デモ

マルチモーダル埋め込みによるペット画像検索

- -## 前提条件 {#prerequisites} - -始める前に、以下のものを用意してください。 - -- **Python (>=3.10)** : [Python](https://www.python.org/downloads/) 3.10以降のバージョンをインストールしてください。 -- **TiDB Cloud Starterインスタンス**: [TiDB Cloud](https://tidbcloud.com/free-trial)で無料のTiDB Cloud Starterインスタンスを作成できます。 -- **Jina AI API キー**: [Jina AI埋め込み](https://jina.ai/embeddings/)から無料の API キーを取得できます。 - -## 実行方法 {#how-to-run} - -### ステップ1. `pytidb`リポジトリをクローンする {#step-1-clone-the-pytidb-repository} - -[`pytidb`](https://github.com/pingcap/pytidb)はTiDBの公式Python SDKであり、開発者がAIアプリケーションを効率的に構築できるよう設計されています。 - -```bash -git clone https://github.com/pingcap/pytidb.git -cd pytidb/examples/image_search/ -``` - -### ステップ2. 必要なパッケージをインストールします {#step-2-install-the-required-packages} - -```bash -python -m venv .venv -source .venv/bin/activate # Windows: .venv\Scripts\activate -pip install -r reqs.txt -``` - -### ステップ3.環境変数を設定する {#step-3-set-environment-variables} - -1. [TiDB Cloudコンソール](https://tidbcloud.com/)で、[**My TiDB**](https://tidbcloud.com/tidbs)ページに移動し、ターゲットのTiDB Cloud Starterインスタンスの名前をクリックして、その概要ページに移動します。 -2. 右上隅の**Connect**をクリックします。接続ダイアログが表示され、接続パラメータが表示されます。 -3. 接続パラメータに応じて環境変数を以下のように設定してください。 - -```bash -cat > .env <TiDBを搭載したメモリ付きAIエージェント

TiDBを搭載したメモリ付きAIエージェント

- -## 前提条件 {#prerequisites} - -始める前に、以下のものを用意してください。 - -- **Python (>=3.10)** : [Python](https://www.python.org/downloads/) 3.10以降のバージョンをインストールしてください。 -- **TiDB Cloud Starterインスタンス**: [TiDB Cloud](https://tidbcloud.com/free-trial)で無料のTiDB Cloud Starterインスタンスを作成できます。 -- **OpenAI API キー**: [OpenAI](https://platform.openai.com/api-keys)から OpenAI API キーを取得します。 - -## 実行方法 {#how-to-run} - -### ステップ1. `pytidb`リポジトリをクローンする {#step-1-clone-the-pytidb-repository} - -[`pytidb`](https://github.com/pingcap/pytidb)はTiDBの公式Python SDKであり、開発者がAIアプリケーションを効率的に構築できるよう設計されています。 - -```bash -git clone https://github.com/pingcap/pytidb.git -cd pytidb/examples/memory/ -``` - -### ステップ2. 必要なパッケージをインストールします {#step-2-install-the-required-packages} - -```bash -python -m venv .venv -source .venv/bin/activate # Windows: .venv\Scripts\activate -pip install -r reqs.txt -``` - -### ステップ3.環境変数を設定する {#step-3-set-environment-variables} - -1. [TiDB Cloudコンソール](https://tidbcloud.com/)で、[**My TiDB**](https://tidbcloud.com/tidbs)ページに移動し、ターゲットのTiDB Cloud Starterインスタンスの名前をクリックして、その概要ページに移動します。 -2. 右上隅の**Connect**をクリックします。接続ダイアログが表示され、接続パラメータが表示されます。 -3. 接続パラメータに応じて環境変数を以下のように設定してください。 - -```bash -cat > .env <PyTiDBで構築されたRAGアプリケーション

PyTiDBで構築されたRAGアプリケーション

- -## 前提条件 {#prerequisites} - -始める前に、以下のものを用意してください。 - -- **Python (>=3.10)** : [Python](https://www.python.org/downloads/) 3.10以降のバージョンをインストールしてください。 -- **TiDB Cloud Starterインスタンス**: [TiDB Cloud](https://tidbcloud.com/free-trial)で無料のTiDB Cloud Starterインスタンスを作成できます。 -- **Ollama** :[Ollama](https://ollama.com/download)からインストールします。 - -## 実行方法 {#how-to-run} - -### ステップ1. 推論APIを準備する {#step-1-prepare-the-inference-api} - -Ollama CLIを使用して、埋め込みモデルとLLMモデルを取得します。 - -```bash -ollama pull mxbai-embed-large -ollama pull gemma3:4b -ollama run gemma3:4b -``` - -`/embed`および`/generate`エンドポイントが実行されていることを確認してください。 - -```bash -curl http://localhost:11434/api/embed -d '{ - "model": "mxbai-embed-large", - "input": "Llamas are members of the camelid family" -}' -``` - -```bash -curl http://localhost:11434/api/generate -d '{ - "model": "gemma3:4b", - "prompt": "Hello, Who are you?" -}' -``` - -### ステップ2. リポジトリをクローンする {#step-2-clone-the-repository} - -```bash -git clone https://github.com/pingcap/pytidb.git -cd pytidb/examples/rag/ -``` - -### ステップ3.必要なパッケージをインストールし、環境をセットアップする {#step-3-install-the-required-packages-and-set-up-the-environment} - -```bash -python -m venv .venv -source .venv/bin/activate -pip install -r reqs.txt -``` - -### ステップ4.環境変数を設定する {#step-4-set-environment-variables} - -1. [TiDB Cloudコンソール](https://tidbcloud.com/)で、[**My TiDB**](https://tidbcloud.com/tidbs)ページに移動し、ターゲットのTiDB Cloud Starterインスタンスの名前をクリックして、その概要ページに移動します。 -2. 右上隅の**Connect**をクリックします。接続ダイアログが表示され、接続パラメータが表示されます。 -3. 接続パラメータに応じて環境変数を以下のように設定してください。 - -```bash -cat > .env <ベクトル埋め込みを用いたセマンティック検索

ベクトル埋め込みを用いたセマンティック検索

- -## 前提条件 {#prerequisites} - -始める前に、以下のものを用意してください。 - -- **Python (>=3.10)** : [Python](https://www.python.org/downloads/) 3.10以降のバージョンをインストールしてください。 -- **TiDB Cloud Starterインスタンス**: [TiDB Cloud](https://tidbcloud.com/free-trial)で無料のTiDB Cloud Starterインスタンスを作成できます。 -- **Ollama** :[Ollama](https://ollama.com/download)からインストールします。 - -## 実行方法 {#how-to-run} - -### ステップ1. Ollamaで埋め込みサービスを開始する {#step-1-start-the-embedding-service-with-ollama} - -埋め込みモデルを取得します。 - -```bash -ollama pull mxbai-embed-large -``` - -埋め込みサービスが実行されていることを確認してください。 - -```bash -curl http://localhost:11434/api/embed -d '{ - "model": "mxbai-embed-large", - "input": "Llamas are members of the camelid family" -}' -``` - -### ステップ2. リポジトリをクローンする {#step-2-clone-the-repository} - -```bash -git clone https://github.com/pingcap/pytidb.git -cd pytidb/examples/vector_search/ -``` - -### ステップ3.必要なパッケージをインストールし、環境をセットアップする {#step-3-install-the-required-packages-and-set-up-the-environment} - -```bash -python -m venv .venv -source .venv/bin/activate -pip install -r reqs.txt -``` - -### ステップ4.環境変数を設定する {#step-4-set-environment-variables} - -1. [TiDB Cloudコンソール](https://tidbcloud.com/)で、[**My TiDB**](https://tidbcloud.com/tidbs)ページに移動し、ターゲットのTiDB Cloud Starterインスタンスの名前をクリックして、その概要ページに移動します。 -2. 右上隅の**Connect**をクリックします。接続ダイアログが表示され、接続パラメータが表示されます。 -3. 接続パラメータに応じて環境変数を以下のように設定してください。 - - ```bash - cat > .env <=3.10)**: [Python](https://www.python.org/downloads/) 3.10 以降のバージョンをインストールします。 +- **{{{ .starter }}} インスタンス**: [TiDB Cloud](https://tidbcloud.com/free-trial) で無料の {{{ .starter }}} インスタンスを作成できます。 + +## 実行方法 {#how-to-run} + +### Step 1. `pytidb` リポジトリをクローンする {#step-1-clone-the-pytidb-repository} + +```bash +git clone https://github.com/pingcap/pytidb.git +cd pytidb/examples/auto_embedding/ +``` + +### Step 2. 必要なパッケージをインストールする {#step-2-install-the-required-packages} + +```bash +python -m venv .venv +source .venv/bin/activate +pip install -r reqs.txt +``` + +### Step 3. 環境変数を設定する {#step-3-set-environment-variables} + +1. [TiDB Cloud コンソール](https://tidbcloud.com/) で [**My TiDB**](https://tidbcloud.com/tidbs) ページに移動し、対象の {{{ .starter }}} インスタンス名をクリックして概要ページを開きます。 +2. 右上隅の **Connect** をクリックします。接続ダイアログが表示され、接続パラメータが一覧表示されます。 +3. 以下のように、接続パラメータに従って環境変数を設定します。 + +```bash +cat > .env < **Note:** > -> 自動埋め込みの完全な例については、 [自動埋め込みの例](/ai/examples/auto-embedding-with-pytidb.md)を参照してください。 +> 自動埋め込みの完全な例については、 [自動埋め込みの例](/ai/guides/auto-embedding-with-pytidb.md)を参照してください。 ## 基本的な使い方 {#basic-usage} diff --git a/ai/guides/fulltext-search-with-pytidb.md b/ai/guides/fulltext-search-with-pytidb.md new file mode 100644 index 0000000000000..99a474e685e9f --- /dev/null +++ b/ai/guides/fulltext-search-with-pytidb.md @@ -0,0 +1,67 @@ +--- +title: 全文検索の例 +summary: TiDB の全文検索を使用して従来型のテキスト検索を実行します。 +--- + +# 全文検索の例 + +この例では、多言語サポートを備えた TiDB の全文検索を使用して、e コマースの商品検索アプリを構築する方法を示します。このアプリのユーザーは、希望する言語でキーワードを使って商品を検索できます。 + +

+ E-commerce product search with full-text search +

全文検索を使用した e コマースの商品検索

+

+ +## 前提条件 {#prerequisites} + +開始する前に、以下を確認してください。 + +- **Python (>=3.10)**: [Python](https://www.python.org/downloads/) 3.10 以降のバージョンをインストールします。 +- **{{{ .starter }}} インスタンス**: [TiDB Cloud](https://tidbcloud.com/free-trial) で無料の {{{ .starter }}} インスタンスを作成できます。 + +## 実行方法 {#how-to-run} + +### Step 1. `pytidb` リポジトリをクローンする {#step-1-clone-the-pytidb-repository} + +[`pytidb`](https://github.com/pingcap/pytidb) は TiDB 向けの公式 Python SDK であり、開発者が AI アプリケーションを効率的に構築できるよう設計されています。 + +```bash +git clone https://github.com/pingcap/pytidb.git +cd pytidb/examples/fulltext_search/ +``` + +### Step 2. 必要なパッケージをインストールし、環境をセットアップする {#step-2-install-the-required-packages-and-set-up-the-environment} + +```bash +python -m venv .venv +source .venv/bin/activate +pip install -r reqs.txt +``` + +### Step 3. 環境変数を設定する {#step-3-set-environment-variables} + +1. [TiDB Cloud コンソール](https://tidbcloud.com/) で [**My TiDB**](https://tidbcloud.com/tidbs) ページに移動し、対象の {{{ .starter }}} インスタンス名をクリックして概要ページを開きます。 +2. 右上の **Connect** をクリックします。接続ダイアログが表示され、接続パラメータが一覧表示されます。 +3. 以下のように、接続パラメータに従って環境変数を設定します。 + +```bash +cat > .env < + TiDB Hybrid Search Demo +

TiDB Hybrid Search Demo

+

+ +## 前提条件 {#prerequisites} + +開始する前に、以下を確認してください。 + +- **Python (>=3.10)**: [Python](https://www.python.org/downloads/) 3.10 以降のバージョンをインストールします。 +- **{{{ .starter }}} インスタンス**: [TiDB Cloud](https://tidbcloud.com/free-trial) で無料の {{{ .starter }}} インスタンスを作成できます。 +- **OpenAI APIキー**: [OpenAI](https://platform.openai.com/api-keys) から OpenAI APIキーを取得します。 + +> **Note** +> +> 現在、全文検索は次の製品オプションとリージョンでのみ利用できます。 +> +> - TiDB Cloud Starter: Frankfurt (`eu-central-1`)、Singapore (`ap-southeast-1`) + +## 実行方法 {#how-to-run} + +### ステップ 1. `pytidb` リポジトリをクローンする {#step-1-clone-the-pytidb-repository} + +[pytidb](https://github.com/pingcap/pytidb) は TiDB の公式 Python SDK であり、開発者が AI アプリケーションを効率的に構築できるように設計されています。 + +```bash +git clone https://github.com/pingcap/pytidb.git +cd pytidb/examples/hybrid_search +``` + +### ステップ 2. 必要なパッケージをインストールし、環境をセットアップする {#step-2-install-the-required-packages-and-set-up-the-environment} + +```bash +python -m venv .venv +source .venv/bin/activate +pip install -r reqs.txt +``` + +### ステップ 3. 環境変数を設定する {#step-3-set-environment-variables} + +1. [TiDB Cloud console](https://tidbcloud.com/) で [**My TiDB**](https://tidbcloud.com/tidbs) ページに移動し、対象の {{{ .starter }}} インスタンス名をクリックして概要ページを開きます。 +2. 右上の **Connect** をクリックします。接続ダイアログが表示され、接続パラメータが一覧表示されます。 +3. 次のように、接続パラメータに従って環境変数を設定します。 + +```bash +cat > .env < +EOF +``` + +### ステップ 4. デモを実行する {#step-4-run-the-demo} + +### オプション 1. Streamlit アプリを実行する {#option-1-run-the-streamlit-app} + +Web UI でデモを確認したい場合は、次のコマンドを実行します。 + +```bash +streamlit run app.py +``` + +ブラウザを開いて `http://localhost:8501` にアクセスします。 + +### オプション 2. デモスクリプトを実行する {#option-2-run-the-demo-script} + +スクリプトでデモを確認したい場合は、次のコマンドを実行します。 + +```bash +python example.py +``` + +想定される出力: + +``` +=== CONNECT TO TIDB === +Connected to TiDB. + +=== CREATE TABLE === +Table created. + +=== INSERT SAMPLE DATA === +Inserted 3 rows. + +=== PERFORM HYBRID SEARCH === +Search results: +[ + { + "_distance": 0.4740166257687124, + "_match_score": 1.6804268, + "_score": 0.03278688524590164, + "id": 60013, + "text": "TiDB is a distributed database that supports OLTP, OLAP, HTAP and AI workloads." + }, + { + "_distance": 0.6428459116216618, + "_match_score": 0.78427225, + "_score": 0.03200204813108039, + "id": 60015, + "text": "LlamaIndex is a Python library for building AI-powered applications." + }, + { + "_distance": 0.641581407158715, + "_match_score": null, + "_score": 0.016129032258064516, + "id": 60014, + "text": "PyTiDB is a Python library for developers to connect to TiDB." + } +] +``` + +## 関連リソース {#related-resources} + +- **ソースコード**: [GitHub で見る](https://github.com/pingcap/pytidb/tree/main/examples/hybrid_search) diff --git a/ai/guides/image-search-with-pytidb.md b/ai/guides/image-search-with-pytidb.md new file mode 100644 index 0000000000000..d2b86b768166c --- /dev/null +++ b/ai/guides/image-search-with-pytidb.md @@ -0,0 +1,102 @@ +--- +title: 画像検索の例 +summary: テキストから画像への検索と画像から画像への検索の両方に対応するために、マルチモーダル埋め込みを使用して画像検索アプリケーションを構築します。 +--- + +# 画像検索の例 + +この例では、TiDB のベクトル検索機能とマルチモーダル埋め込みモデルを組み合わせて、画像検索アプリを構築する方法を紹介します。 + +わずか数行のコードで、テキストと画像の両方を理解できる検索システムを作成できます。 + +- **テキストから画像への検索**: 「fluffy orange cat」のように、自然言語で欲しいものを説明してペットの写真を検索します +- **画像から画像への検索**: 写真をアップロードして、品種、色、ポーズなどが視覚的に似ているペットを検索します + +

+ PyTiDB Image Search Demo +

マルチモーダル埋め込みによるペット画像検索

+

+ +## 前提条件 {#prerequisites} + +開始する前に、以下を用意してください。 + +- **Python (>=3.10)**: [Python](https://www.python.org/downloads/) 3.10 以降をインストールします。 +- **{{{ .starter }}} インスタンス**: [TiDB Cloud](https://tidbcloud.com/free-trial) で無料の {{{ .starter }}} インスタンスを作成できます。 +- **Jina AI APIキー**: [Jina AI Embeddings](https://jina.ai/embeddings/) から無料の APIキーを取得できます。 + +## 実行方法 {#how-to-run} + +### Step 1. `pytidb` リポジトリをクローンする {#step-1-clone-the-pytidb-repository} + +[`pytidb`](https://github.com/pingcap/pytidb) は TiDB の公式 Python SDK であり、開発者が AI アプリケーションを効率的に構築できるよう設計されています。 + +```bash +git clone https://github.com/pingcap/pytidb.git +cd pytidb/examples/image_search/ +``` + +### Step 2. 必要なパッケージをインストールする {#step-2-install-the-required-packages} + +```bash +python -m venv .venv +source .venv/bin/activate # Windows: .venv\Scripts\activate +pip install -r reqs.txt +``` + +### Step 3. 環境変数を設定する {#step-3-set-environment-variables} + +1. [TiDB Cloud コンソール](https://tidbcloud.com/)で [**My TiDB**](https://tidbcloud.com/tidbs) ページに移動し、対象の {{{ .starter }}} インスタンス名をクリックして概要ページを開きます。 +2. 右上の **Connect** をクリックします。接続ダイアログが表示され、接続パラメータが一覧表示されます。 +3. 以下のように、接続パラメータに従って環境変数を設定します。 + +```bash +cat > .env < **Note:** > -> 画像検索の完全な例については、 [画像検索の例](/ai/examples/image-search-with-pytidb.md)を参照してください。 +> 画像検索の完全な例については、 [画像検索の例](/ai/guides/image-search-with-pytidb.md)を参照してください。 ## 基本的な使い方 {#basic-usage} @@ -36,7 +36,7 @@ image_embed = EmbeddingFunction( ### ステップ2. テーブルとベクトルフィールドを作成する {#step-2-create-a-table-and-vector-field} -`VectorField()`画像の埋め込みを格納するためのベクトルフィールドを定義します。`source_field`は画像のURLを格納するフィールドを指定するためのパラメータです。 +`VectorField()`で画像の埋め込みを格納するためのベクトルフィールドを定義します。`source_field`は画像のURLを格納するフィールドを指定するためのパラメータです。 ```python from pytidb.schema import TableModel, Field @@ -107,5 +107,5 @@ results = table.search("orange tabby cat").limit(3).to_list() ## 参照 {#see-also} - [自動埋め込みガイド](/ai/guides/auto-embedding.md) -- [ベクトル検索ガイド](/ai/concepts/vector-search-overview.md) -- [画像検索の例](/ai/examples/image-search-with-pytidb.md) +- [ベクトル検索ガイド](/ai/guides/vector-search-overview.md) +- [画像検索の例](/ai/guides/image-search-with-pytidb.md) diff --git a/ai/guides/memory-with-pytidb.md b/ai/guides/memory-with-pytidb.md new file mode 100644 index 0000000000000..19d37366108ed --- /dev/null +++ b/ai/guides/memory-with-pytidb.md @@ -0,0 +1,138 @@ +--- +title: AI エージェントのメモリの例 +summary: チャットボットや会話型 AI アプリケーション向けに会話メモリを実装します。 +--- + +# AI エージェントのメモリの例 + +この例では、TiDB のベクトル検索機能を活用した永続メモリを備える AI エージェントの構築方法を紹介します。 + +わずか数行のコードで、過去のやり取りを記憶し、時間の経過とともにコンテキストを構築する会話型 AI を作成できます。 + +- **永続メモリ**: セッションやユーザー操作をまたいで会話を記憶します +- **対話型チャット**: Web UI またはコマンドラインインターフェースのいずれかを使用します +- **マルチユーザー対応**: ユーザーごとに個別のメモリコンテキストを保持します +- **リアルタイムのメモリ表示**: Web インターフェースに保存されたメモリを表示します + +

+ AI Agent with memory powered by TiDB +

TiDB によるメモリ機能を備えた AI エージェント

+

+ +## 前提条件 {#prerequisites} + +開始する前に、以下を用意してください。 + +- **Python (>=3.10)**: [Python](https://www.python.org/downloads/) 3.10 以降をインストールします。 +- **{{{ .starter }}} インスタンス**: [TiDB Cloud](https://tidbcloud.com/free-trial) で無料の {{{ .starter }}} インスタンスを作成できます。 +- **OpenAI APIキー**: [OpenAI](https://platform.openai.com/api-keys) から OpenAI APIキーを取得します。 + +## 実行方法 {#how-to-run} + +### ステップ 1. `pytidb` リポジトリをクローンする {#step-1-clone-the-pytidb-repository} + +[`pytidb`](https://github.com/pingcap/pytidb) は TiDB 向けの公式 Python SDK であり、開発者が AI アプリケーションを効率的に構築できるよう設計されています。 + +```bash +git clone https://github.com/pingcap/pytidb.git +cd pytidb/examples/memory/ +``` + +### ステップ 2. 必要なパッケージをインストールする {#step-2-install-the-required-packages} + +```bash +python -m venv .venv +source .venv/bin/activate # Windows: .venv\Scripts\activate +pip install -r reqs.txt +``` + +### ステップ 3. 環境変数を設定する {#step-3-set-environment-variables} + +1. [TiDB Cloud コンソール](https://tidbcloud.com/)で [**My TiDB**](https://tidbcloud.com/tidbs) ページに移動し、対象の {{{ .starter }}} インスタンス名をクリックして概要ページを開きます。 +2. 右上の **Connect** をクリックします。接続ダイアログが表示され、接続パラメータが一覧表示されます。 +3. 以下のように、接続パラメータに従って環境変数を設定します。 + +```bash +cat > .env < + RAG application built with PyTiDB +

PyTiDB で構築した RAG アプリケーション

+

+ +## 前提条件 {#prerequisites} + +開始する前に、以下を確認してください。 + +- **Python (>=3.10)**: [Python](https://www.python.org/downloads/) 3.10 以降をインストールします。 +- **{{{ .starter }}} インスタンス**: [TiDB Cloud](https://tidbcloud.com/free-trial) で無料の {{{ .starter }}} インスタンスを作成できます。 +- **Ollama**: [Ollama](https://ollama.com/download) からインストールします。 + +## 実行方法 {#how-to-run} + +### ステップ 1. 推論 API を準備する {#step-1-prepare-the-inference-api} + +Ollama CLI を使用して埋め込みモデルと LLM モデルを pull します。 + +```bash +ollama pull mxbai-embed-large +ollama pull gemma3:4b +ollama run gemma3:4b +``` + +`/embed` エンドポイントと `/generate` エンドポイントが実行中であることを確認します。 + +```bash +curl http://localhost:11434/api/embed -d '{ + "model": "mxbai-embed-large", + "input": "Llamas are members of the camelid family" +}' +``` + +```bash +curl http://localhost:11434/api/generate -d '{ + "model": "gemma3:4b", + "prompt": "Hello, Who are you?" +}' +``` + +### ステップ 2. リポジトリをクローンする {#step-2-clone-the-repository} + +```bash +git clone https://github.com/pingcap/pytidb.git +cd pytidb/examples/rag/ +``` + +### ステップ 3. 必要なパッケージをインストールし、環境をセットアップする {#step-3-install-the-required-packages-and-set-up-the-environment} + +```bash +python -m venv .venv +source .venv/bin/activate +pip install -r reqs.txt +``` + +### ステップ 4. 環境変数を設定する {#step-4-set-environment-variables} + +1. [TiDB Cloud コンソール](https://tidbcloud.com/) で [**My TiDB**](https://tidbcloud.com/tidbs) ページに移動し、対象の {{{ .starter }}} インスタンス名をクリックして概要ページを開きます。 +2. 右上の **Connect** をクリックします。接続ダイアログが表示され、接続パラメータが一覧表示されます。 +3. 以下のように、接続パラメータに従って環境変数を設定します。 + +```bash +cat > .env < **Note:** -> -> 完全な動作例については、リポジトリの[基本的な例](https://github.com/pingcap/pytidb/tree/main/examples/basic)を参照してください。 - ## テーブルを作成する {#create-a-table} ### TableModelの使用 {#using-tablemodel} @@ -446,3 +443,51 @@ SHOW TABLES; + +## 完全な `pytidb` CRUD の例を実行する + +`pytidb` リポジトリには、TiDB に接続し、テキスト、ベクトル、JSON のカラムを持つテーブルを作成して、CRUD 操作を実行する完全なサンプルが用意されています。 + +始める前に、以下を用意してください。 + +- Python 3.10 以降。 +- {{{ .starter }}} インスタンス。 [TiDB Cloud](https://tidbcloud.com/free-trial) で作成できます。 + +サンプルを実行するには、次の手順を実行します。 + +1. `pytidb` リポジトリをクローンし、サンプルディレクトリに移動します。 + + ```bash + git clone https://github.com/pingcap/pytidb.git + cd pytidb/examples/basic/ + ``` + +2. 仮想環境を作成して有効化し、必要なパッケージをインストールします。 + + ```bash + python -m venv .venv + source .venv/bin/activate + pip install -r reqs.txt + ``` + +3. [TiDB Cloud コンソール](https://tidbcloud.com/) で [**My TiDB**](https://tidbcloud.com/tidbs) ページに移動し、{{{ .starter }}} インスタンスの名前をクリックしてから、右上隅の **Connect** をクリックして接続パラメータを取得します。 + +4. `.env` ファイルを作成し、接続パラメータを設定します。 + + ```bash + cat > .env <<'EOF' + TIDB_HOST={gateway-region}.prod.aws.tidbcloud.com + TIDB_PORT=4000 + TIDB_USERNAME={prefix}.root + TIDB_PASSWORD={password} + TIDB_DATABASE=test + EOF + ``` + +5. サンプルを実行します。 + + ```bash + python main.py + ``` + +このサンプルは、各 CRUD 操作の結果を出力し、終了時にサンプルテーブルを削除します。実装を確認するには、 [`pytidb` basic example](https://github.com/pingcap/pytidb/tree/main/examples/basic) を参照してください。 diff --git a/ai/guides/text2sql-with-pytidb.md b/ai/guides/text2sql-with-pytidb.md new file mode 100644 index 0000000000000..4b967d894b5c6 --- /dev/null +++ b/ai/guides/text2sql-with-pytidb.md @@ -0,0 +1,50 @@ +--- +title: Text2SQL の例 +summary: AI モデルを使用して自然言語クエリを SQL 文に変換します。 +--- + +# Text2SQL の例 + +このデモでは、自然言語の質問を SQL クエリに変換し、TiDB に対して実行する AI 搭載インターフェースの構築方法を紹介します。[`pytidb`](https://github.com/pingcap/pytidb)(TiDB の公式 Python SDK)、OpenAI GPT、Streamlit を使用して構築されており、平易な英語でデータベースをクエリできます。 + +## 前提条件 {#prerequisites} + +開始する前に、以下を確認してください。 + +- **Python (>=3.10)**: [Python](https://www.python.org/downloads/) 3.10 以降のバージョンをインストールします。 +- **{{{ .starter }}} インスタンス**: [TiDB Cloud](https://tidbcloud.com/free-trial) で無料の {{{ .starter }}} インスタンスを作成できます。 +- **OpenAI APIキー**: [OpenAI](https://platform.openai.com/api-keys) から OpenAI APIキーを取得します。 + +## 実行方法 {#how-to-run} + +### Step 1. `pytidb` リポジトリをクローンする {#step-1-clone-the-pytidb-repository} + +```bash +git clone https://github.com/pingcap/pytidb.git +cd pytidb/examples/text2sql/ +``` + +### Step 2. 必要なパッケージをインストールする {#step-2-install-the-required-packages} + +```bash +python -m venv .venv +source .venv/bin/activate +pip install -r reqs.txt +``` + +### Step 3. Streamlit アプリを実行する {#step-3-run-the-streamlit-app} + +```bash +streamlit run app.py +``` + +### Step 4. アプリを使用する {#step-4-use-the-app} + +ブラウザを開き、`http://localhost:8501` にアクセスします。 + +1. 左側のサイドバーに OpenAI APIキーを入力します +2. 左側のサイドバーに TiDB 接続文字列を入力します。例: `mysql+pymysql://root@localhost:4000/test` + +## 関連リソース {#related-resources} + +- **ソースコード**: [GitHub で見る](https://github.com/pingcap/pytidb/tree/main/examples/text2sql) diff --git a/ai/guides/vector-search-full-text-search-python.md b/ai/guides/vector-search-full-text-search-python.md index 27fdbe2b749b4..42b4221b10f15 100644 --- a/ai/guides/vector-search-full-text-search-python.md +++ b/ai/guides/vector-search-full-text-search-python.md @@ -6,7 +6,7 @@ aliases: ['/ja/tidb/stable/vector-search-full-text-search-python/','/ja/tidbclou # Pythonによる全文検索 {#full-text-search-with-python} -意味的な類似性に焦点を当てる[ベクトル検索](/ai/concepts/vector-search-overview.md)とは異なり、全文検索では正確なキーワードに基づいて文書を取得できます。検索拡張生成(RAG)シナリオでは、全文検索とベクトル検索を組み合わせて使用することで、検索品質を向上させることができます。 +意味的な類似性に焦点を当てる[ベクトル検索](/ai/guides/vector-search-overview.md)とは異なり、全文検索では正確なキーワードに基づいて文書を取得できます。検索拡張生成(RAG)シナリオでは、全文検索とベクトル検索を組み合わせて使用することで、検索品質を向上させることができます。 TiDBの全文検索機能は、以下の機能を提供します。 @@ -26,15 +26,15 @@ TiDBの全文検索機能は、以下の機能を提供します。 ## 前提条件 {#prerequisites} -全文検索機能はまだ開発初期段階にあり、より多くのお客様に順次展開していく予定です。現在、全文検索機能は、以下のリージョンにおけるTiDB Cloud Starterでのみご利用いただけます。 +全文検索機能はまだ開発初期段階にあり、より多くのお客様に順次展開していく予定です。現在、全文検索機能は、以下のリージョンにおける{{{ .starter }}}でのみご利用いただけます。 - AWS: `Oregon (us-west-2)` 、 `N. Virginia (us-east-1)` 、 `Tokyo (ap-northeast-1)` 、 `Frankfurt (eu-central-1)` 、および`Singapore (ap-southeast-1)` -このチュートリアルを完了するには、サポートされているリージョンにTiDB Cloud Starterインスタンスがあることを確認してください。お持ちでない場合は、 [TiDB Cloud Starterインスタンスを作成する](/develop/dev-guide-build-cluster-in-cloud.md)。 +このチュートリアルを完了するには、サポートされているリージョンに{{{ .starter }}}インスタンスがあることを確認してください。お持ちでない場合は、 [{{{ .starter }}}インスタンスを作成する](/develop/dev-guide-build-cluster-in-cloud.md)。 ## さあ始めましょう {#get-started} -### ステップ1. pytidb Python SDKをインストールします {#step-1-install-the-a-href-https-github-com-pingcap-pytidb-pytidb-a-python-sdk} +### ステップ1. [pytidb](https://github.com/pingcap/pytidb) Python SDKをインストールします {#step-1-install-the-pytidb-python-sdk} [pytidb](https://github.com/pingcap/pytidb)はTiDBの公式Python SDKであり、開発者が効率的にAIアプリケーションを構築できるよう設計されています。ベクトル検索と全文検索の機能が組み込まれています。 @@ -66,7 +66,7 @@ db = TiDBClient.connect( これらの接続パラメータは、次のように[TiDB Cloudコンソール](https://tidbcloud.com)から取得できます。 -1. [**My TiDB**](https://tidbcloud.com/tidbs)ページに移動し、対象のTiDB Cloud Starterインスタンスの名前をクリックして、概要ページに移動します。 +1. [**My TiDB**](https://tidbcloud.com/tidbs)ページに移動し、対象の{{{ .starter }}}インスタンスの名前をクリックして、概要ページに移動します。 2. 右上隅の**Connect**をクリックします。接続ダイアログが表示され、接続パラメータが表示されます。 @@ -81,7 +81,7 @@ db = TiDBClient.connect( CA: /etc/ssl/cert.pem ``` - TiDB Cloud Starterインスタンスに接続するための対応するPythonコードは以下のとおりです。 + {{{ .starter }}}インスタンスに接続するための対応するPythonコードは以下のとおりです。 ```python db = TiDBClient.connect( @@ -95,7 +95,7 @@ db = TiDBClient.connect( 上記の例はあくまでも説明のためのものです。パラメータにはご自身の値を入力し、安全に保管してください。 -### ステップ3.表と全文索引を作成する {#step-3-create-a-table-and-a-full-text-index} +### ステップ3.表とフルテキストインデックスを作成する {#step-3-create-a-table-and-a-full-text-index} 例として、 `chunks`という名前のテーブルを作成し、以下の列を追加します。 @@ -157,7 +157,7 @@ df = ( ## フィードバックとヘルプ {#feedback-x26-help} -全文検索はまだ開発初期段階であり、利用できる地域が限られています。まだ利用できない地域で全文検索を試してみたい場合、またはご意見やご質問がある場合は、お気軽にお問い合わせください。 +全文検索はまだ開発初期段階であり、利用できるリージョンが限られています。まだ利用できないリージョンで全文検索を試してみたい場合、またはご意見やご質問がある場合は、お気軽にお問い合わせください。 -- [Discord](https://discord.gg/DQZ2dy3cuc?utm_source=doc)or [Slack](https://slack.tidb.io/invite?team=tidb-community&channel=everyone&ref=pingcap-docs)コミュニティに質問してください。 +- [Discord](https://discord.gg/DQZ2dy3cuc?utm_source=doc) または [Slack](https://slack.tidb.io/invite?team=tidb-community&channel=everyone&ref=pingcap-docs)コミュニティに質問してください。 - [TiDB Cloudのサポートチケットを送信してください](https://tidb.support.pingcap.com/servicedesk/customer/portals) diff --git a/ai/guides/vector-search-full-text-search-sql.md b/ai/guides/vector-search-full-text-search-sql.md index dc8c13fd2b496..02b1929665601 100644 --- a/ai/guides/vector-search-full-text-search-sql.md +++ b/ai/guides/vector-search-full-text-search-sql.md @@ -6,7 +6,7 @@ aliases: ['/ja/tidb/stable/vector-search-full-text-search-sql/','/ja/tidbcloud/v # SQLによる全文検索 {#full-text-search-with-sql} -意味的な類似性に焦点を当てる[ベクトル検索](/ai/concepts/vector-search-overview.md)とは異なり、全文検索では正確なキーワードに基づいて文書を取得できます。検索拡張生成(RAG)シナリオでは、全文検索とベクトル検索を組み合わせて使用することで、検索品質を向上させることができます。 +意味的な類似性に焦点を当てる[ベクトル検索](/ai/guides/vector-search-overview.md)とは異なり、全文検索では正確なキーワードに基づいて文書を取得できます。検索拡張生成(RAG)シナリオでは、全文検索とベクトル検索を組み合わせて使用することで、検索品質を向上させることができます。 TiDBの全文検索機能は、以下の機能を提供します。 @@ -20,31 +20,31 @@ TiDBの全文検索機能は、以下の機能を提供します。 > **Tip:** > -> Python の使い方については、 [Pythonによる全文検索](/ai/guides/vector-search-full-text-search-python.md)ご覧ください。 +> Python の使い方については、 [Pythonによる全文検索](/ai/guides/vector-search-full-text-search-python.md)を ご覧ください。 > > AI アプリで全文検索とベクトル検索を併用するには、 [ハイブリッド検索](/ai/guides/vector-search-hybrid-search.md)を参照してください。 ## さあ始めましょう {#get-started} -全文検索機能はまだ開発初期段階にあり、より多くのお客様に順次展開していく予定です。現在、全文検索機能は、以下のリージョンにおけるTiDB Cloud Starterでのみご利用いただけます。 +全文検索機能はまだ開発初期段階にあり、より多くのお客様に順次展開していく予定です。現在、全文検索機能は、以下のリージョンにおける{{{ .starter }}}でのみご利用いただけます。 - AWS: `Oregon (us-west-2)` 、 `N. Virginia (us-east-1)` 、 `Tokyo (ap-northeast-1)` 、 `Frankfurt (eu-central-1)` 、および`Singapore (ap-southeast-1)` -全文検索を使用する前に、 TiDB Cloud Starterインスタンスがサポートされているリージョンで作成されていることを確認してください。お持ちでない場合は、 [TiDB Cloud Starterインスタンスを作成する](/develop/dev-guide-build-cluster-in-cloud.md)。 +全文検索を使用する前に、 {{{ .starter }}}インスタンスがサポートされているリージョンで作成されていることを確認してください。お持ちでない場合は、 [{{{ .starter }}}インスタンスを作成する](/develop/dev-guide-build-cluster-in-cloud.md)。 全文検索を実行するには、以下の手順に従ってください。 -1. [**全文索引を作成する**](#create-a-full-text-index): フルテキスト インデックスを持つテーブルを作成するか、既存のテーブルにフルテキスト インデックスを追加します。 +1. [**フルテキストインデックスを作成する**](#create-a-full-text-index): フルテキストインデックスを持つテーブルを作成するか、既存のテーブルにフルテキストインデックスを追加します。 -2. テキストデータ[**テキストデータを挿入する**](#insert-text-data): テーブルにテキストデータを挿入します。 +2. [**テキストデータを挿入する**](#insert-text-data): テーブルにテキストデータを挿入します。 3. [**全文検索を実行する**](#perform-a-full-text-search): テキストクエリと全文検索関数を使用して全文検索を実行します。 -### 全文索引を作成する {#create-a-full-text-index} +### フルテキストインデックスを作成する {#create-a-full-text-index} -全文検索を実行するには、効率的な検索とランキングに必要なデータ構造を提供する全文インデックスが必要です。全文インデックスは、新規テーブルに作成することも、既存のテーブルに追加することもできます。 +全文検索を実行するには、効率的な検索とランキングに必要なデータ構造を提供するフルテキストインデックスが必要です。フルテキストインデックスは、新規テーブルに作成することも、既存のテーブルに追加することもできます。 -全文インデックス付きのテーブルを作成します。 +フルテキストインデックス付きのテーブルを作成します。 ```sql CREATE TABLE stock_items( @@ -54,7 +54,7 @@ CREATE TABLE stock_items( ); ``` -または、既存のテーブルに全文インデックスを追加します。 +または、既存のテーブルにフルテキストインデックスを追加します。 ```sql CREATE TABLE stock_items( @@ -74,9 +74,9 @@ ALTER TABLE stock_items ADD FULLTEXT INDEX (title) WITH PARSER MULTILINGUAL ADD_ - `MULTILINGUAL` : 英語、中国語、日本語、韓国語など、複数の言語をサポートしています。 -### 全文インデックスを管理する {#manage-full-text-indexes} +### フルテキストインデックスを管理する {#manage-full-text-indexes} -全文インデックスを作成する際、インデックス名の指定は任意です。指定しない場合、TiDB はデフォルトで最初にインデックス化されるカラム名をインデックス名として使用します。 +フルテキストインデックスを作成する際、インデックス名の指定は任意です。指定しない場合、TiDB はデフォルトで最初にインデックス化されるカラム名をインデックス名として使用します。 ```sql -- Without specifying an index name, TiDB uses the first indexed column name ("title") as the index name @@ -98,7 +98,7 @@ FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = 'your_database' AND TABLE_NAME = 'stock_items'; ``` -**全文インデックスを削除する:** +**フルテキストインデックスを削除する:** ```sql -- Use SHOW INDEX to confirm the index name first @@ -126,7 +126,7 @@ CREATE FULLTEXT INDEX ft_name ON users (name) WITH PARSER STANDARD; ### テキストデータを挿入する {#insert-text-data} -全文インデックスを持つテーブルにデータを挿入する方法は、他のテーブルにデータを挿入する方法と全く同じです。 +フルテキストインデックスを持つテーブルにデータを挿入する方法は、他のテーブルにデータを挿入する方法と全く同じです。 例えば、以下のSQL文を実行することで、複数の言語でデータを挿入できます。TiDBの多言語パーサーがテキストを自動的に処理します。 @@ -319,7 +319,7 @@ WHERE t.author_id IN ## フィードバックとヘルプ {#feedback-x26-help} -全文検索はまだ開発初期段階であり、利用できる地域が限られています。まだ利用できない地域で全文検索を試してみたい場合、またはご意見やご質問がある場合は、お気軽にお問い合わせください。 +全文検索はまだ開発初期段階であり、利用できるリージョンが限られています。まだ利用できないリージョンで全文検索を試してみたい場合、またはご意見やご質問がある場合は、お気軽にお問い合わせください。 -- [Discord](https://discord.gg/DQZ2dy3cuc?utm_source=doc)or [Slack](https://slack.tidb.io/invite?team=tidb-community&channel=everyone&ref=pingcap-docs)コミュニティに質問してください。 +- [Discord](https://discord.gg/DQZ2dy3cuc?utm_source=doc) または [Slack](https://slack.tidb.io/invite?team=tidb-community&channel=everyone&ref=pingcap-docs)コミュニティに質問してください。 - [TiDB Cloudのサポートチケットを送信してください](https://tidb.support.pingcap.com/servicedesk/customer/portals) diff --git a/ai/guides/vector-search-hybrid-search.md b/ai/guides/vector-search-hybrid-search.md index a7486f5addd00..85e209b82ced4 100644 --- a/ai/guides/vector-search-hybrid-search.md +++ b/ai/guides/vector-search-hybrid-search.md @@ -27,7 +27,7 @@ TiDBにおけるハイブリッド検索の一般的なワークフローは以 ## さあ始めましょう {#get-started} -### ステップ1. pytidb Python SDKをインストールします {#step-1-install-the-a-href-https-github-com-pingcap-pytidb-pytidb-a-python-sdk} +### ステップ1. [pytidb](https://github.com/pingcap/pytidb) Python SDKをインストールします {#step-1-install-the-pytidb-python-sdk} ```shell pip install "pytidb[models]" @@ -231,7 +231,7 @@ results = ( ) ``` -他のリランカーモデルを確認するには、[ランキング変更](/ai/guides/reranking.md)ご覧ください。 +他のリランカーモデルを確認するには、[再ランキング](/ai/guides/reranking.md)をご覧ください。 ## 関連項目 {#see-also} @@ -241,7 +241,7 @@ results = ( ## フィードバックとヘルプ {#feedback-x26-help} -全文検索はまだ開発初期段階であり、利用できる地域が限られています。まだ利用できない地域で全文検索を試してみたい場合、またはご意見やご質問がある場合は、お気軽にお問い合わせください。 +全文検索はまだ開発初期段階であり、利用できるリージョンが限られています。まだ利用できないリージョンで全文検索を試してみたい場合、またはご意見やご質問がある場合は、お気軽にお問い合わせください。 -- [Discord](https://discord.gg/DQZ2dy3cuc?utm_source=doc)or [Slack](https://slack.tidb.io/invite?team=tidb-community&channel=everyone&ref=pingcap-docs)コミュニティに質問してください。 +- [Discord](https://discord.gg/DQZ2dy3cuc?utm_source=doc) または [Slack](https://slack.tidb.io/invite?team=tidb-community&channel=everyone&ref=pingcap-docs)コミュニティに質問してください。 - [TiDB Cloudのサポートチケットを送信してください](https://tidb.support.pingcap.com/servicedesk/customer/portals) diff --git a/ai/guides/vector-search-overview.md b/ai/guides/vector-search-overview.md new file mode 100644 index 0000000000000..9881d52c3513b --- /dev/null +++ b/ai/guides/vector-search-overview.md @@ -0,0 +1,80 @@ +--- +title: ベクトル検索の概要 +summary: TiDB のベクトル検索について学びます。この機能は、ドキュメント、画像、音声、動画など、さまざまなデータ型に対してセマンティック類似検索を実行するための高度な検索ソリューションを提供します。 +aliases: ['/ja/tidb/stable/vector-search-overview/','/ja/tidb/dev/vector-search-overview/','/ja/tidbcloud/vector-search-overview/'] +--- + +# ベクトル検索の概要 + +ベクトル検索は、ドキュメント、画像、音声、動画などの多様なデータ型に対して、セマンティック類似検索を行うための強力なソリューションを提供します。これにより、開発者は MySQL の知識を活用して、生成 AI の機能で強化されたスケーラブルなアプリケーションを構築でき、高度な検索機能の統合を簡素化できます。 + +> **Note:** +> +> - ベクトル検索機能はパブリックプレビューです。予告なく変更される場合があります。バグを見つけた場合は、GitHub で [issue](https://github.com/pingcap/tidb/issues) を報告できます。 +> - ベクトル検索機能は [TiDB Self-Managed](/overview.md) および [{{{ .starter }}}](https://docs.pingcap.com/tidbcloud/select-cluster-tier/?plan=starter#starter) で利用できます。TiDB Self-Managed の場合、TiDB のバージョンは v8.4.0 以降である必要があります(v8.5.0 以降を推奨します)。 + +## 概念 {#concepts} + +ベクトル検索は、データの意味を重視して関連性の高い結果を返す検索手法です。 + +従来の全文検索は、正確なキーワード一致や単語頻度に依存しますが、ベクトル検索はさまざまなデータ型(テキスト、画像、音声など)を高次元ベクトルに変換し、それらのベクトル間の類似度に基づいて検索します。この検索手法は、データの意味やコンテキスト情報を捉えるため、ユーザーの意図をより正確に理解できます。 + +検索語がデータベース内の内容と完全に一致しない場合でも、ベクトル検索はデータの意味を分析することで、ユーザーの意図に沿った結果を返すことができます。 + +たとえば、`a swimming animal` を全文検索すると、これらの正確なキーワードを含む結果しか返されません。一方、ベクトル検索では、結果に正確なキーワードが含まれていなくても、魚やアヒルなど、ほかの泳ぐ動物に関する結果を返すことができます。 + +### ベクトル埋め込み {#vector-embedding} + +ベクトル埋め込み(単に埋め込みとも呼ばれます)は、現実世界のオブジェクトを高次元空間で表現する数値の列です。これは、ドキュメント、画像、音声、動画などの非構造化データの意味とコンテキストを捉えます。 + +ベクトル埋め込みは機械学習において不可欠であり、セマンティック類似検索の基盤となります。 + +TiDB は、ベクトル埋め込みの保存と取得を最適化するために設計された [ベクトルデータ型](/ai/reference/vector-search-data-types.md) と [ベクトル検索インデックス](/ai/reference/vector-search-index.md) を導入しています。これにより、AI アプリケーションでの活用が強化されます。これらのデータ型を使用して、TiDB にベクトル埋め込みを保存し、ベクトル検索クエリを実行して最も関連性の高いデータを見つけることができます。 + +### 埋め込みモデル {#embedding-model} + +埋め込みモデルは、データを [ベクトル埋め込み](#vector-embedding) に変換するアルゴリズムです。 + +適切な埋め込みモデルを選択することは、セマンティック検索結果の精度と関連性を確保するうえで重要です。非構造化テキストデータについては、[Massive Text Embedding Benchmark (MTEB) Leaderboard](https://huggingface.co/spaces/mteb/leaderboard) で高性能なテキスト埋め込みモデルを確認できます。 + +特定のデータ型に対するベクトル埋め込みの生成方法については、埋め込みモデルの統合チュートリアルまたは例を参照してください。 + +## ベクトル検索の仕組み {#how-vector-search-works} + +生データをベクトル埋め込みに変換して TiDB に保存した後、アプリケーションはベクトル検索クエリを実行して、ユーザーのクエリに対して意味的または文脈的に最も関連するデータを見つけることができます。 + +TiDBベクトル検索は、[距離関数](/ai/reference/vector-search-functions-and-operators.md) を使用して、指定されたベクトルとデータベースに保存されているベクトルとの距離を計算し、上位 k 個の最近傍(KNN)ベクトルを特定します。クエリ内で指定されたベクトルに最も近いベクトルが、意味的に最も類似したデータを表します。 + +![The Schematic TiDB Vector Search](/media/vector-search/embedding-search.png) + +ベクトル検索機能を統合したリレーショナルデータベースとして、TiDB ではデータとそれに対応するベクトル表現(ベクトル埋め込み)を 1 つのデータベースにまとめて保存できます。データは次のいずれかの方法で保存できます。 + +- 同じテーブルの異なるカラムに、データとそれに対応するベクトル表現を保存する。 +- 異なるテーブルに、データとそれに対応するベクトル表現を保存する。この場合、データ取得時に `JOIN` クエリを使用してテーブルを結合する必要があります。 + +## ユースケース {#use-cases} + +### Retrieval-Augmented Generation (RAG) {#retrieval-augmented-generation-rag} + +Retrieval-Augmented Generation (RAG) は、大規模言語モデル(LLM)の出力を最適化するために設計されたアーキテクチャです。ベクトル検索を使用することで、RAG アプリケーションはベクトル埋め込みをデータベースに保存し、LLM が応答を生成する際に追加コンテキストとして関連ドキュメントを取得できます。これにより、回答の品質と関連性が向上します。 + +### セマンティック検索 {#semantic-search} + +セマンティック検索は、単純にキーワードを一致させるのではなく、クエリの意味に基づいて結果を返す検索技術です。埋め込みを使用して、異なる言語やさまざまな種類のデータ(テキスト、画像、音声など)にまたがる意味を解釈します。その後、ベクトル検索アルゴリズムがこれらの埋め込みを使用して、ユーザーのクエリを満たす最も関連性の高いデータを見つけます。 + +### レコメンデーションエンジン {#recommendation-engine} + +レコメンデーションエンジンは、ユーザーに関連性が高く、パーソナライズされたコンテンツ、製品、またはサービスを能動的に提案するシステムです。これは、ユーザーの行動や好みを表す埋め込みを作成することで実現されます。これらの埋め込みにより、システムは他のユーザーが操作した、または関心を示した類似アイテムを特定できます。その結果、レコメンデーションがユーザーにとって関連性が高く、魅力的なものになる可能性が高まります。 + +## 関連情報 {#see-also} + +TiDBベクトル検索を使い始めるには、次のドキュメントを参照してください。 + +- [Python を使用してベクトル検索を始める](/ai/quickstart-via-python.md) +- [SQL を使用してベクトル検索を始める](/ai/quickstart-via-sql.md) + +## 関連リソース {#related-resources} + + + + diff --git a/ai/guides/vector-search-with-pytidb.md b/ai/guides/vector-search-with-pytidb.md new file mode 100644 index 0000000000000..4ff46469409bc --- /dev/null +++ b/ai/guides/vector-search-with-pytidb.md @@ -0,0 +1,85 @@ +--- +title: ベクトル検索の例 +summary: ベクトル埋め込みを使用したセマンティック検索を実装し、類似するコンテンツを見つけます。 +--- + +# ベクトル検索の例 + +この例では、TiDB とローカル埋め込みモデルを使用してセマンティック検索アプリケーションを構築する方法を示します。ベクトル検索を使用して、意味に基づいて類似する項目を見つけます(キーワードだけではありません)。 + +このアプリケーションでは、ローカルでの埋め込み生成に [Ollama](https://ollama.com/download)、Web UI に [Streamlit](https://streamlit.io/)、そして RAG パイプラインの構築に [`pytidb`](https://github.com/pingcap/pytidb)(TiDB 向けの公式 Python SDK)を使用します。 + +

+ Semantic search with vector embeddings +

ベクトル埋め込みを使用したセマンティック検索

+

+ +## 前提条件 {#prerequisites} + +開始する前に、以下を確認してください。 + +- **Python (>=3.10)**: [Python](https://www.python.org/downloads/) 3.10 以降のバージョンをインストールします。 +- **{{{ .starter }}} インスタンス**: [TiDB Cloud](https://tidbcloud.com/free-trial) で無料の {{{ .starter }}} インスタンスを作成できます。 +- **Ollama**: [Ollama](https://ollama.com/download) からインストールします。 + +## 実行方法 {#how-to-run} + +### ステップ 1. Ollama で埋め込みサービスを起動する {#step-1-start-the-embedding-service-with-ollama} + +埋め込みモデルを取得します。 + +```bash +ollama pull mxbai-embed-large +``` + +埋め込みサービスが実行中であることを確認します。 + +```bash +curl http://localhost:11434/api/embed -d '{ + "model": "mxbai-embed-large", + "input": "Llamas are members of the camelid family" +}' +``` + +### ステップ 2. リポジトリをクローンする {#step-2-clone-the-repository} + +```bash +git clone https://github.com/pingcap/pytidb.git +cd pytidb/examples/vector_search/ +``` + +### ステップ 3. 必要なパッケージをインストールし、環境をセットアップする {#step-3-install-the-required-packages-and-set-up-the-environment} + +```bash +python -m venv .venv +source .venv/bin/activate +pip install -r reqs.txt +``` + +### ステップ 4. 環境変数を設定する {#step-4-set-environment-variables} + +1. [TiDB Cloud コンソール](https://tidbcloud.com/) で [**My TiDB**](https://tidbcloud.com/tidbs) ページに移動し、対象の {{{ .starter }}} インスタンス名をクリックして概要ページを開きます。 +2. 右上の **Connect** をクリックします。接続ダイアログが表示され、接続パラメータが一覧表示されます。 +3. 以下のように、接続パラメータに従って環境変数を設定します。 + + ```bash + cat > .env < **Note:** > -> ベクトル検索の完全な例については、 [ベクトル検索の例](/ai/examples/vector-search-with-pytidb.md)を参照してください。 +> ベクトル検索の完全な例については、 [ベクトル検索の例](/ai/guides/vector-search-with-pytidb.md)を参照してください。 ## 基本的な使い方 {#basic-usage} -このセクションでは、アプリケーションでベクトル検索を使用する方法を数ステップで説明します。始める前に、 [データベースに接続する](/ai/guides/connect.md) . +このセクションでは、アプリケーションでベクトル検索を使用する方法を数ステップで説明します。始める前に、[データベースに接続する](/ai/guides/connect.md)必要があります。 ### ステップ1. ベクトルフィールドを持つテーブルを作成する {#step-1-create-a-table-with-a-vector-field} @@ -113,7 +113,7 @@ VALUES > **Note:** > -> 実際のアプリケーションでは、埋め込みは通常[埋め込みモデル](/ai/concepts/vector-search-overview.md#embedding-model)によって生成されます。 +> 実際のアプリケーションでは、埋め込みは通常[埋め込みモデル](/ai/guides/vector-search-overview.md#embedding-model)によって生成されます。 利便性のため、pytidb は、挿入、更新、または検索時にテキスト フィールドのベクトル埋め込みを自動的に生成できる自動埋め込み機能を提供します。手動処理は必要ありません。 @@ -295,19 +295,19 @@ TiDB でのベクトル検索では、スカラー フィールド (整数や文 通常、メタデータ フィルタリングと組み合わせたベクトル検索には、次の2つのモードがあります。 -- **後フィルタリング**:TiDBはまずベクトル検索を実行し、ベクトル空間全体から上位k個の候補を取得し、その候補セットにフィルターを適用します。ベクトル検索段階では、効率性を高めるため、通常、ベクトルインデックスが使用されます。 +- **事後フィルタリング**:TiDBはまずベクトル検索を実行し、ベクトル空間全体から上位k個の候補を取得し、その候補セットにフィルターを適用します。ベクトル検索段階では、効率性を高めるため、通常、ベクトルインデックスが使用されます。 - **事前フィルタリング**:TiDBはベクトル検索の前にフィルタを適用します。フィルタの選択性が高く、フィルタリング対象フィールドにスカラーインデックスがある場合、このモードにより検索空間が縮小され、パフォーマンスが向上します。 -### 後フィルタリング {#post-filtering} +### 事後フィルタリング {#post-filtering}
フィルター辞書を持つ`.filter()`メソッドを使用して、ベクトル検索にフィルターを適用します。 -デフォルトでは、 `table.search()` API はポストフィルタリング モードを使用して、ベクトルインデックスによる検索パフォーマンスを最大化します。 +デフォルトでは、 `table.search()` API は事後フィルタリング モードを使用して、ベクトルインデックスによる検索パフォーマンスを最大化します。 -**例: ポストフィルタリングによるベクトル検索** +**例: 事後フィルタリングによるベクトル検索** ```python results = ( @@ -338,7 +338,7 @@ SELECT * FROM ORDER BY () LIMIT つまり、同じクエリ内で`WHERE`句とベクトルインデックスを一緒に使用することはできません。 -ベクトル検索と追加のフィルタリング条件を組み合わせる必要がある場合は、ポストフィルタリングパターンを使用できます。このアプローチでは、ANNクエリは2つの部分に分割されます。 +ベクトル検索と追加のフィルタリング条件を組み合わせる必要がある場合は、事後フィルタリングパターンを使用できます。このアプローチでは、ANNクエリは2つの部分に分割されます。 - 内部クエリは、ベクトルインデックスを使用してベクトル検索を実行します。 - 外側のクエリは`WHERE`条件を適用して結果をフィルタリングします。 @@ -358,7 +358,7 @@ LIMIT 10; > **Note:** > -> 後続フィルタリングパターンにより、結果が空になる場合があります。例えば、内部クエリで最も類似度の高い上位50件のレコードが取得されるものの、条件`WHERE`に一致するレコードが1件も存在しない場合などです。 +> 事後フィルタリングパターンにより、結果が空になる場合があります。例えば、内部クエリで最も類似度の高い上位50件のレコードが取得されるものの、条件`WHERE`に一致するレコードが1件も存在しない場合などです。 > > これを軽減するには、**内部クエリ**の`LIMIT`値 (例: 50) を増やして、より多くの候補を取得し、フィルタリング後に十分な有効な結果が返される可能性を高めることができます。 @@ -367,7 +367,7 @@ LIMIT 10; -### プレフィルタリング {#pre-filtering} +### 事前フィルタリング {#pre-filtering}
@@ -405,7 +405,7 @@ LIMIT 10;
-## 複数のベクトル場 {#multiple-vector-fields} +## 複数のベクトルフィールド {#multiple-vector-fields} TiDB は、単一のテーブルに複数のベクトル列を定義することをサポートしており、さまざまな種類のベクトル埋め込みを保存および検索できます。 @@ -416,7 +416,7 @@ TiDB は、単一のテーブルに複数のベクトル列を定義すること スキーマ内に複数のベクトルフィールドを定義し、 `.vector_column()`メソッドを使用して指定されたベクトルフィールドに対してベクトル検索を実行できます。 -**例: 検索するベクトル場を指定する** +**例: 検索するベクトルフィールドを指定する** ```python hl_lines="6 8 17" # Create a table with multiple vector fields diff --git a/ai/integrations/vector-search-auto-embedding-amazon-titan.md b/ai/integrations/vector-search-auto-embedding-amazon-titan.md index 2d2ec90b5ff8d..7d07444ba62a6 100644 --- a/ai/integrations/vector-search-auto-embedding-amazon-titan.md +++ b/ai/integrations/vector-search-auto-embedding-amazon-titan.md @@ -10,7 +10,7 @@ aliases: ['/ja/tidbcloud/vector-search-auto-embedding-amazon-titan/'] > **Note:** > -> [自動埋め込み](/ai/integrations/vector-search-auto-embedding-overview.md)、AWS でホストされているTiDB Cloud Starterインスタンスでのみ利用できます。 +> [自動埋め込み](/ai/integrations/vector-search-auto-embedding-overview.md)は、AWS でホストされている{{{ .starter }}}インスタンスでのみ利用できます。 ## 利用可能なモデル {#available-models} @@ -130,6 +130,6 @@ LIMIT 2; ## 関連項目 {#see-also} - [自動埋め込みの概要](/ai/integrations/vector-search-auto-embedding-overview.md) -- [ベクトル検索](/ai/concepts/vector-search-overview.md) +- [ベクトル検索](/ai/guides/vector-search-overview.md) - [ベクトル関数と演算子](/ai/reference/vector-search-functions-and-operators.md) - [ハイブリッド検索](/ai/guides/vector-search-hybrid-search.md) diff --git a/ai/integrations/vector-search-auto-embedding-cohere.md b/ai/integrations/vector-search-auto-embedding-cohere.md index 8037dc501b502..d7bfa293ba308 100644 --- a/ai/integrations/vector-search-auto-embedding-cohere.md +++ b/ai/integrations/vector-search-auto-embedding-cohere.md @@ -6,11 +6,11 @@ aliases: ['/ja/tidbcloud/vector-search-auto-embedding-cohere/'] # Cohere埋め込み {#cohere-embeddings} -このドキュメントでは、 TiDB Cloudで Cohere 埋め込みモデルを[自動埋め込み](/ai/integrations/vector-search-auto-embedding-overview.md)で使用する方法、テキストクエリによるセマンティック検索を実行する方法について説明します。 +このドキュメントでは、Cohereの埋め込みモデルをTiDB Cloudで[自動埋め込み](/ai/integrations/vector-search-auto-embedding-overview.md)に使用して、テキストクエリによるセマンティック検索を実行する方法について説明します。 > **Note:** > -> [自動埋め込み](/ai/integrations/vector-search-auto-embedding-overview.md)、AWS でホストされているTiDB Cloud Starterインスタンスでのみ利用できます。 +> [自動埋め込み](/ai/integrations/vector-search-auto-embedding-overview.md)は、AWS でホストされている{{{ .starter }}}インスタンスでのみ利用できます。 ## 利用可能なモデル {#available-models} @@ -336,6 +336,6 @@ CREATE TABLE sample ( ## 関連項目 {#see-also} - [自動埋め込みの概要](/ai/integrations/vector-search-auto-embedding-overview.md) -- [ベクトル検索](/ai/concepts/vector-search-overview.md) +- [ベクトル検索](/ai/guides/vector-search-overview.md) - [ベクトル関数と演算子](/ai/reference/vector-search-functions-and-operators.md) - [ハイブリッド検索](/ai/guides/vector-search-hybrid-search.md) diff --git a/ai/integrations/vector-search-auto-embedding-gemini.md b/ai/integrations/vector-search-auto-embedding-gemini.md index b96439f4c3010..b94f34c85908c 100644 --- a/ai/integrations/vector-search-auto-embedding-gemini.md +++ b/ai/integrations/vector-search-auto-embedding-gemini.md @@ -6,11 +6,11 @@ aliases: ['/ja/tidbcloud/vector-search-auto-embedding-gemini/'] # Gemini埋め込み {#gemini-embeddings} -このドキュメントでは、 TiDB Cloudで Gemini 埋め込みモデルを[自動埋め込み](/ai/integrations/vector-search-auto-embedding-overview.md)で使用する方法、およびテキストクエリによるセマンティック検索を実行する方法について説明します。 +このドキュメントでは、Geminiの埋め込みモデルをTiDB Cloudで[自動埋め込み](/ai/integrations/vector-search-auto-embedding-overview.md)に使用して、テキストクエリによるセマンティック検索を実行する方法について説明します。 > **Note:** > -> [自動埋め込み](/ai/integrations/vector-search-auto-embedding-overview.md)、AWS でホストされているTiDB Cloud Starterインスタンスでのみ利用できます。 +> [自動埋め込み](/ai/integrations/vector-search-auto-embedding-overview.md)は、AWS でホストされている{{{ .starter }}}インスタンスでのみ利用できます。 ## 利用可能なモデル {#available-models} @@ -282,6 +282,6 @@ CREATE TABLE sample ( ## 関連項目 {#see-also} - [自動埋め込みの概要](/ai/integrations/vector-search-auto-embedding-overview.md) -- [ベクトル検索](/ai/concepts/vector-search-overview.md) +- [ベクトル検索](/ai/guides/vector-search-overview.md) - [ベクトル関数と演算子](/ai/reference/vector-search-functions-and-operators.md) - [ハイブリッド検索](/ai/guides/vector-search-hybrid-search.md) diff --git a/ai/integrations/vector-search-auto-embedding-huggingface.md b/ai/integrations/vector-search-auto-embedding-huggingface.md index ea71aca0698e1..0bb13ae5ff883 100644 --- a/ai/integrations/vector-search-auto-embedding-huggingface.md +++ b/ai/integrations/vector-search-auto-embedding-huggingface.md @@ -6,11 +6,11 @@ aliases: ['/ja/tidbcloud/vector-search-auto-embedding-huggingface/'] # Hugging Face Embeddings {#hugging-face-embeddings} -このドキュメントでは、 TiDB Cloudで Hugging Face 埋め込みモデルを[自動埋め込み](/ai/integrations/vector-search-auto-embedding-overview.md)で使用する方法、テキストクエリによるセマンティック検索を実行する方法について説明します。 +このドキュメントでは、Hugging Faceの埋め込みモデルをTiDB Cloudで[自動埋め込み](/ai/integrations/vector-search-auto-embedding-overview.md)に使用して、テキストクエリによるセマンティック検索を実行する方法について説明します。 > **Note:** > -> [自動埋め込み](/ai/integrations/vector-search-auto-embedding-overview.md)、AWS でホストされているTiDB Cloud Starterインスタンスでのみ利用できます。 +> [自動埋め込み](/ai/integrations/vector-search-auto-embedding-overview.md)は、AWS でホストされている{{{ .starter }}}インスタンスでのみ利用できます。 ## 利用可能なモデル {#available-models} @@ -324,6 +324,6 @@ for doc in results: ## 関連項目 {#see-also} - [自動埋め込みの概要](/ai/integrations/vector-search-auto-embedding-overview.md) -- [ベクトル検索](/ai/concepts/vector-search-overview.md) +- [ベクトル検索](/ai/guides/vector-search-overview.md) - [ベクトル関数と演算子](/ai/reference/vector-search-functions-and-operators.md) - [ハイブリッド検索](/ai/guides/vector-search-hybrid-search.md) diff --git a/ai/integrations/vector-search-auto-embedding-jina-ai.md b/ai/integrations/vector-search-auto-embedding-jina-ai.md index c9b2cda05a486..9fa6c85c16f34 100644 --- a/ai/integrations/vector-search-auto-embedding-jina-ai.md +++ b/ai/integrations/vector-search-auto-embedding-jina-ai.md @@ -6,11 +6,11 @@ aliases: ['/ja/tidbcloud/vector-search-auto-embedding-jina-ai/'] # Jina AI埋め込み {#jina-ai-embeddings} -このドキュメントでは、TiDB Cloudで[Jina AI埋め込みモデル](https://jina.ai/embeddings/)with [自動埋め込み](/ai/integrations/vector-search-auto-embedding-overview.md)を使用して、テキスト クエリによるセマンティック検索を実行する方法について説明します。 +このドキュメントでは、TiDB Cloudで[Jina AI埋め込みモデル](https://jina.ai/embeddings/)を[自動埋め込み](/ai/integrations/vector-search-auto-embedding-overview.md)と組み合わせて使用して、テキストクエリによるセマンティック検索を実行する方法について説明します。 > **Note:** > -> [自動埋め込み](/ai/integrations/vector-search-auto-embedding-overview.md)、AWS でホストされているTiDB Cloud Starterインスタンスでのみ利用できます。 +> [自動埋め込み](/ai/integrations/vector-search-auto-embedding-overview.md)は、AWS でホストされている{{{ .starter }}}インスタンスでのみ利用できます。 ## 利用可能なモデル {#available-models} @@ -260,6 +260,6 @@ CREATE TABLE sample ( ## 関連項目 {#see-also} - [自動埋め込みの概要](/ai/integrations/vector-search-auto-embedding-overview.md) -- [ベクトル検索](/ai/concepts/vector-search-overview.md) +- [ベクトル検索](/ai/guides/vector-search-overview.md) - [ベクトル関数と演算子](/ai/reference/vector-search-functions-and-operators.md) - [ハイブリッド検索](/ai/guides/vector-search-hybrid-search.md) diff --git a/ai/integrations/vector-search-auto-embedding-nvidia-nim.md b/ai/integrations/vector-search-auto-embedding-nvidia-nim.md index 6284aa15855e5..81246c0b278d7 100644 --- a/ai/integrations/vector-search-auto-embedding-nvidia-nim.md +++ b/ai/integrations/vector-search-auto-embedding-nvidia-nim.md @@ -10,7 +10,7 @@ aliases: ['/ja/tidbcloud/vector-search-auto-embedding-nvidia-nim/'] > **Note:** > -> [自動埋め込み](/ai/integrations/vector-search-auto-embedding-overview.md)、AWS でホストされているTiDB Cloud Starterインスタンスでのみ利用できます。 +> [自動埋め込み](/ai/integrations/vector-search-auto-embedding-overview.md)は、AWS でホストされている{{{ .starter }}}インスタンスでのみ利用できます。 ## 利用可能なモデル {#available-models} @@ -250,6 +250,6 @@ LIMIT 3; ## 関連項目 {#see-also} - [自動埋め込みの概要](/ai/integrations/vector-search-auto-embedding-overview.md) -- [ベクトル検索](/ai/concepts/vector-search-overview.md) +- [ベクトル検索](/ai/guides/vector-search-overview.md) - [ベクトル関数と演算子](/ai/reference/vector-search-functions-and-operators.md) - [ハイブリッド検索](/ai/guides/vector-search-hybrid-search.md) diff --git a/ai/integrations/vector-search-auto-embedding-openai.md b/ai/integrations/vector-search-auto-embedding-openai.md index b07896dc122dd..a207cc5354abe 100644 --- a/ai/integrations/vector-search-auto-embedding-openai.md +++ b/ai/integrations/vector-search-auto-embedding-openai.md @@ -6,11 +6,11 @@ aliases: ['/ja/tidbcloud/vector-search-auto-embedding-openai/'] # OpenAI埋め込み {#openai-embeddings} -このドキュメントでは、 TiDB Cloudで OpenAI 埋め込みモデルを[自動埋め込み](/ai/integrations/vector-search-auto-embedding-overview.md)で使用する方法、テキストクエリによるセマンティック検索を実行する方法について説明します。 +このドキュメントでは、OpenAIの埋め込みモデルをTiDB Cloudで[自動埋め込み](/ai/integrations/vector-search-auto-embedding-overview.md)に使用して、テキストクエリによるセマンティック検索を実行する方法について説明します。 > **Note:** > -> [自動埋め込み](/ai/integrations/vector-search-auto-embedding-overview.md)、AWS でホストされているTiDB Cloud Starterインスタンスでのみ利用できます。 +> [自動埋め込み](/ai/integrations/vector-search-auto-embedding-overview.md)は、AWS でホストされている{{{ .starter }}}インスタンスでのみ利用できます。 ## 利用可能なモデル {#available-models} @@ -292,6 +292,6 @@ CREATE TABLE sample ( ## 関連項目 {#see-also} - [自動埋め込みの概要](/ai/integrations/vector-search-auto-embedding-overview.md) -- [ベクトル検索](/ai/concepts/vector-search-overview.md) +- [ベクトル検索](/ai/guides/vector-search-overview.md) - [ベクトル関数と演算子](/ai/reference/vector-search-functions-and-operators.md) - [ハイブリッド検索](/ai/guides/vector-search-hybrid-search.md) diff --git a/ai/integrations/vector-search-integrate-with-amazon-bedrock.md b/ai/integrations/vector-search-integrate-with-amazon-bedrock.md index 9af3dafe1a5d5..9f4fe22a76048 100644 --- a/ai/integrations/vector-search-integrate-with-amazon-bedrock.md +++ b/ai/integrations/vector-search-integrate-with-amazon-bedrock.md @@ -10,12 +10,12 @@ aliases: ['/ja/tidbcloud/vector-search-integrate-with-amazon-bedrock/'] > > このドキュメントはTiDB Cloudにのみ適用され、TiDB Self-Managedには適用されません。 -このチュートリアルでは[TiDBベクトル検索](/ai/concepts/vector-search-overview.md)と[Amazon Bedrock](https://aws.amazon.com/bedrock/)を統合して、検索拡張生成 (RAG) Q&A ボットを構築する方法を説明します。 +このチュートリアルでは[TiDBベクトル検索](/ai/guides/vector-search-overview.md)と[Amazon Bedrock](https://aws.amazon.com/bedrock/)を統合して、検索拡張生成 (RAG) Q&A ボットを構築する方法を説明します。 > **Note:** > > - ベクトル検索機能はパブリックプレビューです。予告なく変更される場合があります。バグを発見した場合は、GitHubで[問題](https://github.com/pingcap/tidb/issues)を報告してください。 -> - ベクトル検索機能は、 [TiDB Self-Managed](/overview.md) と [{{{ .starter }}}](/tidb-cloud/select-cluster-tier.md#starter) で利用できます。TiDB Self-Managedの場合、TiDBのバージョンはv8.4.0以降である必要があります(v8.5.0以降を推奨)。 +> - ベクトル検索機能は、 [TiDB Self-Managed](/overview.md) と [{{{ .starter }}}](https://docs.pingcap.com/tidbcloud/select-cluster-tier/?plan=starter#starter) で利用できます。TiDB Self-Managedの場合、TiDBのバージョンはv8.4.0以降である必要があります(v8.5.0以降を推奨)。 > **Tip** > @@ -25,11 +25,11 @@ aliases: ['/ja/tidbcloud/vector-search-integrate-with-amazon-bedrock/'] このチュートリアルを完了するには、以下が必要です。 -- [Python 3.11以降](https://www.python.org/downloads/)インストールされています +- [Python 3.11以降](https://www.python.org/downloads/)がインストールされていること。 -- [pip](https://pypi.org/project/pip/)がインストールされました +- [pip](https://pypi.org/project/pip/)がインストールされていること。 -- [AWS CLI](https://aws.amazon.com/cli/)がインストールされました +- [AWS CLI](https://aws.amazon.com/cli/)がインストールされていること。 AWS CLI プロファイルがサポートされている[Amazon Bedrock](https://aws.amazon.com/bedrock/)リージョンに設定されていることを確認してください。サポートされている地域のリストは[Amazon Bedrock リージョン](https://docs.aws.amazon.com/bedrock/latest/userguide/models-regions.html)でご覧いただけます。サポートされているリージョンに切り替えるには、次のコマンドを実行します。 @@ -37,11 +37,11 @@ aliases: ['/ja/tidbcloud/vector-search-integrate-with-amazon-bedrock/'] aws configure set region ``` -- TiDB Cloud Starterインスタンス +- {{{ .starter }}}インスタンス - お持ちでない場合は、 [TiDB Cloud Starterインスタンスを作成する](/tidb-cloud/select-cluster-tier.md#starter)。 + お持ちでない場合は、 [{{{ .starter }}}インスタンスを作成する](https://docs.pingcap.com/tidbcloud/select-cluster-tier/?plan=starter#starter)。 -- [Amazon Bedrockに必要な権限](https://docs.aws.amazon.com/bedrock/latest/userguide/security_iam_id-based-policy-examples.html)AWS アカウントと次のモデルへのアクセス: +- [Amazon Bedrockに必要な権限](https://docs.aws.amazon.com/bedrock/latest/userguide/security_iam_id-based-policy-examples.html)および次のモデルへのアクセス権を持つ AWS アカウント: - **Amazon Titan Embeddings** ( `amazon.titan-embed-text-v2:0` ) は、テキスト埋め込みを生成するために使用されます。 - テキスト生成に使用される**Meta Llama 3** ( `us.meta.llama3-2-3b-instruct-v1:0` ) @@ -56,7 +56,7 @@ aliases: ['/ja/tidbcloud/vector-search-integrate-with-amazon-bedrock/'] [TiDB Cloudコンソール](https://tidbcloud.com/)からTiDB接続情報を取得し、開発環境の環境変数を以下のように設定してください。 -1. [**My TiDB**](https://tidbcloud.com/tidbs)ページに移動し、次に、対象のTiDB Cloud Starterインスタンスの名前をクリックして、概要ページに移動します。 +1. [**My TiDB**](https://tidbcloud.com/tidbs)ページに移動し、次に、対象の{{{ .starter }}}インスタンスの名前をクリックして、概要ページに移動します。 2. 右上隅の**Connect**をクリックしてください。接続ダイアログが表示されます。 @@ -245,9 +245,9 @@ class Entity(Base): Base.metadata.create_all(engine) ``` -### ステップ7. ベクトルデータをTiDB Cloud Starterに保存します。 {#step-7-save-the-vector-data-to-tidb-cloud-starter} +### ステップ7. ベクトルデータを{{{ .starter }}}に保存します。 {#step-7-save-the-vector-data-to-tidb-cloud-starter} -`demo.py`に、ベクトルデータをTiDB Cloud Starterインスタンスに保存するための以下のコードを追加します。 +`demo.py`に、ベクトルデータを{{{ .starter }}}インスタンスに保存するための以下のコードを追加します。 ```python # ---- Saving Vectors to TiDB ---- diff --git a/ai/integrations/vector-search-integrate-with-django-orm.md b/ai/integrations/vector-search-integrate-with-django-orm.md index fb293819dbca1..332bd2914d7b1 100644 --- a/ai/integrations/vector-search-integrate-with-django-orm.md +++ b/ai/integrations/vector-search-integrate-with-django-orm.md @@ -6,12 +6,12 @@ aliases: ['/ja/tidb/stable/vector-search-integrate-with-django-orm/','/ja/tidb/d # TiDBベクトル検索をDjango ORMと統合する {#integrate-tidb-vector-search-with-django-orm} -このチュートリアルでは[Django](https://www.djangoproject.com/)ORM を使用して[TiDBベクトル検索](/ai/concepts/vector-search-overview.md)と対話し、埋め込みを保存し、ベクトル検索クエリを実行する方法を説明します。 +このチュートリアルでは[Django](https://www.djangoproject.com/)ORM を使用して[TiDBベクトル検索](/ai/guides/vector-search-overview.md)と対話し、埋め込みを保存し、ベクトル検索クエリを実行する方法を説明します。 > **Note:** > > - ベクトル検索機能はパブリックプレビューです。予告なく変更される場合があります。バグを発見した場合は、GitHubで[問題](https://github.com/pingcap/tidb/issues)を報告してください。 -> - ベクトル検索機能は、 [TiDB Self-Managed](/overview.md)および[{{{ .starter }}}](/tidb-cloud/select-cluster-tier.md#starter)で利用できます。TiDB Self-Managedの場合、TiDBのバージョンはv8.4.0以降である必要があります(v8.5.0以降を推奨)。 +> - ベクトル検索機能は、 [TiDB Self-Managed](/overview.md)および[{{{ .starter }}}](https://docs.pingcap.com/tidbcloud/select-cluster-tier/?plan=starter#starter)で利用できます。TiDB Self-Managedの場合、TiDBのバージョンはv8.4.0以降である必要があります(v8.5.0以降を推奨)。 ## 前提条件 {#prerequisites} @@ -23,7 +23,7 @@ aliases: ['/ja/tidb/stable/vector-search-integrate-with-django-orm/','/ja/tidb/d **TiDBクラスタをお持ちでない場合は、以下の手順で作成できます。** -- (推奨) [TiDB Cloud Starterインスタンスを作成する](/develop/dev-guide-build-cluster-in-cloud.md)。 +- (推奨) [{{{ .starter }}}インスタンスを作成する](/develop/dev-guide-build-cluster-in-cloud.md)。 - [ローカルテスト用のTiDB Self-Managedクラスタをデプロイ](/quick-start-with-tidb.md#deploy-a-local-test-cluster)または[本番のTiDB Self-Managedクラスタをデプロイ](/production-deployment-using-tiup.md) ## サンプルアプリを実行します {#run-the-sample-app} @@ -79,9 +79,9 @@ mysqlclientのインストールで問題が発生した場合は、mysqlclient
-TiDB Cloud Starterインスタンスの場合、接続文字列を取得し、環境変数を設定するには、以下の手順に従ってください。 +{{{ .starter }}}インスタンスの場合、接続文字列を取得し、環境変数を設定するには、以下の手順に従ってください。 -1. [**My TiDB**](https://tidbcloud.com/tidbs)ページに移動し、対象のTiDB Cloud Starterインスタンスの名前をクリックして、概要ページに移動します。 +1. [**My TiDB**](https://tidbcloud.com/tidbs)ページに移動し、対象の{{{ .starter }}}インスタンスの名前をクリックして、概要ページに移動します。 2. 右上隅の**Connect**をクリックしてください。接続ダイアログが表示されます。 @@ -171,8 +171,8 @@ python manage.py runserver | APIパス | 説明 | | --------------------------------------- | ------------------------- | | `POST: /insert_documents` | 埋め込みを含むドキュメントを挿入します。 | -| `GET: /get_nearest_neighbors_documents` | 最近隣の3件のドキュメントを入手する。 | -| `GET: /get_documents_within_distance` | 一定距離内にあるドキュメントを入手する。 | +| `GET: /get_nearest_neighbors_documents` | 最近隣の3件のドキュメントを取得します。 | +| `GET: /get_documents_within_distance` | 一定距離内にあるドキュメントを取得します。 | ## サンプルコードスニペット {#sample-code-snippets} diff --git a/ai/integrations/vector-search-integrate-with-jinaai-embedding.md b/ai/integrations/vector-search-integrate-with-jinaai-embedding.md index 75720c8e4de18..749041598aeb7 100644 --- a/ai/integrations/vector-search-integrate-with-jinaai-embedding.md +++ b/ai/integrations/vector-search-integrate-with-jinaai-embedding.md @@ -11,7 +11,7 @@ aliases: ['/ja/tidb/stable/vector-search-integrate-with-jinaai-embedding/','/ja/ > **Note:** > > - ベクトル検索機能はパブリックプレビューです。予告なく変更される場合があります。バグを発見した場合は、GitHubで[問題](https://github.com/pingcap/tidb/issues)を報告してください。 -> - ベクトル検索機能は、 [TiDB Self-Managed](/overview.md)および[{{{ .starter }}}](/tidb-cloud/select-cluster-tier.md#starter)で利用できます。TiDB Self-Managedの場合、TiDBのバージョンはv8.4.0以降である必要があります(v8.5.0以降を推奨)。 +> - ベクトル検索機能は、 [TiDB Self-Managed](/overview.md)および[{{{ .starter }}}](https://docs.pingcap.com/tidbcloud/select-cluster-tier/?plan=starter#starter)で利用できます。TiDB Self-Managedの場合、TiDBのバージョンはv8.4.0以降である必要があります(v8.5.0以降を推奨)。 ## 前提条件 {#prerequisites} @@ -23,7 +23,7 @@ aliases: ['/ja/tidb/stable/vector-search-integrate-with-jinaai-embedding/','/ja/ **TiDBクラスタをお持ちでない場合は、以下の手順で作成できます。** -- (推奨) [TiDB Cloud Starterインスタンスを作成する](/develop/dev-guide-build-cluster-in-cloud.md)。 +- (推奨) [{{{ .starter }}}インスタンスを作成する](/develop/dev-guide-build-cluster-in-cloud.md)。 - [ローカルテスト用のTiDB Self-Managedクラスタをデプロイ](/quick-start-with-tidb.md#deploy-a-local-test-cluster)または[本番のTiDB Self-Managedクラスタをデプロイ](/production-deployment-using-tiup.md) ## サンプルアプリを実行します {#run-the-sample-app} @@ -63,9 +63,9 @@ Jina AIのAPIキーを[Jina AI 埋め込み API](https://jina.ai/embeddings/)ペ
-TiDB Cloud Starterインスタンスの場合、接続文字列を取得し、環境変数を設定するには、以下の手順に従ってください。 +{{{ .starter }}}インスタンスの場合、接続文字列を取得し、環境変数を設定するには、以下の手順に従ってください。 -1. [**My TiDB**](https://tidbcloud.com/tidbs)ページに移動し、対象のTiDB Cloud Starterインスタンスの名前をクリックして、概要ページに移動します。 +1. [**My TiDB**](https://tidbcloud.com/tidbs)ページに移動し、対象の{{{ .starter }}}インスタンスの名前をクリックして、概要ページに移動します。 2. 右上隅の**Connect**をクリックしてください。接続ダイアログが表示されます。 diff --git a/ai/integrations/vector-search-integrate-with-langchain.md b/ai/integrations/vector-search-integrate-with-langchain.md index 355babc1e534e..37e1d2a1b4c4a 100644 --- a/ai/integrations/vector-search-integrate-with-langchain.md +++ b/ai/integrations/vector-search-integrate-with-langchain.md @@ -6,12 +6,12 @@ aliases: ['/ja/tidb/stable/vector-search-integrate-with-langchain/','/ja/tidb/de # ベクトル検索をLangChainと統合する {#integrate-vector-search-with-langchain} -このチュートリアルでは、[TiDBベクトル検索](/ai/concepts/vector-search-overview.md)を[LangChain](https://python.langchain.com/)と統合する方法を説明します。 +このチュートリアルでは、[TiDBベクトル検索](/ai/guides/vector-search-overview.md)を[LangChain](https://python.langchain.com/)と統合する方法を説明します。 > **Note:** > > - ベクトル検索機能はパブリックプレビューです。予告なく変更される場合があります。バグを発見した場合は、GitHubで[問題](https://github.com/pingcap/tidb/issues)を報告してください。 -> - ベクトル検索機能は、 [TiDB Self-Managed](/overview.md)と[TiDB Cloud Starter](/tidb-cloud/select-cluster-tier.md#starter)で利用できます。TiDB Self-Managedの場合、TiDBのバージョンはv8.4.0以降である必要があります(v8.5.0以降を推奨)。 +> - ベクトル検索機能は、 [TiDB Self-Managed](/overview.md)と[{{{ .starter }}}](https://docs.pingcap.com/tidbcloud/select-cluster-tier/?plan=starter#starter)で利用できます。TiDB Self-Managedの場合、TiDBのバージョンはv8.4.0以降である必要があります(v8.5.0以降を推奨)。 > **Tip** > @@ -28,7 +28,7 @@ aliases: ['/ja/tidb/stable/vector-search-integrate-with-langchain/','/ja/tidb/de **TiDBクラスタをお持ちでない場合は、以下の手順で作成できます。** -- (推奨) [TiDB Cloud Starterインスタンスを作成する](/develop/dev-guide-build-cluster-in-cloud.md)。 +- (推奨) [{{{ .starter }}}インスタンスを作成する](/develop/dev-guide-build-cluster-in-cloud.md)。 - [ローカルテスト用のTiDB Self-Managedクラスタをデプロイ](/quick-start-with-tidb.md#deploy-a-local-test-cluster)または[本番のTiDB Self-Managedクラスタをデプロイ](/production-deployment-using-tiup.md) ## さあ始めましょう {#get-started} @@ -70,9 +70,9 @@ from langchain_text_splitters import CharacterTextSplitter
-TiDB Cloud Starterインスタンスの場合、接続文字列を取得し、環境変数を設定するには、以下の手順に従ってください。 +{{{ .starter }}}インスタンスの場合、接続文字列を取得し、環境変数を設定するには、以下の手順に従ってください。 -1. [**My TiDB**](https://tidbcloud.com/tidbs)ページに移動し、対象のTiDB Cloud Starterインスタンスの名前をクリックして、概要ページに移動します。 +1. [**My TiDB**](https://tidbcloud.com/tidbs)ページに移動し、対象の{{{ .starter }}}インスタンスの名前をクリックして、概要ページに移動します。 2. 右上隅の**Connect**をクリックしてください。接続ダイアログが表示されます。 @@ -295,7 +295,7 @@ We’re securing commitments and supporting partners in South and Central Americ -### 回収犬として使用する {#use-as-a-retriever} +### Retrieverとして使用する {#use-as-a-retriever} LangChainでは、 [Retriever](https://python.langchain.com/v0.2/docs/concepts/#retrievers)は非構造化クエリのドキュメントを取得するインターフェースであり、ベクトルストアよりも多くの機能を提供します。以下のコードは、TiDBベクトルストアをRetrieverとして使用する方法を示しています。 diff --git a/ai/integrations/vector-search-integrate-with-llamaindex.md b/ai/integrations/vector-search-integrate-with-llamaindex.md index 1f6d9c72734c5..8244c5ca00c3b 100644 --- a/ai/integrations/vector-search-integrate-with-llamaindex.md +++ b/ai/integrations/vector-search-integrate-with-llamaindex.md @@ -6,12 +6,12 @@ aliases: ['/ja/tidb/stable/vector-search-integrate-with-llamaindex/','/ja/tidb/d # ベクトル検索をLlamaIndexと統合する {#integrate-vector-search-with-llamaindex} -このチュートリアルでは、[TiDBベクトル検索](/ai/concepts/vector-search-overview.md)を[LlamaIndex](https://www.llamaindex.ai)と統合する方法を説明します。 +このチュートリアルでは、[TiDBベクトル検索](/ai/guides/vector-search-overview.md)を[LlamaIndex](https://www.llamaindex.ai)と統合する方法を説明します。 > **Note:** > > - ベクトル検索機能はパブリックプレビューです。予告なく変更される場合があります。バグを発見した場合は、GitHubで[問題](https://github.com/pingcap/tidb/issues)を報告してください。 -> - ベクトル検索機能は、 [TiDB Self-Managed](/overview.md)と[TiDB Cloud Starter](/tidb-cloud/select-cluster-tier.md#starter)で利用できます。TiDB Self-Managedの場合、TiDBのバージョンはv8.4.0以降である必要があります(v8.5.0以降を推奨)。 +> - ベクトル検索機能は、 [TiDB Self-Managed](/overview.md)と[{{{ .starter }}}](https://docs.pingcap.com/tidbcloud/select-cluster-tier/?plan=starter#starter)で利用できます。TiDB Self-Managedの場合、TiDBのバージョンはv8.4.0以降である必要があります(v8.5.0以降を推奨)。 > **Tip** > @@ -28,7 +28,7 @@ aliases: ['/ja/tidb/stable/vector-search-integrate-with-llamaindex/','/ja/tidb/d **TiDBクラスタをお持ちでない場合は、以下の手順で作成できます。** -- (推奨) [TiDB Cloud Starterインスタンスを作成する](/develop/dev-guide-build-cluster-in-cloud.md)。 +- (推奨) [{{{ .starter }}}インスタンスを作成する](/develop/dev-guide-build-cluster-in-cloud.md)。 - [ローカルテスト用のTiDB Self-Managedクラスタをデプロイ](/quick-start-with-tidb.md#deploy-a-local-test-cluster)または[本番のTiDB Self-Managedクラスタをデプロイ](/production-deployment-using-tiup.md) ## さあ始めましょう {#get-started} @@ -69,9 +69,9 @@ from llama_index.vector_stores.tidbvector import TiDBVectorStore
-TiDB Cloud Starterインスタンスの場合、接続文字列を取得し、環境変数を設定するには、以下の手順に従ってください。 +{{{ .starter }}}インスタンスの場合、接続文字列を取得し、環境変数を設定するには、以下の手順に従ってください。 -1. [**My TiDB**](https://tidbcloud.com/tidbs)ページに移動し、対象のTiDB Cloud Starterインスタンスの名前をクリックして、概要ページに移動します。 +1. [**My TiDB**](https://tidbcloud.com/tidbs)ページに移動し、対象の{{{ .starter }}}インスタンスの名前をクリックして、概要ページに移動します。 2. 右上隅の**Connect**をクリックしてください。接続ダイアログが表示されます。 diff --git a/ai/integrations/vector-search-integrate-with-peewee.md b/ai/integrations/vector-search-integrate-with-peewee.md index e67658d484f8a..6e28d2672e27c 100644 --- a/ai/integrations/vector-search-integrate-with-peewee.md +++ b/ai/integrations/vector-search-integrate-with-peewee.md @@ -6,12 +6,12 @@ aliases: ['/ja/tidb/stable/vector-search-integrate-with-peewee/','/ja/tidb/dev/v # TiDBベクトル検索をpeeweeと統合する {#integrate-tidb-vector-search-with-peewee} -このチュートリアルでは[Peewee](https://docs.peewee-orm.com/)を使用して[TiDBベクトル検索](/ai/concepts/vector-search-overview.md)と対話し、埋め込みを保存し、ベクトル検索クエリを実行する方法を説明します。 +このチュートリアルでは[Peewee](https://docs.peewee-orm.com/)を使用して[TiDBベクトル検索](/ai/guides/vector-search-overview.md)と対話し、埋め込みを保存し、ベクトル検索クエリを実行する方法を説明します。 > **Note:** > > - ベクトル検索機能はパブリックプレビューです。予告なく変更される場合があります。バグを発見した場合は、GitHubで[問題](https://github.com/pingcap/tidb/issues)を報告してください。 -> - ベクトル検索機能は、 [TiDB Self-Managed](/overview.md)と[TiDB Cloud Starter](/tidb-cloud/select-cluster-tier.md#starter)で利用できます。TiDB Self-Managedの場合、TiDBのバージョンはv8.4.0以降である必要があります(v8.5.0以降を推奨)。 +> - ベクトル検索機能は、 [TiDB Self-Managed](/overview.md)と[{{{ .starter }}}](https://docs.pingcap.com/tidbcloud/select-cluster-tier/?plan=starter#starter)で利用できます。TiDB Self-Managedの場合、TiDBのバージョンはv8.4.0以降である必要があります(v8.5.0以降を推奨)。 ## 前提条件 {#prerequisites} @@ -23,7 +23,7 @@ aliases: ['/ja/tidb/stable/vector-search-integrate-with-peewee/','/ja/tidb/dev/v **TiDBクラスタをお持ちでない場合は、以下の手順で作成できます。** -- (推奨) [TiDB Cloud Starterインスタンスを作成する](/develop/dev-guide-build-cluster-in-cloud.md)。 +- (推奨) [{{{ .starter }}}インスタンスを作成する](/develop/dev-guide-build-cluster-in-cloud.md)。 - [ローカルテスト用のTiDB Self-Managedクラスタをデプロイ](/quick-start-with-tidb.md#deploy-a-local-test-cluster)または[本番のTiDB Self-Managedクラスタをデプロイ](/production-deployment-using-tiup.md) ## サンプルアプリを実行します {#run-the-sample-app} @@ -69,9 +69,9 @@ pip install peewee pymysql python-dotenv tidb-vector
-TiDB Cloud Starterインスタンスの場合、接続文字列を取得し、環境変数を設定するには、以下の手順に従ってください。 +{{{ .starter }}}インスタンスの場合、接続文字列を取得し、環境変数を設定するには、以下の手順に従ってください。 -1. [**My TiDB**](https://tidbcloud.com/tidbs)ページに移動し、対象のTiDB Cloud Starterインスタンスの名前をクリックして、概要ページに移動します。 +1. [**My TiDB**](https://tidbcloud.com/tidbs)ページに移動し、対象の{{{ .starter }}}インスタンスの名前をクリックして、概要ページに移動します。 2. 右上隅の**Connect**をクリックしてください。接続ダイアログが表示されます。 @@ -97,8 +97,8 @@ TiDB Cloud Starterインスタンスの場合、接続文字列を取得し、 5. Python プロジェクトのルートディレクトリに`.env`ファイルを作成し、接続パラメータを対応する環境変数に貼り付けます。 - - `TIDB_HOST` : TiDB Cloud Starterインスタンスのホスト。 - - `TIDB_PORT` : TiDB Cloud Starterインスタンスのポート。 + - `TIDB_HOST` : {{{ .starter }}}インスタンスのホスト。 + - `TIDB_PORT` : {{{ .starter }}}インスタンスのポート。 - `TIDB_USERNAME` : TiDBに接続するためのユーザー名。 - `TIDB_PASSWORD` : TiDBに接続するためのパスワード。 - `TIDB_DATABASE` : 接続するデータベース名。 diff --git a/ai/integrations/vector-search-integrate-with-sqlalchemy.md b/ai/integrations/vector-search-integrate-with-sqlalchemy.md index 1dd06e43ad99f..fc6d2f8357626 100644 --- a/ai/integrations/vector-search-integrate-with-sqlalchemy.md +++ b/ai/integrations/vector-search-integrate-with-sqlalchemy.md @@ -6,12 +6,12 @@ aliases: ['/ja/tidb/stable/vector-search-integrate-with-sqlalchemy/','/ja/tidb/d # TiDBベクトル検索をSQLAlchemyと統合する {#integrate-tidb-vector-search-with-sqlalchemy} -このチュートリアルでは、 [SQLAlchemy](https://www.sqlalchemy.org/)を使用して[TiDBベクトル検索](/ai/concepts/vector-search-overview.md)と対話し、埋め込みを保存し、ベクトル検索クエリを実行する方法を説明します。 +このチュートリアルでは、 [SQLAlchemy](https://www.sqlalchemy.org/)を使用して[TiDBベクトル検索](/ai/guides/vector-search-overview.md)と対話し、埋め込みを保存し、ベクトル検索クエリを実行する方法を説明します。 > **Note:** > > - ベクトル検索機能はパブリックプレビューです。予告なく変更される場合があります。バグを発見した場合は、GitHubで[問題](https://github.com/pingcap/tidb/issues)を報告してください。 -> - ベクトル検索機能は、 [TiDB Self-Managed](/overview.md)と[{{{ .starter }}}](/tidb-cloud/select-cluster-tier.md#starter)で利用できます。TiDB Self-Managedの場合、TiDBのバージョンはv8.4.0以降である必要があります(v8.5.0以降を推奨)。 +> - ベクトル検索機能は、 [TiDB Self-Managed](/overview.md)と[{{{ .starter }}}](https://docs.pingcap.com/tidbcloud/select-cluster-tier/?plan=starter#starter)で利用できます。TiDB Self-Managedの場合、TiDBのバージョンはv8.4.0以降である必要があります(v8.5.0以降を推奨)。 ## 前提条件 {#prerequisites} @@ -23,7 +23,7 @@ aliases: ['/ja/tidb/stable/vector-search-integrate-with-sqlalchemy/','/ja/tidb/d **TiDBクラスタをお持ちでない場合は、以下の手順で作成できます。** -- (推奨) [TiDB Cloud Starterインスタンスを作成する](/develop/dev-guide-build-cluster-in-cloud.md)。 +- (推奨) [{{{ .starter }}}インスタンスを作成する](/develop/dev-guide-build-cluster-in-cloud.md)。 - [ローカルテスト用のTiDB Self-Managedクラスタをデプロイ](/quick-start-with-tidb.md#deploy-a-local-test-cluster)または[本番のTiDB Self-Managedクラスタをデプロイ](/production-deployment-using-tiup.md) ## サンプルアプリを実行します {#run-the-sample-app} @@ -69,9 +69,9 @@ pip install pymysql python-dotenv sqlalchemy tidb-vector
-TiDB Cloud Starterインスタンスの場合、接続文字列を取得し、環境変数を設定するには、以下の手順に従ってください。 +{{{ .starter }}}インスタンスの場合、接続文字列を取得し、環境変数を設定するには、以下の手順に従ってください。 -1. [**My TiDB**](https://tidbcloud.com/tidbs)ページに移動し、対象のTiDB Cloud Starterインスタンスの名前をクリックして、概要ページに移動します。 +1. [**My TiDB**](https://tidbcloud.com/tidbs)ページに移動し、対象の{{{ .starter }}}インスタンスの名前をクリックして、概要ページに移動します。 2. 右上隅の**Connect**をクリックしてください。接続ダイアログが表示されます。 diff --git a/ai/integrations/vector-search-integration-overview.md b/ai/integrations/vector-search-integration-overview.md index fc6b7c976a44a..a97c4c05e1948 100644 --- a/ai/integrations/vector-search-integration-overview.md +++ b/ai/integrations/vector-search-integration-overview.md @@ -11,7 +11,7 @@ aliases: ['/ja/tidb/stable/vector-search-integration-overview/','/ja/tidb/dev/ve > **Note:** > > - ベクトル検索機能はパブリックプレビューです。事前の通知なく変更される場合があります。バグを見つけた場合は、GitHub で [issue](https://github.com/pingcap/tidb/issues) を報告できます。 -> - ベクトル検索機能は、[TiDB Self-Managed](/overview.md) と [{{{ .starter }}}](/tidb-cloud/select-cluster-tier.md#starter) で利用できます。TiDB Self-Managed では、TiDB バージョンが v8.4.0 以降である必要があります(v8.5.0 以降を推奨します)。 +> - ベクトル検索機能は、[TiDB Self-Managed](/overview.md) と [{{{ .starter }}}](https://docs.pingcap.com/tidbcloud/select-cluster-tier/?plan=starter#starter) で利用できます。TiDB Self-Managed では、TiDB バージョンが v8.4.0 以降である必要があります(v8.5.0 以降を推奨します)。 ## Auto Embedding {#auto-embedding} diff --git a/ai/quickstart-via-python.md b/ai/quickstart-via-python.md index d68463166d811..fdae49e2b4278 100644 --- a/ai/quickstart-via-python.md +++ b/ai/quickstart-via-python.md @@ -6,7 +6,7 @@ aliases: ['/ja/tidb/stable/vector-search-get-started-using-python/','/ja/tidb/de # Python を使って TiDB + AI を始めよう {#get-started-with-tidb-ai-via-python} -このドキュメントでは、Python SDK を使用して TiDB で[ベクトル検索](/ai/concepts/vector-search-overview.md)を開始する方法を説明します。手順に従って、TiDB で動作する最初の AI アプリケーションを構築します。 +このドキュメントでは、Python SDK を使用して TiDB で[ベクトル検索](/ai/guides/vector-search-overview.md)を開始する方法を説明します。手順に従って、TiDB で動作する最初の AI アプリケーションを構築します。 このドキュメントに従うことで、以下のことを学ぶことができます。 @@ -18,7 +18,7 @@ aliases: ['/ja/tidb/stable/vector-search-get-started-using-python/','/ja/tidb/de > **Note:** > > - ベクトル検索機能はパブリックプレビューであり、予告なく変更される場合があります。バグを発見した場合は、GitHubで[問題](https://github.com/pingcap/tidb/issues)を報告してください。 -> - ベクトル検索機能は、 [TiDB Self-Managed](/overview.md)および[{{{ .starter }}}](/tidb-cloud/select-cluster-tier.md#starter)で利用できます。TiDB Self-Managedの場合、TiDBのバージョンはv8.4.0以降である必要があります(v8.5.0以降を推奨)。 +> - ベクトル検索機能は、 [TiDB Self-Managed](/overview.md)および[{{{ .starter }}}](https://docs.pingcap.com/tidbcloud/select-cluster-tier/?plan=starter#starter)で利用できます。TiDB Self-Managedの場合、TiDBのバージョンはv8.4.0以降である必要があります(v8.5.0以降を推奨)。 ## 前提条件 {#prerequisites} @@ -108,7 +108,7 @@ client = TiDBClient.connect( ## 埋め込み関数を作成する {#create-an-embedding-function} -[埋め込みモデル](/ai/concepts/vector-search-overview.md#embedding-model)扱う場合、埋め込み機能を利用することで、挿入時とクエリ時の両方でデータを自動的にベクトル化できます。OpenAI、Jina AI、Hugging Face、Sentence Transformersなど、人気の埋め込みモデルをネイティブでサポートしています。 +[埋め込みモデル](/ai/guides/vector-search-overview.md#embedding-model)を扱う場合、埋め込み機能を利用することで、挿入時とクエリ時の両方でデータを自動的にベクトル化できます。OpenAI、Jina AI、Hugging Face、Sentence Transformersなど、人気の埋め込みモデルをネイティブでサポートしています。
@@ -189,7 +189,7 @@ table.search( .limit(3).to_list() ``` -この例では、ベクトル検索はクエリベクトル`text_vec`テーブルの`chunks`フィールドに格納されているベクトルと比較し、類似度スコアに基づいて意味的に最も関連性の高い上位3つの結果を返します。 +この例では、ベクトル検索はクエリベクトルを`chunks`テーブルの`text_vec`フィールドに格納されているベクトルと比較し、類似度スコアに基づいて意味的に最も関連性の高い上位3つの結果を返します。 `_distance`が近いほど、2つのベクトルはより類似していることを意味します。 diff --git a/ai/quickstart-via-sql.md b/ai/quickstart-via-sql.md index 079d9c0fbba71..e3ba4f84092e6 100644 --- a/ai/quickstart-via-sql.md +++ b/ai/quickstart-via-sql.md @@ -6,19 +6,19 @@ aliases: ['/ja/tidb/stable/vector-search-get-started-using-sql/','/ja/tidb/dev/v # SQL を介して TiDB + AI を使い始める {#get-started-with-tidb-ai-via-sql} -TiDB は、MySQL 構文を拡張して[ベクトル検索](/ai/concepts/vector-search-overview.md)をサポートし、新しい [ベクトルデータ型](/ai/reference/vector-search-data-types.md)といくつかの[ベクトル関数](/ai/reference/vector-search-functions-and-operators.md)を導入します。 +TiDB は、MySQL 構文を拡張して[ベクトル検索](/ai/guides/vector-search-overview.md)をサポートし、新しい [ベクトルデータ型](/ai/reference/vector-search-data-types.md)といくつかの[ベクトル関数](/ai/reference/vector-search-functions-and-operators.md)を導入します。 このドキュメントでは、SQL文だけを使用して TiDBベクトル検索を開始する方法を説明します。 [MySQLコマンドラインクライアント](https://dev.mysql.com/doc/refman/8.4/en/mysql.html)を使用して、次の操作を実行する方法を学習します。 - TiDBに接続します。 - ベクトルテーブルを作成します。 -- ベクトル埋め込みを保存する。 +- ベクトル埋め込みを保存します。 - ベクトル検索クエリを実行します。 > **Note:** > > - ベクトル検索機能はパブリックプレビューであり、予告なく変更される場合があります。バグを発見した場合は、GitHubで[問題](https://github.com/pingcap/tidb/issues)を報告してください。 -> - ベクトル検索機能は、 [TiDB Self-Managed](/overview.md)および [{{{ .starter }}}](/tidb-cloud/select-cluster-tier.md#starter)で利用できます。TiDB Self-Managedの場合、TiDBのバージョンはv8.4.0以降である必要があります(v8.5.0以降を推奨)。 +> - ベクトル検索機能は、 [TiDB Self-Managed](/overview.md)および [{{{ .starter }}}](https://docs.pingcap.com/tidbcloud/select-cluster-tier/?plan=starter#starter)で利用できます。TiDB Self-Managedの場合、TiDBのバージョンはv8.4.0以降である必要があります(v8.5.0以降を推奨)。 ## 前提条件 {#prerequisites} @@ -72,7 +72,7 @@ mysql --comments --host 127.0.0.1 --port 4000 -u root ### ステップ2. ベクトルテーブルを作成する {#step-2-create-a-vector-table} -テーブルを作成する際、 `VECTOR`データ型を指定することで、列を[ベクトル](/ai/concepts/vector-search-overview.md#vector-embedding)として定義できます。 +テーブルを作成する際、 `VECTOR`データ型を指定することで、列を[ベクトル](/ai/guides/vector-search-overview.md#vector-embedding)として定義できます。 例えば、3次元の`VECTOR`列を持つテーブル`embedded_documents`を作成するには、MySQL CLI を使用して次の SQL文を実行します。 @@ -95,7 +95,7 @@ Query OK, 0 rows affected (0.27 sec) ### ステップ3. ベクトル埋め込みをテーブルに挿入する {#step-3-insert-vector-embeddings-to-the-table} -[ベクトル埋め込み](/ai/concepts/vector-search-overview.md#vector-embedding)を持つ3つのドキュメントを`embedded_documents`テーブルに挿入します。 +[ベクトル埋め込み](/ai/guides/vector-search-overview.md#vector-embedding)を持つ3つのドキュメントを`embedded_documents`テーブルに挿入します。 ```sql INSERT INTO embedded_documents @@ -116,7 +116,7 @@ Records: 3 Duplicates: 0 Warnings: 0 > > この例では、ベクトル埋め込みの次元を簡略化し、説明のために3次元ベクトルのみを使用しています。 > -> 実際のアプリケーションでは、 [埋め込みモデル](/ai/concepts/vector-search-overview.md#embedding-model)は多くの場合、数百または数千の次元を持つベクトル埋め込みを生成します。 +> 実際のアプリケーションでは、 [埋め込みモデル](/ai/guides/vector-search-overview.md#embedding-model)は多くの場合、数百または数千の次元を持つベクトル埋め込みを生成します。 ### ステップ4. ベクトルテーブルを照会する {#step-4-query-the-vector-table} @@ -169,7 +169,7 @@ LIMIT 3; 検索結果の 3つの用語は、クエリされたベクトルからのそれぞれの距離によってソートされます。距離が小さいほど、対応する`document`の関連性が高くなります。 -したがって、出力結果から判断すると、泳いでいる動物は魚か、泳ぎの才能に恵まれた犬である可能性が最も高い。 +したがって、出力結果から判断すると、泳いでいる動物は魚か、泳ぎの才能に恵まれた犬である可能性が最も高いです。 ## 参照 {#see-also} diff --git a/ai/reference/vector-search-data-types.md b/ai/reference/vector-search-data-types.md index e9838e6eb9d4c..a0f12a2d8c8fb 100644 --- a/ai/reference/vector-search-data-types.md +++ b/ai/reference/vector-search-data-types.md @@ -11,7 +11,7 @@ aliases: ['/ja/tidb/stable/vector-search-data-types/','/ja/tidbcloud/vector-sear > **Note:** > > - ベクトルデータ型はパブリックプレビューであり、予告なく変更される可能性があります。バグを発見した場合は、GitHubで[問題](https://github.com/pingcap/tidb/issues)報告を行ってください。 -> - ベクトルデータ型は[TiDB Self-Managed](/overview.md) および [TiDB Cloud Starter](/tidb-cloud/select-cluster-tier.md#starter)で使用できます。TiDB Self-Managed の場合、TiDB バージョンは v8.4.0 以降である必要があります(v8.5.0 以降を推奨)。 +> - ベクトルデータ型は[TiDB Self-Managed](/overview.md) および [TiDB Cloud Starter](https://docs.pingcap.com/tidbcloud/select-cluster-tier/?plan=starter#starter)で使用できます。TiDB Self-Managed の場合、TiDB バージョンは v8.4.0 以降である必要があります(v8.5.0 以降を推奨)。 現在、次のベクトルデータ型が利用可能です。 @@ -77,7 +77,7 @@ INSERT INTO vector_table VALUES (1, '[0.3, 0.5, -0.1]'); -- 3 dimensions vector, INSERT INTO vector_table VALUES (2, '[0.3, 0.5]'); -- 2 dimensions vector, OK ``` -ただし、ベクトル距離は同じ次元のベクトル間でのみ計算できるため、この列に[ベクトル検索インデックス](/ai/reference/vector-search-index.md)構築できないことに注意してください。 +ただし、ベクトル距離は同じ次元のベクトル間でのみ計算できるため、この列に[ベクトル検索インデックス](/ai/reference/vector-search-index.md)を構築できないことに注意してください。 ## 比較 {#comparison} @@ -93,7 +93,7 @@ INSERT INTO vector_table VALUES (2, '[0.3, 0.5]'); -- 2 dimensions vector, 異なる次元を持つ 2つのベクトルは、次の規則に従って辞書式比較を使用して比較されます。 - 2 つのベクトルは最初から要素ごとに比較され、各要素は数値的に比較されます。 -- 最初の不一致要素によって、どのベクトルが辞書式に他のベクトルより*小さい*か*大きいかが*決まります。 +- 最初の不一致要素によって、どのベクトルが辞書式に他のベクトルより*小さい*か*大きい*かが決まります。 - あるベクトルが別のベクトルの接頭辞である場合、短いベクトルは辞書順でもう一方より*小さく*なります。例えば、 `[1,2,3] < [1,2,3,0]` 。 - 同じ長さで同一の要素を持つベクトルは辞書的に*等しい*です。 - 空ベクトルは、辞書順で空でないベクトルよりも*小さい*。例えば、 `[] < [1]` 。 diff --git a/ai/reference/vector-search-functions-and-operators.md b/ai/reference/vector-search-functions-and-operators.md index ea96191a634ef..565471da31566 100644 --- a/ai/reference/vector-search-functions-and-operators.md +++ b/ai/reference/vector-search-functions-and-operators.md @@ -11,7 +11,7 @@ aliases: ['/ja/tidb/stable/vector-search-functions-and-operators/','/ja/tidbclou > **Note:** > > - ベクトル関数と演算子はパブリックプレビューであり、予告なく変更される可能性があります。バグを発見した場合は、GitHubで[問題](https://github.com/pingcap/tidb/issues)報告を行ってください。 -> - ベクトルデータ型は、 [TiDB Self-Managed](/overview.md) および [TiDB Cloud Starter](/tidb-cloud/select-cluster-tier.md#starter) で使用できます。TiDB Self-Managedの場合、TiDBバージョンはv8.4.0以降である必要があります(v8.5.0以降を推奨)。 +> - ベクトルデータ型は、 [TiDB Self-Managed](/overview.md) および [{{{ .starter }}}](https://docs.pingcap.com/tidbcloud/select-cluster-tier/?plan=starter#starter) で使用できます。TiDB Self-Managedの場合、TiDBバージョンはv8.4.0以降である必要があります(v8.5.0以降を推奨)。 ## ベクトル関数 {#vector-functions} @@ -75,7 +75,7 @@ aliases: ['/ja/tidb/stable/vector-search-functions-and-operators/','/ja/tidbclou | [`<`](https://dev.mysql.com/doc/refman/8.0/en/comparison-operators.html#operator_less-than) | 小なり演算子 | | [`<=`](https://dev.mysql.com/doc/refman/8.0/en/comparison-operators.html#operator_less-than-or-equal) | 以下演算子 | | [`NOT BETWEEN ... AND ...`](https://dev.mysql.com/doc/refman/8.0/en/comparison-operators.html#operator_not-between) | 値が範囲内にないか確認する | -| [`!=` 、 `<>`](https://dev.mysql.com/doc/refman/8.0/en/comparison-operators.html#operator_not-equal) | 等しくない演算子 | +| [`!=` 、 `<>`](https://dev.mysql.com/doc/refman/8.0/en/comparison-operators.html#operator_not-equal) | 等しくない演算子 | | [`NOT IN()`](https://dev.mysql.com/doc/refman/8.0/en/comparison-operators.html#operator_not-in) | 値が値のセット内にないかどうかを確認する | ベクトルの比較方法の詳細については、 [ベクトルデータ型 | 比較](/ai/reference/vector-search-data-types.md#comparison)を参照してください。 @@ -108,7 +108,7 @@ VEC_L2_DISTANCE(vector1, vector2) 次の式を使用して、2つのベクトル間の[L2距離](https://en.wikipedia.org/wiki/Euclidean_distance) (ユークリッド距離) を計算します。 -$距離(p,q)=\sqrt {\sum \limits *{i=1}^{n}{(p* {i}-q_{i})^{2}}}$ +$距離(p,q)=\sqrt {\sum \limits _{i=1}^{n}{(p_{i}-q_{i})^{2}}}$ 2つのベクトルの次元数は同じである必要があります。そうでない場合はエラーが返されます。 @@ -134,7 +134,7 @@ VEC_COSINE_DISTANCE(vector1, vector2) 次の式を使用して 2つのベクトル間の[コサイン距離](https://en.wikipedia.org/wiki/Cosine_similarity)を計算します。 -$距離(p,q)=1.0 - {\frac {\sum \limits *{i=1}^{n}{p* {i}q_{i}}}{{\sqrt {\sum \limits *{i=1}^{n}{p* {i}^{2}}}}\cdot {\sqrt {\sum \limits *{i=1}^{n}{q* {i}^{2}}}}}}$ +$距離(p,q)=1.0 - {\frac {\sum \limits _{i=1}^{n}{p_{i}q_{i}}}{{\sqrt {\sum \limits _{i=1}^{n}{p_{i}^{2}}}}\cdot {\sqrt {\sum \limits _{i=1}^{n}{q_{i}^{2}}}}}}$ 2つのベクトルの次元数は同じである必要があります。そうでない場合はエラーが返されます。 @@ -162,7 +162,7 @@ VEC_NEGATIVE_INNER_PRODUCT(vector1, vector2) 次の数式を使用して、2つのベクトル間の[内積](https://en.wikipedia.org/wiki/Dot_product)の負の値を使用して距離を計算します。 -$DISTANCE(p,q)=- INNER_PROD(p,q)=-\sum \limits *{i=1}^{n}{p* {i}q_{i}}$ +$距離(p,q)=- INNER\_PROD(p,q)=-\sum \limits _{i=1}^{n}{p_{i}q_{i}}$ 2つのベクトルの次元数は同じである必要があります。そうでない場合はエラーが返されます。 @@ -188,7 +188,7 @@ VEC_L1_DISTANCE(vector1, vector2) 次の式を使用して、2つのベクトル間の[L1距離](https://en.wikipedia.org/wiki/Taxicab_geometry) (マンハッタン距離) を計算します。 -$距離(p,q)=\sum \limits *{i=1}^{n}{|p* {i}-q_{i}|}$ +$距離(p,q)=\sum \limits _{i=1}^{n}{|p_{i}-q_{i}|}$ 2つのベクトルの次元数は同じである必要があります。そうでない場合はエラーが返されます。 @@ -248,7 +248,7 @@ VEC_L2_NORM(vector) 次の式を使用してベクトルの[L2ノルム](https://en.wikipedia.org/wiki/Norm_(mathematics)) (ユークリッド ノルム) を計算します。 -$NORM(p)=\sqrt {\sum \limits *{i=1}^{n}{p* {i}^{2}}}$ +$NORM(p)=\sqrt {\sum \limits _{i=1}^{n}{p_{i}^{2}}}$ 例: diff --git a/ai/reference/vector-search-improve-performance.md b/ai/reference/vector-search-improve-performance.md index 511b08def3633..33805a825df11 100644 --- a/ai/reference/vector-search-improve-performance.md +++ b/ai/reference/vector-search-improve-performance.md @@ -11,11 +11,11 @@ TiDBベクトル検索を使用すると、画像、ドキュメント、その > **Note:** > > - ベクトル検索機能はパブリックプレビューです。予告なく変更される可能性があります。バグを発見した場合は、GitHubで[問題](https://github.com/pingcap/tidb/issues)報告を行ってください。 -> - ベクトル検索機能は[TiDB Self-Managed](/overview.md) と [TiDB Cloud Starter](/tidb-cloud/select-cluster-tier.md#starter)で利用可能です。TiDB Self-Managedの場合、TiDBバージョンはv8.4.0以降である必要があります(v8.5.0以降を推奨)。 +> - ベクトル検索機能は[TiDB Self-Managed](/overview.md) と [TiDB Cloud Starter](https://docs.pingcap.com/tidbcloud/select-cluster-tier/?plan=starter#starter)で利用可能です。TiDB Self-Managedの場合、TiDBバージョンはv8.4.0以降である必要があります(v8.5.0以降を推奨)。 ## ベクトル列にベクトル検索インデックスを追加する {#add-vector-search-index-for-vector-columns} -[ベクトル検索インデックス](/ai/reference/vector-search-index.md) 、リコール率がわずかに低下するだけのトレードオフで、ベクトル検索クエリのパフォーマンスを通常 10 倍以上大幅に向上させます。 +[ベクトル検索インデックス](/ai/reference/vector-search-index.md)は、再現率がわずかに低下するだけのトレードオフで、ベクトル検索クエリのパフォーマンスを通常 10 倍以上大幅に向上させます。 ## ベクトルインデックスが完全に構築されていることを確認する {#ensure-vector-indexes-are-fully-built} @@ -27,7 +27,7 @@ TiDBベクトル検索を使用すると、画像、ドキュメント、その パフォーマンスを最適化するには、可能な限りベクトル次元を減らすことを検討してください。これは通常、別の埋め込みモデルへの切り替えが必要になります。モデルを切り替える際には、モデルの変更がベクトルクエリの精度に与える影響を評価する必要があります。 -OpenAI `text-embedding-3-large`などの特定の埋め込みモデルは[埋め込みの短縮](https://openai.com/index/new-embedding-models-and-api-updates/)サポートしています。これは、埋め込みの概念表現特性を失うことなく、ベクトルシーケンスの末尾からいくつかの数値を削除します。このような埋め込みモデルを使用して、ベクトルの次元を削減することもできます。 +OpenAI `text-embedding-3-large`などの特定の埋め込みモデルは[埋め込みの短縮](https://openai.com/index/new-embedding-models-and-api-updates/)をサポートしています。これは、埋め込みの概念表現特性を失うことなく、ベクトルシーケンスの末尾からいくつかの数値を削除します。このような埋め込みモデルを使用して、ベクトルの次元を削減することもできます。 ## 結果からベクトル列を除外する {#exclude-vector-columns-from-the-results} diff --git a/ai/reference/vector-search-index.md b/ai/reference/vector-search-index.md index cd3d584a91a19..4ff5a12b34592 100644 --- a/ai/reference/vector-search-index.md +++ b/ai/reference/vector-search-index.md @@ -6,16 +6,16 @@ aliases: ['/ja/tidb/stable/vector-search-index/','/ja/tidbcloud/vector-search-in # ベクトル検索インデックス {#vector-search-index} -[ベクトル検索](/ai/concepts/vector-search-overview.md)文書で説明されているように、ベクトル検索は、与えられたベクトルとデータベースに格納されているすべてのベクトルとの距離を計算することで、与えられたベクトルの上位K近傍(KNN)を特定します。このアプローチは正確な結果をもたらしますが、テーブルに多数のベクトルが含まれている場合、テーブル全体のスキャンが必要となるため、処理速度が低下する可能性があります[^1] +[ベクトル検索](/ai/guides/vector-search-overview.md)文書で説明されているように、ベクトル検索は、与えられたベクトルとデータベースに格納されているすべてのベクトルとの距離を計算することで、与えられたベクトルの上位K近傍(KNN)を特定します。このアプローチは正確な結果をもたらしますが、テーブルに多数のベクトルが含まれている場合、テーブル全体のスキャンが必要となるため、処理速度が低下する可能性があります[^1] 検索効率を向上させるために、TiDBでは近似KNN(ANN)検索用のベクトル検索インデックスを作成できます。ベクトル検索にベクトルインデックスを使用すると、TiDBは精度をわずかに低下させるだけでクエリパフォーマンスを大幅に向上させ、通常90%以上の検索再現率を維持できます。 > **Note:** > > - ベクトル検索機能はパブリックプレビューです。予告なく変更される可能性があります。バグを発見した場合は、GitHubで[問題](https://github.com/pingcap/tidb/issues)報告を行ってください。 -> - ベクトル検索機能は[TiDB Self-Managed](/overview.md)および[TiDB Cloud Starter](/tidb-cloud/select-cluster-tier.md#starter)で利用可能です。TiDB Self-Managedの場合、TiDBバージョンはv8.4.0以降である必要があります(v8.5.0以降を推奨)。 +> - ベクトル検索機能は[TiDB Self-Managed](/overview.md)および[{{{ .starter }}}](https://docs.pingcap.com/tidbcloud/select-cluster-tier/?plan=starter#starter)で利用可能です。TiDB Self-Managedの場合、TiDBバージョンはv8.4.0以降である必要があります(v8.5.0以降を推奨)。 -現在、TiDB は[HNSW(階層的ナビゲート可能なスモールワールド)](https://en.wikipedia.org/wiki/Hierarchical_navigable_small_world)ベクトル検索インデックス アルゴリズムをサポートしています。 +現在、TiDB は[HNSW(階層的ナビゲート可能なスモールワールド)](https://en.wikipedia.org/wiki/Hierarchical_navigable_small_world)ベクトル検索インデックスアルゴリズムをサポートしています。 ## 制限 {#restrictions} @@ -249,7 +249,7 @@ LIMIT 10; - `vector_index.search.total` : インデックス内の検索にかかる合計時間。レイテンシーが大きい場合、通常、インデックスがコールド状態(一度もアクセスされていない、またはかなり前にアクセスされている状態)であるため、インデックス検索時に大量のI/O操作が発生します。複数のベクトルインデックスが並列で検索される可能性があるため、このフィールドは実際のクエリ時間よりも長くなる可能性があります。 - `vector_index.search.discarded_nodes` : 検索中に訪問されたが破棄されたベクトル行の数。これらの破棄されたベクトルは検索結果には考慮されません。この値が大きい場合、通常、 `UPDATE`または`DELETE`文によって多くの古い行が発生していることを示します。 -出力の解釈については、 [`EXPLAIN`](/sql-statements/sql-statement-explain.md) 、 [`EXPLAIN ANALYZE`](/sql-statements/sql-statement-explain-analyze.md) 、および[EXPLAIN コマンド](/explain-walkthrough.md)を参照してください。 +出力の解釈については、 [`EXPLAIN`](/sql-statements/sql-statement-explain.md) 、 [`EXPLAIN ANALYZE`](/sql-statements/sql-statement-explain-analyze.md) 、および[`EXPLAIN`ウォークスルー](/explain-walkthrough.md)を参照してください。 ## 参照 {#see-also} diff --git a/ai/reference/vector-search-limitations.md b/ai/reference/vector-search-limitations.md index 1363185cf9e17..085b84eea8e33 100644 --- a/ai/reference/vector-search-limitations.md +++ b/ai/reference/vector-search-limitations.md @@ -11,11 +11,11 @@ aliases: ['/ja/tidb/stable/vector-search-limitations/','/ja/tidb/dev/vector-sear > **Note:** > > - ベクトル検索機能はパブリックプレビューです。予告なく変更される場合があります。バグを発見した場合は、GitHubで[問題](https://github.com/pingcap/tidb/issues)を報告してください。 -> - ベクトル検索機能は、 [TiDB Self-Managed](/overview.md)および[{{{ .starter }}}](/tidb-cloud/select-cluster-tier.md#starter)で利用できます。TiDB Self-Managedの場合、TiDBのバージョンはv8.4.0以降である必要があります(v8.5.0以降を推奨)。 +> - ベクトル検索機能は、 [TiDB Self-Managed](/overview.md)および[{{{ .starter }}}](https://docs.pingcap.com/tidbcloud/select-cluster-tier/?plan=starter#starter)で利用できます。TiDB Self-Managedの場合、TiDBのバージョンはv8.4.0以降である必要があります(v8.5.0以降を推奨)。 ## ベクトルデータ型の制限 {#vector-data-type-limitations} -- それぞれ最大 16383 次元 [ベクトル](/ai/reference/vector-search-data-types.md)サポートします。 +- 各 [ベクトル](/ai/reference/vector-search-data-types.md)は、最大 16383 次元をサポートします。 - ベクトルデータ型は、 `NaN` 、 `Infinity` 、または`-Infinity`の値を格納することはできません。 - ベクトルデータ型は倍精度浮動小数点数を格納することはできません。ベクトル列に倍精度浮動小数点数を挿入または格納すると、TiDBはそれらを単精度浮動小数点数に変換します。 - ベクトル列は、主キーとして、または主キーの一部として使用することはできません。 @@ -33,18 +33,18 @@ aliases: ['/ja/tidb/stable/vector-search-limitations/','/ja/tidb/dev/vector-sear - TiDB Cloudの機能: - - [TiDB Cloudコンソールのデータ移行機能](/tidb-cloud/migrate-from-mysql-using-data-migration.md)MySQL ベクトルデータ型のTiDB Cloudへの移行または複製をサポートしていません。 + - [TiDB Cloudコンソールのデータ移行機能](/tidb-cloud/migrate-from-mysql-using-data-migration.md)は、MySQL ベクトルデータ型のTiDB Cloudへの移行または複製をサポートしていません。 - TiDB Self-Managedツール: - データのバックアップと復元には、 [BR](/br/backup-and-restore-overview.md)のバージョン8.4.0以降を使用していることを確認してください。ベクトルデータ型のテーブルをTiDBバージョン8.4.0より前のバージョンに復元することはサポートされていません。 - - [TiDB Data Migration (DM)](/dm/dm-overview.md) MySQLベクトルデータ型をTiDBに移行または複製することをサポートしていません。 - - [TiCDC](/ticdc/ticdc-overview.md)ベクトルデータ型をサポートしていないダウンストリームにベクトルデータをレプリケートすると、ベクトルデータ型が別のタイプに変更されます。詳細については、 [ベクトルデータ型との互換性](/ticdc/ticdc-compatibility.md#compatibility-with-vector-data-types)を参照してください。 + - [TiDB Data Migration (DM)](/dm/dm-overview.md) は MySQLベクトルデータ型をTiDBに移行または複製することをサポートしていません。 + - [TiCDC](/ticdc/ticdc-overview.md)がベクトルデータ型をサポートしていないダウンストリームにベクトルデータをレプリケートすると、ベクトルデータ型が別のタイプに変更されます。詳細については、 [ベクトルデータ型との互換性](/ticdc/ticdc-compatibility.md#compatibility-with-vector-data-types)を参照してください。 ## フィードバック {#feedback} お客様からのご意見を大切にし、いつでもお手伝いいたします。 -- [Discord](https://discord.gg/DQZ2dy3cuc?utm_source=doc)or [Slack](https://slack.tidb.io/invite?team=tidb-community&channel=everyone&ref=pingcap-docs)コミュニティに質問してください。 +- [Discord](https://discord.gg/DQZ2dy3cuc?utm_source=doc) または [Slack](https://slack.tidb.io/invite?team=tidb-community&channel=everyone&ref=pingcap-docs)コミュニティに質問してください。 - [TiDB Cloudのサポートチケットを送信してください](https://tidb.support.pingcap.com/servicedesk/customer/portals) - [TiDB Self-Managedのサポートチケットを送信してください](/support.md) diff --git a/ai/ti/guides/configure-filesystem-ai-providers.md b/ai/ti/guides/configure-filesystem-ai-providers.md new file mode 100644 index 0000000000000..4af12a51bd654 --- /dev/null +++ b/ai/ti/guides/configure-filesystem-ai-providers.md @@ -0,0 +1,114 @@ +--- +title: TiDB Cloud Filesystem AI Providers を設定する +summary: CLI を使用して、TiDB Cloud Filesystem のメディア抽出プロバイダと埋め込みプロバイダを確認および設定する方法を学びます。 +--- + +# TiDB Cloud Filesystem AI Providers を設定する + +TiDB Cloud Filesystem では、オプションでメディアファイルからテキストを抽出し、保存されたコンテンツの埋め込みを生成できます。これらの機能を有効にするには、CLI を通じて 1 つ以上の AI プロバイダを設定します。 + +## 前提条件 {#prerequisites} + +- [TiDB Cloud CLI をインストールして設定する](/ai/ti/reference/ti-install-configure-update.md)。 +- 対象の Filesystem ID を取得します。 +- 選択した AI プロバイダに必要な API キーを取得します。 + +設定コマンドには、TiDB Cloud API 認証情報と明示的な Filesystem ID が必要です。プロバイダキーは `TI_FS_AI_PROVIDER_API_KEY` を通じて設定します。CLI はこのキーをローカルに永続化しません。Filesystem サービスはこのキーを暗号化して保存し、その後の設定出力ではマスクされた値のみを返します。 + +対話型シェルでは、シェル履歴に残さずにプロバイダキーを読み取ってエクスポートします。 + +```bash +printf 'Provider API key: ' >&2 +read -r -s TI_FS_AI_PROVIDER_API_KEY +printf '\n' >&2 +export TI_FS_AI_PROVIDER_API_KEY +``` + +CI では、マスクされたシークレットから `TI_FS_AI_PROVIDER_API_KEY` を注入します。プロバイダの設定が完了したら、この変数を unset してください。 + +> **Note:** +> +> プロバイダ設定を有効化、再有効化、または置き換えると、Filesystem サービスは認証情報、接続性、およびモデル応答を検証するために、プロバイダエンドポイントへ小さな組み込みリクエストを送信します。この検証リクエストにより、プロバイダ側で課金が発生する場合があります。無効化のみ、またはプロンプトのみの更新では、検証リクエストは送信されません。 + +## メディア抽出設定を確認する {#inspect-media-extraction-configuration} + +メディアタイプに対する有効な抽出設定を読み取ります。 + +```shell +ti fs describe-file-system-extract-configuration \ + --file-system-id "" \ + --media-type image +``` + +## メディア抽出設定を更新する {#update-media-extraction-configuration} + +[`update-file-system-extract-configuration`](/ai/ti/reference/ti-fs-update-file-system-extract-configuration.md) を使用して、画像、音声、または動画の抽出を有効化、更新、または無効化します。たとえば、OpenAI 互換プロバイダを通じて画像抽出を設定するには、次のようにします。 + +```shell +ti fs update-file-system-extract-configuration \ + --file-system-id "" \ + --media-type image \ + --enabled true \ + --provider-api-base https://api.openai.com/v1 \ + --provider-model "" \ + --provider-protocol openai +``` + +`openai` プロトコルは、画像、音声、および動画の抽出をサポートします。`qwen-asr` プロトコルは、Alibaba Cloud Model Studio を通じた音声抽出でのみサポートされます。別のプロバイダのエンドポイントでも、必要な OpenAI 互換 API 仕様を実装していれば動作する可能性があります。Anthropic、Gemini、Vertex AI、Amazon Bedrock、および Azure OpenAI のネイティブインターフェースはサポートされていません。 + +メディアタイプの抽出を無効にするには、次のようにします。 + +```shell +ti fs update-file-system-extract-configuration \ + --file-system-id "" \ + --media-type image \ + --enabled false +``` + +## 埋め込み設定を確認する {#inspect-embedding-configuration} + +埋め込みがアプリケーション管理かデータベース管理かを確認します。 + +```shell +ti fs describe-file-system-embedding-configuration \ + --file-system-id "" +``` + +## 埋め込み設定を更新する {#update-embedding-configuration} + +[`update-file-system-embedding-configuration`](/ai/ti/reference/ti-fs-update-file-system-embedding-configuration.md) を使用して、オプションのアプリケーション管理埋め込み設定を更新します。例: + +```shell +ti fs update-file-system-embedding-configuration \ + --file-system-id "" \ + --enabled true \ + --provider-api-base https://api.openai.com/v1 \ + --provider-model text-embedding-3-small +``` + +アプリケーション管理埋め込みには、1024 次元ベクトルを返す OpenAI 互換エンドポイントが必要です。これらは、Shared Filesystems と、有効な埋め込みモードが `fts_only` である Native Filesystems で利用できます。Native Filesystem がデータベース管理の自動埋め込みを使用している場合、サービスはこの更新を拒否し、`source=database_auto` を報告します。 + +プロバイダの設定が完了したら、現在のシェルからキーを削除します。 + +```shell +unset TI_FS_AI_PROVIDER_API_KEY +``` + +この設定を無効にするには、次のようにします。 + +```shell +ti fs update-file-system-embedding-configuration \ + --file-system-id "" \ + --enabled false +``` + +## 設定後のデータフロー {#data-flow-after-configuration} + +抽出を有効にすると、Filesystem サービスはメディアコンテンツを設定済みの抽出プロバイダに送信します。抽出されたテキストまたは説明は、設定済みの埋め込みプロバイダに送信されます。データに適したプロバイダアカウントと保持ポリシーを選択してください。 + +タイムアウト、応答の消失、またはその他の判別しにくいネットワークエラーが原因で更新に失敗した場合は、再試行する前に対応する `describe-file-system-*-configuration` コマンドを実行してください。CLI が応答を受信していなくても、プロバイダ検証リクエストは成功して課金が発生している可能性があります。 + +## 次のステップ {#what-s-next} + +- [TiDB Cloud Filesystem データを操作する](/ai/ti/guides/work-with-filesystem-data.md) +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/guides/manage-filesystem-layers.md b/ai/ti/guides/manage-filesystem-layers.md new file mode 100644 index 0000000000000..07240c4d4ab84 --- /dev/null +++ b/ai/ti/guides/manage-filesystem-layers.md @@ -0,0 +1,116 @@ +--- +title: TiDB Cloud Filesystem のレイヤーとチェックポイントを管理する +summary: TiDB Cloud Filesystem のレイヤーを安全に作成、確認、フォーク、チェックポイント、ロールバック、コミット、パック、復元する方法を学びます。 +--- + +# TiDB Cloud Filesystem のレイヤーとチェックポイントを管理する + +レイヤーを使用すると、変更をコミットまたは破棄する前に、Filesystem のベースパス上で分離された変更を記録できます。 + +## 前提条件 {#prerequisites} + +- [TiDB Cloud CLI をインストールして設定する](/ai/ti/reference/ti-install-configure-update.md)。 +- `--file-system-id` を渡す、`TI_FS_FILE_SYSTEM_ID` を設定する、または Filesystem を識別する FS トークンを指定して、Filesystem を選択します。 +- `--fs-token`、`TI_FS_TOKEN`、または選択した Filesystem 用に保存されているローカル認証情報を使用して、必要な読み取りまたは書き込み権限を持つ FS トークンを指定します。 +- レイヤーがオーバーレイするデータのベースパスを選択します。 + +## レイヤーを作成して確認する {#create-and-inspect-a-layer} + +```shell +ti fs create-layer \ + --base-root-path /workspace \ + --layer-name agent-task \ + --durability-mode restore-safe \ + --tag task=review +``` + +返されたレイヤー ID を使用して、変更を書き込み、確認します。 + +```shell +ti fs copy-file \ + --from-local ./proposal.md \ + --to-remote /workspace/proposal.md \ + --layer-id "" + +ti fs describe-layer --layer-id "" +ti fs diff-layer --layer-id "" +``` + +> **Note:** +> +> `--layer-id` を指定した `copy-file` は、再帰コピーをサポートしていません。ディレクトリツリーをレイヤーに投入するには、レイヤーを書き込み可能な FUSE マウントとしてマウントし、そのマウントパス経由でファイルをコピーしてください。 + +同じ書き込み可能レイヤーを、複数のローカルパスに同時にマウントしないでください。既存のマウントを再利用するか、別の場所にレイヤーをマウントする前にアンマウントしてください。 + +## チェックポイントを作成してレイヤーをフォークする {#create-a-checkpoint-and-fork-a-layer} + +```shell +ti fs create-layer-checkpoint \ + --layer-id "" \ + --checkpoint-id seed \ + --label "before review" + +ti fs fork-layer \ + --parent-layer-ref "" \ + --layer-name experiment \ + --checkpoint-id seed +``` + +`list-layer-chain` を使用して、フォークの固定された祖先チェーンを確認します。 + +```shell +ti fs list-layer-chain --layer-ref experiment +``` + +チェックポイントマウントは読み取り専用です。チェックポイントから作業を続けるには、そこから新しい書き込み可能レイヤーをフォークしてください。 + +## レイヤーでの作業を完了する {#finish-work-in-a-layer} + +> **Warning:** +> +> 書き込み可能な FUSE マウントを持つレイヤーのチェックポイントを作成する前に、[`drain-file-system`](/ai/ti/guides/mount-filesystem.md#drain-or-unmount) を実行してください。チェックポイントには、サービスに到達した変更のみが含まれます。レイヤーをロールバックまたはコミットする前に、drain を実行してから [`unmount-file-system`](/ai/ti/guides/mount-filesystem.md#drain-or-unmount) を実行してください。CLI はこれらの手順を自動では実行しません。 + +レイヤーに対して、次のいずれかの操作を選択します。 + +- レイヤーをロールバックして変更を破棄する場合: + + ```shell + ti fs rollback-layer --layer-id "" + ``` + +- レイヤーをコミットして変更をベースパスに適用する場合: + + ```shell + ti fs commit-layer --layer-id "" + ``` + +> **Note:** +> +> 同じレイヤーに対して、`rollback-layer` と `commit-layer` の両方を続けて実行しないでください。 + +## ローカル状態を別のマシンに移動する {#move-local-state-to-another-machine} + +FUSE マウントが write-back キャッシュを使用している場合、一部のデータがローカルのオーバーレイディレクトリに残ることがあります。このローカル状態を別のマシンに移動するには、明示的なリモートアーカイブパスにパックします。 + +```shell +ti fs pack-file-system \ + --mount-path /path/to/workspace \ + --archive-path /workspace-overlay.tar.gz +``` + +移動先のマシンでは、アーカイブをローカルオーバーレイルートに復元します。 + +```shell +ti fs unpack-file-system \ + --local-root /path/to/local-overlay \ + --remote-root /workspace \ + --mount-profile portable \ + --archive-path /workspace-overlay.tar.gz +``` + +移動先のマシンで Filesystem をマウントするときは、同じローカルオーバーレイルートを使用してください。pack と unpack のすべてのオプションについては、[`pack-file-system`](/ai/ti/reference/ti-fs-pack-file-system.md) および [`unpack-file-system`](/ai/ti/reference/ti-fs-unpack-file-system.md) のリファレンスを参照してください。 + +## 次のステップ {#what-s-next} + +- [TiDB Cloud Filesystem をマウントする](/ai/ti/guides/mount-filesystem.md) +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) diff --git a/ai/ti/guides/manage-filesystem-resources.md b/ai/ti/guides/manage-filesystem-resources.md new file mode 100644 index 0000000000000..579d456f4d75d --- /dev/null +++ b/ai/ti/guides/manage-filesystem-resources.md @@ -0,0 +1,85 @@ +--- +title: TiDB Cloud Filesystem リソースを管理する +summary: TiDB Cloud CLI を使用して、TiDB Cloud Filesystem リソースを安全に作成、確認、チェック、選択、削除する方法を学びます。 +--- + +# TiDB Cloud Filesystem リソースを管理する + +TiDB Cloud Filesystem は、AI エージェントと自動化ワークロード向けに設計されたサーバーレス分散ファイルシステムです。ローカルマシン、サンドボックス、または CI ランナーからのアクセスに依存せず、永続的で共有可能なファイル名前空間を提供します。 + +TiDB Cloud CLI コマンドを通じてファイルに直接アクセスすることも、Filesystem をサポートされた環境にマウントしてローカルファイルシステムのように操作することもできます。これにより、エージェントの状態の保持、分離された環境間でのファイル共有、CI アーティファクトの受け渡し、再利用可能なワークスペースの管理に役立ちます。 + +このドキュメントでは、[`ti fs` コマンド](/ai/ti/reference/ti-filesystem.md)を使用して Filesystem リソースを作成、確認、選択、削除する方法について説明します。 + +## 前提条件 {#prerequisites} + +- [TiDB Cloud CLI をインストールして設定する](/ai/ti/reference/ti-install-configure-update.md)。 +- TiDB Cloud API 認証情報を使用してプロファイルを設定します。 +- `jq` をインストールするか、別の JSON プロセッサを使用してコマンド出力を安全に取得します。 + +## Filesystem を作成する {#create-a-filesystem} + +Filesystem を作成し、返された ID と 1 回限りのオーナートークンを、誰でも読み取り可能ではないファイルに保存します。`--wait` フラグを指定すると、CLI はデータプレーンアクセスの準備が整うまでポーリングしてから結果を返します。 + +```shell +umask 077 +ti fs create-file-system \ + --display-name agent-workspace \ + --label environment=development \ + --wait > ./filesystem.json + +export TI_FS_FILE_SYSTEM_ID="$(jq -r '.file_system_id' ./filesystem.json)" +export TI_FS_TOKEN="$(jq -r '.fs_token' ./filesystem.json)" +``` + +> **Warning:** +> +> JSON レスポンスには `fs_token` が 1 回だけ含まれます。CLI はこのトークンをローカルの認証情報ディレクトリにも自動的に保存します。ただし、ローカルストレージが失われた場合、このトークンを再取得することはできません。バックアップコピーをシークレットマネージャーに保存し、その後 `filesystem.json` を削除してください。 + +> **Note:** +> +> Filesystem のラベルには、認証情報、接続文字列、プライベートパス、または個人データを含めないでください。 + +## Filesystem を一覧表示して確認する {#list-and-inspect-filesystems} + +有効なリージョンで利用可能な Filesystem を一覧表示します。 + +```shell +ti fs list-file-systems --output text +``` + +1 つの Filesystem の信頼できるメタデータを読み取ります。 + +```shell +ti fs describe-file-system --file-system-id "" +``` + +複数の Filesystem にアクセスできる場合は、`--file-system-id` を明示的に指定するか、`TI_FS_FILE_SYSTEM_ID` 環境変数を設定してください。CLI は Filesystem を自動的に選択しません。 + +## アクセスをチェックする {#check-access} + +リソースの選択、エンドポイント解決、認証情報、および companion アクセスを検証します。 + +```shell +ti fs check-file-system --file-system-id "" +``` + +## Filesystem を削除する {#delete-a-filesystem} + +> **Warning:** +> +> Filesystem を削除する前に、その Filesystem に対するアクティブなローカルマウントをすべて drain してアンマウントしてください。CLI はこれを自動では実行しません。 + +明示的な ID を指定して Filesystem を削除します。 + +```shell +ti fs delete-file-system --file-system-id "" +``` + +Filesystem の削除は非同期です。サービスがリクエストを受け付けると、CLI は Filesystem のステータスを `deleting` として報告し、一致するローカル認証情報を削除します。この出力は、リモートでの削除が完了したことを意味するものではありません。 + +## 次のステップ {#what-s-next} + +- [TiDB Cloud Filesystem トークンを管理する](/ai/ti/guides/manage-filesystem-tokens.md) +- [TiDB Cloud Filesystem データを操作する](/ai/ti/guides/work-with-filesystem-data.md) +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) diff --git a/ai/ti/guides/manage-filesystem-tokens.md b/ai/ti/guides/manage-filesystem-tokens.md new file mode 100644 index 0000000000000..9fa5abdf9ac39 --- /dev/null +++ b/ai/ti/guides/manage-filesystem-tokens.md @@ -0,0 +1,79 @@ +--- +title: TiDB Cloud Filesystem トークンを管理する +summary: TiDB Cloud Filesystem のアクセストークンをインポート、生成、スコープ設定、確認、無効化、更新、取り消しする方法を学びます。 +--- + +# TiDB Cloud Filesystem トークンを管理する + +Filesystem トークンを使用すると、TiDB Cloud API 認証情報を共有せずに、ユーザーや自動化処理に TiDB Cloud Filesystem へのアクセスを付与できます。 + +## 前提条件 {#prerequisites} + +- [TiDB Cloud CLI をインストールして設定する](/ai/ti/reference/ti-install-configure-update.md)。 +- オーナートークンの生成および TiDB Cloud 認証によるトークン管理を行うには、TiDB Cloud API 認証情報を設定し、Filesystem ID を取得します。 +- スコープ付きトークンの生成または bearer 認証によるトークン管理を行うには、オーナー FS トークンを取得します。`--fs-token` で渡すか、`TI_FS_TOKEN` を設定するか、明示的に選択した Filesystem 用に保存されたローカルトークンを使用できます。 + +> **Note:** +> +> セキュリティリスクを避けるため、トークンの平文は秘密情報として扱ってください。トークンの作成およびローテーションのコマンドは、トークン発行時にのみ平文を返します。後からその平文を取得することはできません。 + +## 既存のトークンをインポートする {#import-an-existing-token} + +`import-file-system-token` を実行すると、CLI はトークン形式を検証し、その中に埋め込まれた Filesystem ID を抽出し、リモートの stat リクエストを送信して接続性を確認し、トークンをローカルの認証情報ディレクトリに保存します。 + +```shell +ti fs import-file-system-token --from-file ./fs-token --region aws-us-east-1 +``` + +## トークンを生成する {#generate-a-token} + +TiDB Cloud API 認証情報を使用して、別のオーナートークンを生成します。CLI は生成されたトークンをデフォルトではローカルに保存しないため、一度だけ返される平文レスポンスを安全に保存する必要があります。 + +```shell +umask 077 +ti fs generate-file-system-token \ + --file-system-id "" \ + --token-name ci \ + --ttl 24h > ./ci-token.json +``` + +CLI に生成したトークンをローカル保存させるには、`--store-locally` を追加します。この Filesystem に対して別のトークンがすでに保存されている場合は、`--replace` を使用します。 + +最小権限のアクセスを実現するには、オーナートークンからパスと操作が制限されたトークンを生成します。 + +```shell +ti fs generate-file-system-scoped-token \ + --file-system-id "" \ + --ttl 24h \ + --allow /workspace:read,list > ./scoped-token.json +``` + +## トークンの状態を確認および変更する {#inspect-and-change-token-status} + +秘密情報を含まないトークンメタデータを一覧表示します。 + +```shell +ti fs list-file-system-tokens --file-system-id "" +``` + +トークンを一時的に停止するには [`disable-file-system-token`](/ai/ti/reference/ti-fs-disable-file-system-token.md) を使用し、再び有効にするには [`enable-file-system-token`](/ai/ti/reference/ti-fs-enable-file-system-token.md) を使用します。 + +## トークンをローテーションまたは取り消しする {#rotate-or-revoke-a-token} + +トークンをローテーションするには [`refresh-file-system-token`](/ai/ti/reference/ti-fs-refresh-file-system-token.md) を使用します。ローカルに保存されたトークンを更新すると、CLI はローカルの認証情報ファイルを自動的に更新します。`--fs-token` または `TI_FS_TOKEN` で渡されたトークンを更新すると、CLI は新しいトークンを保存せずにコマンド出力として返します。 + +> **Note:** +> +> refresh は冪等ではありません。リクエストが成功した可能性はあるもののレスポンスが失われた場合、古いトークンで再試行しないでください。代わりに、TiDB Cloud 認証情報を使用して新しいオーナートークンを生成してください。 + +トークンを完全に取り消すには [`delete-file-system-token`](/ai/ti/reference/ti-fs-delete-file-system-token.md) を使用します。削除されたトークンがローカルに保存されているトークンと一致する場合、CLI はローカル認証情報を自動的に削除します。 + +> **Note:** +> +> アクティブなローカルマウントで使用中のトークンをローテーション、無効化、または削除する前に、[`drain-file-system`](/ai/ti/guides/mount-filesystem.md#drain-or-unmount) を実行し、その後 [`unmount-file-system`](/ai/ti/guides/mount-filesystem.md#drain-or-unmount) を実行してください。CLI は既知のアクティブなマウントを確認し、トークンがまだ使用中であれば操作を拒否します。 + +## 次のステップ {#what-s-next} + +- [TiDB Cloud Filesystem を複数のマシン間で共有する](/ai/ti/guides/ti-share-filesystem-across-machines-example.md) +- [Agent Sandbox で TiDB Cloud Filesystem を使用する](/ai/ti/guides/ti-agent-sandbox-example.md) +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) diff --git a/ai/ti/guides/manage-filesystem-vault-secrets.md b/ai/ti/guides/manage-filesystem-vault-secrets.md new file mode 100644 index 0000000000000..baa0c7aeb3aee --- /dev/null +++ b/ai/ti/guides/manage-filesystem-vault-secrets.md @@ -0,0 +1,108 @@ +--- +title: TiDB Cloud Filesystem Vault Secrets を管理する +summary: TiDB Cloud Filesystem Vault を使用して、シークレットを安全に保存、読み取り、委任、注入、監査、失効、およびマウントする方法を学びます。 +--- + +# TiDB Cloud Filesystem Vault Secrets を管理する + +TiDB Cloud Filesystem Vault を使用すると、シークレットを保存し、ユーザーまたはエージェントに対してスコープを限定し有効期限付きのアクセスを委任し、平文をディスクに書き込むことなく認証情報をプロセスに注入できます。 + +## 前提条件 {#prerequisites} + +- [TiDB Cloud CLI をインストールして設定する](/ai/ti/reference/ti-install-configure-update.md)。 +- `--file-system-id` を渡す、`TI_FS_FILE_SYSTEM_ID` を設定する、または Filesystem を識別する FS トークンを指定して、Filesystem を選択します。 +- オーナー操作の場合は、`--fs-token`、`TI_FS_TOKEN`、または選択した Filesystem 用にローカルに保存された認証情報を通じて、オーナー FS トークンを指定します。 + +> **Note:** +> +> セキュリティリスクを避けるため、オーナートークンや委任されたトークンを表示、ログ出力、またはコミットしないでください。 + +## シークレットを作成して読み取る {#create-and-read-a-secret} + +```shell +ti fs-vault create-secret \ + --secret-name db-prod \ + --field DB_URL=mysql://example \ + --field PASSWORD=@./password.txt + +ti fs-vault read-secret --secret-name db-prod +``` + +> **Note:** +> +> デフォルトの JSON 形式を含むすべての `read-secret` 出力形式には、平文のシークレット値が含まれます。出力は意図したプロセスにのみ渡してください。 + +## 制限付きアクセスを委任する {#delegate-limited-access} + +短期間有効な読み取り grant を作成し、そのトークンを取得します。 + +```shell +export TI_VAULT_TOKEN="$(ti fs-vault create-grant \ + --agent-id deploy-agent \ + --scope db-prod/DB_URL \ + --permission read \ + --ttl 10m \ + --token-only)" +``` + +コマンドラインのトークンよりも `TI_VAULT_TOKEN` を使用することを推奨します。コマンドラインの値は、プロセス一覧やシェル履歴に残る可能性があるためです。 + +## シークレットをプロセスに注入する {#inject-a-secret-into-a-process} + +CLI は、平文をディスクに書き込むことなく、子プロセスに対してシークレットフィールドを環境変数として注入できます。次のコマンドを実行すると、CLI はシークレットを読み取り、各フィールドを環境変数(たとえば `DB_URL`、`PASSWORD`)として設定し、自身の認証用環境変数を子プロセスから削除してから、指定されたコマンドを実行します。 + +```shell +ti fs-vault run-with-secret --secret-path /n/vault/db-prod -- +``` + +平文をディスクに書き込むよりも、プロセス注入を推奨します。 + +`run-with-secret` によって注入されるフィールド名は、`[A-Z_][A-Z0-9_]*` に一致する必要があります。いずれかのフィールド名がこのパターンに一致しない場合、またはいずれかのフィールド値にサポートされていない制御文字が含まれる場合、コマンドは注入全体を拒否します。注入する予定のフィールドを作成する際は、大文字の環境変数形式の名前を使用してください。 + +## アクセスを監査して失効する {#audit-and-revoke-access} + +```shell +ti fs-vault list-audit-events \ + --secret-name db-prod \ + --agent-id deploy-agent \ + --since 24h \ + --limit 20 + +ti fs-vault delete-grant \ + --grant-id "" \ + --revoked-by operator \ + --reason rotated +``` + +失効すると、新たな操作の認可を防止できますが、プロセスがすでに読み取った値を消去することはできません。 + +## 読み取り専用の Vault ビューをマウントする {#mount-a-read-only-vault-view} + +macOS または FUSE をサポートする Linux では、Vault シークレットの読み取り専用 FUSE ビューをマウントできます。CLI はマウントを作成し、マウントパス配下のファイルとしてシークレットフィールドを提供します(たとえば、`/path/to/vault/db-prod/DB_URL`)。 + +マウントする前に、`TI_VAULT_TOKEN` を委任された Vault トークンに設定します。たとえば、[制限付きアクセスを委任する](#delegate-limited-access) で作成したトークンを使用できます。マウントコマンドには、`TI_VAULT_TOKEN` または `--vault-token` のいずれかが必要です。 + +```shell +mkdir -p /path/to/vault +ti fs-vault mount-vault \ + --mount-path /path/to/vault +``` + +アンマウントする前に、マウントを使用しているすべてのプロセスを停止してください。 + +```shell +ti fs-vault unmount-vault --mount-path /path/to/vault +``` + +Vault マウントは Windows では利用できません。シークレットの直接読み取りとプロセス注入には、マウントは不要です。 + +## セキュリティに関する推奨事項 {#security-recommendations} + +- フィールドスコープは可能な限り最小にし、TTL は実用上可能な限り短くしてください。 +- 委任されたトークンを CLI 設定や操作ログに保存しないでください。 +- タスク完了後は grant を失効してください。 + +## 次のステップ {#what-s-next} + +- [TiDB Cloud Filesystem Vault Secrets をエージェントに委任する](/ai/ti/guides/ti-vault-agent-secrets-example.md) +- [TiDB Cloud Filesystem Vault CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem-vault.md) diff --git a/ai/ti/guides/manage-git-workspaces.md b/ai/ti/guides/manage-git-workspaces.md new file mode 100644 index 0000000000000..9046b90d26da2 --- /dev/null +++ b/ai/ti/guides/manage-git-workspaces.md @@ -0,0 +1,66 @@ +--- +title: TiDB Cloud Filesystem 上で Git ワークスペースを管理する +summary: マウントされた TiDB Cloud Filesystem 上で Git ワークスペースをクローン、hydrate、リンクされた worktree の作成、削除を行う方法を学びます。 +--- + +# TiDB Cloud Filesystem 上で Git ワークスペースを管理する + +マウントされた TiDB Cloud Filesystem 上で Git ワークスペースのセットアップを高速化するには `ti fs-git` を使用します。日常的な作業では、引き続き通常の Git コマンドを使用できます。 + +## 前提条件 {#prerequisites} + +- [TiDB Cloud CLI をインストールして設定する](/ai/ti/reference/ti-install-configure-update.md)。 +- FUSE を使用して [TiDB Cloud Filesystem をマウントする](/ai/ti/guides/mount-filesystem.md)。 +- `--file-system-id` を渡す、`TI_FS_FILE_SYSTEM_ID` を設定する、または対象の Filesystem を識別する FS トークンを指定して、マウント済み Filesystem を選択します。Git ワークスペース権限を持つ FS トークンを指定してください。 +- Git をインストールし、リポジトリの認証情報を個別に設定します。 + +## ワークスペースをクローンする {#clone-a-workspace} + +```shell +ti fs-git clone-git-workspace \ + --repo-url https://github.com/pingcap/tidb.git \ + --target-path /path/to/workspace/tidb +``` + +大規模なリポジトリの場合は、`--blobless --hydrate background` を追加すると、ディレクトリツリーをすぐに利用できるようになります。CLI は、clone コマンドの実行完了後に、クリーンなファイル内容と Git オブジェクトをダウンロードするバックグラウンドプロセスを開始します。コマンドが終了する前に hydration を完了させる必要があるワークフローでは、`--hydrate sync` を使用します。 + +## 既存のワークスペースを hydrate する {#hydrate-an-existing-workspace} + +ワークスペースを `--blobless` 付きで clone した場合は、`hydrate-git-workspace` を実行して不足している Git オブジェクトを明示的に取得できます。 + +```shell +ti fs-git hydrate-git-workspace \ + --target-path /path/to/workspace/tidb \ + --timeout 30m +``` + +hydration は、作業ツリーの変更を破棄することなく、リモートリポジトリから不足している blob データを取得します。 + +## リンクされた worktree を追加して使用する {#add-and-use-a-linked-worktree} + +```shell +ti fs-git add-git-worktree \ + --base-path /path/to/workspace/tidb \ + --worktree-path /path/to/workspace/tidb-feature \ + --branch-name feature-x +``` + +作成後は、リンクされた worktree 内で通常の Git コマンドを使用します。 + +## worktree を削除する {#remove-a-worktree} + +```shell +ti fs-git remove-git-worktree \ + --worktree-path /path/to/workspace/tidb-feature +``` + +CLI はコミットされていない変更があるかどうかを確認し、worktree がダーティな場合は削除を拒否します。`--force` は、worktree 内のローカル変更を破棄してよいと判断した場合にのみ使用してください。 + +> **Note:** +> +> 一時的なマシンを終了する前に、必要な変更を保存し、不要な worktree を削除して、Filesystem を正常にアンマウントしてください。 + +## 次のステップ {#what-s-next} + +- [TiDB Cloud Filesystem 上でエージェント向けの Git ワークスペースを準備する](/ai/ti/guides/ti-git-workspace-for-agents-example.md) +- [TiDB Cloud Filesystem Git CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem-git.md) diff --git a/ai/ti/guides/manage-starter-instances.md b/ai/ti/guides/manage-starter-instances.md new file mode 100644 index 0000000000000..e5ff9ac9d9f68 --- /dev/null +++ b/ai/ti/guides/manage-starter-instances.md @@ -0,0 +1,87 @@ +--- +title: TiDB Cloud Starter インスタンスを管理する +summary: TiDB Cloud CLI を使用して、Starter インスタンス、ブランチ、SQL ユーザー、接続、SQL ステートメントを作成および管理する方法を学びます。 +--- + +# TiDB Cloud Starter インスタンスを管理する + +このドキュメントでは、TiDB Cloud CLI の `ti db` コマンドを使用して、ターミナルまたは自動化ワークフローから TiDB Cloud Starter インスタンス、ブランチ、および SQL アクセスを管理する方法について説明します。 + +## 前提条件 {#prerequisites} + +- [TiDB Cloud CLI をインストールして設定する](/ai/ti/reference/ti-install-configure-update.md)。 +- TiDB Cloud Starter にアクセスできる認証情報を使用してプロファイルを設定します。 + +## TiDB Cloud Starter インスタンスを作成する {#create-a-tidb-cloud-starter-instance} + +TiDB Cloud Starter インスタンスを作成し、アクティブになるまで待機します。 + +```shell +ti db create-db-cluster --db-cluster-type starter --db-cluster-name app-db --wait +``` + +## インスタンスを一覧表示する {#list-instances} + +有効なリージョン内の TiDB Cloud Starter インスタンスを一覧表示します。 + +```shell +ti db list-db-clusters --db-cluster-type starter --output text +``` + +TiDB Cloud Starter インスタンスの情報を取得するには、その ID を [`describe-db-cluster`](/ai/ti/reference/ti-db-describe-db-cluster.md) に渡します。 + +## ブランチを管理する {#manage-branches} + +インスタンスから開発ブランチを作成します。 + +```shell +ti db create-db-cluster-branch \ + --db-cluster-id "" \ + --db-cluster-branch-name dev \ + --wait +``` + +ブランチの一覧表示、詳細表示、および削除コマンドを使用して、そのライフサイクルを管理します。各コマンドの完全なオプションについては、[`ti db` コマンドリファレンス](/ai/ti/reference/ti-starter-database.md)を参照してください。 + +## SQL アクセスを設定する {#configure-sql-access} + +インスタンス用の読み取り専用、読み取り/書き込み、および管理者 SQL ユーザーを作成または修復します。 + +```shell +ti db create-db-sql-users --db-cluster-id "" +``` + +保存されている認証情報をアプリケーション向けに整形します。 + +```shell +ti db format-db-connection-string \ + --db-cluster-id "" \ + --read-only \ + --format env +``` + +## SQL を実行する {#execute-sql} + +明示的な SQL ロールを指定して 1 つのステートメントを実行します。 + +```shell +ti db execute-sql-statement \ + --db-cluster-id "" \ + --read-only \ + --sql "SELECT 1" +``` + +読み取り専用、読み取り/書き込み、および管理操作を分離するワークフローについては、[明示的な SQL ロールで TiDB Cloud Starter をクエリする](/ai/ti/guides/ti-query-sql-with-roles-example.md)を参照してください。 + +## インスタンスを削除する {#delete-an-instance} + +インスタンスが不要になったら、それを削除し、削除が確認できるようになるまで待機します。 + +```shell +ti db delete-db-cluster --db-cluster-id "" --wait +``` + +## 次のステップ {#what-s-next} + +- [TiDB Cloud Starter CLI コマンドリファレンス](/ai/ti/reference/ti-starter-database.md) +- [日次の TiDB Cloud CLI ワークフローを実行する](/ai/ti/guides/ti-daily-workflow-example.md) \ No newline at end of file diff --git a/ai/ti/guides/mount-filesystem.md b/ai/ti/guides/mount-filesystem.md new file mode 100644 index 0000000000000..3be3e6bd98853 --- /dev/null +++ b/ai/ti/guides/mount-filesystem.md @@ -0,0 +1,130 @@ +--- +title: TiDB Cloud Filesystem をマウントする +summary: macOS、Linux、またはコンテナ内で TiDB Cloud Filesystem を安全にマウント、使用、drain、アンマウントする方法を学びます。 +--- + +# TiDB Cloud Filesystem をマウントする + +TiDB Cloud CLI では、アプリケーションがローカルファイルシステムのパスを通じてリモートデータにアクセスする必要がある場合に、TiDB Cloud Filesystem をマウントできます。 + +## 前提条件 {#prerequisites} + +- [TiDB Cloud CLI をインストールして設定する](/ai/ti/reference/ti-install-configure-update.md)。 +- `--file-system-id` を渡す、`TI_FS_FILE_SYSTEM_ID` を設定する、または Filesystem を識別する FS トークンを指定して、Filesystem を選択します。 +- `--fs-token`、`TI_FS_TOKEN`、または選択した Filesystem 用に保存されているローカル認証情報を通じて FS トークンを指定します。 +- Linux では、FUSE3 をインストールし、`/dev/fuse` へのアクセスを提供します。 + +## マウントドライバーを選択する {#choose-a-mount-driver} + +| プラットフォーム | `--driver auto` | 注記 | +|---|---|---| +| macOS | WebDAV | FUSE サポートを使用するには macFUSE をインストールし、`--driver fuse` を選択します。 | +| Linux | FUSE | WebDAV マウントはサポートされていません。 | +| Windows | サポートされていません | マウントせずに `ti fs` のデータプレーンコマンドを使用します。 | + +## Filesystem をマウントする {#mount-the-filesystem} + +macOS または Linux では、ローカルパスを作成し、Filesystem をバックグラウンドでマウントします。 + +```shell +mkdir -p /path/to/workspace +ti fs mount-file-system \ + --file-system-id "" \ + --mount-path /path/to/workspace +``` + +CLI はバックグラウンドのマウントプロセスを開始し、drain コマンドとアンマウントコマンドが正しいプロセスを見つけられるように、ローカルのマウントロケーターを書き込みます。 + +サブツリーを公開するには `--remote-path` を使用し、書き込みを防ぐには `--read-only` を使用します。レイヤーまたは checkpoint をマウントするには、FUSE ドライバーを選択し、[`mount-file-system` リファレンス](/ai/ti/reference/ti-fs-mount-file-system.md)で説明されている適切な layer オプションを渡します。 + +## コンテナ内でマウントする {#mount-in-a-container} + +イメージ内に FUSE3 をインストールするだけでは不十分です。ホストが `/dev/fuse` を公開し、コンテナがマウントを実行できるよう許可されている必要があります。Docker では、次と同等の設定を指定します。 + +```shell +docker run --rm -it \ + --device /dev/fuse \ + --cap-add SYS_ADMIN \ + --security-opt apparmor=unconfined \ + --env TI_FS_TOKEN \ + --env TI_REGION_CODE \ + --env TI_FS_FILE_SYSTEM_ID \ + +``` + +Docker Compose では、同じデバイス、ケーパビリティ、セキュリティ、および環境変数の設定を渡します。 + +```yaml +services: + agent: + image: + devices: + - /dev/fuse:/dev/fuse + cap_add: + - SYS_ADMIN + security_opt: + - apparmor=unconfined + environment: + TI_FS_TOKEN: ${TI_FS_TOKEN} + TI_REGION_CODE: ${TI_REGION_CODE} + TI_FS_FILE_SYSTEM_ID: ${TI_FS_FILE_SYSTEM_ID} +``` + +> **Warning:** +> +> `SYS_ADMIN` と制限のない AppArmor プロファイルは、コンテナ分離を弱めます。これらは、専用で信頼できるコンテナに対してのみ使用してください。FUSE アクセスを利用できない場合は、マウントせずに `ti fs` のデータコマンドを使用してください。 + +## Ubuntu 26.04 のマウントパス {#ubuntu-2604-mount-paths} + +Ubuntu 26.04 は `/usr/bin/fusermount3` に AppArmor プロファイルを適用します。デフォルトでは、`/workspace` の代わりに、現在のユーザーのホームディレクトリ、`/mnt`、`/media`、`/tmp`、または `/run/user/` の配下にあるパスを使用してください。 + +例: + +```shell +mkdir -p "$HOME/workspace" +ti fs mount-file-system \ + --file-system-id "" \ + --mount-path "$HOME/workspace" +``` + +アプリケーションが `/workspace` を必要とする場合は、次のルールを `/etc/apparmor.d/local/fusermount3` に追加します。 + +```text +mount fstype=@{fuse_types} options=(nosuid,nodev) options in (ro,rw,noatime,dirsync,nodiratime,noexec,sync) -> /workspace/{,**/}, +umount /workspace/{,**/}, +``` + +その後、プロファイルを再読み込みします。 + +```shell +sudo apparmor_parser -r /etc/apparmor.d/fusermount3 +``` + +関連するエラーについては、[TiDB Cloud CLI のトラブルシューティング](/ai/ti/reference/ti-troubleshooting.md)を参照してください。 + +## drain またはアンマウントする {#drain-or-unmount} + +`unmount-file-system` を実行すると、CLI はマウントを停止する前に、開いているファイルハンドルと保留中の FUSE 処理を自動的にフラッシュします。 + +```shell +ti fs unmount-file-system --mount-path /path/to/workspace +``` + +FUSE マウントをオンラインのまま維持しつつ耐久性バリアが必要な場合(たとえば、レイヤーのチェックポイントを作成する前など)は、`drain-file-system` を明示的に実行します。このコマンドは、アンマウントせずに保留中の書き込みをフラッシュし、それらが完了するまで待機します。 + +```shell +ti fs drain-file-system --mount-path /path/to/workspace --timeout 30s +``` + +> **Note:** +> +> Drain は FUSE マウントでのみサポートされます。WebDAV マウントでは、通常のファイルクローズ操作を通じて書き込みがフラッシュされます。 + +> **Warning:** +> +> 書き込みが保留中のまま、またはアンマウントがエラーを返した後に、マシンを停止しないでください。メモリ内の書き込みとローカルのみに存在するオーバーレイファイルが失われる可能性があります。FUSE マウントでは、シャットダウン前に `drain-file-system` を実行して、保留中の書き込みがリモート Filesystem に到達したことを確認してください。WebDAV マウントでは、アプリケーション内でファイルを閉じ、`unmount-file-system` が成功することを確認してください。 + +## 次のステップ {#what-s-next} + +- [TiDB Cloud Filesystem の Layers と Checkpoints を管理する](/ai/ti/guides/manage-filesystem-layers.md) +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) diff --git a/ai/ti/guides/ti-agent-sandbox-example.md b/ai/ti/guides/ti-agent-sandbox-example.md new file mode 100644 index 0000000000000..3a0ec0d5c661a --- /dev/null +++ b/ai/ti/guides/ti-agent-sandbox-example.md @@ -0,0 +1,111 @@ +--- +title: エージェントサンドボックスで TiDB Cloud Filesystem を使う +summary: 信頼できるマシン上で Filesystem をプロビジョニングし、TiDB Cloud API キーを使わずに、クリーンなエージェントサンドボックスへ設定不要でアクセスを提供します。 +--- + +# エージェントサンドボックスで TiDB Cloud Filesystem を使う + +このワークフローでは、ユーザーの TiDB Cloud CLI 設定全体をサンドボックスにコピーすることなく、一時的なコーディングエージェントに対して永続的で共有可能なワークスペースを提供できます。サンドボックスのローカルディスクが使い捨てであっても、エージェントが成果物、リポジトリの状態、または以前のセッションや他のワーカーからのファイルを必要とし、サンドボックスごとにその状態を毎回再構築したくない場合に使用します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは予告なく変更される場合があります。 + +> **Note:** +> +> このワークフローを実際に試せる版として、[TiDB Cloud Filesystem for Agent Sandbox Lab](https://labs.tidb.io/labs/demo_901) を開いてください。このインタラクティブな演習では、エージェントサンドボックスで永続的な Filesystem を使用する方法を案内します。 + +## 仕組み {#how-it-works} + +信頼できるマシンが一度だけ Filesystem をプロビジョニングします。サンドボックスには Filesystem のオーナートークンとリージョンコードだけが渡されるため、`ti configure`、コピーした `~/.ti/` ディレクトリ、または TiDB Cloud API キーなしで、通常のファイル操作やデータプレーン、マウント、Git、ジャーナル、vault のワークフローを利用できます。これにより、汎用オブジェクトストレージ API で必要となるアプリケーション固有のアップロードおよびダウンロードロジックも不要になります。このトークンは Filesystem を識別します。エージェントが一部のシークレットだけを必要とする場合は、オーナートークンの代わりに委任された vault トークンを使用してください。 + +## 前提条件 {#prerequisites} + +- 信頼できるマシンに TiDB Cloud CLI をインストールして設定します。 +- リリースインストーラーを使用して、サンドボックスに TiDB Cloud CLI をインストールします。 +- 信頼できるマシンに `jq` をインストールします。 +- トークンの受け渡しには、安全なシークレットマネージャーまたは暗号化されたサンドボックス入力を使用します。 + +## ステップ 1. 信頼できるマシンでプロビジョニングする {#step-1-provision-on-the-trusted-machine} + +```bash +umask 077 +ti fs create-file-system --wait > ./filesystem.json +export FILE_SYSTEM_ID="$(jq -r '.file_system_id' ./filesystem.json)" +export TI_FS_TOKEN="$(jq -r '.fs_token' ./filesystem.json)" +``` + +トークンをシークレットマネージャーに保存し、コントロールプレーンのクリーンアップ用に `FILE_SYSTEM_ID` を記録し、Filesystem の作成に使用したリージョンコードも記録します。トークンを安全に保存した後、`filesystem.json` を削除してください。 + +## ステップ 2. サンドボックスに最小限の環境を注入する {#step-2-inject-the-minimum-sandbox-environment} + +次の内容で、サンドボックスのシークレットまたは環境変数の仕組みを設定します。 + +```bash +TI_FS_TOKEN= +TI_REGION_CODE= +``` + +サンドボックスには `TIDB_CLOUD_PUBLIC_KEY`、`TIDB_CLOUD_PRIVATE_KEY`、`ti configure`、または `~/.ti/` からコピーしたファイルは不要です。 + +## ステップ 3. 直接アクセスを確認する {#step-3-verify-direct-access} + +サンドボックス内で次を実行します。 + +```bash +printf 'sandbox ready\n' | ti fs copy-file \ + --from-stdin \ + --to-remote /sandbox/status.txt + +ti fs read-file --path /sandbox/status.txt +``` + +期待される出力: + +```text +sandbox ready +``` + +## ステップ 4. 必要に応じて Filesystem をマウントする {#step-4-optionally-mount-the-filesystem} + +Linux で FUSE を使用する場合: + +```bash +mkdir -p "$HOME/workspace" +ti fs mount-file-system \ + --mount-path "$HOME/workspace" \ + --driver fuse + +cat "$HOME/workspace/sandbox/status.txt" +``` + +macOS では、FUSE のインストールが不要な WebDAV を使用するため、`--driver fuse` を省略します。Git ワークスペース、レイヤー、online drain などの FUSE 固有の機能が必要な場合は、macFUSE をインストールして FUSE を選択してください。プラットフォーム要件とマウントパスの制限については、[TiDB Cloud Filesystem をマウントする](/ai/ti/guides/mount-filesystem.md) を参照してください。 + +マウント後は、同じ FS 環境で `ti fs-git`、`ti fs-journal`、およびオーナーに認可された `ti fs-vault` コマンドを使用できます。エージェントが一部のシークレットフィールドだけを必要とする場合は、オーナートークンの代わりに委任された `TI_VAULT_TOKEN` を渡してください。 + +## クリーンアップ {#cleanup} + +ライターを停止してアンマウントします。正常な FUSE アンマウントでは、保留中の作業が自動的にフラッシュおよび drain されます。 + +```bash +ti fs unmount-file-system --mount-path "$HOME/workspace" +``` + +FUSE マウントでは、マウントを維持したままリモートへの永続化を確認したい場合、`ti fs drain-file-system --mount-path "$HOME/workspace"` を別途使用します。`drain-file-system` は WebDAV ではサポートされていません。詳細は [drain またはアンマウント](/ai/ti/guides/mount-filesystem.md#drain-or-unmount) を参照してください。信頼できるマシンに戻って、次を実行します。 + +```bash +ti fs delete-file-system \ + --file-system-id "$FILE_SYSTEM_ID" +``` + +## セキュリティと運用上の注意 {#security-and-operational-notes} + +- `TI_FS_TOKEN` はオーナー認証情報として扱ってください。 +- イメージ、リポジトリ、コマンドフラグ、または操作ログに配置しないでください。 +- サンドボックスを削除しても、リモートの Filesystem は削除されません。 +- 正常なアンマウントでは保留中の FUSE 書き込みが drain されますが、アンマウントせずにサンドボックスを削除しても drain されません。 + +## 次のステップ {#what-s-next} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) +- [TiDB Cloud CLI の設定と認証情報](/ai/ti/reference/ti-configuration-and-credentials.md) diff --git a/ai/ti/guides/ti-ci-artifact-handoff-example.md b/ai/ti/guides/ti-ci-artifact-handoff-example.md new file mode 100644 index 0000000000000..8f416bfcad7b5 --- /dev/null +++ b/ai/ti/guides/ti-ci-artifact-handoff-example.md @@ -0,0 +1,76 @@ +--- +title: TiDB Cloud Filesystem を使用して分離されたジョブ間で CI アーティファクトを受け渡す +summary: ビルド出力を TiDB Cloud Filesystem に永続化し、完全な TiDB Cloud CLI プロファイルをコピーせずに後続の CI ジョブから利用します。 +--- + +# TiDB Cloud Filesystem を使用して分離されたジョブ間で CI アーティファクトを受け渡す + +このワークフローでは、分離された CI ジョブまたはランナー間でアーティファクトを受け渡すための永続的な受け渡しポイントとして Filesystem を使用します。ビルド出力を生成ジョブの終了後も保持し、プロバイダー固有のアーティファクト API、保持モデル、ダウンロードワークフローを追加せずに、後続のコンシューマージョブで利用できるようにする必要がある場合に使用します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは予告なく変更される場合があります。 + +## 仕組み {#how-it-works} + +パイプラインは、1 つの Filesystem トークンとリージョンを両方のジョブに注入します。トークンは Filesystem を識別します。生成側ジョブは `/ci/${RUN_ID}/` のような今回の実行に固有のパス配下に出力をアップロードし、コンシューマー側ジョブは別のランナー上でその正確なパスからデータをダウンロードまたはストリーミングします。どちらのジョブにも TiDB Cloud API キーやコピーされた `~/.ti/` ディレクトリは不要です。 + +## 前提条件 {#prerequisites} + +信頼できるマシンで [Filesystem を作成](/ai/ti/guides/manage-filesystem-resources.md#create-a-filesystem) し、次の値を保護された CI シークレットまたは変数として保存します。 + +```text +TI_FS_TOKEN +TI_REGION_CODE +``` + +並行して実行されるパイプラインを分離するために、`RUN_ID` のような CI 生成の実行識別子を使用します。 + +## 生成側ジョブ {#producer-job} + +アーティファクトをビルドしてからアップロードします。 + +```bash +tar -czf app.tar.gz ./dist +ti fs copy-file \ + --from-local ./app.tar.gz \ + --to-remote "/ci/${RUN_ID}/app.tar.gz" \ + --tag pipeline=build \ + --description "artifact for run ${RUN_ID}" +``` + +## コンシューマー側ジョブ {#consumer-job} + +別のランナーからアーティファクトをダウンロードして検証します。 + +```bash +ti fs copy-file \ + --from-remote "/ci/${RUN_ID}/app.tar.gz" \ + --to-local ./app.tar.gz \ + --create-parents + +tar -tzf app.tar.gz +``` + +標準入力を受け付けるコマンドの場合は、中間のローカルファイルを避けられます。 + +```bash +ti fs copy-file --from-remote "/ci/${RUN_ID}/app.tar.gz" --to-stdout \ + | tar -tzf - +``` + +## クリーンアップと分離 {#cleanup-and-isolation} + +すべてのコンシューマーが完了した後で、今回の実行に固有のディレクトリのみを削除します。 + +```bash +ti fs delete-file --path "/ci/${RUN_ID}" --recursive +``` + +一意の実行 ID を使用し、個々のジョブから Filesystem 全体を削除しないでください。Filesystem の削除には信頼されたコントロールプレーンの設定が必要であり、別個の所有者操作として維持する必要があります。 + +## 次のステップ {#what-s-next} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) +- [TiDB Cloud CLI の設定と認証情報](/ai/ti/reference/ti-configuration-and-credentials.md) +- [TiDB Cloud CLI のリージョン、セキュリティ、および制限事項](/ai/ti/reference/ti-regions-security-and-limitations.md) \ No newline at end of file diff --git a/ai/ti/guides/ti-daily-workflow-example.md b/ai/ti/guides/ti-daily-workflow-example.md new file mode 100644 index 0000000000000..79ec50198fb71 --- /dev/null +++ b/ai/ti/guides/ti-daily-workflow-example.md @@ -0,0 +1,125 @@ +--- +title: 日次の TiDB Cloud CLI ワークフローを実行する +summary: リソースを確認し、TiDB Cloud Starter インスタンスと Filesystem を管理し、TiDB Cloud CLI の更新を確認して、リソースをクリーンアップします。 +--- + +# 日次の TiDB Cloud CLI ワークフローを実行する + +この例では、TiDB Cloud Starter と TiDB Cloud Filesystem にまたがる、一般的なオペレーターのワークフローを示します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 前提条件 {#prerequisites} + +- `ti` をインストールし、`ti configure` を実行します。 +- 組織に、1 つの TiDB Cloud Starter インスタンスと 1 つの Filesystem を作成できる容量があることを確認します。 + +## ステップ 1. 現在のリソースを確認する {#step-1-inspect-current-resources} + +```bash +ti db list-db-clusters --db-cluster-type starter --output text +ti fs list-file-systems --output text +``` + +## ステップ 2. TiDB Cloud Starter インスタンスを作成する {#step-2-create-a-tidb-cloud-starter-instance} + +```bash +ti db create-db-cluster \ + --db-cluster-type starter \ + --db-cluster-name daily-demo \ + --dry-run + +export DB_CLUSTER_ID="$(ti db create-db-cluster \ + --db-cluster-type starter \ + --db-cluster-name daily-demo \ + --wait \ + --query id \ + --output text)" +``` + +このコマンドは、返されたクラスター ID を `DB_CLUSTER_ID` に保存します。`--wait` が設定されているため、作成コマンドはクラスターがアクティブになった後に戻ります。後で再度確認することもできます。 + +```bash +ti db describe-db-cluster \ + --db-cluster-id "$DB_CLUSTER_ID" \ + --output text +``` + +## ステップ 3. SQL アクセスを確認する {#step-3-verify-sql-access} + +```bash +ti db create-db-sql-users --db-cluster-id "$DB_CLUSTER_ID" +ti db execute-sql-statement \ + --db-cluster-id "$DB_CLUSTER_ID" \ + --read-only \ + --sql "SELECT CURRENT_TIMESTAMP AS checked_at" \ + --output text +``` + +## ステップ 4. Filesystem を作成して使用する {#step-4-create-and-use-a-filesystem} + +```bash +export TI_FS_FILE_SYSTEM_ID="$(ti fs create-file-system \ + --wait \ + --query file_system_id \ + --output text)" + +printf 'daily workflow\n' | ti fs copy-file \ + --from-stdin \ + --to-remote /notes/today.txt + +ti fs list-files \ + --path /notes \ + --output text +``` + +`/notes/today.txt` 内のファイルにより、明示的に選択したリソースが使用可能であることを確認できます。 + +## ステップ 5. 更新を確認する {#step-5-check-for-updates} + +インストール済みバージョンを変更せずに、新しいバージョンが利用可能かどうかを確認します。 + +```bash +ti update --check +``` + +更新をプレビューします。 + +```bash +ti update --dry-run +``` + +別のワークフローでアクティブな Filesystem または Vault マウントがある場合は、更新を適用する前にライターを停止してアンマウントしてください。これにより、`ti` と Filesystem ランタイムが一緒に更新されます。手順については、[TiDB Cloud CLI を更新する](/ai/ti/reference/ti-install-configure-update.md#update-tidb-cloud-cli) を参照してください。 + +適切なタイミングで更新を適用します。 + +```bash +ti update +``` + +## クリーンアップ {#cleanup} + +```bash +ti fs delete-file-system \ + --file-system-id "$TI_FS_FILE_SYSTEM_ID" + +ti db delete-db-cluster \ + --db-cluster-id "$DB_CLUSTER_ID" +``` + +> **Note:** +> +> ローカルの TiDB Cloud CLI 設定を削除しても、リモートリソースは削除されません。 + +## セキュリティに関する注意 {#security-notes} + +- FS トークンや整形済みのデータベース接続文字列を出力しないでください。 +- 一意の自動化プレフィックスを使用し、その実行で作成されたリソースのみを削除してください。 +- 破壊的な操作は `--dry-run` で事前確認してください。 + +## 次のステップ {#what-s-next} + +- [TiDB Cloud Starter CLI コマンドリファレンス](/ai/ti/reference/ti-starter-database.md) +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/guides/ti-git-workspace-for-agents-example.md b/ai/ti/guides/ti-git-workspace-for-agents-example.md new file mode 100644 index 0000000000000..99057c205514a --- /dev/null +++ b/ai/ti/guides/ti-git-workspace-for-agents-example.md @@ -0,0 +1,96 @@ +--- +title: TiDB Cloud Filesystem 上でエージェント向けの Git ワークスペースを準備する +summary: 大規模な Git ワークスペースをすばやく利用可能にし、クリーンオブジェクトをバックグラウンドで hydrate して、完全なダウンロードが終わる前にエージェントが作業を開始できるようにします。 +--- + +# TiDB Cloud Filesystem 上でエージェント向けの Git ワークスペースを準備する + +このワークフローでは、エージェントタスクの開始におけるクリティカルパスから、大規模リポジトリのクローンを取り除きます。完全なダウンロードが完了する前に、一時的なエージェントが大規模リポジトリを調査または変更する必要がある場合に使用します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 仕組み {#how-it-works} + +`ti fs-git clone-git-workspace --blobless --hydrate background` は、置き換え可能なエージェントランタイム間で共有できる Git ワークスペースを登録し、すべてのクリーン ブロブのダウンロードが完了する前にそのファイルツリーを公開します。このコマンドはすぐに戻るため、`ti` がバックグラウンドでクリーンツリーとローカル Git オブジェクトデータベースを hydrate している間に、エージェントはパスを調査して作業を開始できます。通常の clone とは異なり、初期オブジェクト転送はワークフロー全体をブロックしません。ネイティブの blobless partial clone のみを使う場合と異なり、バックグラウンド hydration により、エージェントのクリティカルパス上で繰り返し発生するオンデマンドフェッチを減らせます。hydration の完了前に到着した読み取りは、正確性を保つために引き続き Git の lazy fetch にフォールバックします。編集、commit、fetch、push は通常どおり Git が担当します。 + +## 前提条件 {#prerequisites} + +- Filesystem を選択します。 +- Linux FUSE、または macFUSE を使用した macOS と明示的な `--driver fuse` を使用します。Git ワークスペースは、リモート Git ツリーとワークスペースの変更をマウントパスに統合するために FUSE に依存します。WebDAV マウントではこの統合は提供されません。 +- Git をインストールし、リポジトリ認証を設定します。 + +## ステップ 1. ワークスペースをマウントする {#step-1-mount-a-workspace} + +```bash +mkdir -p /path/to/workspace +ti fs mount-file-system \ + --mount-path /path/to/workspace \ + --driver fuse \ + --mount-profile coding-agent +``` + +## ステップ 2. ワークスペースを作成し、バックグラウンドで hydrate する {#step-2-create-the-workspace-and-hydrate-in-the-background} + +```bash +ti fs-git clone-git-workspace \ + --repo-url https://github.com/pingcap/tidb.git \ + --target-path /path/to/workspace/tidb \ + --blobless \ + --hydrate background +``` + +これでワークスペースツリーが利用可能になり、hydration はバックグラウンドで継続します。エージェントには通常のコマンドで作業を開始させます。 + +```bash +find /path/to/workspace/tidb -maxdepth 2 -type f | head +git -C /path/to/workspace/tidb status +``` + +決定的なベンチマークを実行する前、またはマウントを drain する前に、必要に応じて明示的に hydration の完了を待機できます。 + +```bash +ti fs-git hydrate-git-workspace \ + --target-path /path/to/workspace/tidb \ + --timeout 30m +``` + +## ステップ 3. エージェント worktree を作成する {#step-3-create-an-agent-worktree} + +```bash +ti fs-git add-git-worktree \ + --base-path /path/to/workspace/tidb \ + --worktree-path /path/to/workspace/tidb-agent-task \ + --branch-name agent-task +``` + +これでエージェントは通常のツールを使用できます。 + +```bash +git -C /path/to/workspace/tidb-agent-task status +``` + +worktree を削除する前に、必要な変更を commit または push してください。 + +## クリーンアップ {#cleanup} + +```bash +ti fs-git remove-git-worktree \ + --worktree-path /path/to/workspace/tidb-agent-task + +ti fs unmount-file-system --mount-path /path/to/workspace +``` + +未コミットの変更を破棄してよい場合にのみ、worktree の削除で `--force` を使用してください。Filesystem のアンマウントでは自動的にグレースフルな drain が実行されます。アンマウントせずにリモート作業をフラッシュする必要がある場合にのみ、`ti fs drain-file-system` を個別に使用してください。 + +## セキュリティおよび運用上の注意 {#security-and-operational-notes} + +- リポジトリ認証情報は `ti` ではなく Git によって管理されます。 +- `coding-agent` マウントプロファイルは、パフォーマンスのために Git メタデータ、依存関係ディレクトリ、キャッシュ、ビルド出力、およびその他の生成ファイルをローカルマシン上に保持します。 +- `coding-agent` プロファイルによってローカルに保持されるファイルは、一時的なマシンとともに消えます。必要な Git の変更は commit または push し、再構築できないその他のローカルファイルを保持するには、明示的な `--path` 値を指定して [`pack-file-system`](/ai/ti/reference/ti-fs-pack-file-system.md) を使用してください。 + +## 次のステップ {#what-s-next} + +- [TiDB Cloud Filesystem Git CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem-git.md) +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) diff --git a/ai/ti/guides/ti-journal-agent-workflow-example.md b/ai/ti/guides/ti-journal-agent-workflow-example.md new file mode 100644 index 0000000000000..3fce3ad3cfd8d --- /dev/null +++ b/ai/ti/guides/ti-journal-agent-workflow-example.md @@ -0,0 +1,96 @@ +--- +title: TiDB Cloud Filesystem Journal にエージェントワークフローを記録する +summary: ジャーナルを作成し、構造化されたエージェントイベントを追記し、ワークフローを検索し、ジャーナルのハッシュチェーンを検証します。 +--- + +# TiDB Cloud Filesystem Journal にエージェントワークフローを記録する + +このワークフローでは、計画、ツール呼び出し、テスト、リトライ、ハンドオフを、構造化され、順序付けられ、検証可能なイベント履歴として記録します。これは、オペレーターが最新の状態だけを示す変更可能なステータスファイルや、散在したコンソール出力に頼るのではなく、複数のワーカーにまたがって何が起きたかを再構築する必要がある場合に使用します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 仕組み {#how-it-works} + +Filesystem ジャーナルは、シーケンス情報、検索可能なフィールド、オプションの冪等性キー、ハッシュチェーン検証を備えた、構造化された追記専用エントリを保存します。通常のテキストファイルとは異なり、ジャーナルエントリは書き込まれた後に編集や切り詰めができず、プロデューサー側で独自のパース、並行処理、またはリトライ重複排除の仕組みを実装する必要もありません。エージェントは `task.started` や `test.finished` のような意味的イベントを追記し、オペレーターはワークフローをクエリして保存されたチェーンを検証できます。 + +## 前提条件 {#prerequisites} + +設定済みのプロファイルまたは FS トークン環境を通じて Filesystem を選択します。 + +## ステップ 1. ジャーナルを作成する {#step-1-create-the-journal} + +```bash +ti fs-journal create-journal \ + --journal-id jrn-agent-demo \ + --journal-kind agent \ + --title "dependency update" \ + --actor agent:dependency-bot \ + --label repository=demo \ + --label environment=test +``` + +## ステップ 2. ワークフローイベントを追記する {#step-2-append-workflow-events} + +```bash +ti fs-journal append-journal-entries \ + --journal-id jrn-agent-demo \ + --idempotency-key dependency-update-start \ + --entry-json '{"type":"task.started","status":"running"}' + +ti fs-journal append-journal-entries \ + --journal-id jrn-agent-demo \ + --entry-json '{"type":"test.finished","status":"passed","suite":"unit"}' \ + --entry-json '{"type":"task.finished","status":"completed"}' +``` + +ワークフローが同じ追記をリトライする可能性がある場合は、冪等性キーを指定し、その論理操作のすべてのリトライで同じキーを再利用します。これにより、サービスは重複エントリの保存を回避します。このオプションを省略すると新しいキーが生成され、リトライする予定のない追記にはそれが適切です。 + +## ステップ 3. 読み取りと検索 {#step-3-read-and-search} + +```bash +ti fs-journal read-journal-entries \ + --journal-id jrn-agent-demo \ + --after-seq 0 \ + --limit 100 \ + --output text + +ti fs-journal search-journal-entries \ + --entry-type task.finished \ + --status completed \ + --label repository=demo \ + --include-entries +``` + +`jrn-agent-demo` に対する順序付きの `read-journal-entries` の結果には、開始、テスト、完了の各イベントが含まれているはずです。 + +> **Note:** +> +> `search-journal-entries` はジャーナル ID を受け付けないため、選択した Filesystem 内のすべてのジャーナルを検索します。この例では、同じラベルとイベントフィールドを持つ別のジャーナルも検索結果に一致する可能性があります。 + +`--entry-type` と `--status` のフィルターは、各 `--entry-json` オブジェクト内の `type` フィールドと `status` フィールドに一致します。この例では、ペイロードに `"type":"task.finished"` と `"status":"completed"` を含むエントリを選択します。 + +## ステップ 4. 整合性を検証する {#step-4-verify-integrity} + +```bash +ti fs-journal verify-journal \ + --journal-id jrn-agent-demo \ + --output text +``` + +結果が成功であれば、保存されたシーケンスとハッシュチェーンに整合性があることを確認できます。 + +## クリーンアップ {#cleanup} + +ジャーナルは追記専用であり、現在の公開 `ti` コマンドには削除コマンドがありません。使い捨てジャーナルを作成する実験では、専用のテスト Filesystem と、`jrn-test-` のような一意のジャーナル ID を使用してください。含まれているファイルやジャーナルがすべて不要になった場合にのみ、その Filesystem を削除してください。 + +## セキュリティおよび運用上の注意 {#security-and-operational-notes} + +- API キー、パスワード、秘密情報を含む SQL テキスト、または生のファイル内容をジャーナルのペイロードに入れないでください。 +- ハッシュチェーン検証は保存済みチェーンの不整合を検出しますが、元のイベントが真実であったことまでは証明しません。 + +## 次のステップ {#what-s-next} + +- [TiDB Cloud Filesystem Journal CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem-journal.md) +- [シークレットをエージェントに委任する](/ai/ti/guides/ti-vault-agent-secrets-example.md) diff --git a/ai/ti/guides/ti-parallel-agent-dataset-example.md b/ai/ti/guides/ti-parallel-agent-dataset-example.md new file mode 100644 index 0000000000000..10d5eed7ff5c2 --- /dev/null +++ b/ai/ti/guides/ti-parallel-agent-dataset-example.md @@ -0,0 +1,102 @@ +--- +title: TiDB Cloud Filesystem を使用して並列エージェント間で読み取り専用データセットを共有する +summary: 1 つの非構造化データセットをアップロードし、同じ読み取り専用でマウントされた名前空間を複数のエージェントワーカーに公開します。 +--- + +# TiDB Cloud Filesystem を使用して並列エージェント間で読み取り専用データセットを共有する + +このワークフローでは、複数の短命なワーカーに対して、各サンドボックスへ個別のコピーをダウンロードすることなく、1 つの共有コーパスを提供できます。並列のドキュメント処理エージェントや評価エージェントが、同じ PDF、画像、ログ、またはモデルアーティファクトに一貫してアクセスする必要がある場合に使用します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 仕組み {#how-it-works} + +所有者はコーパスを 1 回アップロードし、各ワーカー用にスコープ付きの読み取り専用 Filesystem トークンを作成します。各ワーカーは同じ Filesystem を選択し、コーパスを読み取り専用でマウントするため、通常のツールでストレージ SDK を使わずに 1 つの共通名前空間をたどることができます。これにより起動時間が短縮され、独立した特定時点のコピーを作成する必要がなくなります。ワーカーが結果を生成する場合は、データセット Filesystem ではなく、別の書き込み可能な出力 Filesystem 内の個別パスに書き込みます。 + +## 前提条件 {#prerequisites} + +- 信頼できるマシンに TiDB Cloud CLI をインストールして設定します。 +- 各ワーカーに TiDB Cloud CLI と必要なマウント依存関係をインストールします。 +- 信頼できるマシンに `jq` をインストールします。 +- トークン転送には、安全なシークレットマネージャーまたは暗号化されたワーカー入力を使用します。 + +## ステップ 1. コーパスをアップロードする {#step-1-upload-the-corpus} + +信頼できるマシンで次を実行します。 + +```bash +umask 077 +ti fs create-file-system --wait > ./filesystem.json +export TI_FS_FILE_SYSTEM_ID="$(jq -r '.file_system_id' ./filesystem.json)" +export TI_FS_TOKEN="$(jq -r '.fs_token' ./filesystem.json)" + +ti fs copy-file \ + --from-local ./corpus \ + --to-remote /datasets/corpus \ + --recursive + +ti fs find-files \ + --path /datasets/corpus \ + --file-name-pattern "*.pdf" \ + --output text + +# Create one short-lived, read-only scoped token per worker. +ti fs generate-file-system-scoped-token \ + --file-system-id "$TI_FS_FILE_SYSTEM_ID" \ + --subject worker-1 \ + --ttl 24h \ + --allow /datasets/corpus:read,list > ./worker-1-token.json +``` + +シークレットマネージャーを通じて、`worker-1-token.json` の `fs_token` と Filesystem のリージョンコードを転送します。各ワーカーに対して一意のサブジェクトを指定して、トークン生成コマンドを繰り返します。所有者トークンは信頼できるマシン上にのみ保持し、トークンを安全に保存した後は JSON ファイルを削除してください。 + +## ステップ 2. 各ワーカーでマウントする {#step-2-mount-in-each-worker} + +> **Warning:** +> +> 各ワーカーには、コーパスパス配下で `read` と `list` のみを許可するスコープ付きトークンを付与してください。`--read-only` マウントオプションは、マウント経由の意図しない書き込みを防ぎますが、トークンの権限自体を変更するものではありません。 + +ワーカーのスコープ付きトークンを `TI_FS_TOKEN` として注入し、`TI_REGION_CODE` を Filesystem のリージョンに設定してから、次を実行します。 + +```bash +mkdir -p "$HOME/corpus" +ti fs mount-file-system \ + --mount-path "$HOME/corpus" \ + --remote-path /datasets/corpus \ + --read-only +``` + +ワーカーはストレージ SDK を使わずに標準ツールを使用できます。 + +```bash +find "$HOME/corpus" -type f -name '*.pdf' -print +``` + +## クリーンアップ {#cleanup} + +終了する前に、各ワーカーで Filesystem をアンマウントします。 + +```bash +ti fs unmount-file-system --mount-path "$HOME/corpus" +``` + +すべてのワーカーが Filesystem をアンマウントした後、データセットが不要であれば、信頼できるマシンからそれを削除します。 + +```bash +rm -f ./filesystem.json ./worker-*-token.json +ti fs delete-file-system --file-system-id "$TI_FS_FILE_SYSTEM_ID" +``` + +## セキュリティおよび運用上の注意 {#security-and-operational-notes} + +- 所有者トークンをワーカーに配布しないでください。各ワーカーごとに個別の短命なスコープ付きトークンを生成し、読み取り専用アクセスが認証情報によって強制されるようにします。 +- ワーカーが同じ出力 Filesystem に書き込む場合は、エージェントまたは実行 ID ごとに結果パスを分割してください。 +- FUSE または WebDAV マウントを利用できないプラットフォームでは、`read-file`、`find-files`、および `copy-file --to-local` を直接使用してください。 + +## 次のステップ {#what-s-next} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) +- [エージェントサンドボックスで Filesystem を使用する](/ai/ti/guides/ti-agent-sandbox-example.md) +- [TiDB Cloud CLI のリージョン、セキュリティ、および制限事項](/ai/ti/reference/ti-regions-security-and-limitations.md) \ No newline at end of file diff --git a/ai/ti/guides/ti-persistent-agent-state-example.md b/ai/ti/guides/ti-persistent-agent-state-example.md new file mode 100644 index 0000000000000..df383e5675472 --- /dev/null +++ b/ai/ti/guides/ti-persistent-agent-state-example.md @@ -0,0 +1,98 @@ +--- +title: TiDB Cloud Filesystem を使用して使い捨てサンドボックス間でエージェントの状態を永続化する +summary: エージェントのサンドボックスを置き換える際に、TiDB Cloud Filesystem 内でプラン、チェックポイント、出力、ワークフロー履歴を保持します。 +--- + +# TiDB Cloud Filesystem を使用して使い捨てサンドボックス間でエージェントの状態を永続化する + +このワークフローでは、エージェントの計算環境を使い捨てのままにしつつ、プラン、中間結果、診断ファイル、ワークフロー履歴を TiDB Cloud Filesystem に保持します。置き換え用のサンドボックスは、ローカルディスクを保持するためだけに以前のサンドボックスを稼働させ続けることなく、タスクを再開できます。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 仕組み {#how-it-works} + +信頼できるマシンが 1 つの Filesystem をプロビジョニングします。各サンドボックスには、Filesystem トークンとリージョンコードのみが渡されます。トークンは Filesystem を識別するため、エージェントは TiDB Cloud のコントロールプレーンキーを受け取ることなく、リモート名前空間に永続的なタスク状態を書き込み、ジャーナルにワークフロー遷移を記録できます。 + +## 前提条件 {#prerequisites} + +- 信頼できるマシンに TiDB Cloud CLI をインストールして設定します。 +- 各サンドボックスに TiDB Cloud CLI をインストールします。 +- 信頼できるマシンに `jq` をインストールします。 +- トークン転送には、安全なシークレットマネージャーまたは暗号化されたサンドボックス入力を使用します。 + +## ステップ 1. 状態保存用 Filesystem をプロビジョニングする {#step-1-provision-the-state-filesystem} + +信頼できるマシンで、次を実行します。 + +```bash +umask 077 +ti fs create-file-system --wait > ./filesystem.json +export FILE_SYSTEM_ID="$(jq -r '.file_system_id' ./filesystem.json)" +export TI_FS_TOKEN="$(jq -r '.fs_token' ./filesystem.json)" +``` + +`TI_FS_TOKEN` はシークレットマネージャーに保存し、クリーンアップ用に `FILE_SYSTEM_ID` を記録し、設定されたリージョンコードも記録します。これらの値を安全に保存した後、`filesystem.json` を削除します。 + +## ステップ 2. 最初のサンドボックスを起動する {#step-2-start-the-first-sandbox} + +次の環境変数を注入します。 + +```bash +export TI_FS_TOKEN="" +export TI_REGION_CODE="" +``` + +プランを書き込み、ワークフロージャーナルを作成します。 + +```bash +printf '%s\n' '# Plan' '1. inspect' '2. change' '3. verify' \ + | ti fs copy-file --from-stdin --to-remote /tasks/task-42/plan.md + +ti fs-journal create-journal \ + --journal-id task-42 \ + --journal-kind agent \ + --title "task 42" \ + --actor agent:worker-1 + +ti fs-journal append-journal-entries \ + --journal-id task-42 \ + --entry-json '{"type":"task.checkpoint","step":"inspection-complete"}' +``` + +`agent` ジャーナル種別は、このジャーナルをエージェントワークフローとして分類します。また、`--journal-kind` を省略した場合のデフォルト値でもあります。別のワークフロー分類が必要な場合、このオプションにはカスタム文字列を指定できます。 + +## ステップ 3. 置き換え用サンドボックスで再開する {#step-3-resume-in-a-replacement-sandbox} + +同じ 2 つの FS 変数を新しいサンドボックスに注入し、永続状態を復元します。 + +```bash +ti fs read-file --path /tasks/task-42/plan.md +ti fs-journal read-journal-entries --journal-id task-42 --after-seq 0 +``` + +同じタスクパス配下に結果を書き続けます。並列エージェント同士が互いのファイルを上書きしないよう、一意のタスク ID を使用してください。 + +## クリーンアップ {#cleanup} + +サンドボックスが Filesystem の使用を停止したら、信頼できるマシンからそれを削除します。 + +```bash +rm -f ./filesystem.json +ti fs delete-file-system --file-system-id "$FILE_SYSTEM_ID" +``` + +Filesystem を削除すると、そのタスクファイルとジャーナルも削除されます。 + +## セキュリティおよび運用上の注意 {#security-and-operational-notes} + +- FS トークンは所有者資格情報です。実行時のシークレットストアに保持し、イメージやタスクプロンプトには含めないでください。 +- 完了した直接データプレーン書き込みは、リモートから参照可能になります。マウントされた FUSE 書き込みについては、サンドボックスを削除する前に正常にアンマウントしてください。 +- ジャーナルは順序付けられたワークフローの証跡を保持し、タスクファイルは変更可能な作業状態を保持します。状態と履歴の両方が必要な場合は、両方を使用してください。 + +## 次のステップ {#what-s-next} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) +- [TiDB Cloud Filesystem Journal CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem-journal.md) +- [TiDB Cloud CLI の設定と認証情報](/ai/ti/reference/ti-configuration-and-credentials.md) \ No newline at end of file diff --git a/ai/ti/guides/ti-query-sql-with-roles-example.md b/ai/ti/guides/ti-query-sql-with-roles-example.md new file mode 100644 index 0000000000000..02cf6ff1d650f --- /dev/null +++ b/ai/ti/guides/ti-query-sql-with-roles-example.md @@ -0,0 +1,115 @@ +--- +title: 明示的な SQL ロールで TiDB Cloud Starter をクエリする +summary: TiDB Cloud CLI で管理される SQL ユーザーを準備し、明示的な権限の意図に基づいて読み取り専用、読み書き、管理者ステートメントを実行します。 +--- + +# 明示的な SQL ロールで TiDB Cloud Starter をクエリする + +このワークフローでは、3 つの SQL ロールを一度だけ準備し、その後は各ステートメントに対して最小権限のロールを明示的に選択します。各コマンドでデータベースパスワードを扱うことなく、対話的または自動化されたスキーマ操作、データ操作、検証作業に利用できます。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェイスは、予告なく変更される場合があります。 + +## 仕組み {#how-it-works} + +従来のデータベース接続では、1 つの認証情報を使用し、その認証情報の権限がセッション中維持されます。これに対して、`ti db create-db-sql-users` は 3 つの固定 ID を作成し、それらの認証情報をローカルに保存します。`execute-sql-statement` を呼び出すたびに 1 つの ID を選択して 1 つのステートメントを実行するため、確認ステップで書き込み権限や管理者権限を保持し続ける必要がありません。 + +| ロール | 用途 | +| --- | --- | +| `admin` | スキーマ変更と権限管理 | +| `read-write` | アプリケーションデータの変更 | +| `read-only` | クエリと検証 | + +## 前提条件 {#prerequisites} + +- `ti` を設定します。 +- アクティブな TiDB Cloud Starter インスタンス ID を選択します。 + +## ステップ 1. SQL ユーザーを準備する {#step-1-prepare-sql-users} + +```bash +ti db create-db-sql-users \ + --db-cluster-id "" +``` + +このコマンドは冪等であり、`read_only`、`read_write`、`admin` の認証情報を作成または修復します。 + +## ステップ 2. スキーマ変更には admin を使用する {#step-2-use-admin-for-schema-changes} + +```bash +ti db execute-sql-statement \ + --db-cluster-id "" \ + --admin \ + --sql "CREATE DATABASE IF NOT EXISTS role_demo" + +ti db execute-sql-statement \ + --db-cluster-id "" \ + --admin \ + --database role_demo \ + --sql "CREATE TABLE IF NOT EXISTS messages (id BIGINT PRIMARY KEY, body VARCHAR(255))" +``` + +## ステップ 3. データ変更には read-write を使用する {#step-3-use-read-write-for-data-changes} + +```bash +ti db execute-sql-statement \ + --db-cluster-id "" \ + --read-write \ + --database role_demo \ + --sql "INSERT INTO messages(id, body) VALUES (1, 'hello') ON DUPLICATE KEY UPDATE body = VALUES(body)" +``` + +## ステップ 4. 検証には read-only を使用する {#step-4-use-read-only-for-verification} + +```bash +ti db execute-sql-statement \ + --db-cluster-id "" \ + --read-only \ + --database role_demo \ + --sql "SELECT id, body FROM messages ORDER BY id" \ + --output text +``` + +期待される結果には、ID `1` と body `hello` が含まれます。 + +## ステップ 5. 接続環境を整形する {#step-5-format-a-connection-environment} + +表示する代わりに、出力を保護されたローカルファイルへ直接書き込みます。 + +```bash +umask 077 +ti db format-db-connection-string \ + --db-cluster-id "" \ + --read-only \ + --database role_demo \ + --format env \ + --env-include-database-url > .env.tidb +``` + +`.env.tidb` をコミットしないでください。 + +`--format env` を使用すると、このコマンドは `TIDB_HOST`、`TIDB_USER`、`TIDB_PASSWORD` などの個別の `TIDB_` 接続変数を書き出します。`--env-include-database-url` オプションを指定すると、単一の MySQL 接続 URL を受け付けるアプリケーション向けに `DATABASE_URL` の値も追加されます。 + +## クリーンアップ {#cleanup} + +```bash +ti db execute-sql-statement \ + --db-cluster-id "" \ + --admin \ + --sql "DROP DATABASE role_demo" + +rm -f .env.tidb +``` + +## セキュリティに関する注意 {#security-notes} + +- 各ステートメントでは、最小権限の明示的なロールを使用してください。 +- `ti` は 1 回の呼び出しにつき 1 つの SQL ステートメントを受け付けます。 +- HTTPS はデフォルトの SQL 実行トランスポートです。代わりに直接 TLS MySQL 接続を開くには、`--transport mysql` を指定してください。CLI が自動的にトランスポートを切り替えることはありません。 +- 接続文字列および環境変数の出力には認証情報が含まれます。 + +## 次のステップ {#what-s-next} + +- [TiDB Cloud Starter CLI コマンドリファレンス](/ai/ti/reference/ti-starter-database.md) +- [TiDB Cloud CLI の設定と認証情報](/ai/ti/reference/ti-configuration-and-credentials.md) \ No newline at end of file diff --git a/ai/ti/guides/ti-share-filesystem-across-machines-example.md b/ai/ti/guides/ti-share-filesystem-across-machines-example.md new file mode 100644 index 0000000000000..fd111e82567ec --- /dev/null +++ b/ai/ti/guides/ti-share-filesystem-across-machines-example.md @@ -0,0 +1,118 @@ +--- +title: 複数マシン間で TiDB Cloud Filesystem を共有する +summary: 1 つの Filesystem を作成し、2 台目のマシンから安全にアクセスして、データプレーンとマウントの可視性を確認します。 +--- + +# 複数マシン間で TiDB Cloud Filesystem を共有する + +このワークフローでは、2 台のマシン上のユーザー、自動化処理、またはエージェントに対して、1 つの共有ワークスペースを提供します。`scp` やアーカイブのアップロードによる特定時点のコピーをやり取りすることなく、変更内容を両方のマシンから見える状態に保つ必要がある場合に使用します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 仕組み {#how-it-works} + +マシン A が Filesystem を作成し、マシン B 用に別個のオーナートークンを生成します。その後、両方のマシンはデータプレーンコマンドまたはマウントされたディレクトリを通じて同じリモート名前空間にアクセスするため、書き込みはフラッシュ後にどちらのインターフェースからも見えるようになります。これにより、手動でのスナップショット同期やオブジェクトストレージ固有の転送ロジックなしで、共有ディレクトリのような動作を実現できます。 + +| 参加者 | 認証情報 | ワークフローでの役割 | +| --- | --- | --- | +| Machine A | 設定済みの `ti` プロファイルとその FS オーナートークン | Filesystem を作成および管理し、初期データを書き込み、マシン B 用のトークンを生成する | +| Machine B | 自身の FS オーナートークンと Filesystem のリージョンコード | TiDB Cloud API キーやコピーしたプロファイルなしで Filesystem にアクセスする | +| TiDB Cloud Filesystem | 該当なし | 両方のマシンが使用する共有リモート名前空間を提供する | + +マシンごとに別のトークンを使用すると、マシン A を中断することなくマシン B のアクセスを取り消せます。両方のトークンはオーナーアクセスを付与するため、シークレットとして転送および保管してください。 + +## 前提条件 {#prerequisites} + +- マシン A で `ti` が設定済みであること。 +- 両方のマシンに `ti` がインストールされていること。 +- マシン A に `jq` がインストールされていること。 +- 安全なシークレット転送チャネルがあること。 + +## Step 1. マシン A で Filesystem を作成する {#step-1-create-the-filesystem-on-machine-a} + +```bash +umask 077 +ti fs create-file-system --wait > ./filesystem.json +export FILE_SYSTEM_ID="$(jq -r '.file_system_id' ./filesystem.json)" +export TI_FS_TOKEN="$(jq -r '.fs_token' ./filesystem.json)" + +ti fs generate-file-system-token \ + --file-system-id "$FILE_SYSTEM_ID" \ + --token-name machine-b \ + --ttl 720h > ./machine-b-token.json + +printf 'from machine A\n' | ti fs copy-file \ + --from-stdin \ + --to-remote /shared/origin.txt +``` + +`machine-b-token.json` の `fs_token` はシークレットマネージャーを通じて転送し、正規のリージョンコードを伝えてください。コントロールプレーン操作のために `FILE_SYSTEM_ID` はマシン A に保持し、トークンを安全に保管した後は両方の JSON ファイルを削除してください。 + +## Step 2. マシン B をメモリ内で設定する {#step-2-configure-machine-b-in-memory} + +```bash +export TI_FS_TOKEN="" +export TI_REGION_CODE="" +``` + +`TI_REGION_CODE` には、Filesystem を作成したリージョンを設定します。`ti configure` は不要です。 + +## Step 3. マシン B で直接可視性を確認する {#step-3-verify-direct-visibility-on-machine-b} + +```bash +ti fs read-file --path /shared/origin.txt +printf 'from machine B\n' | ti fs copy-file --from-stdin --to-remote /shared/second.txt +``` + +## Step 4. マウントとデータプレーンの可視性を確認する {#step-4-verify-mount-and-data-plane-visibility} + +```bash +mkdir -p /path/to/shared-workspace +ti fs mount-file-system \ + --mount-path /path/to/shared-workspace + +cat /path/to/shared-workspace/shared/origin.txt +printf 'written through mount\n' > /path/to/shared-workspace/shared/mounted.txt + +# Graceful unmount flushes pending writes before the data-plane read. +ti fs unmount-file-system --mount-path /path/to/shared-workspace +ti fs read-file --path /shared/mounted.txt +``` + +最初の読み取りにより、データプレーン経由の書き込みがマウント経由で見えることを確認できます。最後の読み取りにより、マウント経由の書き込みがフラッシュ後にデータプレーンから見えることを確認できます。 + +## クリーンアップ {#cleanup} + +### マシン B での作業 {#on-machine-b} + +Step 4 の graceful アンマウント後、現在のシェルから認証情報を削除します。 + +```bash +unset TI_FS_TOKEN TI_REGION_CODE +``` + +### マシン A での作業 {#on-machine-a} + +```bash +rm -f ./filesystem.json ./machine-b-token.json + +ti fs list-file-system-tokens --file-system-id "$FILE_SYSTEM_ID" --output text +ti fs delete-file-system-token \ + --file-system-id "$FILE_SYSTEM_ID" \ + --token-id "" +ti fs delete-file-system \ + --file-system-id "$FILE_SYSTEM_ID" +``` + +## セキュリティに関する注意事項 {#security-notes} + +- 各 FS トークンはオーナーアクセスを付与します。チャットやコマンド履歴ではなく、シークレットとして転送し、マシンごとに別のトークンを使用してください。 +- 複数のライターが同じパスを上書きする可能性があるため、ワークフローレベルで所有権を調整してください。 +- graceful アンマウントが完了する前にマシンを終了しないでください。FUSE マウントをオンラインのまま維持しつつリモート永続性が必要な場合にのみ、明示的な drain を使用してください。 + +## 次のステップ {#what-s-next} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) +- [Agent Sandbox で Filesystem を使用する](/ai/ti/guides/ti-agent-sandbox-example.md) diff --git a/ai/ti/guides/ti-vault-agent-secrets-example.md b/ai/ti/guides/ti-vault-agent-secrets-example.md new file mode 100644 index 0000000000000..07be0f180a882 --- /dev/null +++ b/ai/ti/guides/ti-vault-agent-secrets-example.md @@ -0,0 +1,111 @@ +--- +title: エージェントに TiDB Cloud Filesystem Vault シークレットを委任する +summary: シークレットを保存し、1 つのフィールドへのアクセス権をエージェントに付与し、プロセスに注入し、アクセスを監査し、付与を取り消します。 +--- + +# エージェントに TiDB Cloud Filesystem Vault シークレットを委任する + +このワークフローでは、Filesystem オーナートークンや完全なシークレットを共有することなく、エージェントに 1 つのシークレットフィールドへの一時的なアクセス権を付与できます。エージェントが 1 つのタスクのために認証情報を必要とする一方で、その値をプロンプト、`.env` ファイル、またはサンドボックスイメージに保持すべきでない場合に使用します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 仕組み {#how-it-works} + +Filesystem オーナーはシークレットを一度だけ保存し、必要なフィールドにスコープを限定した短期間有効な grant を作成します。エージェントは委任された vault トークンのみを受け取り、許可された値を子プロセスに注入できます。オーナーは監査イベントを確認し、Filesystem オーナー認証情報をローテーションしたり公開したりすることなく grant を取り消せます。 + +## このアプローチを使う理由 {#why-use-this-approach} + +通常の環境変数やファイルでもシークレットを渡すことはできますが、スコープが限定され有効期限付きの委任や、アクセス監査証跡は作成できません。Filesystem オーナートークンを共有すると、1 つのシークレットフィールドに必要な範囲を超える広いアクセス権も付与されます。別のクラウドシークレットマネージャーでも同様の制御は可能ですが、各サンドボックスごとに別の ID、ポリシー、統合経路が必要になります。 + +## 前提条件 {#prerequisites} + +- オーナーアクセス権のある Filesystem を選択します。 +- `jq` をインストールします。 +- 元のシークレット値を保護されたファイルに保存します。 + +## ステップ 1. シークレットを作成する {#step-1-create-a-secret} + +```bash +ti fs-vault create-secret \ + --secret-name service-demo \ + --field ENDPOINT=https://service.example \ + --field API_TOKEN=@./api-token.txt +``` + +## ステップ 2. 最小権限の grant を作成する {#step-2-create-a-narrow-grant} + +```bash +umask 077 +set -o noclobber +ti fs-vault create-grant \ + --agent-id example-agent \ + --scope service-demo/ENDPOINT \ + --permission read \ + --ttl 10m \ + --label-hint example > ./vault-grant.json +set +o noclobber + +export TI_VAULT_TOKEN="$(jq -r '.token' ./vault-grant.json)" +export GRANT_ID="$(jq -r '.grant_id' ./vault-grant.json)" +``` + +この保護されたファイルには、トークンを表示せずに 2 つのワンタイム値の両方が保存されます。トークンはシークレットマネージャーに保存し、grant を取り消せるように `GRANT_ID` は保持してください。 + +## ステップ 3. 委任されたフィールドを使用する {#step-3-use-the-delegated-field} + +```bash +ti fs-vault read-secret \ + --secret-name service-demo \ + --field ENDPOINT \ + --format raw +``` + +許可されたフィールドをコマンドに注入します。 + +```bash +ti fs-vault run-with-secret \ + --secret-path /n/vault/service-demo \ + -- sh -c 'test -n "$ENDPOINT"' +``` + +`/n/vault/` プレフィックスは、完全なシークレットパスを受け付けるコマンドに対して Vault 名前空間を識別します。`service-demo` はステップ 1 で作成したシークレットを指します。`run-with-secret` は許可されたフィールドを読み取り、それらを子プロセス内の環境変数として設定し、その後 `--` の後ろのコマンドを実行します。このテストは、値を表示せずに `ENDPOINT` が存在する場合に正常終了します。すべての環境変数の値を表示するコマンドは使用しないでください。 + +## ステップ 4. 監査して取り消す {#step-4-audit-and-revoke} + +```bash +ti fs-vault list-audit-events \ + --secret-name service-demo \ + --agent-id example-agent \ + --limit 20 + +ti fs-vault delete-grant \ + --grant-id "$GRANT_ID" \ + --revoked-by operator \ + --reason task-complete +``` + +ローカルトークンを unset します。 + +```bash +unset TI_VAULT_TOKEN +``` + +## クリーンアップ {#cleanup} + +```bash +ti fs-vault delete-secret --secret-name service-demo +rm -f ./api-token.txt ./vault-grant.json +``` + +## セキュリティおよび運用上の注意 {#security-and-operational-notes} + +- grant のスコープは、必要最小限のフィールドセットと、実用上最短の TTL に限定してください。 +- 取り消されたトークンは新しい読み取りを認可できませんが、プロセスがすでに読み取った値を消去することはできません。 +- プロセス一覧やシェル履歴に残る可能性があるため、シークレットをフラグで渡すことは避けてください。 + +## 次のステップ {#what-s-next} + +- [TiDB Cloud Filesystem Vault CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem-vault.md) +- [TiDB Cloud CLI のリージョン、セキュリティ、および制限事項](/ai/ti/reference/ti-regions-security-and-limitations.md) diff --git a/ai/ti/guides/use-filesystem-journals.md b/ai/ti/guides/use-filesystem-journals.md new file mode 100644 index 0000000000000..728f1fc4d710d --- /dev/null +++ b/ai/ti/guides/use-filesystem-journals.md @@ -0,0 +1,64 @@ +--- +title: TiDB Cloud Filesystem Journals を使う +summary: Filesystem 内のエージェントおよび自動化イベント向けの追記専用ジャーナルを作成、追記、読み取り、検索、検証する方法を学びます。 +--- + +# TiDB Cloud Filesystem Journals を使う + +ジャーナルは、TiDB Cloud Filesystem 上で実行されるエージェントワークフローおよび自動化パイプライン向けに、追記専用かつハッシュチェーン化されたイベントログを提供します。[`ti fs-journal` コマンド](/ai/ti/reference/ti-filesystem-journal.md)を使用して、ジャーナルの作成、順序付きイベントの追記、それらの検索または読み取り、ハッシュチェーンの検証を行います。 + +## 前提条件 {#prerequisites} + +- [TiDB Cloud CLI をインストールして設定する](/ai/ti/reference/ti-install-configure-update.md)。 +- `--file-system-id` を渡す、`TI_FS_FILE_SYSTEM_ID` を設定する、または Filesystem を識別する FS トークンを指定して、Filesystem を選択します。 +- `--fs-token`、`TI_FS_TOKEN`、または選択した Filesystem 用に保存されているローカル認証情報を通じて、ジャーナル権限を持つ FS トークンを指定します。 + +## ジャーナルを作成する {#create-a-journal} + +```shell +ti fs-journal create-journal \ + --journal-kind agent \ + --title "review task" \ + --actor agent:reviewer +``` + +返されたジャーナル ID を保存します。 + +## エントリを追記する {#append-entries} + +```shell +ti fs-journal append-journal-entries \ + --journal-id "" \ + --entry-json '{"type":"review_started"}' +``` + +サポートされる入力形式とエントリフィールドについては、[`append-journal-entries` リファレンス](/ai/ti/reference/ti-fs-journal-append-journal-entries.md)を参照してください。 + +## エントリを読み取りおよび検索する {#read-and-search-entries} + +シーケンス順にエントリを読み取ります。 + +```shell +ti fs-journal read-journal-entries --journal-id "" +``` + +ジャーナルとエントリをまたいで検索します。 + +```shell +ti fs-journal search-journal-entries \ + --entry-type review_started \ + --include-entries +``` + +## ジャーナルを検証する {#verify-a-journal} + +ジャーナルのハッシュチェーンが完全であることを検証します。 + +```shell +ti fs-journal verify-journal --journal-id "" +``` + +## 次のステップ {#what-s-next} + +- [TiDB Cloud Filesystem Journal に Agent Workflow を記録する](/ai/ti/guides/ti-journal-agent-workflow-example.md) +- [TiDB Cloud Filesystem Journal CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem-journal.md) diff --git a/ai/ti/guides/work-with-filesystem-data.md b/ai/ti/guides/work-with-filesystem-data.md new file mode 100644 index 0000000000000..1ca05e9911f15 --- /dev/null +++ b/ai/ti/guides/work-with-filesystem-data.md @@ -0,0 +1,75 @@ +--- +title: TiDB Cloud Filesystem データを操作する +summary: CLI を使用して、TiDB Cloud Filesystem 内のファイルやディレクトリをコピー、読み取り、整理、検索、確認する方法を学びます。 +--- + +# TiDB Cloud Filesystem データを操作する + +TiDB Cloud CLI では、[`ti fs` コマンド](/ai/ti/reference/ti-filesystem.md)を使用して、ローカルストレージと TiDB Cloud Filesystem 間でデータを転送したり、リモート名前空間を管理したりできます。 + +## 前提条件 {#prerequisites} + +- [TiDB Cloud CLI をインストールして設定する](/ai/ti/reference/ti-install-configure-update.md)。 +- [Filesystem を作成する](/ai/ti/guides/manage-filesystem-resources.md)か、既存の Filesystem へのアクセス権を取得します。 +- `--file-system-id` を渡す、`TI_FS_FILE_SYSTEM_ID` を設定する、または対象を識別する FS トークンを指定して、Filesystem を選択します。各操作に必要な権限を持つ FS トークンを指定してください。 + +## データをコピーする {#copy-data} + +ローカルファイルをリモートパスにアップロードします。 + +```shell +ti fs copy-file --from-local ./report.md --to-remote /reports/report.md +``` + +[`copy-file`](/ai/ti/reference/ti-fs-copy-file.md) は、ダウンロード、ストリーミング、追記、再開、再帰コピーもサポートしています。 + +## データを読み取り確認する {#read-and-inspect-data} + +ファイルまたはバイト範囲を標準出力に読み取ります。 + +```shell +ti fs read-file --path /reports/report.md --offset 0 --length 1024 +``` + +ディレクトリを一覧表示し、1 つのパスを確認します。 + +```shell +ti fs list-files --path /reports --output text +ti fs describe-file --path /reports/report.md +``` + +## 名前空間を整理する {#organize-the-namespace} + +対応するコマンドを使用して、ディレクトリを作成し、ファイルを移動し、データを削除します。 + +```shell +ti fs create-directory --path /reports/archive +ti fs move-file --from-remote /draft.md --to-remote /reports/final.md +ti fs delete-file --path /scratch --recursive +``` + +また、`chmod-file`、`create-symlink`、`create-hardlink` を使用して、POSIX スタイルのメタデータやリンクを管理することもできます。 + +> **Warning:** +> +> `delete-file --recursive` は、対象ディレクトリとその内容を完全に削除します。コマンドを実行する前に、リモートパスを確認してください。 + +## データを検索する {#search-for-data} + +パス配下のファイル内容を検索します。 + +```shell +ti fs search-file-content --path /reports --pattern "TODO" +``` + +名前、タイプ、タグ、サイズ、またはタイムスタンプでパスを検索します。 + +```shell +ti fs find-files --path /reports --file-name-pattern "*.md" --tag stage=review +``` + +## 次のステップ {#what-s-next} + +- [TiDB Cloud Filesystem のレイヤーとチェックポイントを管理する](/ai/ti/guides/manage-filesystem-layers.md) +- [TiDB Cloud Filesystem をマウントする](/ai/ti/guides/mount-filesystem.md) +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) diff --git a/ai/ti/reference/ti-cli-reference.md b/ai/ti/reference/ti-cli-reference.md new file mode 100644 index 0000000000000..3c62bdb415b33 --- /dev/null +++ b/ai/ti/reference/ti-cli-reference.md @@ -0,0 +1,167 @@ +--- +title: TiDB Cloud CLI (`ti`) コマンドリファレンス +summary: TiDB Cloud CLI のコマンドグループ、構文、グローバルオプション、出力、dry-run の動作、ヘルプ形式、エラーを参照します。 +--- + +# TiDB Cloud CLI (`ti`) コマンドリファレンス + +このページでは、[TiDB Cloud CLI (`ti`)](/ai/ti/ti-overview.md) コマンドに共通するコマンド構造と動作について説明します。個々のコマンドの構文とオプションについては、そのコマンドグループを選択するか、ドキュメントのナビゲーションを使用してください。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti [options] [global options] +ti [options] [global options] +``` + +例: + +```bash +ti configure --profile staging +ti db list-db-clusters --db-cluster-type starter +``` + +`ti` 実行ファイルはロングオプションのみを受け付けます。`-p` のような 1 文字のオプションは拒否されます。 + +生成される usage では、必須オプションを任意オプションより前に指定し、任意オプションは角括弧で囲みます。 + +```text +ti db describe-db-cluster + --db-cluster-id + [--output ] + [--view ] +``` + +値の型は山括弧で囲まれます。コマンドヘルプでは、各必須オプションの名前と型の後に `(required)` が付きます。 + +```text +--db-cluster-name (required) Starter DB cluster display name +--wait Wait until the created cluster is active +``` + +## コマンドとコマンドグループ {#commands-and-command-groups} + +次の表を使用して、トップレベルのコマンドまたはコマンドグループのリファレンスを見つけてください。各コマンドページには、構文、オプション、例が含まれています。 + +| コマンドまたはコマンドグループ | 目的 | リファレンス | +| --- | --- | --- | +| `configure` | ローカルプロファイル、API キー、デフォルトのリージョンを設定します。 | [`ti configure`](/ai/ti/reference/ti-configure.md) | +| `update` | TiDB Cloud CLI の更新を確認してインストールします。 | [`ti update`](/ai/ti/reference/ti-update.md) | +| `db` | TiDB Cloud Starter インスタンス、ブランチ、SQL ユーザー、接続、SQL ステートメントを管理します。 | [`ti db` コマンド](/ai/ti/reference/ti-starter-database.md) | +| `fs` | Filesystem リソース、AI プロバイダー、トークン、データ、レイヤー、マウントを管理します。 | [`ti fs` コマンド](/ai/ti/reference/ti-filesystem.md) | +| `fs-git` | マウントされた Filesystem 上の Git ワークスペースを管理します。 | [`ti fs-git` コマンド](/ai/ti/reference/ti-filesystem-git.md) | +| `fs-journal` | 検証可能な Filesystem ジャーナルを管理します。 | [`ti fs-journal` コマンド](/ai/ti/reference/ti-filesystem-journal.md) | +| `fs-vault` | Filesystem Vault シークレットと委任アクセスを管理します。 | [`ti fs-vault` コマンド](/ai/ti/reference/ti-filesystem-vault.md) | + +ターミナルで使用可能なコマンドを一覧表示するには、`ti help` または `ti help` を実行します。 + +## グローバルオプション {#global-options} + +- `--debug`: 秘匿情報をマスクしたデバッグ出力を有効にします。 +- `--output `: 出力形式を `json` または `text` に設定します。\[default: json] +- `--profile `: ローカルプロファイルを選択します。\[default: default] +- `--query `: 出力をレンダリングする前に JMESPath 式を適用します。 +- `--region `: 現在のコマンドに対して、プロファイルのデフォルトリージョンコードを上書きします。例: `aws-us-east-1` + +コマンドページでは、`--help`、`--version`、およびすべてのコマンド固有オプションを個別に説明しています。 + +## 出力 {#output} + +構造化データを返すコマンドは、デフォルトで JSON を使用します。 + +```bash +ti db list-db-clusters --db-cluster-type starter +``` + +人が読みやすい形式で表示するには、text 出力を使用します。 + +```bash +ti db list-db-clusters --db-cluster-type starter --output text +``` + +`ti fs read-file` や `ti fs copy-file --to-stdout` のような生バイト指向のコマンドは、ファイル内容を直接書き出します。 + +## JMESPath クエリ {#jmespath-queries} + +`--query` は、コマンドが正常に実行された後、出力がレンダリングされる前に実行されます。 + +```bash +ti db list-db-clusters \ + --db-cluster-type starter \ + --query 'clusters[].{id:id,name:display_name,state:state}' +``` + +式が無効な場合は失敗し、コマンド結果が部分的な出力に置き換えられることはありません。 + +## Dry-run {#dry-run} + +`--dry-run` をサポートする変更系のコントロールプレーンコマンドは、ローカルオプション、プロファイル、認証情報、リージョン、およびリクエスト形状を検証したうえで、リモート変更を行わずに実行計画を報告します。 + +```bash +ti db delete-db-cluster \ + --db-cluster-id "" \ + --dry-run +``` + +読み取り専用コマンドは `--dry-run` を拒否します。このオプションはグローバルなシミュレーションオプションではなく、コマンドヘルプに表示されている場合にのみ使用できます。 + +## ヘルプ形式とバージョン形式 {#help-and-version-forms} + +コマンドを指定せずに `ti` を実行すると、終了コード `2` を返し、コンパクトなコマンドツリーの概要を標準エラー出力に出力します。 + +```text +ti [ERROR]: the following arguments are required: command + +The TiDB Cloud Command Line Interface is a unified tool to manage your TiDB Cloud Filesystem (FS) and Starter services. + +usage: ti [] [parameters] +To see help information, you can run: + + ti help + ti help + ti help +``` + +コマンドとオプションを表示するには、明示的なヘルプ形式を使用します。 + +```bash +ti help +ti db help +ti db create-db-cluster help +ti --help +ti --version +``` + +`help` はコマンド階層をたどるためのコマンドです。`--help` は各コマンドで使用でき、両方の形式が意図的に共存しています。`--version` オプションも各コマンドレベルで使用でき、同じ `ti` 実行ファイルのバージョンを報告します。 + +## エラーと終了動作 {#errors-and-exit-behavior} + +人が読めるエラーは空行で始まり、安定したプレフィックスを使用します。 + +```text +ti [ERROR]: +``` + +エラーは標準エラー出力に書き込まれ、正常なコマンド出力は標準出力に書き込まれます。usage および設定の失敗は、リモート変更の前に非ゼロの終了コードを返します。実行時エラーおよびリモート API の失敗も非ゼロを返します。対話型設定が中断された場合は、終了コード `130` を返します。 + +`--debug` では、秘匿情報をマスクしたリクエストおよび解決コンテキストを表示できます。API キー、FS トークン、DB パスワード、SQL テキスト、ファイル内容、接続文字列を表示してはなりません。 + +## 関連ドキュメント {#related-documentation} + +設定、セキュリティ、互換性、トラブルシューティングの詳細については、次のドキュメントを参照してください。 + +| ドキュメント | 目的 | +| --- | --- | +| [TiDB Cloud CLI のインストール、設定、更新](/ai/ti/reference/ti-install-configure-update.md) | リリースのインストール、プロファイルの設定、`ti` の更新とアンインストール | +| [TiDB Cloud CLI の設定と認証情報](/ai/ti/reference/ti-configuration-and-credentials.md) | プロファイル、優先順位ルール、認証情報、ローカル状態を理解する | +| [TiDB Cloud CLI のリージョン、セキュリティ、制限事項](/ai/ti/reference/ti-regions-security-and-limitations.md) | サポートされるリージョン、認証情報の境界、プラットフォームサポート、制限事項を確認する | +| [`tdc` から TiDB Cloud CLI への移行](/ai/ti/reference/ti-migrate-from-tdc.md) | `tdc` v0.1.x からローカル状態と環境変数を移行する | +| [TiDB Cloud CLI のトラブルシューティング](/ai/ti/reference/ti-troubleshooting.md) | 設定、認証、ルーティング、コマンド失敗を診断する | + +## リリースノート {#release-notes} + +TiDB Cloud CLI (`ti`) の最新の変更については、[TiDB Cloud CLI (`ti`) Release Notes](https://github.com/tidbcloud/ti-cli/releases) を参照してください。 \ No newline at end of file diff --git a/ai/ti/reference/ti-configuration-and-credentials.md b/ai/ti/reference/ti-configuration-and-credentials.md new file mode 100644 index 0000000000000..4828888165a34 --- /dev/null +++ b/ai/ti/reference/ti-configuration-and-credentials.md @@ -0,0 +1,247 @@ +--- +title: TiDB Cloud CLI の設定と認証情報 +summary: TiDB Cloud CLI のプロファイル、優先順位ルール、ローカル状態パス、Filesystem 認証情報、SQL 認証情報、マウントロケーター、および操作ログのリファレンスです。 +--- + +# TiDB Cloud CLI の設定と認証情報 + +`ti` は、プロダクトが所有するすべてのローカル状態を `~/.ti/` 配下に保存し、機密性のない設定と認証情報を分離します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 主なファイル {#main-files} + +```toml +# ~/.ti/config +[default] +region_code = "aws-us-east-1" +``` + +```toml +# ~/.ti/credentials +[default] +tidb_cloud_public_key = "..." +tidb_cloud_private_key = "..." +``` + +認証情報ファイルは、プラットフォームが POSIX モードをサポートしている場合、所有者のみがアクセスできる権限を使用します。 + +グローバル設定は、プロファイルおよび認証情報とは分離されています。 + +```toml +# ~/.ti/.preferences +schema_version = 1 + +[logging] +enabled = true +max_file_mb = 10 +max_files = 5 + +[telemetry] +enabled = false +``` + +ドットプレフィックス付きの設定ファイルは任意であり、通常のディレクトリ一覧では非表示になり、すべてのプロファイルに適用されます。新規インストール時および `ti configure` 実行時には、このファイルは作成されません。ユーザーが作成したファイルを読み取っても、その権限、コメント、書式は書き換えられません。 + +## プロファイルの選択 {#profile-selection} + +プロファイル名前空間は、次の順序で選択されます。 + +1. 明示的な `--profile` +2. `TI_PROFILE` +3. `default` + +明示的に空のプロファイルを指定することは無効です。 + +## TiDB Cloud API 認証情報 {#tidb-cloud-api-credentials} + +認証情報の選択順序は次のとおりです。 + +1. `TIDB_CLOUD_PUBLIC_KEY` と `TIDB_CLOUD_PRIVATE_KEY` のいずれかが設定されている場合は、その両方 +2. `~/.ti/credentials` の選択されたセクション + +2 つの環境変数は必ずセットで必要です。`ti` は、環境変数側の片方とファイル側の片方を混在させることはありません。 + +配置先の選択順序は次のとおりです。 + +1. 明示的なグローバル `--region` +2. `TI_REGION_CODE` +3. プロファイルの `region_code` + +コマンドフラグ、環境入力、保存済み設定、およびコマンドのデフォルト値は、フィールドごとに解決されます。そのため、API キーペアのようなアトミックな組み合わせでない限り、値は異なるレベルから取得される場合があります。 + +## Starter プロジェクトの配置先 {#starter-project-placement} + +TiDB Cloud CLI は、プロジェクトセレクターを受け付けず、保存もしません。TiDB Cloud Starter インスタンスの作成ではプロジェクト配置先を省略し、TiDB Cloud がサーバー側のデフォルトプロジェクトを選択します。TiDB Cloud から返されるプロジェクトフィールドおよびラベルは、リソースメタデータとして引き続き表示されますが、後続のリクエストで再利用されることはありません。 + +## Filesystem 認証情報とリモートインベントリ {#filesystem-credentials-and-remote-inventory} + +1 つのプロファイルで複数の Filesystem にアクセスできます。リージョン単位のリモートインベントリが、リソースの存在と状態に関する信頼できる情報源です。ローカル状態には、認証情報とそのルーティングヒントのみが保存されます。 + +```text +~/.ti/fs_credentials///credentials +``` + +この認証情報には、サーバーが割り当てた file system ID、正規のリージョンコード、選択された `api_key`、および任意の正式なトークンメタデータが含まれ、所有者のみがアクセスできる権限を使用します。`ti fs list-file-systems` はリモートリソースを読み取り、機密情報ではない `has_local_token` ヒントのみをテーブル結合します。 + +1 つのリモート Filesystem に複数のトークンを持たせることはできますが、各プロファイルが Filesystem ごとに保存する選択済みトークンは最大 1 つです。ローカルストアは運用上の選択情報であり、リモートのトークンインベントリのレプリカではありません。プロビジョニングまたは古いインポートによって作成された認証情報には、`token_id`、`scope_kind`、`token_name`、`expires_at`、または `scopes` が含まれていない場合がありますが、それでもデータプレーン用途では有効です。また、`ti` は不足しているメタデータをトークン一覧の行から推測しません。 + +`ti fs generate-file-system-token` は、`--store-locally` が設定されていない限り、選択済み認証情報を変更しません。`--replace` はローカルの選択のみを変更し、以前のリモートトークンは引き続き有効なままです。ローカル認証情報をソースとするリフレッシュでは、それがアトミックに置き換えられます。フラグまたは `TI_FS_TOKEN` をソースとするリフレッシュでは、置換後のプレーンテキストが返され、ローカル状態には書き込まれません。 + +`ti fs generate-file-system-scoped-token` はオーナートークンのみを受け付け、その正式なパススコープをローカルに保存できます。トークン JWT 自体には Filesystem ID は含まれますが、トークンの種類、トークン ID、またはスコープは含まれません。そのため、明示的に指定されたトークンまたは環境変数のトークンは、ローカルで分類されるのではなく、認可のためにサービスへ渡されます。`TI_FS_TOKEN` にはオーナートークンまたはスコープ付きトークンのいずれも指定できます。利用可能な操作は、そのサーバー側の能力に依存します。 + +オーナー FS トークンは、Filesystem データアクセスとトークンインベントリまたはライフサイクル操作を認可します。TiDB Cloud Filesystem リソースの作成、一覧表示、詳細表示、削除は認可しません。また、別のオーナートークンを生成することもできません。これらの操作には TiDB Cloud API 認証情報が必要です。さらに、`ti fs delete-file-system` では明示的な `--file-system-id` が必要です。`TI_FS_TOKEN` に埋め込まれた ID が、削除対象の Filesystem 選択に使われることはありません。 + +リソースの選択順序は次のとおりです。 + +1. 明示的な `--file-system-id` +2. `TI_FS_FILE_SYSTEM_ID` +3. 明示的に指定された FS トークンから ID を導出 +4. それ以外の場合は `fs.missing_file_system_id` で失敗 + +`ti` は、保存済みデフォルトやローカル認証情報の数から Filesystem を推測することはありません。単一コマンドには `--file-system-id` を、シェル、サンドボックス、または自動化環境には `TI_FS_FILE_SYSTEM_ID` を使用してください。 + +リモート `fs`、`fs-git`、`fs-journal`、およびオーナー `fs-vault` 操作における FS オーナー認証情報の選択順序は次のとおりです。 + +1. 明示的な `--fs-token` +2. `TI_FS_TOKEN` +3. 選択されたリソース認証情報 + +フラグはシェル履歴やプロセス一覧に残る可能性があるため、フラグよりも `TI_FS_TOKEN` を推奨します。 + +## 設定不要の Filesystem 入力 {#config-free-filesystem-inputs} + +クリーンなサンドボックスで必要なのは次の内容だけです。 + +```bash +export TI_FS_TOKEN="" +export TI_REGION_CODE="aws-us-east-1" +``` + +これらの値はメモリ内の名前空間のみを構成します。`ti` はトークンから ID を導出し、どちらの値も `~/.ti/` に書き込みません。`TI_FS_FILE_SYSTEM_ID` は任意ですが、指定する場合はトークンと一致している必要があります。リモート Filesystem のインベントリ、詳細表示、プロビジョニング、および削除には TiDB Cloud API 認証情報が必要です。FS トークンは Filesystem 削除の認可としては不要であり、受け付けられません。 + +## DB SQL 認証情報 {#db-sql-credentials} + +生成される SQL 認証情報はクラスター単位です。 + +```text +~/.ti/db_users//credentials +``` + +```toml +[read_only] +username = "..." +password = "..." + +[read_write] +username = "..." +password = "..." + +[admin] +username = "..." +password = "..." +``` + +`ti db create-db-sql-users` は、これらの安定したユーザーを作成または修復します。これらはメインの認証情報ファイルには保存されません。 + +3 つのアクセスモードは、TiDB Cloud の組み込みデータベースロールに対応します。 + +| `ti` access mode | TiDB Cloud built-in role | 想定用途 | +| --- | --- | --- | +| `read_only` | `role_readonly` | データを変更せずにクエリおよび検証を行う | +| `read_write` | `role_readwrite` | アプリケーションデータのクエリおよび変更を行う | +| `admin` | `role_admin` | スキーマ変更を行い、権限を管理する | + +TiDB Cloud の完全なロールモデルについては、[データベースユーザーとロールの管理](/tidb-cloud/configure-sql-users.md) を参照してください。 + +## Companion 状態とマウントロケーター {#companion-state-and-mount-locators} + +インストーラーには `ti-drive9` が含まれており、これは `ti fs`、`ti fs-git`、`ti fs-journal`、および `ti fs-vault` の操作を実行する companion runtime です。これを直接呼び出すことはありません。登録された各 Filesystem には、分離された companion home があります。 + +```text +~/.ti/drive9-home/// +``` + +`ti` ワークフローでは、この状態やスタンドアロンの `~/.drive9` 設定を編集しないでください。 + +バックグラウンドの FS または vault マウントが成功すると、機密情報を含まないロケーターが書き込まれます。 + +```text +~/.ti/mounts/.locator.json +``` + +このロケーターには、同じ `HOME` から drain およびアンマウントを行うために必要な配置先情報と companion-home 情報が記録されます。FS トークンは含まれません。アンマウントが成功すると削除されます。 + +## 操作ログ {#operation-logs} + +`ti` は、ローカルの JSON Lines 形式のイベントを秘匿化して次の場所に書き込みます。 + +```text +~/.ti/logs/ti.jsonl +``` + +このログは、テレメトリーではなく、ローカルの監査およびデバッグ用データです。コマンド名、フラグ名、プロファイルとリージョン、所要時間、終了コードと安定したエラーコード、HTTP メソッド/ステータス、操作、およびリクエスト ID を含む場合があります。フラグ値、SQL、ファイルパスとその内容、ペイロード、接続文字列、および認証情報は含まれません。 + +1 つのプロセスに対して無効にするには、次を実行します。 + +```bash +TI_LOGGING=off ti db list-db-clusters --db-cluster-type starter +``` + +または、`~/.ti/.preferences` を作成または編集します。 + +```toml +schema_version = 1 + +[logging] +enabled = false +``` + +環境変数の値 `off`、`false`、`0`、`no` はロギングを無効にし、`on`、`true`、`1`、`yes` は有効にします。環境変数は設定より優先されます。無効な設定値が指定された場合、要求されたコマンドを失敗させることなく、操作ログは無効になります。 + +既存のインストールで `[logging]` を `~/.ti/config` に保存している場合、それらの値は自動的に `~/.ti/.preferences` に移行されます。この移行では、プロファイルと認証情報は保持されます。`ti update` は、`~/.ti/` 配下の設定、プロファイル、認証情報、操作ログ、またはその他の状態を読み書きしません。 + +## 匿名テレメトリー {#anonymous-telemetry} + +リリースビルドは、対象となるコマンドについて、ベストエフォートで 1 件の完了イベントを TiDB Cloud CLI のテレメトリーサービスに送信します。このイベントには、正規化されたコマンド、明示的に指定されたフラグ名、安定した終了コードとエラーコード、所要時間、リージョン、CLI バージョン、OS、アーキテクチャ、インストール元、およびランダムな仮名化されたインストール ID が含まれます。フラグ値、認証情報、トークン、SQL テキスト、ファイルパスまたはその内容、コマンド出力、API ペイロード、プロファイル名、またはクラウドリソース ID は含まれません。 + +開発ビルドおよび認識された CI 環境では、デフォルトで無効です。help、version、コマンドなしの使用、およびすべての `ti update` モードは常に除外されます。テレメトリーを永続的に無効にするには、次のグローバル設定を追加します。 + +```toml +[telemetry] +enabled = false +``` + +ファイルを変更せずに 1 つのプロセスに対して無効にするには、次を実行します。 + +```bash +TI_TELEMETRY=off ti db list-db-clusters --db-cluster-type starter +``` + +TiDB Cloud CLI は、最初の対象イベントに対して `~/.ti/.telemetry-installation-id` を遅延作成し、POSIX 権限が利用可能な場合は現在のユーザーのみに制限します。仮名化された ID をリセットするには、このファイルを削除してください。テレメトリーの配信は損失を伴う可能性があり、コマンド出力、エラー、または終了ステータスを変更することはありません。 + +統合は、プロファイルやコマンドを変更せずに、明示的なプロセススコープのメタデータを付加できます。`TI_TELEMETRY_TAG` は最大 128 バイトの UTF-8 文字列を受け付けます。`TI_TELEMETRY_EXTRA` は、圧縮後 2 KiB までの完全な JSON 値 1 つを受け付けます。無効なメタデータ、禁止されたメタデータ、深くネストされたメタデータ、またはサイズ超過のメタデータは、コマンドに影響を与えることなく省略されます。どちらの値にも、認証情報、トークン、SQL、パス、個人データ、プロファイル名、またはクラウドリソース ID を含めないでください。 + +```bash +TI_TELEMETRY_TAG="e2b-preview" \ +TI_TELEMETRY_EXTRA='{"campaign":"launch","runtime":"e2b"}' \ +ti fs list-files --file-system-id --path / +``` + +## 機密情報 {#sensitive-values} + +次の値はシークレットとして扱ってください。 + +- TiDB Cloud API の秘密鍵と公開鍵のペア +- FS オーナートークン +- DB SQL のユーザー名、パスワード、および接続文字列 +- 委任された vault トークンとシークレット値 + +これらをソース管理、チケット、ログ、コマンド例、または保護されていないシェル履歴に保存しないでください。 + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud CLI のリージョン、セキュリティ、および制限事項](/ai/ti/reference/ti-regions-security-and-limitations.md) +- [TiDB Cloud CLI のトラブルシューティング](/ai/ti/reference/ti-troubleshooting.md) diff --git a/ai/ti/reference/ti-configure.md b/ai/ti/reference/ti-configure.md new file mode 100644 index 0000000000000..a120d778ac40d --- /dev/null +++ b/ai/ti/reference/ti-configure.md @@ -0,0 +1,71 @@ +--- +title: ti configure +summary: ローカルの TiDB Cloud CLI プロファイルを対話形式または非対話形式で設定します。 +--- + +# ti configure + +ローカルの TiDB Cloud CLI プロファイルを設定します。フラグを指定しない場合、これは対話形式で実行できる唯一の TiDB Cloud CLI コマンドです。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti configure + [--help] + [--non-interactive] + [--region-code ] + [--tidb-cloud-private-key ] + [--tidb-cloud-public-key ] + [--version] +``` + +## オプション {#options} + +- `--help`: ヘルプ情報を表示します。 +- `--non-interactive`: プロンプトを表示しません。対応するコマンドオプションまたは環境変数を使用して、リージョンコード、公開鍵、秘密鍵を指定します。これは、スクリプトまたは自動化環境で `ti` を実行する場合に便利です。 +- `--region-code `: デフォルトのリージョンコード。たとえば `aws-us-east-1` または `aws-ap-southeast-1` です。 +- `--tidb-cloud-private-key `: TiDB Cloud API 秘密鍵。 +- `--tidb-cloud-public-key `: TiDB Cloud API 公開鍵。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 設定値のソース {#configuration-value-sources} + +次のコマンドオプションと環境変数は、同じ設定値を提供します。 + +| 設定値 | コマンドオプション | 環境変数 | +| --- | --- | --- | +| デフォルトのリージョンコード | `--region-code` | `TI_REGION_CODE` | +| TiDB Cloud API 公開鍵 | `--tidb-cloud-public-key` | `TIDB_CLOUD_PUBLIC_KEY` | +| TiDB Cloud API 秘密鍵 | `--tidb-cloud-private-key` | `TIDB_CLOUD_PRIVATE_KEY` | + +各値について、明示的に指定されたコマンドオプションは、対応する環境変数よりも優先されます。`--non-interactive` を使用する場合、3 つすべての値がこれらのソースから解決される必要があります。 + +## 例 {#examples} + +- `ti` を対話形式で設定する場合: + + ```bash + # Enter the default region code and TiDB Cloud API keys when prompted. + ti configure + ``` + +- 自動化向けに `ti` を設定する場合: + + ```bash + # Supply all required values without interactive prompts. + TI_REGION_CODE="aws-us-east-1" \ + TIDB_CLOUD_PUBLIC_KEY="" \ + TIDB_CLOUD_PRIVATE_KEY="" \ + ti configure --profile ci --non-interactive + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud CLI のインストール、設定、および更新](/ai/ti/reference/ti-install-configure-update.md) +- [TiDB Cloud CLI の設定と認証情報](/ai/ti/reference/ti-configuration-and-credentials.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-db-create-db-cluster-branch.md b/ai/ti/reference/ti-db-create-db-cluster-branch.md new file mode 100644 index 0000000000000..ebd2e67e4a8fc --- /dev/null +++ b/ai/ti/reference/ti-db-create-db-cluster-branch.md @@ -0,0 +1,55 @@ +--- +title: ti db create-db-cluster-branch +summary: TiDB Cloud Starter クラスターのブランチを作成します。 +--- + +# ti db create-db-cluster-branch + +1 つの TiDB Cloud Starter インスタンスに対してブランチを作成します。`--wait` を指定すると、ブランチが `ACTIVE` になるまで待機します。このコマンドは、ブランチを作成する前に親クラスターが Starter であることを検証します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェイスは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti db create-db-cluster-branch + --db-cluster-branch-name + --db-cluster-id + [--dry-run] + [--help] + [--version] + [--wait] +``` + +## オプション {#options} + +- `--db-cluster-branch-name `: Starter DB クラスターのブランチ表示名。\[required] +- `--db-cluster-id `: Starter DB クラスター ID。\[required] +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 +- `--wait`: 作成されたブランチが `ACTIVE` になるまで待機してから戻ります。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- ブランチを作成し、アクティブになるまで待機する場合: + + ```bash + # Wait until the new database branch can accept connections. + ti db create-db-cluster-branch --db-cluster-id "" --db-cluster-branch-name dev --wait + ``` + +- ブランチ作成をプレビューする場合: + + ```bash + # Validate the parent cluster and branch request without creating it. + ti db create-db-cluster-branch --db-cluster-id "" --db-cluster-branch-name preview --dry-run + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Starter CLI コマンドリファレンス](/ai/ti/reference/ti-starter-database.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-db-create-db-cluster.md b/ai/ti/reference/ti-db-create-db-cluster.md new file mode 100644 index 0000000000000..ab65c8661b449 --- /dev/null +++ b/ai/ti/reference/ti-db-create-db-cluster.md @@ -0,0 +1,85 @@ +--- +title: ti db create-db-cluster +summary: TiDB Cloud Starter クラスターを作成します。 +--- + +# ti db create-db-cluster + +TiDB Cloud Starter インスタンスを作成します。必須の `--db-cluster-type` は `starter` である必要があり、暗黙的な型指定はありません。`--wait` を指定すると、クラスターが `ACTIVE` になるまで待機します。 + +このリクエストではプロジェクトを選択しません。TiDB Cloud はサーバー側のプロジェクトルールに従ってインスタンスを割り当て、`ti` はレスポンス内のプロジェクトメタデータをそのまま保持します。`ti` を使用してプロジェクトを選択または設定することはできません。 + +TiDB Cloud CLI は、返されたサービスプランを検証します。作成の受け付け後に検証が失敗した場合、`ti` はクラスター ID を報告し、調査用にそのインスタンスを保持します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti db create-db-cluster + --db-cluster-name + --db-cluster-type + [--dry-run] + [--help] + [--monthly-spending-limit-usd-cents ] + [--version] + [--wait] +``` + +## オプション {#options} + +- `--db-cluster-name `: Starter DB クラスターの表示名です。\[required] +- `--db-cluster-type `: DB クラスターのタイプです。`starter` である必要があります。\[required] +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--help`: ヘルプ情報を表示します。 +- `--monthly-spending-limit-usd-cents `: 月間利用上限を米ドルセント単位で指定します。省略した場合、`ti` は利用上限を送信せず、TiDB Cloud がデフォルトのルールを適用します。詳細は、[TiDB Cloud Starter インスタンスの利用上限を管理する](/tidb-cloud/manage-serverless-spend-limit.md) を参照してください。 +- `--version`: バージョン情報を表示します。 +- `--wait`: 作成したクラスターが `ACTIVE` になるまで待機してから戻ります。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- クラスターを作成し、アクティブになるまで待機します。 + + ```bash + # Wait until the new TiDB Cloud Starter instance reaches the ACTIVE state. + ti db create-db-cluster --db-cluster-type starter --db-cluster-name app-db --wait + ``` + +- クラスターを非同期で作成します。 + + ```bash + # Return after TiDB Cloud accepts creation so another process can poll the cluster. + ti db create-db-cluster --db-cluster-type starter --db-cluster-name background-db + ``` + +- クラスター作成をプレビューします。 + + ```bash + # Validate the request and resolved defaults without creating a cluster. + ti db create-db-cluster --db-cluster-type starter --db-cluster-name app-db --dry-run + ``` + +- 月間利用上限を設定します。 + + ```bash + # Create a paid TiDB Cloud Starter instance with a monthly limit expressed in US dollar cents. + ti db create-db-cluster --db-cluster-type starter --db-cluster-name production-db --monthly-spending-limit-usd-cents 1000 --wait + ``` + +## 作成後の検証に失敗した場合 {#if-post-creation-verification-fails} + +TiDB Cloud が作成リクエストを受け付けたものの、`ti` が返されたリソースを Starter インスタンスとして検証できない場合は、エラー内のクラスター ID を確認してください。保持されたリソースは、次のコマンドで確認できます。 + +```bash +ti db describe-db-cluster --db-cluster-id "" +``` + +`ti` が引き続きサービスプランを検証できない場合は、TiDB Cloud コンソールでリソースを確認または削除してください。最初のリクエストでインスタンスが作成されたかどうかを確認するまでは、create コマンドを再実行しないでください。 + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Starter CLI コマンドリファレンス](/ai/ti/reference/ti-starter-database.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-db-create-db-sql-users.md b/ai/ti/reference/ti-db-create-db-sql-users.md new file mode 100644 index 0000000000000..ac087c3537cc9 --- /dev/null +++ b/ai/ti/reference/ti-db-create-db-sql-users.md @@ -0,0 +1,63 @@ +--- +title: ti db create-db-sql-users +summary: TiDB Cloud Starter インスタンス用に、TiDB Cloud CLI が管理する SQL ユーザーを作成します。 +--- + +# ti db create-db-sql-users + +TiDB Cloud Starter インスタンス用に、`ti` が管理する 3 つの SQL ユーザー(read-only、read-write、admin)を作成または修復します。これらの認証情報はローカルに保存されるため、後続のコマンドで `--read-only`、`--read-write`、または `--admin` を使用して適切なユーザーを選択できます。 + +これらのユーザーには、以下の事前定義されたアクセスレベルと組み込みの TiDB Cloud ロールがあります。 + +| `ti` access mode | TiDB Cloud built-in role | 想定用途 | +| --- | --- | --- | +| `read_only` | `role_readonly` | データを変更せずにクエリおよび検証を行う | +| `read_write` | `role_readwrite` | アプリケーションデータのクエリおよび変更を行う | +| `admin` | `role_admin` | スキーマ変更を行い、権限を管理する | + +TiDB Cloud のロールモデルについては、[データベースユーザーとロールの管理](/tidb-cloud/configure-sql-users.md) を参照してください。 + +`ti` は、生成されたユーザー名とパスワードを `~/.ti/db_users//credentials` に保存し、3 つのアクセスモードごとに個別の TOML セクションを作成します。POSIX 権限をサポートするシステムでは、認証情報ファイルは所有者のみが読み書きできます。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェイスは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti db create-db-sql-users + --db-cluster-id + [--dry-run] + [--help] + [--version] +``` + +## オプション {#options} + +- `--db-cluster-id `: Starter DB クラスター ID。\[required] +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- 管理対象の SQL ユーザーを作成します。 + + ```bash + # Create or reconcile the read-only, read-write, and admin SQL users. + ti db create-db-sql-users --db-cluster-id "" + ``` + +- SQL ユーザー作成をプレビューします。 + + ```bash + # Show the three managed roles without changing SQL users or local credentials. + ti db create-db-sql-users --db-cluster-id "" --dry-run + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Starter CLI コマンドリファレンス](/ai/ti/reference/ti-starter-database.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-db-delete-db-cluster-branch.md b/ai/ti/reference/ti-db-delete-db-cluster-branch.md new file mode 100644 index 0000000000000..37fa31cf84f03 --- /dev/null +++ b/ai/ti/reference/ti-db-delete-db-cluster-branch.md @@ -0,0 +1,48 @@ +--- +title: ti db delete-db-cluster-branch +summary: TiDB Cloud Starter クラスターからブランチを削除します。 +--- + +# ti db delete-db-cluster-branch + +TiDB Cloud Starter インスタンスから 1 つのブランチを削除します。このコマンドは、ブランチの読み取りまたは削除を行う前に、親クラスターが Starter であることを検証します。削除レスポンスはポーリングせずに返され、このコマンドでは `--wait` オプションは提供されません。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti db delete-db-cluster-branch + --db-cluster-branch-id + --db-cluster-id + [--dry-run] + [--help] + [--version] +``` + +## オプション {#options} + +- `--db-cluster-branch-id `: Starter DB クラスターのブランチ ID。\[required] +- `--db-cluster-id `: Starter DB クラスター ID。\[required] +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- ブランチを削除する: + + ```bash + # Delete only the selected branch from its parent TiDB Cloud Starter instance. + ti db delete-db-cluster-branch --db-cluster-id "" --db-cluster-branch-id "" + ``` + +ブランチが表示されなくなったことを確認するには、`ti db list-db-cluster-branches --db-cluster-id ""` を実行します。 + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Starter CLI コマンドリファレンス](/ai/ti/reference/ti-starter-database.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-db-delete-db-cluster.md b/ai/ti/reference/ti-db-delete-db-cluster.md new file mode 100644 index 0000000000000..3fce943be1b4d --- /dev/null +++ b/ai/ti/reference/ti-db-delete-db-cluster.md @@ -0,0 +1,53 @@ +--- +title: ti db delete-db-cluster +summary: TiDB Cloud Starter クラスターを削除します。 +--- + +# ti db delete-db-cluster + +TiDB Cloud Starter インスタンスを削除します。削除が完了するまで待機するには、`--wait` を使用します。このコマンドは TiDB Cloud Starter インスタンスのみを受け付け、その他のクラスタータイプは拒否します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti db delete-db-cluster + --db-cluster-id + [--dry-run] + [--help] + [--version] + [--wait] +``` + +## オプション {#options} + +- `--db-cluster-id `: Starter DB クラスター ID。\[required] +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 +- `--wait`: TiDB Cloud が削除リクエストを受け付けた後、インスタンスが `DELETED` に到達するまでポーリングします。その後に `not found` または `permission denied` の応答が返された場合も、インスタンスを読み取れなくなっているため、削除完了として扱われます。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- クラスターを削除し、完了まで待機する場合: + + ```bash + # Wait until TiDB Cloud reports the cluster deleted or no longer accessible. + ti db delete-db-cluster --db-cluster-id "" --wait + ``` + +- クラスターを非同期で削除する場合: + + ```bash + # Return after TiDB Cloud accepts deletion while cleanup continues remotely. + ti db delete-db-cluster --db-cluster-id "" + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Starter CLI コマンドリファレンス](/ai/ti/reference/ti-starter-database.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-db-describe-db-cluster-branch.md b/ai/ti/reference/ti-db-describe-db-cluster-branch.md new file mode 100644 index 0000000000000..e463d41ad12a6 --- /dev/null +++ b/ai/ti/reference/ti-db-describe-db-cluster-branch.md @@ -0,0 +1,46 @@ +--- +title: ti db describe-db-cluster-branch +summary: TiDB Cloud Starter クラスターのブランチを記述します。 +--- + +# ti db describe-db-cluster-branch + +クラスター ID とブランチ ID を指定して、1 つのブランチを記述します。デフォルトの `FULL` ビューでは、TiDB Cloud API から取得可能な完全なブランチ詳細を返します。基本情報のみを取得するには、`--view BASIC` を使用します。このコマンドは、ブランチを読み取る前に親クラスターが Starter であることを確認します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti db describe-db-cluster-branch + --db-cluster-branch-id + --db-cluster-id + [--help] + [--version] + [--view ] +``` + +## オプション {#options} + +- `--db-cluster-branch-id `: Starter DB クラスターのブランチ ID。\[required] +- `--db-cluster-id `: Starter DB クラスター ID。\[required] +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 +- `--view `: 詳細レベル: `BASIC` または `FULL`。省略した場合、TiDB Cloud API は `FULL` を使用します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- ブランチを記述する: + + ```bash + # Return full lifecycle and connection details for one branch. + ti db describe-db-cluster-branch --db-cluster-id "" --db-cluster-branch-id "" --view FULL + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Starter CLI コマンドリファレンス](/ai/ti/reference/ti-starter-database.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-db-describe-db-cluster.md b/ai/ti/reference/ti-db-describe-db-cluster.md new file mode 100644 index 0000000000000..b123dcd754eb2 --- /dev/null +++ b/ai/ti/reference/ti-db-describe-db-cluster.md @@ -0,0 +1,44 @@ +--- +title: ti db describe-db-cluster +summary: TiDB Cloud Starter クラスターの詳細を表示します。 +--- + +# ti db describe-db-cluster + +TiDB Cloud Starter インスタンスの情報を取得します。デフォルトの `BASIC` ビューでは、インスタンスの基本情報が返されます。TiDB Cloud API から取得可能な完全な詳細を要求するには、`--view FULL` を使用します。クラスターの API メタデータによって Starter であることを確認できない場合、このコマンドはそのクラスターを拒否します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti db describe-db-cluster + --db-cluster-id + [--help] + [--version] + [--view ] +``` + +## オプション {#options} + +- `--db-cluster-id `: Starter DB クラスター ID。\[required] +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 +- `--view `: 詳細レベル: `BASIC` または `FULL`。省略した場合、TiDB Cloud API は `BASIC` を使用します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- TiDB Cloud Starter インスタンスの情報を取得します。 + + ```bash + # Return the instance state, placement, and connection metadata. + ti db describe-db-cluster --db-cluster-id "" --view FULL + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Starter CLI コマンドリファレンス](/ai/ti/reference/ti-starter-database.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-db-execute-sql-statement.md b/ai/ti/reference/ti-db-execute-sql-statement.md new file mode 100644 index 0000000000000..b3f9352e41b52 --- /dev/null +++ b/ai/ti/reference/ti-db-execute-sql-statement.md @@ -0,0 +1,87 @@ +--- +title: ti db execute-sql-statement +summary: TiDB Cloud Starter クラスターに対して 1 つの SQL ステートメントを実行します。 +--- + +# ti db execute-sql-statement + +TiDB Cloud Starter インスタンスに対して 1 つの SQL ステートメントを実行します。デフォルトのアクセスロールは read-write です。ロールは明示的に指定することを推奨します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti db execute-sql-statement + --db-cluster-id + --sql + [--admin] + [--database ] + [--help] + [--read-only] + [--read-write] + [--transport ] + [--version] +``` + +## オプション {#options} + +- `--db-cluster-id `: Starter DB クラスター ID。\[required] +- `--sql `: 実行する 1 つの SQL ステートメント。\[required] +- `--admin`: 用意された admin DB SQL 認証情報を使用します。 +- `--database `: データベース / デフォルトスキーマ名。 +- `--help`: ヘルプ情報を表示します。 +- `--read-only`: 用意された `read_only` DB SQL 認証情報を使用します。 +- `--read-write`: 用意された `read_write` DB SQL 認証情報を使用します。 +- `--transport `: SQL 実行トランスポート: `https` または `mysql`。\[default: https] +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- デフォルトの read-write ロールでステートメントを実行する: + + ```bash + # Use the default prepared role for normal application reads and writes. + ti db execute-sql-statement --db-cluster-id "" --sql "INSERT INTO app.events(message) VALUES ('ready')" + ``` + +- read-only クエリを実行する: + + ```bash + # Prevent the statement from using read-write or admin credentials. + ti db execute-sql-statement --db-cluster-id "" --read-only --sql "SELECT 1 AS ready" --output text + ``` + +- 管理用ステートメントを実行する: + + ```bash + # Use the admin role for schema creation or privilege management. + ti db execute-sql-statement --db-cluster-id "" --admin --sql "CREATE DATABASE IF NOT EXISTS app" + ``` + +- MySQL フォールバックトランスポートを使用する: + + ```bash + # Open a direct TLS MySQL connection when the workflow requires the MySQL protocol. + ti db execute-sql-statement --db-cluster-id "" --transport mysql --sql "SELECT CURRENT_TIMESTAMP" + ``` + +## トランスポートを選択する {#choose-a-transport} + +デフォルトの `https` トランスポートは、ステートメントを TiDB Cloud HTTPS SQL API に送信します。`mysql` トランスポートは、インスタンスへの直接 TLS MySQL 接続を開き、ステートメントを 1 回実行してから接続を閉じます。`mysql` は、ネットワークまたはワークフローで MySQL プロトコルが特に必要な場合にのみ使用してください。 + +CLI は、`https` から `mysql` へ自動的にフォールバックしたり、もう一方のトランスポートでステートメントを再試行したりしません。これにより、障害が曖昧な場合に書き込みステートメントが 2 回実行されることを防ぎます。 + +## 出力 {#output} + +JSON 出力には、`fields`、`rows`、`row_count`、該当する場合は `rows_affected`、該当する場合は `last_insert_id`、`transport`、`access_mode`、および `cluster_id` が含まれます。`rows` 内の各項目は、カラム名をキーとするオブジェクトです。 + +`--output text` を指定すると、クエリ結果はカラム見出しと行数を含むテーブルとして表示されます。行を返さないステートメントでは、影響を受けた行数と、利用可能な場合は最後の insert ID を含む `Query OK` メッセージが出力されます。 + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Starter CLI コマンドリファレンス](/ai/ti/reference/ti-starter-database.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-db-format-db-connection-string.md b/ai/ti/reference/ti-db-format-db-connection-string.md new file mode 100644 index 0000000000000..7ec870ce165db --- /dev/null +++ b/ai/ti/reference/ti-db-format-db-connection-string.md @@ -0,0 +1,79 @@ +--- +title: ti db format-db-connection-string +summary: TiDB Cloud CLI で管理される SQL ユーザー向けの接続文字列を整形します。 +--- + +# ti db format-db-connection-string + +保存されている SQL 認証情報を、読み書き、読み取り専用、または管理者アクセス用に整形します。ロールオプションを指定しない場合、このコマンドは `read_write` を使用します。このコマンドは、ローカルの SQL 認証情報を読み込む前に、クラスターが Starter であることを検証します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti db format-db-connection-string + --db-cluster-id + [--admin] + [--database ] + [--env-database-url-name ] + [--env-include-database-url] + [--env-prefix ] + [--format ] + [--help] + [--read-only] + [--read-write] + [--version] +``` + +## オプション {#options} + +- `--db-cluster-id `: Starter DB クラスター ID。\[required] +- `--admin`: 準備済みの管理者 DB SQL 認証情報を使用します。 +- `--database `: データベース名 / デフォルトスキーマ名。 +- `--env-database-url-name `: `--format env` 用の Database URL 変数名。\[default: DATABASE_URL] +- `--env-include-database-url`: `--format env` とともに Database URL 変数を含めます。 +- `--env-prefix `: `--format env` 用の dotenv 変数プレフィックス。\[default: TIDB_] +- `--format `: 接続文字列の形式: `mysql-uri`、`jdbc`、`go-sql-driver`、`sqlalchemy`、または `env`。\[default: mysql-uri] +- `--help`: ヘルプ情報を表示します。 +- `--read-only`: 準備済みの `read_only` DB SQL 認証情報を使用します。 +- `--read-write`: 準備済みの `read_write` DB SQL 認証情報を使用します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- 読み書き用の MySQL URI を整形する: + + ```bash + # Use the default application role in tools that accept a MySQL URI. + ti db format-db-connection-string --db-cluster-id "" --read-write --format mysql-uri + ``` + +- 読み取り専用の dotenv 変数を整形する: + + ```bash + # Emit environment assignments for a workload that must not modify data. + ti db format-db-connection-string --db-cluster-id "" --read-only --format env --env-prefix TIDB_ + ``` + +- 管理者 JDBC URL を整形する: + + ```bash + # Generate a JDBC connection value with the prepared admin credentials. + ti db format-db-connection-string --db-cluster-id "" --admin --format jdbc --database app + ``` + +- dotenv 出力に DATABASE_URL を含める: + + ```bash + # Emit both component variables and a conventional DATABASE_URL value. + ti db format-db-connection-string --db-cluster-id "" --read-write --format env --env-include-database-url + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Starter CLI コマンドリファレンス](/ai/ti/reference/ti-starter-database.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-db-list-db-cluster-branches.md b/ai/ti/reference/ti-db-list-db-cluster-branches.md new file mode 100644 index 0000000000000..570358f236b3a --- /dev/null +++ b/ai/ti/reference/ti-db-list-db-cluster-branches.md @@ -0,0 +1,46 @@ +--- +title: ti db list-db-cluster-branches +summary: TiDB Cloud Starter クラスターのブランチを一覧表示します。 +--- + +# ti db list-db-cluster-branches + +1 つの TiDB Cloud Starter インスタンスのブランチを、必要に応じてページネーション付きで一覧表示します。このコマンドは、ブランチを一覧表示する前に親クラスターが Starter であることを検証します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェイスは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti db list-db-cluster-branches + --db-cluster-id + [--help] + [--page-size ] + [--page-token ] + [--version] +``` + +## オプション {#options} + +- `--db-cluster-id `: Starter DB クラスター ID。\[required] +- `--help`: ヘルプ情報を表示します。 +- `--page-size `: リクエストするブランチ数です。省略した場合、または `0` に設定した場合、API は最大 `10` 件を返します。API の最大値は `100` で、`100` を超える値は `100` に設定されます。 +- `--page-token `: 以前の list-db-cluster-branches 呼び出しで返されたページトークンです。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- クラスターのブランチを一覧表示します。 + + ```bash + # Return all branches that belong to the selected TiDB Cloud Starter instance. + ti db list-db-cluster-branches --db-cluster-id "" + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Starter CLI コマンドリファレンス](/ai/ti/reference/ti-starter-database.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-db-list-db-clusters.md b/ai/ti/reference/ti-db-list-db-clusters.md new file mode 100644 index 0000000000000..1bfdfc4db5180 --- /dev/null +++ b/ai/ti/reference/ti-db-list-db-clusters.md @@ -0,0 +1,87 @@ +--- +title: ti db list-db-clusters +summary: TiDB Cloud Starter クラスターを一覧表示します。 +--- + +# ti db list-db-clusters + +選択したリージョン内の TiDB Cloud Starter インスタンスを一覧表示します。必要に応じて、ページネーション、フィルタリング、並べ替え、JMESPath による射影を指定できます。必須の `--db-cluster-type` は `starter` である必要があります。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti db list-db-clusters + --db-cluster-type + [--filter ] + [--help] + [--order-by ] + [--page-size ] + [--page-token ] + [--version] +``` + +## オプション {#options} + +- `--db-cluster-type `: DB クラスターのタイプです。`starter` である必要があります。\[required] +- `--filter `: TiDB Cloud Starter API のフィルタ式です。API は、`region.provider`、`region.name`、`state`、`projectId`、`clusterId`、`displayName`、`labels.` に対して、Google AIP スタイルの `=` および `AND` 式をサポートします。 +- `--help`: ヘルプ情報を表示します。 +- `--order-by `: TiDB Cloud Starter API の `orderBy` 式です。`ti` はこの値を解釈せず、そのまま API に渡します。 +- `--page-size `: 返される検証済みクラスターの数です。省略した場合、または `0` に設定した場合のデフォルトは `10` です。最大値は `1000` です。 +- `--page-token `: 以前の互換性のある list-db-clusters 呼び出しで返された、不透明な ti ページトークンです。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- クラスターを一覧表示する: + + ```bash + # Return TiDB Cloud Starter instances in the profile's configured region as structured JSON. + ti db list-db-clusters --db-cluster-type starter + ``` + +- 別のリージョンのクラスターを一覧表示する: + + ```bash + # Override the region for this invocation without changing the profile. + ti --region aws-us-west-2 db list-db-clusters --db-cluster-type starter + ``` + +- クラスターのフィールドを選択する: + + ```bash + # Reduce the result to IDs, names, and lifecycle states. + ti db list-db-clusters --db-cluster-type starter --query 'clusters[].{id:id,name:display_name,state:state}' + ``` + +- アクティブなクラスターをフィルタリングする: + + ```bash + # Combine this filter with the mandatory effective-region filter. + ti db list-db-clusters --db-cluster-type starter --filter 'state="ACTIVE"' + ``` + +## リージョン解決 {#region-resolution} + +有効なリージョンは、グローバル `--region`、次に `TI_REGION_CODE`、次に選択したプロファイルの `region_code` の順に解決されます。ユーザー指定の `--filter` 式は、この必須のリージョンスコープと結合されるため、結果を他のリージョンに拡張することはできません。 + +リージョンをまたぐインスタンスおよび非Starter インスタンスは除外されます。また、サービスプランまたはリージョン情報の欠落や競合により、選択したリージョン内の Starter インスタンスであることを `ti` が検証できない場合も、そのインスタンスは除外されます。 + +## フィルタと並べ替えの動作 {#filter-and-ordering-behavior} + +`ti` は、ユーザー指定のフィルタ式および並べ替え式を TiDB Cloud Starter API に渡します。無効または未サポートの式は API によって拒否されます。API の仕様については、[TiDB Cloud API v1beta1 の概要](/api/tidb-cloud-api-v1beta1.md) を参照してください。 + +## ページトークンの再利用 {#page-token-reuse} + +このコマンドは、1 つの結果ページを満たすために複数の TiDB Cloud API ページを取得でき、`ti` の `next_page_token` を返します。検証済みの結果外のリソースを含む可能性があるため、API の `total_size` は省略されます。 + +ページトークンは、同じプロファイル、クラスタータイプ、リージョン、フィルタ、並べ替えでのみ再利用できます。再実行時のページが変更されている場合は、`--page-token` を付けずに一覧取得をやり直してください。 + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Starter CLI コマンドリファレンス](/ai/ti/reference/ti-starter-database.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-db-update-db-cluster.md b/ai/ti/reference/ti-db-update-db-cluster.md new file mode 100644 index 0000000000000..b8342b976a9ad --- /dev/null +++ b/ai/ti/reference/ti-db-update-db-cluster.md @@ -0,0 +1,55 @@ +--- +title: ti db update-db-cluster +summary: TiDB Cloud Starter クラスターを更新します。 +--- + +# ti db update-db-cluster + +TiDB Cloud Starter インスタンスの表示名または月間支出上限を更新します。`--db-cluster-name` または `--monthly-spending-limit-usd-cents` の少なくとも一方が必要です。このコマンドは Starter インスタンスのみを受け付けます。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェイスは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti db update-db-cluster + --db-cluster-id + [--db-cluster-name ] + [--dry-run] + [--help] + [--monthly-spending-limit-usd-cents ] + [--version] +``` + +## オプション {#options} + +- `--db-cluster-id `: Starter DB クラスター ID。\[required] +- `--db-cluster-name `: 新しい Starter DB クラスターの表示名。 +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--help`: ヘルプ情報を表示します。 +- `--monthly-spending-limit-usd-cents `: 米ドルセント単位の月間支出上限。省略すると変更されません。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- クラスター名を変更する: + + ```bash + # Change the TiDB Cloud Starter instance display name without recreating it. + ti db update-db-cluster --db-cluster-id "" --db-cluster-name app-db-v2 + ``` + +- 支出上限の更新をプレビューする: + + ```bash + # Validate a new monthly limit without applying the change. + ti db update-db-cluster --db-cluster-id "" --monthly-spending-limit-usd-cents 1000 --dry-run + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Starter CLI コマンドリファレンス](/ai/ti/reference/ti-starter-database.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-filesystem-git.md b/ai/ti/reference/ti-filesystem-git.md new file mode 100644 index 0000000000000..03dd741b4fe43 --- /dev/null +++ b/ai/ti/reference/ti-filesystem-git.md @@ -0,0 +1,22 @@ +--- +title: TiDB Cloud Filesystem Git CLI コマンドリファレンス +summary: クローン、hydrate、リンクされた Git worktree の管理を行う各 `ti fs-git` コマンドのリファレンスです。 +--- + +# TiDB Cloud Filesystem Git CLI コマンドリファレンス + +`ti fs-git` は、マウントされた TiDB Cloud Filesystem パス上での Git ワークスペースのセットアップを高速化します。status、edit、add、commit、fetch、push には、引き続き通常の `git` コマンドを使用してください。 + +## コマンド {#commands} + +| コマンド | 説明 | +|---|---| +| [`clone-git-workspace`](/ai/ti/reference/ti-fs-git-clone-git-workspace.md) | リポジトリをマウントされた Filesystem パスにクローンします。 | +| [`hydrate-git-workspace`](/ai/ti/reference/ti-fs-git-hydrate-git-workspace.md) | 既存の fast または blobless ワークスペースに対して、クリーンな Git データを実体化します。 | +| [`add-git-worktree`](/ai/ti/reference/ti-fs-git-add-git-worktree.md) | ベースワークスペースからリンクされた worktree を作成します。 | +| [`remove-git-worktree`](/ai/ti/reference/ti-fs-git-remove-git-worktree.md) | リンクされた worktree を削除します。 | + +## 関連情報 {#see-also} + +- [TiDB Cloud Filesystem 上で Git ワークスペースを管理する](/ai/ti/guides/manage-git-workspaces.md) +- [TiDB Cloud Filesystem 上で Agents 用の Git ワークスペースを準備する](/ai/ti/guides/ti-git-workspace-for-agents-example.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-filesystem-journal.md b/ai/ti/reference/ti-filesystem-journal.md new file mode 100644 index 0000000000000..7fbd7d446ba55 --- /dev/null +++ b/ai/ti/reference/ti-filesystem-journal.md @@ -0,0 +1,23 @@ +--- +title: TiDB Cloud Filesystem Journal CLI コマンドリファレンス +summary: ジャーナルの作成、追記、読み取り、検索、検証を行うすべての `ti fs-journal` コマンドのリファレンスです。 +--- + +# TiDB Cloud Filesystem Journal CLI コマンドリファレンス + +`ti fs-journal` は、エージェントおよびワークフローのイベントに対して、追記専用で検証可能な台帳を提供します。 + +## コマンド {#commands} + +| コマンド | 説明 | +|---|---| +| [`create-journal`](/ai/ti/reference/ti-fs-journal-create-journal.md) | ジャーナルを作成します。 | +| [`append-journal-entries`](/ai/ti/reference/ti-fs-journal-append-journal-entries.md) | ジャーナルにイベントを追記します。 | +| [`read-journal-entries`](/ai/ti/reference/ti-fs-journal-read-journal-entries.md) | シーケンス順でジャーナルエントリを読み取ります。 | +| [`search-journal-entries`](/ai/ti/reference/ti-fs-journal-search-journal-entries.md) | ジャーナルとエントリを検索します。 | +| [`verify-journal`](/ai/ti/reference/ti-fs-journal-verify-journal.md) | ジャーナルのハッシュチェーンを検証します。 | + +## 関連情報 {#see-also} + +- [TiDB Cloud Filesystem Journal を使用する](/ai/ti/guides/use-filesystem-journals.md) +- [TiDB Cloud Filesystem Journal にエージェントワークフローを記録する](/ai/ti/guides/ti-journal-agent-workflow-example.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-filesystem-vault.md b/ai/ti/reference/ti-filesystem-vault.md new file mode 100644 index 0000000000000..f52c5b1e764fe --- /dev/null +++ b/ai/ti/reference/ti-filesystem-vault.md @@ -0,0 +1,31 @@ +--- +title: TiDB Cloud Filesystem Vault CLI コマンドリファレンス +summary: シークレット、委任アクセス、監査イベント、プロセスインジェクション、およびマウントに関するすべての `ti fs-vault` コマンドのリファレンスです。 +--- + +# TiDB Cloud Filesystem Vault CLI コマンドリファレンス + +TiDB Cloud Filesystem でシークレットと委任アクセスを管理するには、`ti fs-vault` を使用します。 + +ほとんどのシークレット管理コマンドでは、`db-prod` のようにシークレットを名前で識別します。一方、`replace-secret` と `run-with-secret` では、正規の Vault パス `/n/vault/` を指定する必要があります。`/n/vault/` は Vault 名前空間のルートであるため、`/n/vault/db-prod` とシークレット名 `db-prod` は同じシークレットを指します。 + +## コマンド {#commands} + +| コマンド | 説明 | +|---|---| +| [`create-secret`](/ai/ti/reference/ti-fs-vault-create-secret.md) | シークレットを作成します。 | +| [`replace-secret`](/ai/ti/reference/ti-fs-vault-replace-secret.md) | シークレットを置き換えます。 | +| [`read-secret`](/ai/ti/reference/ti-fs-vault-read-secret.md) | シークレットを読み取ります。 | +| [`list-secrets`](/ai/ti/reference/ti-fs-vault-list-secrets.md) | シークレットを一覧表示します。 | +| [`delete-secret`](/ai/ti/reference/ti-fs-vault-delete-secret.md) | シークレットを削除します。 | +| [`create-grant`](/ai/ti/reference/ti-fs-vault-create-grant.md) | シークレットへの制限付きアクセスを委任します。 | +| [`delete-grant`](/ai/ti/reference/ti-fs-vault-delete-grant.md) | 委任されたアクセスを取り消します。 | +| [`list-audit-events`](/ai/ti/reference/ti-fs-vault-list-audit-events.md) | Vault の監査イベントを一覧表示します。 | +| [`run-with-secret`](/ai/ti/reference/ti-fs-vault-run-with-secret.md) | シークレットをプロセスに注入します。 | +| [`mount-vault`](/ai/ti/reference/ti-fs-vault-mount-vault.md) | 読み取り専用の Vault ビューをマウントします。 | +| [`unmount-vault`](/ai/ti/reference/ti-fs-vault-unmount-vault.md) | Vault ビューをアンマウントします。 | + +## 関連情報 {#see-also} + +- [TiDB Cloud Filesystem Vault Secrets を管理する](/ai/ti/guides/manage-filesystem-vault-secrets.md) +- [TiDB Cloud Filesystem Vault シークレットを Agent に委任する](/ai/ti/guides/ti-vault-agent-secrets-example.md) diff --git a/ai/ti/reference/ti-filesystem.md b/ai/ti/reference/ti-filesystem.md new file mode 100644 index 0000000000000..caa55b29e076e --- /dev/null +++ b/ai/ti/reference/ti-filesystem.md @@ -0,0 +1,135 @@ +--- +title: TiDB Cloud Filesystem CLI コマンドリファレンス +summary: Filesystem リソース、ファイル、レイヤー、パック、マウント向けのすべての `ti fs` コマンドを参照します。 +--- + +# TiDB Cloud Filesystem CLI コマンドリファレンス + +`ti fs` を使用して TiDB Cloud Filesystem リソースをプロビジョニングし、コマンドまたはローカルマウントからそのデータにアクセスできます。 + +コマンド構文では、角括弧(`[]`)は省略可能な項目を囲みます。丸括弧は必須の選択肢をグループ化し、縦棒(`|`)は代替候補を区切ります。たとえば、`(--ttl | --no-expiration)` は、2 つのオプションのうちちょうど 1 つを指定する必要があることを意味します。 + +## リソースとトークンのコマンド {#resource-and-token-commands} + +| コマンド | 説明 | +| --- | --- | +| [`create-file-system`](/ai/ti/reference/ti-fs-create-file-system.md) | Filesystem とその初期オーナートークンを作成します。 | +| [`list-file-systems`](/ai/ti/reference/ti-fs-list-file-systems.md) | 有効なリージョン内の Filesystem を一覧表示します。 | +| [`describe-file-system`](/ai/ti/reference/ti-fs-describe-file-system.md) | ID で 1 つの Filesystem の詳細を表示します。 | +| [`check-file-system`](/ai/ti/reference/ti-fs-check-file-system.md) | Filesystem の選択、ルーティング、認証情報、およびデータプレーンアクセスを確認します。 | +| [`delete-file-system`](/ai/ti/reference/ti-fs-delete-file-system.md) | Filesystem を完全に削除します。 | +| [`import-file-system-token`](/ai/ti/reference/ti-fs-import-file-system-token.md) | 既存の Filesystem トークンをローカルにインポートして選択します。 | +| [`generate-file-system-token`](/ai/ti/reference/ti-fs-generate-file-system-token.md) | 追加のオーナートークンを生成します。 | +| [`generate-file-system-scoped-token`](/ai/ti/reference/ti-fs-generate-file-system-scoped-token.md) | パス、操作、および有効期間で制限されたトークンを生成します。 | +| [`list-file-system-tokens`](/ai/ti/reference/ti-fs-list-file-system-tokens.md) | シークレットを含まないトークンメタデータを一覧表示します。 | +| [`enable-file-system-token`](/ai/ti/reference/ti-fs-enable-file-system-token.md) | 無効化されたトークンを再度有効にします。 | +| [`disable-file-system-token`](/ai/ti/reference/ti-fs-disable-file-system-token.md) | トークンを一時的に無効にします。 | +| [`delete-file-system-token`](/ai/ti/reference/ti-fs-delete-file-system-token.md) | トークンを完全に失効させます。 | +| [`refresh-file-system-token`](/ai/ti/reference/ti-fs-refresh-file-system-token.md) | トークンをローテーションし、その置き換えトークンを 1 回だけ返します。 | + +### トークン管理の認可 {#token-management-authorization} + +オーナートークンがトークン管理を認可している場合、そのトークンはトークンの一覧表示、スコープ付きトークンの作成、およびオーナートークンまたはスコープ付きトークンの失効を実行できます。有効化または無効化できるのはスコープ付きトークンのみです。TiDB Cloud API 認証情報は、どちらの種類のトークンでも有効化、無効化、または失効できます。 + +## AI プロバイダー設定コマンド {#ai-provider-configuration-commands} + +これらのコマンドは、メディアファイルからコンテンツを抽出し、埋め込みを生成するためのオプションのプロバイダーを設定します。通常の Filesystem リソース操作およびファイル操作では、AI プロバイダー設定は不要です。 + +| コマンド | 説明 | +| --- | --- | +| [`describe-file-system-extract-configuration`](/ai/ti/reference/ti-fs-describe-file-system-extract-configuration.md) | メディア抽出プロバイダーの設定を表示します。 | +| [`update-file-system-extract-configuration`](/ai/ti/reference/ti-fs-update-file-system-extract-configuration.md) | メディアコンテンツの抽出に使用するプロバイダーを更新します。 | +| [`describe-file-system-embedding-configuration`](/ai/ti/reference/ti-fs-describe-file-system-embedding-configuration.md) | 埋め込みプロバイダーの設定を表示します。 | +| [`update-file-system-embedding-configuration`](/ai/ti/reference/ti-fs-update-file-system-embedding-configuration.md) | 埋め込みの生成に使用するプロバイダーを更新します。 | + +## データおよび名前空間のコマンド {#data-and-namespace-commands} + +| コマンド | 説明 | +| --- | --- | +| [`copy-file`](/ai/ti/reference/ti-fs-copy-file.md) | ローカルストレージと Filesystem の間、または Filesystem 内でファイルをコピーします。 | +| [`read-file`](/ai/ti/reference/ti-fs-read-file.md) | リモートファイルまたはバイト範囲を読み取ります。 | +| [`list-files`](/ai/ti/reference/ti-fs-list-files.md) | リモートパス配下のエントリを一覧表示します。 | +| [`describe-file`](/ai/ti/reference/ti-fs-describe-file.md) | リモートファイルまたはディレクトリの詳細を表示します。 | +| [`move-file`](/ai/ti/reference/ti-fs-move-file.md) | リモートパスを移動または名前変更します。 | +| [`delete-file`](/ai/ti/reference/ti-fs-delete-file.md) | リモートファイルまたはディレクトリを削除します。 | +| [`create-directory`](/ai/ti/reference/ti-fs-create-directory.md) | リモートディレクトリを作成します。 | +| [`chmod-file`](/ai/ti/reference/ti-fs-chmod-file.md) | POSIX スタイルのモードメタデータを変更します。 | +| [`create-symlink`](/ai/ti/reference/ti-fs-create-symlink.md) | シンボリックリンクを作成します。 | +| [`create-hardlink`](/ai/ti/reference/ti-fs-create-hardlink.md) | ハードリンクを作成します。 | +| [`search-file-content`](/ai/ti/reference/ti-fs-search-file-content.md) | 抽出されたファイルコンテンツと説明を検索します。 | +| [`find-files`](/ai/ti/reference/ti-fs-find-files.md) | 名前、タグ、日付、サイズ、またはタイプでファイルを検索します。 | + +## レイヤーとポータビリティのコマンド {#layer-and-portability-commands} + +| コマンド | 説明 | +| --- | --- | +| [`create-layer`](/ai/ti/reference/ti-fs-create-layer.md) | 分離された書き込み可能なレイヤーを作成します。 | +| [`list-layers`](/ai/ti/reference/ti-fs-list-layers.md) | Filesystem 内のレイヤーを一覧表示します。 | +| [`fork-layer`](/ai/ti/reference/ti-fs-fork-layer.md) | 親の tip またはチェックポイントから子レイヤーをフォークします。 | +| [`list-layer-chain`](/ai/ti/reference/ti-fs-list-layer-chain.md) | レイヤーの固定された祖先チェーンを一覧表示します。 | +| [`describe-layer`](/ai/ti/reference/ti-fs-describe-layer.md) | ID でレイヤーの詳細を表示します。 | +| [`diff-layer`](/ai/ti/reference/ti-fs-diff-layer.md) | レイヤーに記録された変更を一覧表示します。 | +| [`create-layer-checkpoint`](/ai/ti/reference/ti-fs-create-layer-checkpoint.md) | レイヤー内に永続的なチェックポイントを作成します。 | +| [`delete-layer`](/ai/ti/reference/ti-fs-delete-layer.md) | レイヤーを論理的に破棄します。 | +| [`rollback-layer`](/ai/ti/reference/ti-fs-rollback-layer.md) | 変更をコミットせずにレイヤーをロールバックします。 | +| [`commit-layer`](/ai/ti/reference/ti-fs-commit-layer.md) | レイヤーの変更をベース Filesystem に適用します。 | +| [`pack-file-system`](/ai/ti/reference/ti-fs-pack-file-system.md) | 選択したローカルオーバーレイ状態を Filesystem にアーカイブします。 | +| [`unpack-file-system`](/ai/ti/reference/ti-fs-unpack-file-system.md) | アーカイブからローカルオーバーレイ状態を復元します。 | + +### レイヤー参照 {#layer-references} + +レイヤー参照には、レイヤー ID、一意のレイヤー名、または `tag:=` 形式のタグ参照を使用できます。たとえば `tag:run=123` です。名前とタグ参照は曖昧になる可能性があるため、自動化ではレイヤー ID を使用してください。 + +### マウントプロファイルとローカルオーバーレイ {#mount-profiles-and-local-overlays} + +ローカルオーバーレイには、マウントプロファイルがリモート名前空間ではなくローカルマシン上に保持するファイルが保存されます。マウントプロファイルは、どのパスでそのオーバーレイを使用するかを定義します。 + +| マウントプロファイル | 動作 | +| --- | --- | +| `coding-agent` | バージョン管理メタデータ、依存関係ディレクトリ、キャッシュ、ビルド出力、および一般的な一時パスをローカルオーバーレイに保持します。自動パックパスは選択しません。 | +| `portable` | `coding-agent` と同じローカルパスルールを使用し、デフォルトで完全なオーバーレイをパックまたは unpack するため、マシン間やサンドボックスセッション間で移動できます。 | +| `none` | ローカルオーバーレイのパスルーティングと、自動パックまたは unpack の動作を無効にします。 | + +## マウントコマンド {#mount-commands} + +| コマンド | 説明 | +| --- | --- | +| [`mount-file-system`](/ai/ti/reference/ti-fs-mount-file-system.md) | ローカルパスに Filesystem をマウントします。 | +| [`drain-file-system`](/ai/ti/reference/ti-fs-drain-file-system.md) | 稼働中の FUSE マウントから保留中の書き込みをフラッシュします。 | +| [`unmount-file-system`](/ai/ti/reference/ti-fs-unmount-file-system.md) | Filesystem をフラッシュしてアンマウントします。 | + +## コマンドエイリアス {#command-aliases} + +以下の `ti fs` コマンドには Unix スタイルのエイリアスがあります。たとえば、`ti fs cp` は `ti fs copy-file` と同等です。表に記載されていないコマンド(`pack-file-system` や `unpack-file-system` を含む)にはエイリアスがありません。 + +| エイリアス | 正規コマンド | +| --- | --- | +| `cp` | `copy-file` | +| `cat` | `read-file` | +| `ls` | `list-files` | +| `stat` | `describe-file` | +| `mv` | `move-file` | +| `rm` | `delete-file` | +| `mkdir` | `create-directory` | +| `chmod` | `chmod-file` | +| `symlink` | `create-symlink` | +| `hardlink` | `create-hardlink` | +| `grep` | `search-file-content` | +| `find` | `find-files` | +| `mount` | `mount-file-system` | +| `drain` | `drain-file-system` | +| `umount` | `unmount-file-system` | + +エイリアスは、正規コマンドと同じオプション、認証、出力、クエリ、およびエラー動作を使用します。 + +## 関連情報 {#see-also} + +- [TiDB Cloud Filesystem リソースを管理する](/ai/ti/guides/manage-filesystem-resources.md) +- [TiDB Cloud Filesystem AI Providers を設定する](/ai/ti/guides/configure-filesystem-ai-providers.md) +- [TiDB Cloud Filesystem トークンを管理する](/ai/ti/guides/manage-filesystem-tokens.md) +- [TiDB Cloud Filesystem データを操作する](/ai/ti/guides/work-with-filesystem-data.md) +- [Filesystem レイヤーと Checkpoint を管理する](/ai/ti/guides/manage-filesystem-layers.md) +- [TiDB Cloud Filesystem をマウントする](/ai/ti/guides/mount-filesystem.md) +- [TiDB Cloud Filesystem 上の Git ワークスペースを管理する](/ai/ti/guides/manage-git-workspaces.md) +- [TiDB Cloud Filesystem Journals を使用する](/ai/ti/guides/use-filesystem-journals.md) +- [TiDB Cloud Filesystem Vault Secrets を管理する](/ai/ti/guides/manage-filesystem-vault-secrets.md) diff --git a/ai/ti/reference/ti-fs-check-file-system.md b/ai/ti/reference/ti-fs-check-file-system.md new file mode 100644 index 0000000000000..8c7ca2d6e7c5a --- /dev/null +++ b/ai/ti/reference/ti-fs-check-file-system.md @@ -0,0 +1,44 @@ +--- +title: ti fs check-file-system +summary: TiDB Cloud Filesystem の接続性を確認します。 +--- + +# ti fs check-file-system + +選択した Filesystem が正しく設定され、アクセス可能であることを、リージョン、認証情報、およびファイルアクセスを含めて検証します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs check-file-system + [--file-system-id ] + [--fs-token ] + [--help] + [--version] +``` + +## オプション {#options} + +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- Filesystem の接続性を確認します。 + + ```bash + # Verify that the selected token can reach and read the Filesystem root. + ti fs check-file-system --file-system-id + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-chmod-file.md b/ai/ti/reference/ti-fs-chmod-file.md new file mode 100644 index 0000000000000..29a326f503b26 --- /dev/null +++ b/ai/ti/reference/ti-fs-chmod-file.md @@ -0,0 +1,50 @@ +--- +title: ti fs chmod-file +summary: TiDB Cloud Filesystem 内のファイル権限を変更します。 +--- + +# ti fs chmod-file + +リモートパスの POSIX モードメタデータを変更します。このコマンドのエイリアスは `ti fs chmod` です。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs chmod-file + --mode + --path + [--dry-run] + [--file-system-id ] + [--fs-token ] + [--help] + [--version] +``` + +## オプション {#options} + +- `--mode `: 0644 などの 8 進数値で指定する権限モードです。\[required] +- `--path `: ファイルまたはディレクトリのパスです。\[required] +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- リモートの権限メタデータを変更します。 + + ```bash + # Restrict the selected file to owner read and write access. + ti fs chmod-file --file-system-id --path /reports/final.md --mode 0600 + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-commit-layer.md b/ai/ti/reference/ti-fs-commit-layer.md new file mode 100644 index 0000000000000..524de96fd5f29 --- /dev/null +++ b/ai/ti/reference/ti-fs-commit-layer.md @@ -0,0 +1,48 @@ +--- +title: ti fs commit-layer +summary: TiDB Cloud Filesystem のレイヤーをコミットします。 +--- + +# ti fs commit-layer + +1 つのレイヤーを、そのベース Filesystem に適用します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs commit-layer + --layer-id + [--dry-run] + [--file-system-id ] + [--fs-token ] + [--help] + [--version] +``` + +## オプション {#options} + +- `--layer-id `: レイヤー ID。\[required] +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- レイヤーをコミットします。 + + ```bash + # Apply the selected layer's changes to its base Filesystem view. + ti fs commit-layer --file-system-id --layer-id "" + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-copy-file.md b/ai/ti/reference/ti-fs-copy-file.md new file mode 100644 index 0000000000000..2897916f0539a --- /dev/null +++ b/ai/ti/reference/ti-fs-copy-file.md @@ -0,0 +1,121 @@ +--- +title: ti fs copy-file +summary: TiDB Cloud Filesystem との間、またはその内部でファイルをコピーします。 +--- + +# ti fs copy-file + +ローカルパス、リモートパス、標準入力、標準出力の間でファイルをコピーします。このコマンドのエイリアスは `ti fs cp` です。 + +以下のソースと宛先の組み合わせのうち、いずれか 1 つだけを指定してください。 + +| ソース | 宛先 | +| --- | --- | +| `--from-local` | `--to-remote` | +| `--from-stdin` | `--to-remote` | +| `--from-remote` | `--to-local` | +| `--from-remote` | `--to-stdout` | +| `--from-remote` | `--to-remote` | + +`--append` は `--from-local` と `--to-remote` の組み合わせでのみサポートされます。標準入力またはリモートソースはサポートされません。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs copy-file + [--append] + [--create-parents] + [--description ] + [--dry-run] + [--file-system-id ] + [--from-local ] + [--from-remote ] + [--from-stdin] + [--fs-token ] + [--help] + [--layer-id ] + [--overwrite] + [--recursive] + [--resume] + [--tag ] + [--to-local ] + [--to-remote ] + [--to-stdout] + [--version] +``` + +## オプション {#options} + +- `--append`: ローカルファイルの内容を TiDB Cloud file system 内のファイルに追記します。 +- `--create-parents`: TiDB Cloud file system からコピーする際に、不足しているローカルの親ディレクトリを作成します。 +- `--description `: `--to-remote` 操作のファイル説明です。 +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--from-local `: ローカルのソースパスです。 +- `--from-remote `: TiDB Cloud file system 内のソースパスです。 +- `--from-stdin`: 標準入力から読み取り、`--to-remote` に書き込みます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、コマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--layer-id `: コピーした 1 つのファイルを、ベースファイルシステムではなくファイルシステムレイヤーに書き込みます。`--recursive` とは併用できません。 +- `--overwrite`: 既存の宛先ファイルを置き換えます。 +- `--recursive`: ディレクトリ構造を再帰的にコピーします。`--layer-id` とは併用できません。代わりに、書き込み可能な FUSE マウントを介してレイヤーディレクトリをシードしてください。 +- `--resume`: 実行中のコピー操作を再開します。 +- `--tag `: `--to-remote` 操作用に `key=value` 形式のタグを作成します。複数回指定できます。 +- `--to-local `: ローカルの宛先パスです。 +- `--to-remote `: TiDB Cloud file system 内の宛先パスです。 +- `--to-stdout`: `--from-remote` を標準出力に書き込みます。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- ローカルファイルをアップロードする: + + ```bash + # Copy a local report into the selected remote Filesystem. + ti fs copy-file --file-system-id --from-local ./report.md --to-remote /reports/report.md + ``` + +- リモートファイルをダウンロードする: + + ```bash + # Create missing local parent directories while downloading the file. + ti fs copy-file --file-system-id --from-remote /reports/report.md --to-local ./downloads/report.md --create-parents + ``` + +- リモートディレクトリをコピーする: + + ```bash + # Duplicate a complete directory tree without downloading it locally. + ti fs copy-file --file-system-id --from-remote /reports --to-remote /archive/reports --recursive + ``` + +- 大きなアップロードを再開する: + + ```bash + # Continue an interrupted local-to-remote transfer instead of restarting it. + ti fs copy-file --file-system-id --from-local ./large.bin --to-remote /artifacts/large.bin --resume + ``` + +- リモートログに追記する: + + ```bash + # Add local log data to the existing remote object efficiently. + ti fs copy-file --file-system-id --from-local ./tail.log --to-remote /logs/app.log --append + ``` + +- 標準入力を Filesystem にストリーミングする: + + ```bash + # Upload generated content without creating an intermediate local file. + printf 'ready\n' | ti fs copy-file --file-system-id --from-stdin --to-remote /status.txt --tag source=stdin --description "generated status" + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) diff --git a/ai/ti/reference/ti-fs-create-directory.md b/ai/ti/reference/ti-fs-create-directory.md new file mode 100644 index 0000000000000..b568577992d51 --- /dev/null +++ b/ai/ti/reference/ti-fs-create-directory.md @@ -0,0 +1,50 @@ +--- +title: ti fs create-directory +summary: TiDB Cloud Filesystem にディレクトリを作成します。 +--- + +# ti fs create-directory + +リモートディレクトリを作成します。このコマンドのエイリアスは `ti fs mkdir` です。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs create-directory + --path + [--dry-run] + [--file-system-id ] + [--fs-token ] + [--help] + [--mode ] + [--version] +``` + +## オプション {#options} + +- `--path `: 作成するディレクトリのファイルシステムパスです。\[required] +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--mode `: 0755 などの 8 進数値で指定するディレクトリモードです。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- リモートディレクトリを作成します。 + + ```bash + # Create the directory with explicit POSIX permission metadata. + ti fs create-directory --file-system-id --path /reports/archive --mode 0755 + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-create-file-system.md b/ai/ti/reference/ti-fs-create-file-system.md new file mode 100644 index 0000000000000..773421ee0940f --- /dev/null +++ b/ai/ti/reference/ti-fs-create-file-system.md @@ -0,0 +1,72 @@ +--- +title: ti fs create-file-system +summary: TiDB Cloud Filesystem を作成します。 +--- + +# ti fs create-file-system + +Filesystem を作成し、その ID とオーナートークンを返します。CLI は現在のプロファイルにトークンを保存して選択します。Filesystem が使用可能になるまで待機するには、`--wait` を使用します。 + +必要に応じて、表示名とラベルを設定できます。これらの値は `list-file-systems` および `describe-file-system` の出力に表示されますが、後続のコマンドで Filesystem を選択するためには使用されません。 + +> **Important:** +> +> サービスは初期オーナートークンを再表示しません。CLI がトークンを保存できなかったと警告した場合は、ターミナルを閉じる前に返された値を保存してください。後でローカル認証情報が失われた場合は、[`ti fs generate-file-system-token`](/ai/ti/reference/ti-fs-generate-file-system-token.md) と TiDB Cloud API 認証情報を使用して、置き換え用のオーナートークンを作成してください。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。その機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs create-file-system + [--display-name ] + [--dry-run] + [--help] + [--label ] + [--version] + [--wait] +``` + +## オプション {#options} + +- `--display-name `: Filesystem の一覧コマンドで表示される、4~64 文字の表示名を設定します。この値は、後続のコマンドで Filesystem を選択するためには使用されません。 +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--help`: ヘルプ情報を表示します。 +- `--label `: 組織内で表示可能な `key=value` ラベルを追加します。このオプションを繰り返すことで、最大 30 個のラベルを追加できます。ラベルには秘密情報や個人データを含めないでください。 +- `--version`: バージョン情報を表示します。 +- `--wait`: 作成した file system がアクティブになるまで待機します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- Filesystem を作成し、使用可能になるまで待機します。 + + ```bash + # Wait until the new Filesystem root is readable before returning. + ti fs create-file-system \ + --display-name agent-workspace \ + --label environment=development \ + --label team=ai \ + --wait + ``` + +- Filesystem を非同期で作成します。 + + ```bash + # Return after provisioning is accepted so work can continue in parallel. + ti fs create-file-system + ``` + +- Filesystem の作成をプレビューします。 + + ```bash + # Validate credentials, placement, and the request without provisioning storage. + ti fs create-file-system --dry-run + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) diff --git a/ai/ti/reference/ti-fs-create-hardlink.md b/ai/ti/reference/ti-fs-create-hardlink.md new file mode 100644 index 0000000000000..cdd025fa24b44 --- /dev/null +++ b/ai/ti/reference/ti-fs-create-hardlink.md @@ -0,0 +1,50 @@ +--- +title: ti fs create-hardlink +summary: TiDB Cloud Filesystem にハードリンクを作成します。 +--- + +# ti fs create-hardlink + +既存のリモートパスへのハードリンクを作成します。このコマンドのエイリアスは `ti fs hardlink` です。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェイスは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs create-hardlink + --link-path + --source-path + [--dry-run] + [--file-system-id ] + [--fs-token ] + [--help] + [--version] +``` + +## オプション {#options} + +- `--link-path `: TiDB Cloud file system 内で作成するハードリンクのファイルパスです。\[required] +- `--source-path `: TiDB Cloud file system 内の既存のファイルパスです。\[required] +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- ハードリンクを作成します。 + + ```bash + # Expose the same remote file content at a second path. + ti fs create-hardlink --file-system-id --source-path /reports/final.md --link-path /reports/final-copy.md + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) diff --git a/ai/ti/reference/ti-fs-create-layer-checkpoint.md b/ai/ti/reference/ti-fs-create-layer-checkpoint.md new file mode 100644 index 0000000000000..d235187a84747 --- /dev/null +++ b/ai/ti/reference/ti-fs-create-layer-checkpoint.md @@ -0,0 +1,59 @@ +--- +title: ti fs create-layer-checkpoint +summary: TiDB Cloud Filesystem のレイヤーにチェックポイントを作成します。 +--- + +# ti fs create-layer-checkpoint + +1 つのレイヤーにチェックポイントを作成します。`--checkpoint-id` を省略した場合、サービスが自動的に生成します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs create-layer-checkpoint + --layer-id + [--checkpoint-id ] + [--dry-run] + [--file-system-id ] + [--fs-token ] + [--help] + [--label ] + [--version] +``` + +## オプション {#options} + +- `--layer-id `: レイヤーを識別するレイヤー ID です。\[required] +- `--checkpoint-id `: チェックポイント ID です。通常はサービスによって自動生成されます。 +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--label `: チェックポイントのラベルです。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- 名前付きチェックポイントを作成します。 + + ```bash + # Record the current layer state under a stable checkpoint ID. + ti fs create-layer-checkpoint --file-system-id --layer-id "" --checkpoint-id before-review + ``` + +- 自動的に識別されるチェックポイントを作成します。 + + ```bash + # Let the service assign the checkpoint ID while retaining a human label. + ti fs create-layer-checkpoint --file-system-id --layer-id "" --label "before review" + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-create-layer.md b/ai/ti/reference/ti-fs-create-layer.md new file mode 100644 index 0000000000000..b4a211d08fab4 --- /dev/null +++ b/ai/ti/reference/ti-fs-create-layer.md @@ -0,0 +1,65 @@ +--- +title: ti fs create-layer +summary: TiDB Cloud Filesystem にレイヤーを作成します。 +--- + +# ti fs create-layer + +Filesystem のベースパス上に、分離された変更を記録するためのレイヤーを作成します。`--layer-id` を省略した場合、サービスが自動的に生成します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs create-layer + --base-root-path + [--actor-id ] + [--dry-run] + [--durability-mode ] + [--file-system-id ] + [--fs-token ] + [--help] + [--layer-id ] + [--layer-name ] + [--tag ] + [--version] +``` + +## オプション {#options} + +- `--base-root-path `: TiDB Cloud file system 内のベースルートパスです。\[required] +- `--actor-id `: レイヤーの所有者を識別するアクター ID です(例: エージェント名)。 +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--durability-mode `: レイヤーの耐久性モードを設定します。明示的にサポートされている値は `restore-safe` のみで、これを指定するとリモートレイヤー内の変更が保持され、ローカル環境の終了後もレイヤーを復元できます。省略した場合、サービスは `restore-safe` を使用します。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--layer-id `: レイヤー ID です。通常はサービスによって自動生成されます。 +- `--layer-name `: レイヤーの名前です。 +- `--tag `: レイヤーのタグです。形式は `key=value` で、繰り返し指定できます。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- レイヤーを作成する: + + ```bash + # Start an isolated writable view over the selected base root. + ti fs create-layer --file-system-id --base-root-path /workspace --layer-name agent-task + ``` + +- restore-safe タグ付きレイヤーを作成する: + + ```bash + # Request durable layer behavior and attach task metadata. + ti fs create-layer --file-system-id --base-root-path /workspace --durability-mode restore-safe --tag task=review + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) diff --git a/ai/ti/reference/ti-fs-create-symlink.md b/ai/ti/reference/ti-fs-create-symlink.md new file mode 100644 index 0000000000000..58415a01b1130 --- /dev/null +++ b/ai/ti/reference/ti-fs-create-symlink.md @@ -0,0 +1,50 @@ +--- +title: ti fs create-symlink +summary: TiDB Cloud Filesystem にシンボリックリンクを作成します。 +--- + +# ti fs create-symlink + +シンボリックリンクを作成します。このコマンドのエイリアスは `ti fs symlink` です。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs create-symlink + --link-path + --target + [--dry-run] + [--file-system-id ] + [--fs-token ] + [--help] + [--version] +``` + +## オプション {#options} + +- `--link-path `: 作成するシンボリックリンクのファイルパスです。\[required] +- `--target `: リンク先となる実際のファイルパスです。\[required] +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- シンボリックリンクを作成します。 + + ```bash + # Create a relative symbolic link inside the remote namespace. + ti fs create-symlink --file-system-id --target final.md --link-path /reports/latest.md + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-delete-file-system-token.md b/ai/ti/reference/ti-fs-delete-file-system-token.md new file mode 100644 index 0000000000000..164f9901b3983 --- /dev/null +++ b/ai/ti/reference/ti-fs-delete-file-system-token.md @@ -0,0 +1,60 @@ +--- +title: ti fs delete-file-system-token +summary: TiDB Cloud Filesystem トークンを完全に取り消します。 +--- + +# ti fs delete-file-system-token + +Filesystem トークンを完全に取り消します。変更が反映されると、そのトークンは認証に使用できなくなり、一覧結果にも表示されなくなります。オーナートークンは同じ Filesystem 内のいずれの種類のトークンも取り消せますが、スコープ付きトークンではこのコマンドを使用できません。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs delete-file-system-token + --token-id + [--file-system-id ] + [--fs-token ] + [--dry-run] + [--help] + [--version] +``` + +## オプション {#options} + +- `--file-system-id `: トークンを所有する Filesystem を指定します。TiDB Cloud API 認証情報を使用する場合は必須です。オーナートークンが ID を提供する場合は省略可能です。 +- `--token-id `: list コマンドが返す不変のトークン ID を指定します。このオプションは必須です。 +- `--fs-token `: オーナー Filesystem トークンを使用してリクエストを認可します。省略した場合、コマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、コマンドは選択した Filesystem 用にローカルに保存されたトークンを使用します。利用可能な Filesystem トークンがない場合、コマンドは設定済みの TiDB Cloud API キーを使用します。 +- `--dry-run`: トークンを取り消さずに、認証情報、識別子、および既知のローカルマウント競合を検証します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- 置き換え用トークンを検証した後で古いトークンを取り消します。 + + ```bash + # Revocation is permanent; use disable first when you need a reversible rollout. + ti fs delete-file-system-token \ + --file-system-id "" \ + --token-id "" + ``` + +- オーナートークンを使用してトークンを取り消します。 + + ```bash + # The owner token identifies the Filesystem; use the immutable ID of the token being revoked. + TI_FS_TOKEN="" ti fs delete-file-system-token \ + --token-id "" + ``` + +## 関連ドキュメント {#related-documentation} + +- [トークン管理の認可](/ai/ti/reference/ti-filesystem.md#token-management-authorization) +- [`ti fs generate-file-system-token`](/ai/ti/reference/ti-fs-generate-file-system-token.md) +- [`ti fs disable-file-system-token`](/ai/ti/reference/ti-fs-disable-file-system-token.md) diff --git a/ai/ti/reference/ti-fs-delete-file-system.md b/ai/ti/reference/ti-fs-delete-file-system.md new file mode 100644 index 0000000000000..c581042e80cc2 --- /dev/null +++ b/ai/ti/reference/ti-fs-delete-file-system.md @@ -0,0 +1,51 @@ +--- +title: ti fs delete-file-system +summary: TiDB Cloud Filesystem を削除します。 +--- + +# ti fs delete-file-system + +Filesystem の削除を開始します。削除は、コマンドの実行結果が返された後に非同期で実行されます。`--file-system-id` の指定が必須です。表示名、ラベル、および Filesystem トークンでは、削除対象の Filesystem を特定できません。このコマンドを実行するには、TiDB Cloud API 認証情報が必要です。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェイスは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs delete-file-system + --file-system-id + [--dry-run] + [--help] + [--version] +``` + +## オプション {#options} + +- `--file-system-id `: 変更不可の Filesystem ID を設定します。FS トークンではこのオプションを置き換えることも、Filesystem の削除を認可することもできません。\[required] +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- Filesystem を削除する: + + ```bash + # Request asynchronous deletion and remove only the matching local credential after acceptance. + ti fs delete-file-system --file-system-id + ``` + +- Filesystem の削除をプレビューする: + + ```bash + # Validate the selected Filesystem without sending the deletion request. + ti fs delete-file-system --file-system-id --dry-run + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-delete-file.md b/ai/ti/reference/ti-fs-delete-file.md new file mode 100644 index 0000000000000..d6f2d9e0cde9b --- /dev/null +++ b/ai/ti/reference/ti-fs-delete-file.md @@ -0,0 +1,57 @@ +--- +title: ti fs delete-file +summary: TiDB Cloud Filesystem からファイルを削除します。 +--- + +# ti fs delete-file + +リモートのファイルまたはディレクトリを削除します。このコマンドのエイリアスは `ti fs rm` です。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェイスは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs delete-file + --path + [--dry-run] + [--file-system-id ] + [--fs-token ] + [--help] + [--recursive] + [--version] +``` + +## オプション {#options} + +- `--path `: TiDB Cloud file system 内のファイルまたはディレクトリのパス。\[required] +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されたトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--recursive`: ディレクトリを再帰的に削除します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- リモートファイルを削除する場合: + + ```bash + # Remove one object from the selected Filesystem. + ti fs delete-file --file-system-id --path /reports/obsolete.md + ``` + +- ディレクトリを再帰的に削除する場合: + + ```bash + # Remove a directory and all of its descendants in one request. + ti fs delete-file --file-system-id --path /scratch --recursive + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-delete-layer.md b/ai/ti/reference/ti-fs-delete-layer.md new file mode 100644 index 0000000000000..5e1a70c0c033f --- /dev/null +++ b/ai/ti/reference/ti-fs-delete-layer.md @@ -0,0 +1,58 @@ +--- +title: ti fs delete-layer +summary: TiDB Cloud Filesystem のレイヤーを放棄します。 +--- + +# ti fs delete-layer + +履歴を消去せずにレイヤーを放棄します。レイヤーに有効な子孫レイヤーがある場合、先にそれらの子孫を放棄する `--cascade` を指定しない限り、このコマンドは失敗します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs delete-layer + --layer-ref + [--cascade] + [--dry-run] + [--file-system-id ] + [--fs-token ] + [--help] + [--version] +``` + +## オプション {#options} + +- `--layer-ref `: レイヤー ID、一意の名前、または[タグ参照](/ai/ti/reference/ti-filesystem.md#layer-references)。\[required] +- `--cascade`: 選択したレイヤーを放棄する前に、有効な子孫レイヤーを放棄します。 +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、コマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、コマンドは選択した Filesystem 用にローカルに保存されたトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options)を参照してください。 + +## 例 {#examples} + +- 却下されたリーフタイムラインを放棄する: + + ```bash + # Deletion fails when the selected layer still has live descendants. + ti fs delete-layer --file-system-id --layer-ref experiment-a + ``` + +- テスト所有のサブツリーを放棄する: + + ```bash + # Cascade is explicit and abandons descendants before the selected layer. + ti fs delete-layer --file-system-id --layer-ref experiment-root --cascade + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) +- [`ti fs list-layer-chain`](/ai/ti/reference/ti-fs-list-layer-chain.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-describe-file-system-embedding-configuration.md b/ai/ti/reference/ti-fs-describe-file-system-embedding-configuration.md new file mode 100644 index 0000000000000..bb427c8904eca --- /dev/null +++ b/ai/ti/reference/ti-fs-describe-file-system-embedding-configuration.md @@ -0,0 +1,45 @@ +--- +title: ti fs describe-file-system-embedding-configuration +summary: TiDB Cloud Filesystem の埋め込み設定を表示します。 +--- + +# ti fs describe-file-system-embedding-configuration + +Filesystem の埋め込み設定を表示します。この設定は任意であり、カスタマイズしていない場合でも通常の Filesystem 操作には影響しません。このコマンドには TiDB Cloud API 認証情報が必要で、Filesystem トークンは使用しません。 + +`source` フィールドは、設定が `custom`、`default`、`none`、または `database_auto` のいずれであるかを示します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs describe-file-system-embedding-configuration + --file-system-id + [--help] + [--version] +``` + +## オプション {#options} + +- `--file-system-id `: 変更不可の Filesystem ID を設定します。\[required] +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- 有効な埋め込み設定を確認します。 + + ```bash + # Show provider metadata, masked credentials, source, and generation. + ti fs describe-file-system-embedding-configuration \ + --file-system-id + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-describe-file-system-extract-configuration.md b/ai/ti/reference/ti-fs-describe-file-system-extract-configuration.md new file mode 100644 index 0000000000000..7df18643077bd --- /dev/null +++ b/ai/ti/reference/ti-fs-describe-file-system-extract-configuration.md @@ -0,0 +1,57 @@ +--- +title: ti fs describe-file-system-extract-configuration +summary: TiDB Cloud Filesystem のメディア抽出設定を表示します。 +--- + +# ti fs describe-file-system-extract-configuration + +Filesystem の画像、音声、または動画の抽出設定を表示します。この設定は任意であり、カスタマイズしていない場合でも通常の Filesystem 操作には影響しません。このコマンドには TiDB Cloud API 認証情報が必要で、Filesystem トークンは使用しません。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs describe-file-system-extract-configuration + --file-system-id + --media-type + [--help] + [--version] +``` + +## オプション {#options} + +- `--file-system-id `: 変更不可の Filesystem ID を設定します。\[required] +- `--media-type `: `image`、`audio`、または `video` を選択します。\[required] +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- 画像抽出を確認します。 + + ```bash + # Show whether image extraction uses a custom, default, or absent provider configuration. + ti fs describe-file-system-extract-configuration \ + --file-system-id \ + --media-type image + ``` + +- 有効なプロバイダーソースのみを出力します。 + + ```bash + # Return custom, default, or none for use in a script. + ti fs describe-file-system-extract-configuration \ + --file-system-id \ + --media-type audio \ + --query source \ + --output text + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-describe-file-system.md b/ai/ti/reference/ti-fs-describe-file-system.md new file mode 100644 index 0000000000000..617edc8a572b3 --- /dev/null +++ b/ai/ti/reference/ti-fs-describe-file-system.md @@ -0,0 +1,44 @@ +--- +title: ti fs describe-file-system +summary: リモートの TiDB Cloud Filesystem の詳細を表示します。 +--- + +# ti fs describe-file-system + +Filesystem の表示名、ラベル、配置、ステータス、クォータ、使用量などの詳細情報を表示します。このコマンドには TiDB Cloud API 認証情報が必要であり、Filesystem トークンは使用しません。 + +出力には `has_local_token` が含まれ、このマシンに一致するローカルトークンがあるかどうかを示します。利用可能な場合、クォータデータにはメディアおよび動画抽出の上限と使用量が含まれます。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs describe-file-system + --file-system-id + [--help] + [--version] +``` + +## オプション {#options} + +- `--file-system-id `: 変更不可の Filesystem ID を設定します。\[required] +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- Filesystem を表示する場合: + + ```bash + # Return remote status and whether this machine has a matching local token. + ti fs describe-file-system --file-system-id + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-describe-file.md b/ai/ti/reference/ti-fs-describe-file.md new file mode 100644 index 0000000000000..2ca4611b606d6 --- /dev/null +++ b/ai/ti/reference/ti-fs-describe-file.md @@ -0,0 +1,46 @@ +--- +title: ti fs describe-file +summary: TiDB Cloud Filesystem 内のファイルの情報を表示します。 +--- + +# ti fs describe-file + +1 つのリモートパスのメタデータを表示します。このコマンドのエイリアスは `ti fs stat` です。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェイスは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs describe-file + --path + [--file-system-id ] + [--fs-token ] + [--help] + [--version] +``` + +## オプション {#options} + +- `--path `: TiDB Cloud file system 内のファイルまたはディレクトリのパス。\[required] +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- リモートファイルの情報を表示する: + + ```bash + # Inspect file size, metadata, tags, and revision information. + ti fs describe-file --file-system-id --path /reports/report.md + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-describe-layer.md b/ai/ti/reference/ti-fs-describe-layer.md new file mode 100644 index 0000000000000..f945cde4a9e12 --- /dev/null +++ b/ai/ti/reference/ti-fs-describe-layer.md @@ -0,0 +1,46 @@ +--- +title: ti fs describe-layer +summary: TiDB Cloud Filesystem のレイヤーを記述します。 +--- + +# ti fs describe-layer + +1 つの Filesystem レイヤーを記述します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs describe-layer + --layer-id + [--file-system-id ] + [--fs-token ] + [--help] + [--version] +``` + +## オプション {#options} + +- `--layer-id `: 指定したファイルシステムレイヤーの ID。\[required] +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されたトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- レイヤーを記述するには、次のようにします。 + + ```bash + # Inspect one layer's base root, state, durability, and metadata. + ti fs describe-layer --file-system-id --layer-id "" + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) diff --git a/ai/ti/reference/ti-fs-diff-layer.md b/ai/ti/reference/ti-fs-diff-layer.md new file mode 100644 index 0000000000000..be594ecbe9c90 --- /dev/null +++ b/ai/ti/reference/ti-fs-diff-layer.md @@ -0,0 +1,55 @@ +--- +title: ti fs diff-layer +summary: TiDB Cloud Filesystem のレイヤー内の変更を表示します。 +--- + +# ti fs diff-layer + +1 つのレイヤー内の変更を一覧表示します。必要に応じて、指定したシーケンス番号までの変更を表示できます。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs diff-layer + --layer-id + [--file-system-id ] + [--fs-token ] + [--help] + [--max-seq ] + [--version] +``` + +## オプション {#options} + +- `--layer-id `: レイヤーの ID。\[required] +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合は、選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--max-seq `: 含めるレイヤーの最大シーケンス。`0` を指定すると、すべてのシーケンスを含みます。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- すべてのレイヤー変更を表示する: + + ```bash + # Return the complete ordered change set for the selected layer. + ti fs diff-layer --file-system-id --layer-id "" + ``` + +- 以前のレイヤービューを表示する: + + ```bash + # Limit the diff to changes at or before a sequence number. + ti fs diff-layer --file-system-id --layer-id "" --max-seq 100 + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-disable-file-system-token.md b/ai/ti/reference/ti-fs-disable-file-system-token.md new file mode 100644 index 0000000000000..5e07e3b5b9d1a --- /dev/null +++ b/ai/ti/reference/ti-fs-disable-file-system-token.md @@ -0,0 +1,63 @@ +--- +title: ti fs disable-file-system-token +summary: TiDB Cloud Filesystem トークンを一時的に無効化します。 +--- + +# ti fs disable-file-system-token + +Filesystem トークンを取り消すことなく一時的に無効化します。トークンは後で [`ti fs enable-file-system-token`](/ai/ti/reference/ti-fs-enable-file-system-token.md) を使って再度有効化できます。既知のローカルマウントで使用されているトークンは、先に drain とアンマウントを実行する必要があります。オーナートークン認証では、無効化できるのはスコープ付きトークンのみです。TiDB Cloud API キーでは、どちらの種類のトークンも無効化できます。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs disable-file-system-token + --token-id + [--file-system-id ] + [--fs-token ] + [--dry-run] + [--help] + [--version] +``` + +## オプション {#options} + +- `--file-system-id `: トークンを所有する Filesystem を指定します。TiDB Cloud API 認証情報を使用する場合は必須です。オーナートークンが ID を提供する場合は省略できます。 +- `--token-id `: list コマンドが返す変更不可のトークン ID を指定します。このオプションは必須です。 +- `--fs-token `: オーナー Filesystem トークンを使用してリクエストを認証します。省略した場合、コマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、コマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。利用可能な Filesystem トークンがない場合、コマンドは設定済みの TiDB Cloud API キーを使用します。 +- `--dry-run`: トークンを無効化せずに、認証情報、識別子、および既知のローカルマウント競合を検証します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- ローカルマウントを停止した後にトークンを無効化する: + + ```bash + # Drain and unmount first when this token backs a mount on the current machine. + ti fs drain-file-system --mount-path /path/to/workspace + ti fs unmount-file-system --mount-path /path/to/workspace + ti fs disable-file-system-token \ + --file-system-id "" \ + --token-id "" + ``` + +- オーナートークンを使用してスコープ付きトークンを無効化する: + + ```bash + # Inject TI_FS_TOKEN from a secret manager. The owner token identifies the Filesystem. + # Drain any local mount that uses the target token first. + ti fs disable-file-system-token \ + --token-id "" + ``` + +## 関連ドキュメント {#related-documentation} + +- [トークン管理の認可](/ai/ti/reference/ti-filesystem.md#token-management-authorization) +- [`ti fs enable-file-system-token`](/ai/ti/reference/ti-fs-enable-file-system-token.md) +- [`ti fs delete-file-system-token`](/ai/ti/reference/ti-fs-delete-file-system-token.md) diff --git a/ai/ti/reference/ti-fs-drain-file-system.md b/ai/ti/reference/ti-fs-drain-file-system.md new file mode 100644 index 0000000000000..6346a5e67783d --- /dev/null +++ b/ai/ti/reference/ti-fs-drain-file-system.md @@ -0,0 +1,46 @@ +--- +title: ti fs drain-file-system +summary: マウントされた TiDB Cloud Filesystem をドレインします。 +--- + +# ti fs drain-file-system + +マウントをオンラインのまま維持しつつ、FUSE マウントからリモート Filesystem へ保留中の書き込みをフラッシュします。このコマンドのエイリアスは `ti fs drain` です。WebDAV マウントの場合は、書き込み元を停止して `ti fs unmount-file-system` を使用してください。これに対して `drain-file-system` を実行するとエラーが返されます。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs drain-file-system + --mount-path + [--dry-run] + [--help] + [--timeout ] + [--version] +``` + +## オプション {#options} + +- `--mount-path `: ローカル FUSE マウントパス。\[required] +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--help`: ヘルプ情報を表示します。 +- `--timeout `: ダーティハンドルと保留中の書き込みがドレインされるまで待機する時間。\[デフォルト: `30s`] +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- 保留中の書き込みをドレインする: + + ```bash + # Flush queued FUSE writes while leaving the Filesystem mounted. + ti fs drain-file-system --mount-path /path/to/workspace --timeout 30s + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-enable-file-system-token.md b/ai/ti/reference/ti-fs-enable-file-system-token.md new file mode 100644 index 0000000000000..e1c46b254ca3d --- /dev/null +++ b/ai/ti/reference/ti-fs-enable-file-system-token.md @@ -0,0 +1,60 @@ +--- +title: ti fs enable-file-system-token +summary: 無効化された TiDB Cloud Filesystem トークンを有効化します。 +--- + +# ti fs enable-file-system-token + +無効化された Filesystem トークンを再度有効にします。トークンが使用可能になるまで約 10 秒かかる場合があります。オーナートークン認証では、有効化できるのはスコープ付きトークンのみです。TiDB Cloud API キーでは、どちらの種類のトークンも有効化できます。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs enable-file-system-token + --token-id + [--file-system-id ] + [--fs-token ] + [--dry-run] + [--help] + [--version] +``` + +## オプション {#options} + +- `--file-system-id `: トークンを所有する Filesystem を指定します。TiDB Cloud API 認証情報を使用する場合は必須です。オーナートークンが ID を提供する場合は省略可能です。 +- `--token-id `: list コマンドで返される変更不可のトークン ID を指定します。このオプションは必須です。 +- `--fs-token `: オーナー Filesystem トークンを使用してリクエストを認可します。省略した場合、コマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、コマンドは選択した Filesystem 用にローカルに保存されたトークンを使用します。利用可能な Filesystem トークンがない場合、コマンドは設定済みの TiDB Cloud API キーを使用します。 +- `--dry-run`: リモートのトークン状態を変更せずにリクエストを検証します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- 既知のトークンを有効化する: + + ```bash + # Allow about 10 seconds for all authentication caches to observe the change. + ti fs enable-file-system-token \ + --file-system-id "" \ + --token-id "" + ``` + +- オーナートークンを使用してスコープ付きトークンを有効化する: + + ```bash + # The owner token identifies and authorizes token management for its Filesystem. + TI_FS_TOKEN="" ti fs enable-file-system-token \ + --token-id "" + ``` + +## 関連ドキュメント {#related-documentation} + +- [トークン管理の認可](/ai/ti/reference/ti-filesystem.md#token-management-authorization) +- [`ti fs list-file-system-tokens`](/ai/ti/reference/ti-fs-list-file-system-tokens.md) +- [`ti fs disable-file-system-token`](/ai/ti/reference/ti-fs-disable-file-system-token.md) diff --git a/ai/ti/reference/ti-fs-find-files.md b/ai/ti/reference/ti-fs-find-files.md new file mode 100644 index 0000000000000..1275cbcedc768 --- /dev/null +++ b/ai/ti/reference/ti-fs-find-files.md @@ -0,0 +1,71 @@ +--- +title: ti fs find-files +summary: TiDB Cloud Filesystem 内のファイルを検索します。 +--- + +# ti fs find-files + +名前、タイプ、タグ、サイズ、または更新時刻でリモートパスを検索します。コマンドのエイリアスは `ti fs find` です。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs find-files + [--file-name-pattern ] + [--file-system-id ] + [--fs-token ] + [--help] + [--layer-id ] + [--limit ] + [--max-size-bytes ] + [--min-size-bytes ] + [--newer ] + [--older ] + [--path ] + [--resource-type ] + [--tag ] + [--version] +``` + +## オプション {#options} + +- `--file-name-pattern `: `*.md` などのファイル名パターンでフィルタリングします。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、コマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、コマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--layer-id `: 特定のファイルシステムレイヤー内のファイルとディレクトリを検索します。 +- `--limit `: 結果の最大件数です。0 を指定するとサービスのデフォルト値が使用されます。 +- `--max-size-bytes `: ファイルサイズの上限(バイト単位)です。 +- `--min-size-bytes `: ファイルサイズの下限(バイト単位)です。 +- `--newer `: `YYYY-MM-DD` 形式で指定した日付より新しいファイルを返します。 +- `--older `: `YYYY-MM-DD` 形式で指定した日付より古いファイルを返します。 +- `--path `: ファイルパスのプレフィックスです。\[default: /] +- `--resource-type `: リソースタイプのフィルターです。`file` または `directory` を指定します。 +- `--tag `: `key=value` で完全一致するタグに一致させるか、`key` のみを指定してそのタグキーの任意の値に一致させます。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- 名前でファイルを検索する場合: + + ```bash + # Locate Markdown files recursively under the selected remote path. + ti fs find-files --file-system-id --path /workspace --file-name-pattern "*.md" + ``` + +- メタデータでファイルを検索する場合: + + ```bash + # Select tagged files that also meet a minimum size threshold. + ti fs find-files --file-system-id --path /workspace --tag stage=review --min-size-bytes 1024 + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-fork-layer.md b/ai/ti/reference/ti-fs-fork-layer.md new file mode 100644 index 0000000000000..5788806e77c9a --- /dev/null +++ b/ai/ti/reference/ti-fs-fork-layer.md @@ -0,0 +1,68 @@ +--- +title: ti fs fork-layer +summary: TiDB Cloud Filesystem で copy-on-write の子レイヤーをフォークします。 +--- + +# ti fs fork-layer + +親レイヤーの現在の状態、またはそのチェックポイントの 1 つから、書き込み可能な子レイヤーを作成します。子レイヤーへの変更は親レイヤーを変更しません。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs fork-layer + --parent-layer-ref + [--actor-id ] + [--checkpoint-id ] + [--dry-run] + [--file-system-id ] + [--fs-token ] + [--help] + [--layer-id ] + [--layer-name ] + [--version] +``` + +## オプション {#options} + +- `--parent-layer-ref `: 親レイヤー ID、一意の名前、または [タグ参照](/ai/ti/reference/ti-filesystem.md#layer-references)。\[required] +- `--actor-id `: 子の所有者を識別するアクター ID。 +- `--checkpoint-id `: 子を親のこのチェックポイントに固定します。省略した場合は、シリアライズされた親の tip に固定されます。 +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されたトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--layer-id `: 安定した子レイヤー ID。省略した場合、サービスが生成します。 +- `--layer-name `: 人が判読しやすい子レイヤー名。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- 親の tip からフォークする場合: + + ```bash + # Start an independent writable timeline at the parent's current serialized tip. + ti fs fork-layer --file-system-id --parent-layer-ref research-base --layer-name experiment-a --actor-id agent-a + ``` + +- 安定したチェックポイントからフォークする場合: + + ```bash + # Continue from an earlier review boundary without changing the original timeline. + ti fs fork-layer --file-system-id --parent-layer-ref research-base --checkpoint-id seed --layer-name experiment-b --actor-id agent-b + ``` + +> **Note:** +> +> レイヤー名は論理削除後も表示されたままとなり、曖昧になる可能性があります。自動化では、返されたレイヤー ID を取得して使用する必要があります。 + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) +- [`ti fs mount-file-system`](/ai/ti/reference/ti-fs-mount-file-system.md) diff --git a/ai/ti/reference/ti-fs-generate-file-system-scoped-token.md b/ai/ti/reference/ti-fs-generate-file-system-scoped-token.md new file mode 100644 index 0000000000000..773c523d3d28b --- /dev/null +++ b/ai/ti/reference/ti-fs-generate-file-system-scoped-token.md @@ -0,0 +1,99 @@ +--- +title: ti fs generate-file-system-scoped-token +summary: 1 つの TiDB Cloud Filesystem に対して、パスと操作が制限されたトークンを生成します。 +--- + +# ti fs generate-file-system-scoped-token + +オーナートークンから、パスと操作アクセスが制限されたスコープ付きトークンを生成します。トークン値はコマンド出力にのみ表示され、後から取得することはできません。スコープ付きトークンは、許可されたパスプレフィックスと操作にのみアクセスできます。 + +スコープ付きトークンは、要求されたパスと操作が許可範囲に含まれている場合に限り、通常のファイル、アップロード、レイヤー、およびマウント操作をサポートします。`chmod`、Git ワークスペース API、ジャーナル、Vault、SQL、フォーク、イベント、およびトークン管理操作は、スコープ付きトークンでは利用できません。スコープ付きトークンは、スコープを変更せずに自身を更新できます。 + +各操作の意味は次のとおりです。コマンドによっては、コピー元に対する `read` とコピー先に対する `write` のように、複数の操作が必要になる場合があります。 + +| 操作 | 許可される内容 | +| --- | --- | +| `read` | ファイル内容とメタデータの読み取り。 | +| `list` | ディレクトリ配下のエントリ一覧表示。 | +| `search` | プレフィックス配下のファイルの検索または検出。`read` が必要です。 | +| `write` | ファイル、ディレクトリ、リンク、およびコピー先の作成または変更。 | +| `delete` | パスの削除、または move 中のソースパスの削除。 | + +> **Important:** +> +> 検索を許可する場合は、同じ `--allow` 値に `search` と `read` の両方を含めてください。CLI は、`read` を含まない `search` を含むスコープを拒否します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。その機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs generate-file-system-scoped-token + --ttl + --allow + [--file-system-id ] + [--fs-token ] + [--subject ] + [--store-locally] + [--replace] + [--dry-run] + [--help] + [--version] +``` + +## オプション {#options} + +- `--ttl `: 秒単位に解決される有限の正のトークン有効期間を設定します。このオプションは必須です。 +- `--allow `: 1 つのリモートパスプレフィックス配下で許可する操作を指定します。複数のプレフィックスを指定するには、このオプションを繰り返します。操作には `read`、`list`、`search`、`write`、`delete` があり、`search` には `read` が必要です。このオプションは必須です。 +- `--file-system-id `: オーナートークンに埋め込まれた Filesystem ID を検証します。このオプションは、ローカルに保存されたオーナートークンを読み込む場合にのみ必須です。 +- `--fs-token `: オーナー Filesystem トークンを指定します。省略した場合、コマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、コマンドは選択された Filesystem 用にローカル保存されたトークンを使用します。 +- `--subject `: 最大 64 バイトの任意のサーバー側監査ラベルを設定します。これは一意のセレクターではありません。 +- `--store-locally`: このプロファイルと Filesystem 用に、生成されたスコープ付きトークンを保存して選択します。 +- `--replace`: 既存の選択済みローカルトークンを置き換えます。`--store-locally` が必要であり、以前のリモートトークンは失効されません。 +- `--dry-run`: トークンを生成せずに、オーナー認証情報、リージョン、有効期間、スコープ、およびローカル保存の前提条件を検証します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- 1 つのワークスペースに対してサンドボックスに読み取りおよび書き込みアクセスを付与します。 + + ```bash + # Inject the owner TI_FS_TOKEN from a secret manager, then create a token limited to /workspace. + ti fs generate-file-system-scoped-token \ + --subject sandbox-agent \ + --ttl 24h \ + --allow /workspace:read,list,write + ``` + +- 書き込み可能なワークスペースデータと読み取り専用のアーティファクトを分離します。 + + ```bash + # Inject the owner TI_FS_TOKEN from a secret manager. Repeat --allow to assign different operations to independent prefixes. + ti fs generate-file-system-scoped-token \ + --ttl 8h \ + --allow /workspace:read,list,write,delete \ + --allow /artifacts:read,list + ``` + +- 後続のローカルコマンド用に、生成されたスコープ付きトークンを選択します。 + + ```bash + # Replacing the local selection does not revoke the previous remote owner token. + ti fs generate-file-system-scoped-token \ + --file-system-id "" \ + --ttl 1h \ + --allow /task:read,list,write \ + --store-locally \ + --replace + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) +- [`ti fs generate-file-system-token`](/ai/ti/reference/ti-fs-generate-file-system-token.md) +- [`ti fs refresh-file-system-token`](/ai/ti/reference/ti-fs-refresh-file-system-token.md) diff --git a/ai/ti/reference/ti-fs-generate-file-system-token.md b/ai/ti/reference/ti-fs-generate-file-system-token.md new file mode 100644 index 0000000000000..7c680bf6328be --- /dev/null +++ b/ai/ti/reference/ti-fs-generate-file-system-token.md @@ -0,0 +1,80 @@ +--- +title: ti fs generate-file-system-token +summary: 1 つの TiDB Cloud Filesystem 用の追加のオーナートークンを生成します。 +--- + +# ti fs generate-file-system-token + +TiDB Cloud API 認証情報を使用して、Filesystem のオーナートークンを生成します。トークン値はコマンド出力にのみ表示され、後から取得することはできません。トークンをローカルの認証情報ストアに保存するには、`--store-locally` を使用します。既存の Filesystem トークンを使用してオーナートークンを生成することはできません。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。その機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs generate-file-system-token + --file-system-id + --token-name + (--ttl | --no-expiration) + [--dry-run] + [--help] + [--replace] + [--store-locally] + [--version] +``` + +## オプション {#options} + +- `--file-system-id `: トークンを所有する Filesystem を指定します。FS トークンではこのオプションを置き換えることも、オーナートークンの生成を認可することもできません。このオプションは必須です。 +- `--token-name `: 最大 64 バイトの運用用トークン名を設定します。名前は一意ではありません。このオプションは必須です。 +- `--ttl `: 正の有効期間を秒単位で設定します。最大 365 日まで指定できます。`--ttl` と `--no-expiration` のいずれか一方を必ず指定してください。 +- `--no-expiration`: 有効期限のないトークンを作成します。`--ttl` と `--no-expiration` のいずれか一方を必ず指定してください。 +- `--store-locally`: このプロファイルと Filesystem 用に、生成したトークンを保存して選択します。 +- `--replace`: 既存の選択済みローカルトークンを置き換えます。`--store-locally` が必要であり、以前のリモートトークンは失効されません。 +- `--dry-run`: トークンを生成せずに、認証情報、リージョン、有効期間、およびローカル保存の前提条件を検証します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- CI ジョブ用の短期間有効なトークンを生成する場合: + + ```bash + # Save the one-time plaintext response in an owner-only file. + umask 077 + ti fs generate-file-system-token \ + --file-system-id "" \ + --token-name ci-deploy \ + --ttl 24h > ./ci-token.json + ``` + +- 別のマシン用に有効期限のないトークンを生成する場合: + + ```bash + # Generation does not change the current local selection by default. + ti fs generate-file-system-token \ + --file-system-id "" \ + --token-name workstation \ + --no-expiration + ``` + +- 置き換え用のローカルトークンを生成して選択する場合: + + ```bash + # The old remote token remains active until you explicitly disable or delete it. + ti fs generate-file-system-token \ + --file-system-id "" \ + --token-name local-owner-v2 \ + --ttl 720h \ + --store-locally \ + --replace + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) +- [`ti fs list-file-system-tokens`](/ai/ti/reference/ti-fs-list-file-system-tokens.md) diff --git a/ai/ti/reference/ti-fs-git-add-git-worktree.md b/ai/ti/reference/ti-fs-git-add-git-worktree.md new file mode 100644 index 0000000000000..8a3b141597684 --- /dev/null +++ b/ai/ti/reference/ti-fs-git-add-git-worktree.md @@ -0,0 +1,67 @@ +--- +title: ti fs-git add-git-worktree +summary: マウントされた TiDB Cloud Filesystem に、リンクされた Git worktree を追加します。 +--- + +# ti fs-git add-git-worktree + +ベースワークスペースから、リンクされた Git worktree を追加します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs-git add-git-worktree + --base-path + --worktree-path + [--blobless] + [--branch-name ] + [--commit-ish ] + [--detach] + [--dry-run] + [--file-system-id ] + [--fs-token ] + [--help] + [--hydrate ] + [--version] +``` + +## オプション {#options} + +- `--base-path `: ベース Git ワークスペースのマウントされたファイルシステムパスです。\[required] +- `--worktree-path `: リンクされた worktree 用のマウントされたファイルシステムパスです。\[required] +- `--blobless`: ベースワークスペースが blobless Git ストレージを使用していることを検証します。このオプションは、blobless でないワークスペースを変換しません。 +- `--branch-name `: リンクされた worktree 用のブランチを作成します。 +- `--commit-ish `: リンクされた worktree 用の任意の commit-ish です。 +- `--detach`: detached なリンク済み worktree を作成します。 +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されたトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--hydrate `: クリーンデータの hydration モード: `auto`、`background`、`sync`、または `off`。`auto` では、blobless ベースにリンクされた worktree はバックグラウンドで hydration され、blobless でないベースにリンクされた worktree では個別の hydration ステップは実行されません。`background` と `sync` には blobless ベースが必要です。`off` は hydration をスキップします。\[default: auto] +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共有されるオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- 新しいブランチに worktree を作成します。 + + ```bash + # Give an agent an isolated branch while sharing the base Git object store. + ti fs-git add-git-worktree --file-system-id --base-path /path/to/workspace/tidb --worktree-path /path/to/workspace/tidb-feature --branch-name feature-x + ``` + +- detached worktree を作成します。 + + ```bash + # Inspect a commit without creating or switching a branch. + ti fs-git add-git-worktree --file-system-id --base-path /path/to/workspace/tidb --worktree-path /path/to/workspace/tidb-review --commit-ish origin/main --detach + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem Git CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem-git.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-git-clone-git-workspace.md b/ai/ti/reference/ti-fs-git-clone-git-workspace.md new file mode 100644 index 0000000000000..5b34ea2e6ddc0 --- /dev/null +++ b/ai/ti/reference/ti-fs-git-clone-git-workspace.md @@ -0,0 +1,68 @@ +--- +title: ti fs-git clone-git-workspace +summary: Git リポジトリをマウントされた TiDB Cloud Filesystem にクローンします。 +--- + +# ti fs-git clone-git-workspace + +リポジトリをマウントされた Filesystem パスにクローンします。Hydration は同期的に実行することも、バックグラウンドで実行することもできます。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs-git clone-git-workspace + --repo-url + --target-path + [--blobless] + [--dry-run] + [--file-system-id ] + [--fs-token ] + [--help] + [--hydrate ] + [--version] +``` + +## オプション {#options} + +- `--repo-url `: Git リポジトリの URL。\[required] +- `--target-path `: クローン先のマウントされたファイルシステムパス。\[required] +- `--blobless`: blobless の部分的なローカル `.git` を作成し、クリーンな blob を別途 hydrate します。 +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--hydrate `: クリーンデータの hydration モード: `auto`、`background`、`sync`、または `off`。`auto` では、blobless クローンはバックグラウンドで hydrate され、blobless でないクローンでは別個の hydration ステップは実行されません。`background` と `sync` には `--blobless` が必要です。`off` は hydration をスキップします。\[default: auto] +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- 通常どおりにリポジトリをクローンする場合: + + ```bash + # Create a complete Git checkout in the mounted Filesystem path. + ti fs-git clone-git-workspace --file-system-id --repo-url https://github.com/pingcap/tidb.git --target-path /path/to/workspace/tidb + ``` + +- blobless ワークスペースをすぐに開始する場合: + + ```bash + # Expose the repository tree while clean Git objects hydrate in the background. + ti fs-git clone-git-workspace --file-system-id --repo-url https://github.com/pingcap/tidb.git --target-path /path/to/workspace/tidb --blobless --hydrate background + ``` + +- blobless hydration の完了を待機する場合: + + ```bash + # Keep the clone command running until clean Git objects finish hydrating. + ti fs-git clone-git-workspace --file-system-id --repo-url https://github.com/pingcap/tidb.git --target-path /path/to/workspace/tidb --blobless --hydrate sync + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem Git CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem-git.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-git-hydrate-git-workspace.md b/ai/ti/reference/ti-fs-git-hydrate-git-workspace.md new file mode 100644 index 0000000000000..51f8ea93e048f --- /dev/null +++ b/ai/ti/reference/ti-fs-git-hydrate-git-workspace.md @@ -0,0 +1,48 @@ +--- +title: ti fs-git hydrate-git-workspace +summary: Filesystem Git ワークスペース内のクリーンな Git オブジェクトを hydrate します。 +--- + +# ti fs-git hydrate-git-workspace + +既存の `ti` Git ワークスペースに対して、クリーンな Git オブジェクトを hydrate します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs-git hydrate-git-workspace + --target-path + [--file-system-id ] + [--fs-token ] + [--help] + [--timeout ] + [--version] +``` + +## オプション {#options} + +- `--target-path `: マウントされた `ti fs` ワークスペースのパスです。\[required] +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--timeout `: hydrate の最大実行時間です。\[default: `30m0s`] +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- Git ワークスペースの hydrate を完了する: + + ```bash + # Download missing clean Git objects for an existing blobless workspace. + ti fs-git hydrate-git-workspace --file-system-id --target-path /path/to/workspace/tidb --timeout 30m + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem Git CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem-git.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-git-remove-git-worktree.md b/ai/ti/reference/ti-fs-git-remove-git-worktree.md new file mode 100644 index 0000000000000..b3e93a9f1609e --- /dev/null +++ b/ai/ti/reference/ti-fs-git-remove-git-worktree.md @@ -0,0 +1,57 @@ +--- +title: ti fs-git remove-git-worktree +summary: マウントされた TiDB Cloud Filesystem から、リンクされた Git worktree を削除します。 +--- + +# ti fs-git remove-git-worktree + +他の worktree で使用されている共有 Git データを保持したまま、リンクされた Git worktree を削除します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs-git remove-git-worktree + --worktree-path + [--dry-run] + [--file-system-id ] + [--force] + [--fs-token ] + [--help] + [--version] +``` + +## オプション {#options} + +- `--worktree-path `: リンクされた worktree のマウント済み `ti fs` パス。\[required] +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--force`: リンクされた worktree にローカル変更がある場合でも削除します。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- Git worktree を削除する: + + ```bash + # Remove a clean linked worktree. + ti fs-git remove-git-worktree --file-system-id --worktree-path /path/to/workspace/tidb-feature + ``` + +- Git worktree を強制削除する: + + ```bash + # Discard local changes only after deciding that they are no longer needed. + ti fs-git remove-git-worktree --file-system-id --worktree-path /path/to/workspace/tidb-feature --force + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem Git CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem-git.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-import-file-system-token.md b/ai/ti/reference/ti-fs-import-file-system-token.md new file mode 100644 index 0000000000000..5ae760ba21c5c --- /dev/null +++ b/ai/ti/reference/ti-fs-import-file-system-token.md @@ -0,0 +1,58 @@ +--- +title: ti fs import-file-system-token +summary: 既存の TiDB Cloud Filesystem トークンをインポートします。 +--- + +# ti fs import-file-system-token + +既存の Filesystem トークンを検証し、選択したローカルプロファイルに保存します。Filesystem ID はトークンから導出されます。トークンが想定した Filesystem に属していることを確認するには、オプションの `--file-system-id` を使用します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェイスは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs import-file-system-token + [--dry-run] + [--file-system-id ] + [--from-file ] + [--fs-token ] + [--help] + [--replace] + [--version] +``` + +## オプション {#options} + +- `--dry-run`: ローカル認証情報を書き込まずに、トークンと保存先を検証します。 +- `--file-system-id `: トークンがこの file system ID に属していることを確認します。 +- `--from-file `: オーナー専用ファイルからトークンを読み取ります。標準入力を使用する場合は `-` を指定します。 +- `--fs-token `: トークンを直接指定します。プロセス引数への露出を避けるため、`TI_FS_TOKEN` または `--from-file` の使用を推奨します。 +- `--help`: ヘルプ情報を表示します。 +- `--replace`: 検証後、同じ file system に対してローカルに保存されている別のトークンを置き換えます。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- 保護されたファイルからトークンをインポートする: + + ```bash + # Validate the token remotely and store it under its embedded file system ID. + chmod 600 ./fs-token + ti fs import-file-system-token --from-file ./fs-token --region aws-us-east-1 + ``` + +- 標準入力からトークンをインポートする: + + ```bash + # Avoid placing the token in shell history or a process argument. + cat ./fs-token | ti fs import-file-system-token --from-file - --region aws-us-east-1 + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) diff --git a/ai/ti/reference/ti-fs-journal-append-journal-entries.md b/ai/ti/reference/ti-fs-journal-append-journal-entries.md new file mode 100644 index 0000000000000..2eadc9c5c8448 --- /dev/null +++ b/ai/ti/reference/ti-fs-journal-append-journal-entries.md @@ -0,0 +1,99 @@ +--- +title: ti fs-journal append-journal-entries +summary: Filesystem ジャーナルにエントリを追加します。 +--- + +# ti fs-journal append-journal-entries + +1 つの JSON イベントまたは JSON 配列をジャーナルに追加します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs-journal append-journal-entries + --journal-id + [--dry-run] + [--entry-json ] + [--entry-type ] + [--file-system-id ] + [--fs-token ] + [--help] + [--idempotency-key ] + [--json-array] + [--source ] + [--subject ] + [--version] +``` + +## オプション {#options} + +- `--journal-id `: ジャーナル ID。\[required] +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--entry-json `: 1 つの JSON ジャーナルエントリオブジェクト。繰り返し指定できます。サポートされるフィールドについては、[エントリ JSON 形式](#entry-json-format) を参照してください。 +- `--entry-type `: 入力オブジェクトで `type` が省略されている場合に使用するエントリタイプ。入力オブジェクト内で明示的に指定された `type` が優先されます。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、コマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、コマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--idempotency-key `: 同じ追加リクエストの再試行を重複排除するために使用するキー。省略した場合、呼び出しごとに新しいキーが割り当てられます。 +- `--json-array`: JSONL の代わりに標準入力から JSON 配列を読み取ります。 +- `--source `: エントリソース。 +- `--subject `: エントリのサブジェクト。繰り返し指定できます。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## エントリ JSON 形式 {#entry-json-format} + +各入力オブジェクトは、次のフィールドをサポートします。 + +| フィールド | 型 | 説明 | +| --- | --- | --- | +| `type` | string | イベントタイプ。`--entry-type` でデフォルトが指定されていない限り必須です。小文字で始まる必要があり、小文字、数字、アンダースコア (`_`)、ピリオド (`.`)、またはハイフン (`-`) を含めることができます。 | +| `schema_version` | integer | イベントペイロードのスキーマバージョン。`1` 未満の値は `1` として扱われます。 | +| `status` | string | オプションのユーザー定義ステータス。CLI はこれを小文字に変換します。 | +| `occurred_at` | RFC3339 timestamp | イベントが発生した時刻。省略した場合、サービスが時刻を設定します。 | +| `actor` | object | `type` および `id` の string フィールドを持つオプションのアクター。 | +| `source` | string | イベントソース。サポートされる値は `self_reported`、`gateway_observed`、`server_observed`、`imported` です。 \[default: `self_reported`] | +| `parent_entry_id` | string | オプションの親イベント ID。 | +| `correlation_id` | string | 関連するイベントをグループ化するためのオプションの ID。 | +| `subjects` | array of strings | `type:id` 形式のサブジェクト。`--subject` で指定した値はこの配列に追加されます。 | +| `summary` | JSON value | オプションのインラインイベントペイロード。 | + +artifact 参照は現在サポートされていません。エントリに `artifacts` または `artifact_refs` を含めないでください。 + +`--source` を指定すると、すべての入力オブジェクトの `source` 値が置き換えられます。`--entry-type` は `type` が省略されているオブジェクトにのみ適用されます。 + +> **Important:** +> +> 追加操作を安全に再試行できるようにするには、論理リクエストに対する idempotency key を選択し、再試行のたびに同じキーを再利用してください。`--idempotency-key` を省略すると、再試行時に新しいキーが割り当てられ、重複したエントリが追加される可能性があります。 + +## 例 {#examples} + +- 1 つの JSON エントリを追加します。 + + ```bash + # Record an event object and let the CLI or service apply default metadata. + ti fs-journal append-journal-entries --file-system-id --journal-id jrn-demo --entry-json '{"type":"task.started"}' + ``` + +- 冪等な型付きエントリを追加します。 + + ```bash + # Prevent retries from recording the same completion event twice. + ti fs-journal append-journal-entries --file-system-id --journal-id jrn-demo --entry-type task.completed --subject issue:42 --idempotency-key issue-42-complete + ``` + +- 標準入力から JSON 配列を追加します。 + + ```bash + # Batch multiple ordered events in a single append operation. + printf '[{"type":"step.started"},{"type":"step.completed"}]' | ti fs-journal append-journal-entries --file-system-id --journal-id jrn-demo --json-array + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem Journal CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem-journal.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-journal-create-journal.md b/ai/ti/reference/ti-fs-journal-create-journal.md new file mode 100644 index 0000000000000..d49e4671cf6fb --- /dev/null +++ b/ai/ti/reference/ti-fs-journal-create-journal.md @@ -0,0 +1,63 @@ +--- +title: ti fs-journal create-journal +summary: 追記専用の Filesystem ジャーナルを作成します。 +--- + +# ti fs-journal create-journal + +ジャーナルを作成します。`--journal-id` を省略した場合、サービスによって自動生成されます。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェイスは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs-journal create-journal + [--actor ] + [--dry-run] + [--file-system-id ] + [--fs-token ] + [--help] + [--journal-id ] + [--journal-kind ] + [--label ] + [--title ] + [--version] +``` + +## オプション {#options} + +- `--actor `: `type:id` 形式のアクターです。両方の部分はユーザー定義の空でない文字列であり、CLI は `type` を小文字に変換します。 +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合は、選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--journal-id `: ジャーナル ID です。省略した場合は生成されます。 +- `--journal-kind `: ユーザー定義のジャーナルカテゴリです。1〜64 文字で、小文字で始まり、小文字、数字、アンダースコア (`_`)、ピリオド (`.`)、またはハイフン (`-`) のみを使用する必要があります。\[default: agent] +- `--label `: ジャーナルラベル `key=value` です。繰り返し指定できます。 +- `--title `: ジャーナルのタイトルです。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- agent ジャーナルを作成する: + + ```bash + # Create an append-only journal for one agent task. + ti fs-journal create-journal --file-system-id --journal-id jrn-demo --journal-kind agent --title "demo task" + ``` + +- ラベル付き deployment ジャーナルを作成する: + + ```bash + # Attach actor and environment metadata for later searches. + ti fs-journal create-journal --file-system-id --journal-kind deployment --actor agent:ti --label env=dev + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem Journal CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem-journal.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-journal-read-journal-entries.md b/ai/ti/reference/ti-fs-journal-read-journal-entries.md new file mode 100644 index 0000000000000..24094eda66ea8 --- /dev/null +++ b/ai/ti/reference/ti-fs-journal-read-journal-entries.md @@ -0,0 +1,57 @@ +--- +title: ti fs-journal read-journal-entries +summary: Filesystem ジャーナルからエントリを読み取ります。 +--- + +# ti fs-journal read-journal-entries + +1 つのジャーナルから、シーケンス順にエントリを読み取ります。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs-journal read-journal-entries + --journal-id + [--after-seq ] + [--file-system-id ] + [--fs-token ] + [--help] + [--limit ] + [--version] +``` + +## オプション {#options} + +- `--journal-id `: ジャーナル ID。\[required] +- `--after-seq `: このシーケンス番号の後のエントリを読み取ります。省略した場合、または `0` に設定した場合は、最も早いエントリから読み取りを開始します。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--limit `: 読み取るエントリの最大数。\[default: 100] +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- ジャーナルエントリを読み取る: + + ```bash + # Return the first page of ordered entries for a journal. + ti fs-journal read-journal-entries --file-system-id --journal-id jrn-demo + ``` + +- シーケンス番号の後から続けて読み取る: + + ```bash + # Read the next page after the last sequence processed by a consumer. + ti fs-journal read-journal-entries --file-system-id --journal-id jrn-demo --after-seq 100 --limit 50 + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem Journal CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem-journal.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-journal-search-journal-entries.md b/ai/ti/reference/ti-fs-journal-search-journal-entries.md new file mode 100644 index 0000000000000..d380d4c53a327 --- /dev/null +++ b/ai/ti/reference/ti-fs-journal-search-journal-entries.md @@ -0,0 +1,80 @@ +--- +title: ti fs-journal search-journal-entries +summary: Filesystem のジャーナルを検索し、必要に応じて一致するエントリを返します。 +--- + +# ti fs-journal search-journal-entries + +ジャーナルを検索し、必要に応じて一致するエントリを返します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs-journal search-journal-entries + [--actor ] + [--cursor ] + [--entry-type ] + [--file-system-id ] + [--fs-token ] + [--help] + [--include-entries] + [--journal-kind ] + [--label ] + [--limit ] + [--since ] + [--status ] + [--subject ] + [--until ] + [--version] +``` + +## オプション {#options} + +- `--actor `: `type:id` 形式のアクター。 +- `--cursor `: 前のページで返されたカーソル。続きから取得する場合は、元のリクエストと同じフィルターを繰り返し指定します。 +- `--entry-type `: エントリタイプのフィルター。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--include-entries`: 一致結果に完全なエントリペイロードを含めます。 +- `--journal-kind `: ジャーナル種別のフィルター。 +- `--label `: `key=value` 形式のラベルフィルター。繰り返し指定できます。 +- `--limit `: 読み取る一致結果の最大数。\[default: 100] +- `--since `: 相対期間(`24h` など)または RFC3339 タイムスタンプで指定する下限時刻。 +- `--status `: エントリステータスのフィルター。 +- `--subject `: サブジェクトのフィルター。繰り返し指定できます。 +- `--until `: RFC3339 タイムスタンプで指定する上限時刻。相対期間は使用できません。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- エントリタイプで検索する場合: + + ```bash + # Find journals containing task-start events and include their payloads. + ti fs-journal search-journal-entries --file-system-id --entry-type task.started --include-entries + ``` + +- ラベルと時刻で検索する場合: + + ```bash + # Limit deployment journal matches to one environment and time window. + ti fs-journal search-journal-entries --file-system-id --label env=dev --since 2026-07-01T00:00:00Z --limit 100 + ``` + +- アクターとサブジェクトで検索する場合: + + ```bash + # Find events produced by one agent for a specific task subject. + ti fs-journal search-journal-entries --file-system-id --actor agent:ti --subject issue-42 --include-entries + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem Journal CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem-journal.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-journal-verify-journal.md b/ai/ti/reference/ti-fs-journal-verify-journal.md new file mode 100644 index 0000000000000..42607fb7f4c69 --- /dev/null +++ b/ai/ti/reference/ti-fs-journal-verify-journal.md @@ -0,0 +1,46 @@ +--- +title: ti fs-journal verify-journal +summary: Filesystem ジャーナルのハッシュチェーンを検証します。 +--- + +# ti fs-journal verify-journal + +1 つのジャーナルのハッシュチェーンの整合性を検証します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs-journal verify-journal + --journal-id + [--file-system-id ] + [--fs-token ] + [--help] + [--version] +``` + +## オプション {#options} + +- `--journal-id `: ジャーナル ID。\[required] +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- ジャーナルを検証します。 + + ```bash + # Validate the journal's ordered hash chain and integrity metadata. + ti fs-journal verify-journal --file-system-id --journal-id jrn-demo + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem Journal CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem-journal.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-list-file-system-tokens.md b/ai/ti/reference/ti-fs-list-file-system-tokens.md new file mode 100644 index 0000000000000..fa6cdbc7ca1c9 --- /dev/null +++ b/ai/ti/reference/ti-fs-list-file-system-tokens.md @@ -0,0 +1,72 @@ +--- +title: ti fs list-file-system-tokens +summary: 1 つの TiDB Cloud Filesystem のトークンメタデータを一覧表示します。 +--- + +# ti fs list-file-system-tokens + +Filesystem のトークンを一覧表示します。トークン値自体は出力に含まれません。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs list-file-system-tokens + [--file-system-id ] + [--fs-token ] + [--include-expired] + [--help] + [--limit ] + [--offset ] + [--version] +``` + +## オプション {#options} + +- `--file-system-id `: トークンを一覧表示する Filesystem を指定します。TiDB Cloud API 認証情報を使用する場合は必須です。`--fs-token` または `TI_FS_TOKEN` で所有者トークンが指定されている場合は、`ti` がそのトークンから ID を導出するため、省略可能です。 +- `--fs-token `: 所有者 Filesystem トークンを使用してリクエストを認可します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。利用可能な Filesystem トークンがない場合、このコマンドは設定済みの TiDB Cloud API キーを使用します。スコープ付きトークンではトークンメタデータを一覧表示できません。 +- `--include-expired`: 期限切れのトークンメタデータを含めます。失効済みトークンはサービスから返されません。 +- `--help`: ヘルプ情報を表示します。 +- `--offset `: 0 ベースのトークンオフセットを設定します [default: 0]。 +- `--limit `: 返すトークンの最大数を 1 から 200 の範囲で設定します [default: 50]。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- 現在のトークンメタデータをテキストとして一覧表示します。 + + ```bash + # Use token_id, not the non-unique token name, for later mutations. + ti fs list-file-system-tokens \ + --file-system-id "" \ + --output text + ``` + +- ページネーションを使用して期限切れのトークンメタデータを確認します。 + + ```bash + # Request up to 100 rows starting at offset 0. + ti fs list-file-system-tokens \ + --file-system-id "" \ + --include-expired \ + --offset 0 \ + --limit 100 + ``` + +- 所有者トークンを使用してトークンメタデータを一覧表示します。 + + ```bash + # The owner token identifies the Filesystem, so --file-system-id is not needed. + TI_FS_TOKEN="" ti fs list-file-system-tokens --output text + ``` + +## 関連ドキュメント {#related-documentation} + +- [`ti fs generate-file-system-token`](/ai/ti/reference/ti-fs-generate-file-system-token.md) +- [`ti fs generate-file-system-scoped-token`](/ai/ti/reference/ti-fs-generate-file-system-scoped-token.md) +- [TiDB Cloud CLI のリージョン、セキュリティ、および制限事項](/ai/ti/reference/ti-regions-security-and-limitations.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-list-file-systems.md b/ai/ti/reference/ti-fs-list-file-systems.md new file mode 100644 index 0000000000000..aee9ff6dfda7f --- /dev/null +++ b/ai/ti/reference/ti-fs-list-file-systems.md @@ -0,0 +1,57 @@ +--- +title: ti fs list-file-systems +summary: リージョン内のリモート TiDB Cloud Filesystem を一覧表示します。 +--- + +# ti fs list-file-systems + +選択したリージョンで、選択した TiDB Cloud 認証情報を使用してアクセス可能なすべての Filesystem を一覧表示します。結果には、表示名、ラベル、ステータス、クォータと使用量、および `has_local_token` が含まれます。`has_local_token` は、このマシンに一致するローカルトークンがあるかどうかを示します。トークンの値が含まれることはありません。 + +利用可能な場合、クォータデータにはメディアおよび動画抽出の上限と使用量が含まれます。 + +CLI はすべてのサービスページを自動的に取得し、完全でソート済みの 1 つの結果を返すため、このコマンドにはページネーションオプションはありません。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェイスは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs list-file-systems + [--display-name ] + [--help] + [--label ] + [--version] +``` + +## オプション {#options} + +- `--display-name `: 大文字と小文字を区別する display-name の部分文字列でフィルタリングします。これは正確なリソース検索ではありません。 +- `--help`: ヘルプ情報を表示します。 +- `--label `: 1 つの完全一致する `key=value` ラベルでフィルタリングします。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- リモート管理される Filesystem を一覧表示します。 + + ```bash + # Return the remote inventory for the profile's region without exposing tokens. + ti fs list-file-systems + ``` + +- 表示メタデータで Filesystem をフィルタリングします。 + + ```bash + # Match a display-name substring and one exact organization-visible label. + ti fs list-file-systems \ + --display-name workspace \ + --label environment=production + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-list-files.md b/ai/ti/reference/ti-fs-list-files.md new file mode 100644 index 0000000000000..c13beb4d4f851 --- /dev/null +++ b/ai/ti/reference/ti-fs-list-files.md @@ -0,0 +1,46 @@ +--- +title: ti fs list-files +summary: TiDB Cloud Filesystem 内のファイルを一覧表示します。 +--- + +# ti fs list-files + +リモートパス配下のエントリを一覧表示します。このコマンドのエイリアスは `ti fs ls` です。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs list-files + [--file-system-id ] + [--fs-token ] + [--help] + [--path ] + [--version] +``` + +## オプション {#options} + +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--path `: ファイルシステムのディレクトリパスです。\[default: /] +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- リモートディレクトリを一覧表示する場合: + + ```bash + # Return the entries under a specific Filesystem path. + ti fs list-files --file-system-id --path /reports + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-list-layer-chain.md b/ai/ti/reference/ti-fs-list-layer-chain.md new file mode 100644 index 0000000000000..b76a6a7b4a65c --- /dev/null +++ b/ai/ti/reference/ti-fs-list-layer-chain.md @@ -0,0 +1,47 @@ +--- +title: ti fs list-layer-chain +summary: TiDB Cloud Filesystem レイヤーの祖先チェーンを一覧表示します。 +--- + +# ti fs list-layer-chain + +ルートレイヤーから選択した子レイヤーまでの親子レイヤーチェーンを、各レイヤーのシーケンス境界を含めて一覧表示します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェイスは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs list-layer-chain + --layer-ref + [--file-system-id ] + [--fs-token ] + [--help] + [--version] +``` + +## オプション {#options} + +- `--layer-ref `: レイヤー ID、一意の名前、または [タグ参照](/ai/ti/reference/ti-filesystem.md#layer-references)。\[required] +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- 子タイムラインを確認します。 + + ```bash + # Render the root-to-tip ancestry as stable text columns. + ti fs list-layer-chain --file-system-id --layer-ref experiment-a --output text + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) +- [`ti fs fork-layer`](/ai/ti/reference/ti-fs-fork-layer.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-list-layers.md b/ai/ti/reference/ti-fs-list-layers.md new file mode 100644 index 0000000000000..7b855ad5cf9b6 --- /dev/null +++ b/ai/ti/reference/ti-fs-list-layers.md @@ -0,0 +1,44 @@ +--- +title: ti fs list-layers +summary: TiDB Cloud Filesystem 内のレイヤーを一覧表示します。 +--- + +# ti fs list-layers + +選択した Filesystem のレイヤーを一覧表示します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs list-layers + [--file-system-id ] + [--fs-token ] + [--help] + [--version] +``` + +## オプション {#options} + +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- Filesystem レイヤーを一覧表示します。 + + ```bash + # Return all layers available in the selected Filesystem. + ti fs list-layers --file-system-id + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-mount-file-system.md b/ai/ti/reference/ti-fs-mount-file-system.md new file mode 100644 index 0000000000000..17566b933c73e --- /dev/null +++ b/ai/ti/reference/ti-fs-mount-file-system.md @@ -0,0 +1,121 @@ +--- +title: ti fs mount-file-system +summary: TiDB Cloud Filesystem をマウントします。 +--- + +# ti fs mount-file-system + +自動、FUSE、または WebDAV モードで Filesystem をマウントします。このコマンドのエイリアスは `ti fs mount` です。 + +このコマンドはバックグラウンドでマウント処理を開始し、マウントの準備が完了するまで待機してから、結果を出力します。起動に失敗した場合、エラーには診断用のログパスが含まれます。マウントを終了するには `ti fs unmount-file-system` を使用します。 + +> **Important:** +> +> レイヤーおよびチェックポイントのマウントには FUSE が必要です。通常自動選択で WebDAV が使用される macOS では、macFUSE をインストールし、`--driver fuse` を指定してください。チェックポイントのマウントは常に読み取り専用です。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。その機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs mount-file-system + --mount-path + [--cache-dir ] + [--checkpoint-id ] + [--driver ] + [--dry-run] + [--file-system-id ] + [--fs-token ] + [--help] + [--layer-ref ] + [--local-root ] + [--mount-profile ] + [--no-auto-unpack] + [--pack-path ] + [--read-cache-max-file-mb ] + [--read-cache-size-mb ] + [--read-cache-ttl ] + [--read-only] + [--ready-timeout ] + [--remote-path ] + [--unpack-archive-path ] + [--version] + [--write-back-cache] +``` + +## オプション {#options} + +- `--mount-path `: ローカルのマウントパス。\[required] +- `--cache-dir `: ローカルの FUSE キャッシュディレクトリ。省略した場合は `~/.ti/cache/mounts/` を使用します。 +- `--checkpoint-id `: `--layer-ref` のこのチェックポイントを読み取り専用でマウントします。FUSE が必要です。 +- `--driver `: マウントドライバー: `auto`、`fuse`、または `webdav`。\[default: auto] +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--layer-ref `: 書き込み可能なレイヤー ID、一意の名前、または [tag reference](/ai/ti/reference/ti-filesystem.md#layer-references) を介してマウントします。FUSE が必要です。 +- `--local-root `: ローカルオーバーレイルート。省略した場合は `~/.ti/local/fs/` を使用します。 +- `--mount-profile `: [マウントプロファイル](/ai/ti/reference/ti-filesystem.md#mount-profiles-and-local-overlays) を選択します: `coding-agent`、`portable`、または `none`。省略した場合は `none` を使用します。 +- `--no-auto-unpack`: マウント前に `portable` マウントプロファイルのデフォルトの自動 unpack をスキップします。 +- `--pack-path `: 自動または手動のパックに含めるローカルオーバーレイパス。繰り返し指定できます。 +- `--read-cache-max-file-mb `: FUSE 読み取りキャッシュに格納できる最大ファイルサイズ(MiB)。0 を指定するとデフォルト値を使用します。\[default: 4] +- `--read-cache-size-mb `: FUSE 読み取りキャッシュサイズ(MiB)。0 を指定するとデフォルト値を使用します。\[default: 128] +- `--read-cache-ttl `: FUSE 読み取りキャッシュの有効期間。\[default: `30s`] +- `--read-only`: 読み取り専用マウントモード。 +- `--ready-timeout `: バックグラウンドマウントの準備完了を待機する時間。\[default: `30s`] +- `--remote-path `: マウントする TiDB Cloud file system のルートパス。\[default: /] +- `--unpack-archive-path `: マウント前にパックされたアーカイブを復元します。 +- `--version`: バージョン情報を表示します。 +- `--write-back-cache`: フラッシュ時にファイルシステムへ書き込む前に、FUSE の書き込みをローカルに永続化します。この動作はデフォルトで有効です。無効にするには `--write-back-cache=false` を指定します。常に読み取り専用であるチェックポイントマウントでは使用できません。\[default: true] + +すべてのコマンドで共有されるオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- デフォルトドライバーで Filesystem をマウントします: + + ```bash + # Let the CLI select the default driver for the current platform. + ti fs mount-file-system --file-system-id --mount-path /path/to/workspace + ``` + +- 読み取り専用の FUSE マウントを作成します: + + ```bash + # Expose the remote namespace through FUSE without permitting writes. + ti fs mount-file-system --file-system-id --mount-path /path/to/workspace --driver fuse --read-only + ``` + +- macFUSE を使わずに macOS で WebDAV を使用します: + + ```bash + # Select WebDAV explicitly when a FUSE runtime is unavailable. + ti fs mount-file-system --file-system-id --mount-path /path/to/workspace --driver webdav + ``` + +- FUSE 読み取りキャッシュを調整します: + + ```bash + # Increase cache capacity for repeated reads of medium-sized files. + ti fs mount-file-system --file-system-id --mount-path /path/to/workspace --driver fuse --read-cache-size-mb 256 --read-cache-max-file-mb 16 + ``` + +- 書き込み可能な子レイヤーをマウントします: + + ```bash + # Expose only the selected copy-on-write timeline at the local path. + ti fs mount-file-system --file-system-id --mount-path /path/to/experiment --remote-path /workspace --driver fuse --layer-ref experiment + ``` + +- 変更不可の過去のチェックポイントを比較します: + + ```bash + # A checkpoint mount is always read-only. + ti fs mount-file-system --file-system-id --mount-path /path/to/checkpoint --remote-path /workspace --driver fuse --layer-ref experiment --checkpoint-id v5 + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) diff --git a/ai/ti/reference/ti-fs-move-file.md b/ai/ti/reference/ti-fs-move-file.md new file mode 100644 index 0000000000000..bae6b3379a96f --- /dev/null +++ b/ai/ti/reference/ti-fs-move-file.md @@ -0,0 +1,52 @@ +--- +title: ti fs move-file +summary: TiDB Cloud Filesystem 内のファイルを移動します。 +--- + +# ti fs move-file + +リモートパスを移動または名前変更します。このコマンドのエイリアスは `ti fs mv` です。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs move-file + --from-remote + --to-remote + [--dry-run] + [--file-system-id ] + [--fs-token ] + [--help] + [--overwrite] + [--version] +``` + +## オプション {#options} + +- `--from-remote `: ソースファイルのパス。\[required] +- `--to-remote `: 宛先ファイルのパス。\[required] +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--overwrite`: 既存の宛先ファイルを置き換えます。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- リモートファイルを移動する: + + ```bash + # Rename or relocate an object entirely within the selected Filesystem. + ti fs move-file --file-system-id --from-remote /draft.md --to-remote /reports/final.md + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-pack-file-system.md b/ai/ti/reference/ti-fs-pack-file-system.md new file mode 100644 index 0000000000000..a99fc99229503 --- /dev/null +++ b/ai/ti/reference/ti-fs-pack-file-system.md @@ -0,0 +1,65 @@ +--- +title: ti fs pack-file-system +summary: ローカル Filesystem オーバーレイ状態をパックします。 +--- + +# ti fs pack-file-system + +選択した[ローカルオーバーレイ状態](/ai/ti/reference/ti-filesystem.md#mount-profiles-and-local-overlays)をリモートアーカイブにパックします。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs pack-file-system + [--archive-path ] + [--dry-run] + [--file-system-id ] + [--fs-token ] + [--help] + [--local-root ] + [--mount-path ] + [--mount-profile ] + [--path ] + [--remote-root ] + [--version] +``` + +## オプション {#options} + +- `--archive-path `: パックされたアーカイブのパスです。 +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--local-root `: オーバーレイディレクトリを含むローカルオーバーレイのルートです。 +- `--mount-path `: ローカルのマウント済みパスです。 +- `--mount-profile `: [マウントプロファイル](/ai/ti/reference/ti-filesystem.md#mount-profiles-and-local-overlays) を選択します: `coding-agent`、`portable`、または `none`。省略した場合は `none` を使用します。 +- `--path `: パック対象のローカルオーバーレイパスです。繰り返し指定できます。 +- `--remote-root `: ローカルオーバーレイで表される TiDB Cloud ファイルシステムのルートです。\[default: /] +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options)を参照してください。 + +## 例 {#examples} + +- マウントされたワークスペースをパックする: + + ```bash + # Persist the local overlay associated with an existing mount. + ti fs pack-file-system --file-system-id --mount-path /path/to/workspace + ``` + +- 明示的なルートをパックする: + + ```bash + # Create a portable archive from selected local and remote roots. + ti fs pack-file-system --file-system-id --local-root /path/to/local-root --remote-root /workspace --mount-profile portable + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) diff --git a/ai/ti/reference/ti-fs-read-file.md b/ai/ti/reference/ti-fs-read-file.md new file mode 100644 index 0000000000000..089340f761ec9 --- /dev/null +++ b/ai/ti/reference/ti-fs-read-file.md @@ -0,0 +1,57 @@ +--- +title: ti fs read-file +summary: TiDB Cloud Filesystem からファイルを読み取ります。 +--- + +# ti fs read-file + +リモートファイルまたはバイト範囲を読み取り、標準出力に出力します。このコマンドのエイリアスは `ti fs cat` です。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェイスは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs read-file + --path + [--file-system-id ] + [--fs-token ] + [--help] + [--length ] + [--offset ] + [--version] +``` + +## オプション {#options} + +- `--path `: 選択したファイルシステム内のファイルパスです。\[required] +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--length `: 範囲読み取りのバイト長です。 +- `--offset `: 範囲読み取りの 0 ベースのバイトオフセットです。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- 完全なファイルを読み取る: + + ```bash + # Write the remote file contents directly to standard output. + ti fs read-file --file-system-id --path /reports/report.md + ``` + +- バイト範囲を読み取る: + + ```bash + # Fetch only the requested range from a large remote object. + ti fs read-file --file-system-id --path /archives/large.bin --offset 1024 --length 4096 + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-refresh-file-system-token.md b/ai/ti/reference/ti-fs-refresh-file-system-token.md new file mode 100644 index 0000000000000..43cf836cdd6d2 --- /dev/null +++ b/ai/ti/reference/ti-fs-refresh-file-system-token.md @@ -0,0 +1,83 @@ +--- +title: ti fs refresh-file-system-token +summary: 1 つの TiDB Cloud Filesystem トークンをローテーションし、その置き換え用の平文値を 1 回だけ返します。 +--- + +# ti fs refresh-file-system-token + +指定した Filesystem トークンをローテーションし、その置き換え値を 1 回だけ返します。以前の値は、認証の変更が反映された後に機能しなくなります。反映には約 10 秒かかる場合があります。 + +> **Warning:** +> +> 更新は冪等ではありません。リクエストが成功してもレスポンスを受信できなかった場合は、古いトークンを使って再試行しないでください。代わりに、新しい置き換えトークンを生成して配布してください。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。その機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs refresh-file-system-token + [--file-system-id ] + [--fs-token ] + [--ttl ] + [--dry-run] + [--help] + [--version] +``` + +## オプション {#options} + +- `--file-system-id `: 指定したトークンからデコードされた Filesystem ID を検証します。ローカルで選択されたトークンを読み込む場合、このオプションは必須です。 +- `--fs-token `: 現在のトークンを指定します。シェル履歴やプロセス一覧への露出を避けるため、`TI_FS_TOKEN` の使用を推奨します。デフォルトでは、まず `TI_FS_TOKEN` を使用し、次に選択されたローカル認証情報を使用します。 +- `--ttl `: 新しい正の有効期間を秒単位で設定します。最大は 365 日です。以前の有効期間を維持する場合は省略してください。 +- `--dry-run`: トークンをローテーションせずに、トークンの選択、リージョン、TTL、および既知のローカルマウント競合を検証します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- 選択されたローカル認証情報を更新します。 + + ```bash + # ti atomically replaces the local credential after receiving the new token. + ti fs refresh-file-system-token --file-system-id "" + ``` + +- シークレットマネージャーから提供されたトークンを更新します。 + + ```bash + # Read the current token without echoing it or storing it in shell history. + printf 'Current FS token: ' >&2 + read -r -s TI_FS_TOKEN + printf '\n' >&2 + export TI_FS_TOKEN + + # Capture the one-time replacement and update the external secret manager yourself. + TI_REGION_CODE="aws-us-east-1" \ + ti fs refresh-file-system-token > ./refreshed-token.json + unset TI_FS_TOKEN + ``` + +- 更新中にトークンの有効期間を変更します。 + + ```bash + # Read the current token without echoing it or storing it in shell history. + printf 'Current FS token: ' >&2 + read -r -s TI_FS_TOKEN + printf '\n' >&2 + export TI_FS_TOKEN + + # Rotate the token and set its new lifetime to 30 days. + TI_REGION_CODE="aws-us-east-1" \ + ti fs refresh-file-system-token --ttl 720h + unset TI_FS_TOKEN + ``` + +## 関連ドキュメント {#related-documentation} + +- [`ti fs generate-file-system-token`](/ai/ti/reference/ti-fs-generate-file-system-token.md) +- [TiDB Cloud CLI のトラブルシューティング](/ai/ti/reference/ti-troubleshooting.md) diff --git a/ai/ti/reference/ti-fs-rollback-layer.md b/ai/ti/reference/ti-fs-rollback-layer.md new file mode 100644 index 0000000000000..36dc289745d43 --- /dev/null +++ b/ai/ti/reference/ti-fs-rollback-layer.md @@ -0,0 +1,48 @@ +--- +title: ti fs rollback-layer +summary: TiDB Cloud Filesystem のレイヤーをロールバックします。 +--- + +# ti fs rollback-layer + +1 つのレイヤー内の変更を、ベースにコミットせずにロールバックします。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs rollback-layer + --layer-id + [--dry-run] + [--file-system-id ] + [--fs-token ] + [--help] + [--version] +``` + +## オプション {#options} + +- `--layer-id `: レイヤーの ID。\[required] +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- レイヤーをロールバックする: + + ```bash + # Discard uncommitted changes and restore the layer's base view. + ti fs rollback-layer --file-system-id --layer-id "" + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-search-file-content.md b/ai/ti/reference/ti-fs-search-file-content.md new file mode 100644 index 0000000000000..28434b7ec5394 --- /dev/null +++ b/ai/ti/reference/ti-fs-search-file-content.md @@ -0,0 +1,59 @@ +--- +title: ti fs search-file-content +summary: TiDB Cloud Filesystem 内のファイル内容を検索します。 +--- + +# ti fs search-file-content + +必要に応じてレイヤー内も含めて、リモートのファイル内容を検索します。このコマンドのエイリアスは `ti fs grep` です。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs search-file-content + --pattern + [--file-system-id ] + [--fs-token ] + [--help] + [--layer-id ] + [--limit ] + [--path ] + [--version] +``` + +## オプション {#options} + +- `--pattern `: 抽出されたファイル内容と説明に対して、全文検索および設定されている場合はセマンティック検索に使用されるテキストクエリです。この値は正規表現や glob ではありません。\[required] +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--layer-id `: ファイルシステムのレイヤー内を検索します。 +- `--limit `: 検索結果の最大件数です。0 を指定するとサービスのデフォルト値が使用されます。 +- `--path `: 検索対象のファイルパス接頭辞です。\[default: /] +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- ベース Filesystem の内容を検索します。 + + ```bash + # Find matching text under a remote directory and limit the result count. + ti fs search-file-content --file-system-id --path /workspace --pattern "TODO" --limit 50 + ``` + +- レイヤー内の内容を検索します。 + + ```bash + # Inspect uncommitted layer content separately from the base Filesystem. + ti fs search-file-content --file-system-id --path /workspace --pattern "deprecated" --layer-id "" + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-unmount-file-system.md b/ai/ti/reference/ti-fs-unmount-file-system.md new file mode 100644 index 0000000000000..157ef8ac51a03 --- /dev/null +++ b/ai/ti/reference/ti-fs-unmount-file-system.md @@ -0,0 +1,54 @@ +--- +title: ti fs unmount-file-system +summary: TiDB Cloud Filesystem をアンマウントします。 +--- + +# ti fs unmount-file-system + +バックグラウンドでマウントされたファイルシステムを、保留中のデータを適切にフラッシュしてからアンマウントします。このコマンドのエイリアスは `ti fs umount` です。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs unmount-file-system + --mount-path + [--dry-run] + [--force] + [--help] + [--ignore-absent] + [--no-auto-pack] + [--pack-archive-path ] + [--timeout ] + [--version] +``` + +## オプション {#options} + +- `--mount-path `: ローカルのマウントパスです。\[required] +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--force`: 適切なアンマウントがタイムアウトした場合に、マウントプロセスを強制終了します。これにより、コミットされていないメモリ内データまたは write-back 状態が失われる可能性があります。 +- `--help`: ヘルプ情報を表示します。 +- `--ignore-absent`: 指定したパスにファイルシステムのマウント状態が存在しない場合でも、成功として返します。 +- `--no-auto-pack`: マウントに設定されたデフォルトの自動パックアクションをスキップします。組み込みの `portable` プロファイルでは、パックパスとして `/` を選択することでこのアクションが有効になります。 +- `--pack-archive-path `: アンマウント後に、マウントのローカルオーバーレイをこのリモートアーカイブパスにパックします。このオプションを指定すると、マウントプロファイルにデフォルトのパックパスがない場合でもパックが要求されます。 +- `--timeout `: マウントプロセスの終了を待機する時間です。\[default: `30s`] +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- Filesystem をアンマウントします。 + + ```bash + # Gracefully flush pending writes and detach the Filesystem mount. + ti fs unmount-file-system --mount-path /path/to/workspace + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-unpack-file-system.md b/ai/ti/reference/ti-fs-unpack-file-system.md new file mode 100644 index 0000000000000..78c48480abf6f --- /dev/null +++ b/ai/ti/reference/ti-fs-unpack-file-system.md @@ -0,0 +1,65 @@ +--- +title: ti fs unpack-file-system +summary: ローカル Filesystem オーバーレイ状態を復元します。 +--- + +# ti fs unpack-file-system + +リモートアーカイブから[ローカルオーバーレイ状態](/ai/ti/reference/ti-filesystem.md#mount-profiles-and-local-overlays)を復元します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェイスは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs unpack-file-system + [--archive-path ] + [--dry-run] + [--file-system-id ] + [--fs-token ] + [--help] + [--local-root ] + [--mount-path ] + [--mount-profile ] + [--no-replace] + [--remote-root ] + [--version] +``` + +## オプション {#options} + +- `--archive-path `: パックされたアーカイブのパスです。 +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--local-root `: 復元先のローカルオーバーレイルートです。 +- `--mount-path `: ローカルのマウントパスです。 +- `--mount-profile `: [マウントプロファイル](/ai/ti/reference/ti-filesystem.md#mount-profiles-and-local-overlays) を選択します: `coding-agent`、`portable`、または `none`。省略した場合は `none` を使用します。 +- `--no-replace`: アーカイブエントリを置き換える代わりにマージします。 +- `--remote-root `: `--archive-path` を省略した場合、指定したルートパス配下でパックされたアーカイブを検索します。\[default: /] +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options)を参照してください。 + +## 例 {#examples} + +- マウントされたワークスペースに展開する場合: + + ```bash + # Restore the portable archive associated with an existing mount. + ti fs unpack-file-system --file-system-id --mount-path /path/to/workspace + ``` + +- 置き換えを行わずに明示的なルートへ展開する場合: + + ```bash + # Restore missing files while preserving existing destination entries. + ti fs unpack-file-system --file-system-id --local-root /path/to/local-root --remote-root /workspace --mount-profile portable --no-replace + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) diff --git a/ai/ti/reference/ti-fs-update-file-system-embedding-configuration.md b/ai/ti/reference/ti-fs-update-file-system-embedding-configuration.md new file mode 100644 index 0000000000000..d1f3fbd216c80 --- /dev/null +++ b/ai/ti/reference/ti-fs-update-file-system-embedding-configuration.md @@ -0,0 +1,94 @@ +--- +title: ti fs update-file-system-embedding-configuration +summary: TiDB Cloud Filesystem の埋め込み設定を置き換えます。 +--- + +# ti fs update-file-system-embedding-configuration + +1 つの Filesystem に対して、オプションのアプリ管理埋め込みを有効または無効にします。有効化すると、実際のプロバイダー検証リクエストが実行され、プロバイダー側で少額の料金が発生する場合があります。有効化後は、テキストまたは抽出された説明が選択した埋め込みプロバイダーに送信されます。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs update-file-system-embedding-configuration + --enabled + --file-system-id + [--dry-run] + [--help] + [--provider-api-base ] + [--provider-model ] + [--version] +``` + +## オプション {#options} + +- `--enabled `: 完全なプロバイダー設定とともに `true` を指定するか、プロバイダーオプションなしで `false` を指定します。\[required] +- `--file-system-id `: 変更不可の Filesystem ID を設定します。\[required] +- `--dry-run`: Filesystem バックエンドまたは埋め込みプロバイダーに接続せずに、リクエストを検証します。 +- `--provider-api-base `: 有効な HTTPS の OpenAI 互換プロバイダーベース URL を設定します。 +- `--provider-model `: ちょうど 1024 次元を返す埋め込みモデルを設定します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +プロバイダー API キーは `TI_FS_AI_PROVIDER_API_KEY` からのみ受け付けられます。このキーは検証および暗号化保存のために Filesystem バックエンドへ送信され、`ti` によってローカルに保存されることはなく、マスクされた形式でのみ返されます。埋め込みには、OpenAI 互換の `/v1/embeddings` コントラクトに正確に一致することが必要です。ネイティブのプロバイダーインターフェースはサポートされていません。 + +`source` が `database_auto` の Filesystem は、データベース管理の埋め込みを使用しているため、このコマンドでは変更できません。タイムアウトや応答消失の後に、やみくもに更新を再試行しないでください。まず describe コマンドを実行して、更新が成功したかどうかを確認してください。 + +## 例 {#examples} + +- アプリ管理埋め込みを有効にする: + + ```bash + # Read the provider key without echoing it or storing it in shell history. + printf 'Provider API key: ' >&2 + read -r -s TI_FS_AI_PROVIDER_API_KEY + printf '\n' >&2 + export TI_FS_AI_PROVIDER_API_KEY + + # Configure a model that returns exactly 1024 dimensions. + ti fs update-file-system-embedding-configuration \ + --file-system-id \ + --enabled true \ + --provider-api-base https://api.openai.com/v1 \ + --provider-model text-embedding-3-small + unset TI_FS_AI_PROVIDER_API_KEY + ``` + +- プロバイダーを検証または保存せずに、有効化をプレビューする: + + ```bash + # Read the provider key without echoing it or storing it in shell history. + printf 'Provider API key: ' >&2 + read -r -s TI_FS_AI_PROVIDER_API_KEY + printf '\n' >&2 + export TI_FS_AI_PROVIDER_API_KEY + + # Validate local inputs and show a redacted request plan. + ti fs update-file-system-embedding-configuration \ + --file-system-id \ + --enabled true \ + --provider-api-base https://api.openai.com/v1 \ + --provider-model text-embedding-3-small \ + --dry-run + unset TI_FS_AI_PROVIDER_API_KEY + ``` + +- アプリ管理埋め込みを無効にする: + + ```bash + # Remove custom embedding configuration without changing normal file access. + ti fs update-file-system-embedding-configuration \ + --file-system-id \ + --enabled false + ``` + +## 関連ドキュメント {#related-documentation} + +- [`ti fs describe-file-system-embedding-configuration`](/ai/ti/reference/ti-fs-describe-file-system-embedding-configuration.md) +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-update-file-system-extract-configuration.md b/ai/ti/reference/ti-fs-update-file-system-extract-configuration.md new file mode 100644 index 0000000000000..f81888e24fd3b --- /dev/null +++ b/ai/ti/reference/ti-fs-update-file-system-extract-configuration.md @@ -0,0 +1,110 @@ +--- +title: ti fs update-file-system-extract-configuration +summary: TiDB Cloud Filesystem のメディア抽出設定を更新します。 +--- + +# ti fs update-file-system-extract-configuration + +1 つの Filesystem に対する、オプションの画像、音声、または動画の抽出設定を更新します。プロバイダーを有効化または置き換えると、実際のプロバイダー検証リクエストが実行されるため、プロバイダー側で少額の料金が発生する場合があります。有効化後、Filesystem のメディアは抽出のために選択したプロバイダーへ送信されます。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェイスは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs update-file-system-extract-configuration + --file-system-id + --media-type + [--dry-run] + [--enabled ] + [--help] + [--prompt ] + [--provider-api-base ] + [--provider-model ] + [--provider-protocol ] + [--version] +``` + +## オプション {#options} + +- `--file-system-id `: 変更不可の Filesystem ID を設定します。\[required] +- `--media-type `: `image`、`audio`、または `video` を選択します。\[required] +- `--dry-run`: Filesystem バックエンドまたは AI プロバイダーに接続せずに、リクエストを検証します。 +- `--enabled `: 抽出を明示的に有効化または無効化します。`true` または `false` を指定します。 +- `--prompt `: 最大 8 KiB のプロンプトを設定します。空文字列を渡すと、バックエンドのデフォルトのプロンプト動作に戻ります。 +- `--provider-api-base `: 有効な HTTPS のプロバイダーベース URL を設定します。 +- `--provider-model `: プロバイダーのモデル名を設定します。 +- `--provider-protocol `: `openai`、または音声専用の `qwen-asr` を設定します。デフォルトは `openai` です。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +プロバイダー API キーは `TI_FS_AI_PROVIDER_API_KEY` からのみ受け付けます。このキーは検証および暗号化保存のために Filesystem バックエンドへ送信され、`ti` によってローカルに保存されることはなく、マスクされた形式でのみ返されます。`openai` は画像、音声、動画をサポートします。Alibaba Cloud Model Studio Qwen ASR は、`qwen-asr` を通じて音声でサポートされます。その他のサービスは、必要な OpenAI 互換コントラクトを正確に実装している場合にのみ動作します。ネイティブの Anthropic、Gemini、Vertex AI、Bedrock、および Azure OpenAI インターフェイスはサポートされていません。 + +タイムアウトやレスポンス消失の後に、やみくもに更新を再試行しないでください。プロバイダー側ですでに検証料金が発生しており、バックエンドに設定が保存されている可能性があります。まず対応する describe コマンドを実行してください。 + +対話型シェルでプロバイダーを有効化する前に、API キーをシェル履歴に残さないように読み取ってエクスポートしてください。 + +```bash +printf 'Provider API key: ' >&2 +read -r -s TI_FS_AI_PROVIDER_API_KEY +printf '\n' >&2 +export TI_FS_AI_PROVIDER_API_KEY +``` + +CI では、マスクされたシークレットから `TI_FS_AI_PROVIDER_API_KEY` を注入してください。コマンドの実行完了後は、この変数を unset してください。 + +## 例 {#examples} + +- OpenAI 互換プロバイダーで画像抽出を有効化する場合: + + ```bash + # Configure extraction using the provider key from TI_FS_AI_PROVIDER_API_KEY. + ti fs update-file-system-extract-configuration \ + --file-system-id \ + --media-type image \ + --enabled true \ + --provider-api-base https://api.openai.com/v1 \ + --provider-model + ``` + +- 音声に対して Alibaba Cloud Model Studio Qwen ASR を有効化する場合: + + ```bash + # Use the DashScope OpenAI-compatible endpoint with the qwen-asr protocol. + ti fs update-file-system-extract-configuration \ + --file-system-id \ + --media-type audio \ + --enabled true \ + --provider-api-base https://dashscope.aliyuncs.com/compatible-mode/v1 \ + --provider-model qwen3-asr-flash \ + --provider-protocol qwen-asr + ``` + +- 有効化済みの画像設定で、プロンプトのみを変更する場合: + + ```bash + # Keep the existing provider credentials and update only extraction instructions. + ti fs update-file-system-extract-configuration \ + --file-system-id \ + --media-type image \ + --prompt "Describe the image and return searchable attributes." + ``` + +- 画像抽出を無効化する場合: + + ```bash + # Remove the custom image provider configuration without changing normal file access. + ti fs update-file-system-extract-configuration \ + --file-system-id \ + --media-type image \ + --enabled false + ``` + +## 関連ドキュメント {#related-documentation} + +- [`ti fs describe-file-system-extract-configuration`](/ai/ti/reference/ti-fs-describe-file-system-extract-configuration.md) +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-vault-create-grant.md b/ai/ti/reference/ti-fs-vault-create-grant.md new file mode 100644 index 0000000000000..a2f051ea7491b --- /dev/null +++ b/ai/ti/reference/ti-fs-vault-create-grant.md @@ -0,0 +1,72 @@ +--- +title: ti fs-vault create-grant +summary: 委任された Filesystem Vault grant を作成します。 +--- + +# ti fs-vault create-grant + +1 つの agent と scope に対して、期限付きの委任 grant を作成します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs-vault create-grant + --agent-id + --permission + --scope + --ttl + [--dry-run] + [--file-system-id ] + [--fs-token ] + [--help] + [--label-hint ] + [--token-only] + [--version] +``` + +## オプション {#options} + +- `--agent-id `: 委任 grant の Agent ID。\[required] +- `--permission `: grant 権限: `read` または `write`。現在の権限の動作については、[付与可能な権限](#grant-permissions) を参照してください。\[required] +- `--scope `: すべてのフィールドを対象とする場合は ``、1 つのフィールドを対象とする場合は `/` 形式の secret scope。繰り返し指定できます。同等の正規 Vault パス `/n/vault/` および `/n/vault//` も使用できます。\[required] +- `--ttl `: grant の有効期間。たとえば `1h`。\[required] +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--label-hint `: 任意の grant ラベルヒント。 +- `--token-only`: 委任 bearer トークンのみを出力します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 付与可能な権限 {#grant-permissions} + +| 権限 | 現在の `ti` の動作 | +| --- | --- | +| `read` | grant scope 内で、委任された `list-secrets`、`read-secret`、`run-with-secret`、および `mount-vault` 操作を許可します。 | +| `write` | サービスはこの権限を受け付けますが、read 権限は含まれません。現在の `ti` コマンドでは、委任トークンを使用して secret を書き込む操作は公開されていません。 | + +## 例 {#examples} + +- 一時的な read grant を作成します。 + + ```bash + # Limit an agent to one secret field for ten minutes. + ti fs-vault create-grant --file-system-id --agent-id deploy-agent --scope db-prod/DB_URL --permission read --ttl 10m + ``` + +- 委任トークンのみを返します。 + + ```bash + # Produce token-only output for injection into an isolated CI job. + ti fs-vault create-grant --file-system-id --agent-id ci-agent --scope api-dev/TOKEN --permission read --ttl 5m --token-only + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem Vault CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem-vault.md) diff --git a/ai/ti/reference/ti-fs-vault-create-secret.md b/ai/ti/reference/ti-fs-vault-create-secret.md new file mode 100644 index 0000000000000..7daae0dd13951 --- /dev/null +++ b/ai/ti/reference/ti-fs-vault-create-secret.md @@ -0,0 +1,64 @@ +--- +title: ti fs-vault create-secret +summary: Filesystem Vault にシークレットを作成します。 +--- + +# ti fs-vault create-secret + +1 つ以上の `NAME=value` または `NAME=@file` フィールドからシークレットを作成します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs-vault create-secret + --field + --secret-name + [--dry-run] + [--file-system-id ] + [--fs-token ] + [--help] + [--version] +``` + +## オプション {#options} + +- `--field `: シークレットフィールドの割り当て `key=value`、`key=@file`、または `key=-` を指定します。繰り返し指定できます。`key=-` は標準入力を読み取ります。複数のフィールドで `-` を使用した場合、それぞれに同じ標準入力値が渡されます。\[required] +- `--secret-name `: Vault シークレット名。\[required] +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- 値とファイルからシークレットを作成する: + + ```bash + # Keep the password out of the command line by reading it from a local file. + ti fs-vault create-secret --file-system-id --secret-name db-prod --field DB_URL=mysql://example --field PASSWORD=@./password.txt + ``` + +- 標準入力からシークレットフィールドを読み取る: + + ```bash + # Supply a sensitive token through a pipe instead of a process argument. + printf '%s' "$API_TOKEN" | ti fs-vault create-secret --file-system-id --secret-name api-dev --field TOKEN=- + ``` + +- シークレット作成をプレビューする: + + ```bash + # Validate field assignments without storing secret material. + ti fs-vault create-secret --file-system-id --secret-name api-dev --field TOKEN=@./token.txt --dry-run + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem Vault CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem-vault.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-vault-delete-grant.md b/ai/ti/reference/ti-fs-vault-delete-grant.md new file mode 100644 index 0000000000000..639610e146ba1 --- /dev/null +++ b/ai/ti/reference/ti-fs-vault-delete-grant.md @@ -0,0 +1,52 @@ +--- +title: ti fs-vault delete-grant +summary: 委任された Filesystem Vault grant を取り消します。 +--- + +# ti fs-vault delete-grant + +委任された Filesystem Vault grant を 1 つ取り消します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェイスは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs-vault delete-grant + --grant-id + [--dry-run] + [--file-system-id ] + [--fs-token ] + [--help] + [--reason ] + [--revoked-by ] + [--version] +``` + +## オプション {#options} + +- `--grant-id `: Vault grant ID。\[required] +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--reason `: 取り消し理由を任意で指定します。 +- `--revoked-by `: 取り消し監査エントリの実行者ラベル。\[デフォルト: `ti`] +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- grant を取り消すには、次のようにします。 + + ```bash + # Invalidate the delegated token and record the revocation reason. + ti fs-vault delete-grant --file-system-id --grant-id "" --reason rotated + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem Vault CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem-vault.md) diff --git a/ai/ti/reference/ti-fs-vault-delete-secret.md b/ai/ti/reference/ti-fs-vault-delete-secret.md new file mode 100644 index 0000000000000..56e2cb1a2c904 --- /dev/null +++ b/ai/ti/reference/ti-fs-vault-delete-secret.md @@ -0,0 +1,48 @@ +--- +title: ti fs-vault delete-secret +summary: Filesystem Vault からシークレットを削除します。 +--- + +# ti fs-vault delete-secret + +Filesystem Vault のシークレットを 1 つ削除します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェイスは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs-vault delete-secret + --secret-name + [--dry-run] + [--file-system-id ] + [--fs-token ] + [--help] + [--version] +``` + +## オプション {#options} + +- `--secret-name `: Vault シークレット名。\[required] +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- シークレットを削除します。 + + ```bash + # Remove the selected secret and its fields from the Vault. + ti fs-vault delete-secret --file-system-id --secret-name db-prod + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem Vault CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem-vault.md) diff --git a/ai/ti/reference/ti-fs-vault-list-audit-events.md b/ai/ti/reference/ti-fs-vault-list-audit-events.md new file mode 100644 index 0000000000000..f8426fdd3b982 --- /dev/null +++ b/ai/ti/reference/ti-fs-vault-list-audit-events.md @@ -0,0 +1,59 @@ +--- +title: ti fs-vault list-audit-events +summary: Filesystem Vault の監査イベントを一覧表示します。 +--- + +# ti fs-vault list-audit-events + +オプションのエージェント、シークレット、時間フィルターを使用して vault の監査イベントを一覧表示します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs-vault list-audit-events + [--agent-id ] + [--file-system-id ] + [--fs-token ] + [--help] + [--limit ] + [--secret-name ] + [--since ] + [--version] +``` + +## オプション {#options} + +- `--agent-id `: エージェント ID でフィルターします。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、コマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、コマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--limit `: 返されるイベントの最大数。\[default: 100] +- `--secret-name `: Vault シークレット名でフィルターします。 +- `--since `: クライアント側の相対時間フィルター。たとえば `24h`。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- 1 つのシークレットのイベントを一覧表示します。 + + ```bash + # Inspect recent access and mutation events for the selected secret. + ti fs-vault list-audit-events --file-system-id --secret-name db-prod --limit 20 + ``` + +- エージェントの最近のイベントを一覧表示します。 + + ```bash + # Filter the audit trail to one delegated identity and time range. + ti fs-vault list-audit-events --file-system-id --agent-id deploy-agent --since 24h + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem Vault CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem-vault.md) diff --git a/ai/ti/reference/ti-fs-vault-list-secrets.md b/ai/ti/reference/ti-fs-vault-list-secrets.md new file mode 100644 index 0000000000000..c6503d43aeff9 --- /dev/null +++ b/ai/ti/reference/ti-fs-vault-list-secrets.md @@ -0,0 +1,62 @@ +--- +title: ti fs-vault list-secrets +summary: Filesystem Vault の認証情報から参照可能なシークレットを一覧表示します。 +--- + +# ti fs-vault list-secrets + +アクティブなオーナーまたは委任された認証情報から参照可能なシークレットを一覧表示します。 + +このコマンドは、参照可能なシークレットの完全な一覧を返します。結果はページ分割されません。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs-vault list-secrets + [--file-system-id ] + [--fs-token ] + [--help] + [--vault-token ] + [--version] +``` + +## オプション {#options} + +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定して指定することもできます。 +- `--fs-token `: オーナーの Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、選択した Filesystem 用にローカルに保存されているトークンを使用します。委任認証には、代わりに `--vault-token` または `TI_VAULT_TOKEN` を使用してください。 +- `--help`: ヘルプ情報を表示します。 +- `--vault-token `: 委任された `ti fs-vault` トークンです。`TI_VAULT_TOKEN` の使用を推奨します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- オーナーに表示されるシークレットを一覧表示します。 + + ```bash + # Return secret metadata without exposing field values. + ti fs-vault list-secrets --file-system-id + ``` + +- 委任トークンから参照可能なシークレットを一覧表示します。 + + ```bash + # Read the delegated token without echoing it or storing it in shell history. + printf 'Delegated Vault token: ' >&2 + read -r -s TI_VAULT_TOKEN + printf '\n' >&2 + export TI_VAULT_TOKEN + + # Restrict results to the token's granted scope. + ti fs-vault list-secrets --file-system-id + unset TI_VAULT_TOKEN + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem Vault CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem-vault.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-vault-mount-vault.md b/ai/ti/reference/ti-fs-vault-mount-vault.md new file mode 100644 index 0000000000000..918aa844770dc --- /dev/null +++ b/ai/ti/reference/ti-fs-vault-mount-vault.md @@ -0,0 +1,72 @@ +--- +title: ti fs-vault mount-vault +summary: 読み取り専用の Filesystem Vault ビューをマウントします。 +--- + +# ti fs-vault mount-vault + +読み取り可能な vault フィールドを、ローカルの読み取り専用 FUSE ファイルシステムとしてマウントします。 + +Linux では、FUSE3 をインストールし、`/dev/fuse` を利用可能にしてください。macOS では、macFUSE をインストールし、そのシステム拡張を承認してください。Windows では Vault マウントはサポートされていません。代わりに `read-secret`、`list-secrets`、または `run-with-secret` を使用してください。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs-vault mount-vault + --mount-path + [--dry-run] + [--file-system-id ] + [--fs-token ] + [--help] + [--ready-timeout ] + [--vault-token ] + [--version] +``` + +## オプション {#options} + +- `--mount-path `: ローカルのマウントパス。\[required] +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: オーナー Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。委任認証には、代わりに `--vault-token` または `TI_VAULT_TOKEN` を使用してください。 +- `--help`: ヘルプ情報を表示します。 +- `--ready-timeout `: バックグラウンドマウントの準備が完了するまで待機する時間。\[default: `30s`] +- `--vault-token `: 委任された `ti fs-vault` トークン。`TI_VAULT_TOKEN` の使用を推奨します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +どちらの例を実行する前にも、委任された Vault トークンを注入してください。対話型シェルでは、シェル履歴に残さないように読み取ってエクスポートします。 + +```bash +printf 'Delegated Vault token: ' >&2 +read -r -s TI_VAULT_TOKEN +printf '\n' >&2 +export TI_VAULT_TOKEN +``` + +マウントが不要になったら、アンマウントして `unset TI_VAULT_TOKEN` を実行してください。 + +- 委任された Vault ビューをマウントする: + + ```bash + # Expose only the paths allowed by TI_VAULT_TOKEN. + ti fs-vault mount-vault --file-system-id --mount-path ./vault + ``` + +- Vault マウントの準備完了までの待機時間を長くする: + + ```bash + # Increase the readiness timeout on a slower host or network. + ti fs-vault mount-vault --file-system-id --mount-path ./vault --ready-timeout 60s + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem Vault CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem-vault.md) diff --git a/ai/ti/reference/ti-fs-vault-read-secret.md b/ai/ti/reference/ti-fs-vault-read-secret.md new file mode 100644 index 0000000000000..8852d42458e98 --- /dev/null +++ b/ai/ti/reference/ti-fs-vault-read-secret.md @@ -0,0 +1,73 @@ +--- +title: ti fs-vault read-secret +summary: Filesystem Vault からシークレットを読み取ります。 +--- + +# ti fs-vault read-secret + +オーナーまたは委任された認証情報を使用して、完全なシークレットまたは 1 つのフィールドを読み取ります。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェイスは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs-vault read-secret + --secret-name + [--field ] + [--file-system-id ] + [--format ] + [--fs-token ] + [--help] + [--vault-token ] + [--version] +``` + +## オプション {#options} + +- `--secret-name `: Vault シークレット名。\[required] +- `--field `: 読み取るオプションのフィールド名。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--format `: 読み取り出力形式: `json`、`raw`、または `env`。\[デフォルト: json] +- `--fs-token `: オーナー Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。委任された認証には、代わりに `--vault-token` または `TI_VAULT_TOKEN` を使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--vault-token `: 委任された `ti fs-vault` トークン。`TI_VAULT_TOKEN` の使用を推奨します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共有されるオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- 生テキストとして 1 つのシークレットフィールドを読み取る: + + ```bash + # Write only the selected field value for direct consumption by a process. + ti fs-vault read-secret --file-system-id --secret-name db-prod --field PASSWORD --format raw + ``` + +- フィールドを環境変数代入として整形する: + + ```bash + # Emit an exportable environment-variable representation of the field. + ti fs-vault read-secret --file-system-id --secret-name db-prod --field DB_URL --format env + ``` + +- 委任された Vault トークンを使用して読み取る: + + ```bash + # Read the delegated token without echoing it or storing it in shell history. + printf 'Delegated Vault token: ' >&2 + read -r -s TI_VAULT_TOKEN + printf '\n' >&2 + export TI_VAULT_TOKEN + + # Access only the field allowed by the delegated token. + ti fs-vault read-secret --file-system-id --secret-name db-prod --field DB_URL --format raw + unset TI_VAULT_TOKEN + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem Vault CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem-vault.md) diff --git a/ai/ti/reference/ti-fs-vault-replace-secret.md b/ai/ti/reference/ti-fs-vault-replace-secret.md new file mode 100644 index 0000000000000..e2c82f332cefa --- /dev/null +++ b/ai/ti/reference/ti-fs-vault-replace-secret.md @@ -0,0 +1,57 @@ +--- +title: ti fs-vault replace-secret +summary: Filesystem Vault シークレット内のすべてのフィールドを置き換えます。 +--- + +# ti fs-vault replace-secret + +ローカルディレクトリ内のファイルを使用して、1 つのシークレットのすべてのフィールドを置き換えます。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs-vault replace-secret + --from-directory + --secret-path + [--dry-run] + [--file-system-id ] + [--fs-token ] + [--help] + [--version] +``` + +## オプション {#options} + +- `--from-directory `: このディレクトリ内のファイルがシークレットのフィールドになります。\[required] +- `--secret-path `: `/n/vault/` 形式の正規 Vault パスです。たとえば、`db-prod` として作成されたシークレットのパスは `/n/vault/db-prod` です。\[required] +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: Filesystem トークンを設定します。省略した場合、このコマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、このコマンドは選択した Filesystem 用にローカルに保存されているトークンを使用します。 +- `--help`: ヘルプ情報を表示します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- ディレクトリからシークレットを置き換える: + + ```bash + # Replace all fields with files loaded from the selected directory. + ti fs-vault replace-secret --file-system-id --secret-path /n/vault/db-prod --from-directory ./secret-fields + ``` + +- シークレットの置き換えをプレビューする: + + ```bash + # Validate the replacement source without changing the stored secret. + ti fs-vault replace-secret --file-system-id --secret-path /n/vault/db-prod --from-directory ./secret-fields --dry-run + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem Vault CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem-vault.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-fs-vault-run-with-secret.md b/ai/ti/reference/ti-fs-vault-run-with-secret.md new file mode 100644 index 0000000000000..b85fc347dd4bb --- /dev/null +++ b/ai/ti/reference/ti-fs-vault-run-with-secret.md @@ -0,0 +1,58 @@ +--- +title: ti fs-vault run-with-secret +summary: Filesystem Vault シークレットを使用してプロセスを実行します。 +--- + +# ti fs-vault run-with-secret + +1 つのシークレットを環境変数として注入してコマンドを実行します。`--` の後の引数は子コマンドに渡されます。 + +各シークレットのフィールド名は、子プロセス内で同じ名前の環境変数になります。フィールド名は `[A-Z_][A-Z0-9_]*` に一致する必要があるため、注入する予定のフィールドは大文字の名前で作成してください。小文字を含む名前を含め、いずれかのフィールド名がこのパターンに一致しない場合、または値にサポートされていない制御文字が含まれる場合、コマンドは注入全体を拒否します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェイスは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs-vault run-with-secret + --secret-path + [--file-system-id ] + [--fs-token ] + [--help] + [--vault-token ] + [--version] + -- [args...] +``` + +## オプション {#options} + +- `--secret-path `: `/n/vault/` 形式の正規 Vault パスです。たとえば、`db-prod` として作成されたシークレットのパスは `/n/vault/db-prod` です。\[required] +- `--file-system-id `: ファイルシステムを選択します。`TI_FS_FILE_SYSTEM_ID` を設定することもできます。 +- `--fs-token `: オーナー Filesystem トークンを設定します。省略した場合、コマンドは `TI_FS_TOKEN` 環境変数を使用します。どちらも指定されていない場合、コマンドは選択した Filesystem 用にローカルに保存されたトークンを使用します。委任認証には、代わりに `--vault-token` または `TI_VAULT_TOKEN` を使用してください。 +- `--help`: ヘルプ情報を表示します。 +- `--vault-token `: 委任された `ti fs-vault` トークンです。`TI_VAULT_TOKEN` の使用を推奨します。 +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共有されるオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- シークレットフィールドを使用してプロセスを実行します。 + + ```bash + # Verify that the child process receives DB_URL without printing its value. + ti fs-vault run-with-secret --file-system-id --secret-path /n/vault/db-prod -- sh -c 'test -n "$DB_URL" && printf "DB_URL is set\n"' + ``` + +- 注入されたフィールドを使用してアプリケーションを実行します。 + + ```bash + # Make all fields available only to the child process and its descendants. + ti fs-vault run-with-secret --file-system-id --secret-path /n/vault/db-prod -- ./deploy.sh + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem Vault CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem-vault.md) diff --git a/ai/ti/reference/ti-fs-vault-unmount-vault.md b/ai/ti/reference/ti-fs-vault-unmount-vault.md new file mode 100644 index 0000000000000..b079e4649ebcd --- /dev/null +++ b/ai/ti/reference/ti-fs-vault-unmount-vault.md @@ -0,0 +1,50 @@ +--- +title: ti fs-vault unmount-vault +summary: Filesystem Vault ビューをアンマウントします。 +--- + +# ti fs-vault unmount-vault + +ローカルの Filesystem Vault ファイルシステムをアンマウントします。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti fs-vault unmount-vault + --mount-path + [--dry-run] + [--force] + [--help] + [--ignore-absent] + [--timeout ] + [--version] +``` + +## オプション {#options} + +- `--mount-path `: ローカルのマウントパス。\[required] +- `--dry-run`: 変更を適用せずにリクエストを検証します。 +- `--force`: 正常なアンマウントがタイムアウトした場合、マウントプロセスを強制終了します。 +- `--help`: ヘルプ情報を表示します。 +- `--ignore-absent`: パスに対して `ti fs-vault` のマウント状態が存在しない場合でも成功を返します。 +- `--timeout `: マウントプロセスの終了を待機する時間。\[default: `30s`] +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- Vault ビューをアンマウントする場合: + + ```bash + # Detach the local read-only Vault mount. + ti fs-vault unmount-vault --mount-path ./vault + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem Vault CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem-vault.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-install-configure-update.md b/ai/ti/reference/ti-install-configure-update.md new file mode 100644 index 0000000000000..eb26ef8405fce --- /dev/null +++ b/ai/ti/reference/ti-install-configure-update.md @@ -0,0 +1,283 @@ +--- +title: TiDB Cloud CLI のインストール、設定、および更新 +summary: TiDB Cloud CLI のリリースをインストールし、プロファイルを設定し、バージョンを確認し、更新を適用し、CLI をアンインストールします。 +--- + +# TiDB Cloud CLI のインストール、設定、および更新 + +このガイドでは、TiDB Cloud CLI (`ti`) のインストールと設定、更新の確認と適用、必要に応じた CLI のアンインストールについて説明します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 前提条件 {#prerequisites} + +TiDB Cloud CLI を設定するには、まず TiDB Cloud コンソールの [TiDB Cloud API Keys](https://tidbcloud.com/org-settings/api-keys) ページから TiDB Cloud API public キーと private キーを取得してください。 + +> **Note:** +> +> 以前に TiDB Cloud CLI `tdc` v0.1.x を使用していた場合は、`tdc` によって開始された Filesystem または Vault のマウントをすべてアンマウントし、`ti` をインストールする前に [tdc から TiDB Cloud CLI への移行](/ai/ti/reference/ti-migrate-from-tdc.md) を確認してください。 + +## TiDB Cloud CLI をインストールする {#install-tidb-cloud-cli} + +使用しているオペレーティングシステムに応じて、以下の手順で TiDB Cloud CLI をインストールしてください。 + + + +
+ +1. macOS または Linux で、次のコマンドを実行して TiDB Cloud CLI をインストールします。 + + ```bash + curl -fsSL https://github.com/tidbcloud/ti-cli/releases/latest/download/install.sh | sh -s -- --yes + ``` + +2. 現在のシェルで `ti` を使えるようにし、確認します。 + + ```bash + export PATH="$HOME/.ti/bin:$PATH" + ti --version + ``` + +3. 新しいターミナルセッションでも `ti` を使えるようにするには、シェルプロファイルに追加します。たとえば、`zsh` を使用している場合は、次のコマンドを実行します。 + + ```bash + echo 'export PATH="$HOME/.ti/bin:$PATH"' >> ~/.zshrc + source ~/.zshrc + ``` + + Bash を使用している場合は、同じ `export` コマンドを、ターミナルで使用される起動ファイルに追加してください。通常は Linux では `~/.bashrc`、macOS では `~/.bash_profile` です。 + +
+ +
+ +1. Windows PowerShell で、次のコマンドを実行して TiDB Cloud CLI をインストールします。 + + ```powershell + $script = "$env:TEMP\install-ti.ps1" + iwr https://github.com/tidbcloud/ti-cli/releases/latest/download/install.ps1 -OutFile $script + powershell -ExecutionPolicy Bypass -File $script -Yes + ``` + +2. 現在の PowerShell セッションで `ti` を使えるようにし、確認します。 + + ```powershell + $env:Path = "$HOME\.ti\bin;$env:Path" + ti --version + ``` + +3. 新しい PowerShell セッションでも `ti` を使えるようにするには、`$HOME\.ti\bin` をユーザーの `PATH` に追加します。 + + ```powershell + $tiBin = "$HOME\.ti\bin" + [Environment]::SetEnvironmentVariable("Path", "$tiBin;$([Environment]::GetEnvironmentVariable('Path', 'User'))", "User") + ``` + +
+
+ +インストーラーはホームディレクトリに書き込みを行い、昇格された権限は必要ありません。 + +インストーラーは、匿名使用テレメトリーに関する通知と、オプトアウト方法も表示します。インストール時にテレメトリーの選択を行う必要はありません。詳細は、[匿名テレメトリー](/ai/ti/reference/ti-configuration-and-credentials.md#anonymous-telemetry) を参照してください。 + +## プロファイルを設定する {#configure-a-profile} + +プロファイルとは、TiDB Cloud API public キー、private キー、およびリージョンコードの名前付きセットです。 + +このセクションでは、TiDB Cloud CLI 用のプロファイルを設定する方法を説明します。 + +### 対話形式で設定する {#configure-interactively} + +デフォルトでは、`ti configure` はプロファイルの設定に必要な情報の入力を求めます。 + +```bash +ti configure +``` + +`ti configure` は、TiDB Cloud API public キー、private キー、およびデフォルトのリージョンコードの入力を求めます。CLI は、個別のコマンドで上書きしない限り、このリージョンをコマンド実行時に使用します。利用可能なリージョンについては、[サポートされているリージョン](/ai/ti/reference/ti-regions-security-and-limitations.md#supported-regions) を参照してください。 + +このコマンドは入力形式をローカルで検証し、TiDB Cloud へのリクエストを行わずにプロファイルを保存します。認証情報は、TiDB Cloud にアクセスするコマンドを実行したときに検証されます。デフォルトプロファイルを変更するには、再度 `ti configure` を実行してください。名前付きプロファイルを変更するには、たとえば `ti configure --profile staging` のように、その名前を指定します。 + +### 名前付きプロファイルを設定する {#configure-a-named-profile} + +`--profile` を指定して、名前付きプロファイルを設定します。 + +```bash +ti configure --profile staging +``` + +### 自動化向けに設定する {#configure-for-automation} + +CI またはその他の非対話型環境では、環境変数の使用を推奨します。 + +```bash +TIDB_CLOUD_PUBLIC_KEY="" \ +TIDB_CLOUD_PRIVATE_KEY="" \ +TI_REGION_CODE="aws-us-east-1" \ +ti configure --profile ci --non-interactive +``` + +`--tidb-cloud-public-key`、`--tidb-cloud-private-key`、および `--region-code` を指定することもできますが、シークレットを含むフラグはシェル履歴やプロセス一覧に残る可能性があります。 + +## プロファイルを選択し、そのリージョンを上書きする {#select-a-profile-and-override-its-region} + +名前付きプロファイルを使用し、1 つのコマンドに対してのみそのデフォルトリージョンを上書きするには、グローバルオプションの `--profile` と `--region` を使用します。 + +```bash +ti --profile staging --region aws-us-west-2 db list-db-clusters --db-cluster-type starter +``` + +プロファイル、認証情報、およびリージョンの優先順位ルールの詳細については、[TiDB Cloud CLI の設定と認証情報](/ai/ti/reference/ti-configuration-and-credentials.md) を参照してください。 + +## ヘルプの取得とバージョンの確認 {#get-help-and-check-the-version} + +コマンドを確認するには `help` または `--help` を使用し、インストール済みバージョンを確認するには `--version` を使用します。 + +```bash +ti help +ti fs help +ti --version +``` + +コマンドグループと CLI の規約については、[TiDB Cloud CLI コマンドリファレンス](/ai/ti/reference/ti-cli-reference.md) を参照してください。 + +## TiDB Cloud CLI を更新する {#update-tidb-cloud-cli} + +ファイルを変更せずに確認します。 + +```bash +ti update --check +``` + +自動化環境では、新しいバージョンが利用可能な場合に終了コード `1` を返します。 + +```bash +ti update --check --fail-if-update-available +``` + +更新内容を事前確認します。 + +```bash +ti update --dry-run +``` + +> **Note:** +> +> アクティブな Filesystem または Vault のマウントがある場合は、`ti` と Filesystem ランタイムが一緒に更新されるように、更新前にライターを停止してアンマウントしてください。例: +> +> ```bash +> ti fs unmount-file-system --mount-path +> ``` +> +> Vault マウントの場合は、`ti fs-vault unmount-vault --mount-path ` を使用します。詳細は、[TiDB Cloud Filesystem をマウントする](/ai/ti/guides/mount-filesystem.md) および [Filesystem Vault Secrets を管理する](/ai/ti/guides/manage-filesystem-vault-secrets.md) を参照してください。 + +最新の更新を適用します。 + +```bash +ti update +``` + +特定のリリースをインストールします。 + +```bash +ti update --target-version +``` + +更新コマンドは、ユーザー所有のインストールにおいて `ti` と `ti-drive9` の両方を置き換えます。保護された場所やパッケージマネージャー管理下の場所にあるインストールは変更しません。古い `/usr/local/bin` のインストールを `~/.ti/bin` に移行するには、インストーラーを一度実行してください。 + +## tdc v0.1.x から移行する {#migrate-from-tdc-v01-x} + +`tdc` v0.1.x を一度も使用したことがない場合は、このセクションをスキップしてください。 + +以前に `tdc` v0.1.x を使用していた場合、`ti` は `~/.tdc/` から `~/.ti/` へ、サポートされているローカルプロファイル、認証情報、設定、および Filesystem の状態を移行できます。`ti` をインストールする前に、`tdc` によって開始された Filesystem または Vault のマウントをすべてアンマウントしてください。 + +移行される状態と除外される状態、ディレクトリ競合の解決、レガシー環境変数との互換性を含む完全な移行手順については、[tdc から TiDB Cloud CLI への移行](/ai/ti/reference/ti-migrate-from-tdc.md) を参照してください。 + +## TiDB Cloud CLI のアンインストール {#uninstall-tidb-cloud-cli} + +アンインストールする前に、writer を停止し、アクティブな Filesystem または Vault のマウントをすべてアンマウントしてください。 + +たとえば、マウントの種類に応じて次のコマンドを実行します。 + +```bash +# Filesystem mount +ti fs unmount-file-system --mount-path + +# Vault mount +ti fs-vault unmount-vault --mount-path +``` + +詳細は、[TiDB Cloud Filesystem をマウントする](/ai/ti/guides/mount-filesystem.md) および [Filesystem Vault Secrets を管理する](/ai/ti/guides/manage-filesystem-vault-secrets.md) を参照してください。 + + + +
+ +1. バイナリを削除します。 + + ```bash + rm -f "$HOME/.ti/bin/ti" "$HOME/.ti/bin/ti-drive9" + ``` + +2. インストール時にシェルプロファイルへ追加した `~/.ti/bin` のエントリを削除します。 + +
+ +
+ +1. バイナリを削除します。 + + ```powershell + Remove-Item "$HOME\.ti\bin\ti.exe", "$HOME\.ti\bin\ti-drive9.exe" + ``` + +2. ユーザーの `PATH` から `$HOME\.ti\bin` を削除します。 + + ```powershell + $tiBin = "$HOME\.ti\bin" + $userPath = [Environment]::GetEnvironmentVariable("Path", "User") + $newPath = (($userPath -split ";") | Where-Object { $_ -and $_ -ne $tiBin }) -join ";" + [Environment]::SetEnvironmentVariable("Path", $newPath, "User") + ``` + +
+
+ +### ローカル状態の削除 {#remove-local-state} + +バイナリを削除しても、プロファイル、認証情報、Filesystem の登録、DB SQL 認証情報、ログ、およびマウントロケーターは保持されます。 + +> **Note:** +> +> すべてのローカル TiDB Cloud CLI 状態を完全に削除する意図がある場合にのみ、`~/.ti/` を削除してください。ローカル状態を削除しても、リモートの TiDB Cloud Starter インスタンスや Filesystem リソースは削除されません。 + + + +
+ +macOS または Linux の場合: + +```bash +rm -rf "$HOME/.ti" +``` + +
+ +
+ +Windows PowerShell の場合: + +```powershell +Remove-Item "$HOME\.ti" -Recurse -Force +``` + +
+
+ +## 関連情報 {#see-also} + +- [TiDB Cloud CLI の設定と認証情報](/ai/ti/reference/ti-configuration-and-credentials.md) +- [TiDB Cloud Starter CLI コマンドリファレンス](/ai/ti/reference/ti-starter-database.md) +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-migrate-from-tdc.md b/ai/ti/reference/ti-migrate-from-tdc.md new file mode 100644 index 0000000000000..d609d4ecd0e48 --- /dev/null +++ b/ai/ti/reference/ti-migrate-from-tdc.md @@ -0,0 +1,96 @@ +--- +title: tdc から TiDB Cloud CLI への移行 +summary: サポートされているローカル状態と自動化を tdc v0.1.x から TiDB Cloud CLI に移行します。 +--- + +# tdc から TiDB Cloud CLI への移行 + +この移行は、以前に `tdc` v0.1.x を使用していた場合にのみ適用されます。新規の TiDB Cloud CLI インストールでは、この作業は不要です。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 開始前に {#before-you-begin} + +- `tdc` によって開始されたすべての Filesystem マウントおよび Vault マウントをアンマウントし、書き込みプロセスを停止します。古いマウントがまだアクティブな場合、実行中の FUSE または WebDAV プロセスを移行できないため、移行は停止します。 + + アクティブな各マウントに対応するコマンドを実行してください。FUSE Filesystem マウントの場合は、まず `drain-file-system` を実行して保留中の書き込みをフラッシュし、その後 `unmount-file-system` を実行してマウントを切り離します。WebDAV Filesystem マウントの場合は、書き込みプロセスを停止し、`unmount-file-system` のみを実行します。Vault マウントでは `unmount-vault` のみが必要です。 + + ```bash + # FUSE Filesystem mount + tdc fs drain-file-system --mount-path + tdc fs unmount-file-system --mount-path + + # WebDAV Filesystem mount + tdc fs unmount-file-system --mount-path + + # Vault mount + tdc fs-vault unmount-vault --mount-path + ``` + +- ディレクトリの競合を解決する前に、`~/.tdc/` と既存の `~/.ti/` ディレクトリをバックアップしてください。 + +## ti をインストールしてローカル状態を移行する {#install-ti-and-migrate-local-state} + +古い `tdc update` コマンドでは、名前が変更された `ti` 実行ファイルをインストールできず、`ti` も `tdc` コマンドエイリアスを提供しません。[TiDB Cloud CLI をインストールする](/ai/ti/reference/ti-install-configure-update.md#install-tidb-cloud-cli) に従って、`ti` を直接インストールしてください。 + +`~/.tdc/` が存在し、`~/.ti/` が存在しない場合、インストーラーおよび最初の `update` 以外の `ti` コマンドは、サポートされているローカル状態を自動的に移行します。移行では、ロールバック用コピーとして `~/.tdc/` を保持し、移行完了を記録するための所有者専用マーカーを `~/.ti/` 配下に作成します。 + +次の表は、どの状態が移行されるかをまとめたものです。 + +| 移行されるもの | 移行されないもの | +| --- | --- | +| プロファイルと TiDB Cloud API 認証情報 | バイナリ | +| グローバル設定とテレメトリーのインストール ID | ログとキャッシュ | +| データベース SQL 認証情報 | ローカルオーバーレイ | +| Filesystem の登録情報と認証情報 | マウントロケーターおよび付随するランタイム状態 | + +インストール後、新しい実行ファイルを確認し、使用しているリソースに対して読み取り専用コマンドを実行してください。例: + +```bash +ti --version + +# For TiDB Cloud Starter +ti db list-db-clusters --db-cluster-type starter --output text + +# For TiDB Cloud Filesystem +ti fs list-file-systems --output text +``` + +移行を確認した後、ロールバック用コピーが不要になれば、古い `tdc` バイナリとローカル状態を削除できます。 + +## ローカル状態の競合を解決する {#resolve-a-local-state-conflict} + +`~/.tdc/` と `~/.ti/` がそれぞれ独立して作成されていた場合、または移行マーカーが存在しない、無効である、あるいは別のソースを参照している場合、`ti` はどちらのディレクトリもマージまたは上書きせずに停止します。 + +どちらのディレクトリを正しいソースオブトゥルースとするかを判断し、もう一方のディレクトリをバックアップ場所へ移動してください。その後、インストーラーまたは `ti` コマンドを再度実行します。認証情報や Filesystem レジストリディレクトリを手動で結合しないでください。 + +## 環境変数を更新する {#update-environment-variables} + +自動化で使用する環境変数名を、次のように更新してください。 + +| `tdc` v0.1.x 変数 | `ti` 変数 | +| --- | --- | +| `TDC_PROFILE` | `TI_PROFILE` | +| `TDC_REGION_CODE` | `TI_REGION_CODE` | +| `TDC_PUBLIC_KEY` | `TIDB_CLOUD_PUBLIC_KEY` | +| `TDC_PRIVATE_KEY` | `TIDB_CLOUD_PRIVATE_KEY` | +| `TDC_FS_TOKEN` | `TI_FS_TOKEN` | +| `TDC_FS_FILE_SYSTEM_ID` | `TI_FS_FILE_SYSTEM_ID` | +| `TDC_LOGGING` | `TI_LOGGING` | +| `TDC_TELEMETRY` | `TI_TELEMETRY` | +| `TDC_TELEMETRY_TAG` | `TI_TELEMETRY_TAG` | +| `TDC_TELEMETRY_EXTRA` | `TI_TELEMETRY_EXTRA` | +| `TDC_VAULT_TOKEN` | `TI_VAULT_TOKEN` | +| `TDC_INSTALL_DIR` | `TI_INSTALL_DIR` | + +v0.2.x の移行期間中、`ti` は対応する新しい変数が設定されていない場合にのみ、従来の `TDC_*` 環境変数を受け入れます。両方の形式が異なる値で設定されている場合、コマンドはローカルまたはリモートの状態を変更する前に失敗します。従来の `TDC_*` 変数のサポートは v0.3.0 で削除されます。 + +## 次のステップ {#what-s-next} + +- [TiDB Cloud CLI のインストール、設定、更新](/ai/ti/reference/ti-install-configure-update.md) +- [TiDB Cloud CLI の設定と認証情報](/ai/ti/reference/ti-configuration-and-credentials.md) +- [TiDB Cloud Starter インスタンスを管理する](/ai/ti/guides/manage-starter-instances.md) +- [Filesystem リソースを管理する](/ai/ti/guides/manage-filesystem-resources.md) +- [TiDB Cloud CLI のトラブルシューティング](/ai/ti/reference/ti-troubleshooting.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-regions-security-and-limitations.md b/ai/ti/reference/ti-regions-security-and-limitations.md new file mode 100644 index 0000000000000..0bfa2061439ed --- /dev/null +++ b/ai/ti/reference/ti-regions-security-and-limitations.md @@ -0,0 +1,106 @@ +--- +title: TiDB Cloud CLI のリージョン、セキュリティ、および制限事項 +summary: サポートされるリージョン、認証の境界、プラットフォーム依存関係、プレビュー時の制約、および Filesystem companion の動作について参照します。 +--- + +# TiDB Cloud CLI のリージョン、セキュリティ、および制限事項 + +このリファレンスでは、現在の配置、認証、プラットフォーム、およびプレビューに関する境界について説明します。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## サポートされるリージョン {#supported-regions} + +TiDB Cloud CLI を使用する場合、CLI 操作のデフォルトリージョンを設定する必要があります。 + +次の表は、TiDB Cloud CLI でサポートされるリージョンと、各リージョンで利用可能な TiDB Cloud CLI サービスを示しています。 + +| プロバイダー | 場所 | 正規リージョンコード | TiDB Cloud Starter | TiDB Cloud Filesystem | +| --- | --- | --- | --- | --- | +| AWS | 北バージニア | `aws-us-east-1` | サポート対象 | サポート対象 | +| AWS | オレゴン | `aws-us-west-2` | サポート対象 | サポート対象 | +| AWS | シンガポール | `aws-ap-southeast-1` | サポート対象 | サポート対象 | +| AWS | フランクフルト | `aws-eu-central-1` | サポート対象 | 非サポート | +| AWS | 東京 | `aws-ap-northeast-1` | サポート対象 | 非サポート | +| Alibaba Cloud | シンガポール | `alicloud-ap-southeast-1` | サポート対象 | サポート対象 | + +設定したリージョンが TiDB Cloud Starter をサポートしていても TiDB Cloud Filesystem をサポートしていない場合、そのリージョンで Starter インスタンスを管理できます。Filesystem コマンドは `unsupported endpoint` エラーで失敗します。 + +サポートされる Filesystem リージョンは、各 `ti` リリースに組み込まれています。インストール済みバージョンのリリース後に追加されたリージョンで Filesystem を使用するには、`ti` をアップグレードしてください。サービス URL を指定しても、非サポートのリージョンを有効にすることはできません。 + +## 認証情報の要件 {#credential-requirements} + +| 操作 | 必要な認証情報 | +| --- | --- | +| `ti configure`、すべての `ti db` コントロールプレーン操作 | TiDB Cloud API public/private キー | +| `ti fs create-file-system` | TiDB Cloud API キー | +| `ti fs delete-file-system` | TiDB Cloud API キーと file system ID | +| Filesystem の抽出および埋め込み設定の表示または更新 | TiDB Cloud API キーと明示的な file system ID | +| Filesystem トークンの生成、一覧表示、有効化、無効化、削除 | TiDB Cloud API キーと明示的な file system ID | +| Filesystem トークンの更新 | 現在の FS bearer トークンのみ | +| リモートの file、レイヤー、パック、マウント、Git、ジャーナル、およびオーナー vault 操作 | FS オーナートークンまたは登録済みリソース認証情報 | +| 委任された vault の read、list、run、またはマウント | スコープに適した委任された vault トークン | +| 成功したバックグラウンドマウント後の drain およびアンマウント | 同じ `HOME` 内の機密情報を含まないマウントロケーター | + +TiDB Cloud API 呼び出しでは Digest 認証を使用します。SQL HTTPS 実行では、生成された SQL のユーザー名とパスワードによる Basic 認証を TLS 上で使用します。これらの認証情報は相互に置き換えできません。 + +## セキュリティのベストプラクティス {#security-best-practices} + +- TiDB Cloud API キーは、ワークフローに必要なアクセス権のみを持つように作成してください。無人自動化で個人の管理者キーを再利用しないでください。 +- 自動化用の認証情報は、CI のシークレットストアまたは実行時シークレットマネージャーから注入してください。認証情報をソース管理、コンテナイメージ、シェルスクリプト、またはプロセス一覧やシェル履歴に表示される可能性のあるコマンドライン引数に置かないでください。 +- 完全な `~/.ti/` ディレクトリをエージェントのサンドボックスにコピーしないでください。既存の Filesystem には、`TI_FS_TOKEN` と `TI_REGION_CODE` のみを渡し、`TI_FS_FILE_SYSTEM_ID` は任意のアサーションとしてのみ使用してください。 +- FS オーナートークンは、その Filesystem への完全アクセスとして扱ってください。エージェントが一部のシークレットのみを必要とする場合は、最も狭い field scope と実用上最短の TTL を持つ vault grant を作成し、代わりに委任された vault トークンを渡してください。 +- マシン、CI ワークフロー、またはサンドボックスのクラスごとに別々の Filesystem トークンを使用してください。これにより、ある環境を無効化または失効しても、他の環境を中断せずに済みます。トークン名は運用上のラベルであり、一意識別子ではありません。トークンの変更は `token_id` でのみ行ってください。 +- 生成または更新されたトークンの平文は、1 回しか返されないため、すぐに取得してください。`TI_FS_TOKEN` から更新されたトークンは、外部シークレットマネージャーには書き戻されません。更新は冪等ではないため、ネットワーク障害が曖昧な場合は再試行しないでください。 +- 共有トークンのローテーションでは、まず置き換え用トークンを生成して配布し、アクセスを検証してから、古いトークンを無効化して削除してください。状態変更後、認証キャッシュが収束するまで約 10 秒かかります。 +- AI プロバイダーキーは `TI_FS_AI_PROVIDER_API_KEY` を通じてのみ渡してください。TiDB Cloud CLI はこの値をローカルに永続化せず、Filesystem サービスはマスクされた形式でのみ返します。有効な設定を describe するまで、曖昧な障害後に AI 設定更新を再試行しないでください。 +- 抽出を有効にすると、Filesystem のメディアが設定された抽出プロバイダーと共有されます。アプリケーション管理埋め込みを有効にすると、テキストまたは抽出された説明が設定された埋め込みプロバイダーと共有されます。いずれかの機能を有効にする前に、そのプロバイダーのデータ保持およびセキュリティ条件を確認してください。 +- 信頼できないエージェントや探索的なエージェントによる SQL 調査には `--read-only` を使用してください。DDL または権限管理には `--admin` のみを使用し、データ変更を意図する場合にのみ `--read-write` を使用してください。 +- 破壊的なコントロールプレーン操作の前に `--dry-run` を使用してください。`~/.ti/credentials`、リソース認証情報、および DB SQL 認証情報は、所有者のみが読み取り可能にしてください。 +- `/dev/fuse`、`SYS_ADMIN`、および制限のない AppArmor プロファイルへの Docker アクセスは、Dedicated で信頼できるコンテナにのみ付与してください。これらの設定はコンテナ分離を弱めます。 +- 診断情報を共有する前に、ローカルの操作ログを確認してください。ログには SQL テキスト、パス、ペイロード、認証情報の値は含まれませんが、コマンド名、フラグ名、プロファイルおよびリージョンのメタデータ、ステータスコード、操作タイミングは依然として機微情報となる可能性があります。 + +## マウントのプラットフォーム制限 {#mount-platform-limitations} + +| プラットフォーム | Filesystem マウント | Vault マウント | 要件と代替手段 | +| --- | --- | --- | --- | +| macOS | デフォルトでは WebDAV、明示的な `--driver fuse` では FUSE | FUSE | 組み込みの WebDAV helper は Filesystem マウントをサポートします。FUSE または Vault マウントには macFUSE をインストールし、その system extension を承認してください。 | +| Linux | FUSE | FUSE | FUSE3 をインストールし、`/dev/fuse` へのアクセスを提供してください。WebDAV マウントはサポートされていません。 | +| Windows | 非サポート | 非サポート | 代わりに `ti fs` のデータプレーンコマンドと、マウントを使用しない Vault コマンドを使用してください。 | + +FUSE と WebDAV は、同梱された [Drive9](https://github.com/mem9-ai/drive9) companion によって実装されています。TiDB Cloud CLI は、別個のネイティブマウント実装にはフォールバックしません。 + +Ubuntu 26.04 では、さらに AppArmor により `fusermount3` が制限されます。マウントパスには `$HOME` または `/mnt` 配下を使用してください。`/workspace` では、`ti` を root として実行している場合でも、明示的なローカル AppArmor ルールが必要です。 + +## 耐久性の制限事項 {#durability-limitations} + +- デフォルトの FUSE 動作では、companion によって許可される場合、ローカルバッファリングと非同期のリモート処理を使用します。 +- `unmount-file-system` が成功すると、FUSE の処理は正常に flush および drain されるため、事前に別途 drain は不要です。 +- `drain-file-system` は、マウントをアクティブなままにする、FUSE 専用のオンライン耐久性バリアです。 +- マウントプロセスを強制終了したり、マシンを削除したりすると、未コミットのメモリ/write-back 状態が失われる可能性があります。 +- デフォルトの coding-agent マウントプロファイルは、依存関係ツリー、生成出力、キャッシュ、および Git 内部データをローカルに保存します。ローカル専用データは、パックされるか別の方法で保持されない限り、そのディスクが失われると消失します。 +- 実行中のマウントは、マウント時に読み込まれた companion バージョンのまま動作し続けます。TiDB Cloud CLI を更新した後は、アンマウントして再度マウントしてください。 +- リモートにコミット済みの Filesystem データは、クライアントまたはサンドボックスが削除されても保持されます。マシンを削除しても、リモートリソースは削除されません。 + +## 製品の制限事項 {#product-limitations} + +- TiDB Cloud CLI はプレビュー段階であり、コマンドの仕様は変更される可能性があります。 +- データベース管理の対象は TiDB Cloud Starter であり、すべての TiDB Cloud クラスタープランではありません。 +- SQL 実行では、1 回の呼び出しにつき 1 つのステートメントのみ受け付けます。 +- read-write はデフォルトの SQL ロールです。セキュリティに敏感な自動化では、明示的なロールフラグを使用してください。 +- ジャーナルは追記専用であり、現在の公開コマンド体系にはジャーナルを削除するコマンドはありません。 +- Filesystem の list および describe コマンドは、TiDB Cloud 認証情報を使用してリージョンスコープのリモートインベントリを照会します。リージョンをまたいで集約はしません。 +- ローカル認証情報ストアは、プロファイルおよび Filesystem ごとに 1 つの選択済みトークンを保持します。すべてのリモートトークンをミラーリングするわけではありません。既知のトークン ID を持たない古い create/import 認証情報も引き続き使用できますが、リモートトークンメタデータと関連付けることはできません。 +- Filesystem の抽出および埋め込みプロバイダー設定は任意です。未設定でも、リソース管理、ファイルアクセス、検索、レイヤー、Git、ジャーナル、vault、またはマウントワークフローは妨げられません。 +- OpenAI プロバイダーインターフェースは、埋め込みと画像、音声、動画の抽出でサポートされます。Alibaba Cloud Model Studio Qwen ASR は音声抽出でのみサポートされます。その他のベンダーは、正確な OpenAI 互換コントラクトを通じた場合にのみ条件付きで互換性があります。ネイティブの Anthropic、Gemini、Vertex AI、Bedrock、および Azure OpenAI インターフェースはサポートされません。 +- アプリケーション管理埋め込みには、正確に 1024 次元を返すプロバイダーモデルが必要です。`source=database_auto` を報告する Filesystem はデータベース管理埋め込みを使用しており、アプリケーション管理設定を拒否します。 +- テレメトリー管理コマンドは意図的に実装されていません。テレメトリーは `~/.ti/.preferences` または `TI_TELEMETRY` で制御してください。サーバーレス関数のデプロイ、Homebrew、および Scoop 配布は実装されていません。 +- TiDB Cloud CLI は、直接のファイル操作、レイヤー、マウント、Git ワークスペース、ジャーナル、および Vault 操作を含む、公開されているすべての Filesystem ランタイム動作について、インストール済みの `ti-drive9` companion に依存します。 + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud Filesystem CLI コマンドリファレンス](/ai/ti/reference/ti-filesystem.md) +- [TiDB Cloud CLI の設定と認証情報](/ai/ti/reference/ti-configuration-and-credentials.md) +- [TiDB Cloud CLI のトラブルシューティング](/ai/ti/reference/ti-troubleshooting.md) diff --git a/ai/ti/reference/ti-starter-database.md b/ai/ti/reference/ti-starter-database.md new file mode 100644 index 0000000000000..5e81bd95df60e --- /dev/null +++ b/ai/ti/reference/ti-starter-database.md @@ -0,0 +1,32 @@ +--- +title: TiDB Cloud Starter CLI コマンドリファレンス +summary: Starter インスタンス、ブランチ、SQL ユーザー、接続文字列、SQL 実行向けの `ti db` コマンドを一覧で示します。 +--- + +# TiDB Cloud Starter CLI コマンドリファレンス + +`ti db` を使用して、TiDB Cloud Starter インスタンス、ブランチ、および SQL アクセスを管理します。対象が TiDB Cloud Starter インスタンスではない場合、またはそのサービスプランを検証できない場合、CLI はインスタンススコープの操作を拒否します。 + +ブランチは、親インスタンスのデータから分岐したコピーを含む、独立した TiDB Cloud Starter インスタンスです。ブランチを使用すると、親に影響を与えることなく、変更を分離してテストできます。詳細は、[TiDB Cloud Branching](/tidb-cloud/branch-overview.md) を参照してください。 + +## コマンド {#commands} + +| コマンド | 説明 | +|---|---| +| [`create-db-cluster`](/ai/ti/reference/ti-db-create-db-cluster.md) | TiDB Cloud Starter インスタンスを作成します。 | +| [`list-db-clusters`](/ai/ti/reference/ti-db-list-db-clusters.md) | 有効なリージョン内の Starter インスタンスを一覧表示します。 | +| [`describe-db-cluster`](/ai/ti/reference/ti-db-describe-db-cluster.md) | TiDB Cloud Starter インスタンスの詳細を表示します。 | +| [`update-db-cluster`](/ai/ti/reference/ti-db-update-db-cluster.md) | TiDB Cloud Starter インスタンスを更新します。 | +| [`delete-db-cluster`](/ai/ti/reference/ti-db-delete-db-cluster.md) | TiDB Cloud Starter インスタンスを削除します。 | +| [`create-db-cluster-branch`](/ai/ti/reference/ti-db-create-db-cluster-branch.md) | TiDB Cloud Starter インスタンスのブランチを作成します。 | +| [`list-db-cluster-branches`](/ai/ti/reference/ti-db-list-db-cluster-branches.md) | TiDB Cloud Starter インスタンスのブランチを一覧表示します。 | +| [`describe-db-cluster-branch`](/ai/ti/reference/ti-db-describe-db-cluster-branch.md) | TiDB Cloud Starter インスタンスのブランチの詳細を表示します。 | +| [`delete-db-cluster-branch`](/ai/ti/reference/ti-db-delete-db-cluster-branch.md) | TiDB Cloud Starter インスタンスからブランチを削除します。 | +| [`create-db-sql-users`](/ai/ti/reference/ti-db-create-db-sql-users.md) | ロールベースの SQL ユーザーを作成または修復します。 | +| [`format-db-connection-string`](/ai/ti/reference/ti-db-format-db-connection-string.md) | 保存済みの SQL 認証情報を接続文字列として整形します。 | +| [`execute-sql-statement`](/ai/ti/reference/ti-db-execute-sql-statement.md) | 1 つの SQL ステートメントを実行します。 | + +## 関連情報 {#see-also} + +- [TiDB Cloud Starter インスタンスを管理する](/ai/ti/guides/manage-starter-instances.md) +- [明示的な SQL ロールを使用して TiDB Cloud Starter をクエリする](/ai/ti/guides/ti-query-sql-with-roles-example.md) \ No newline at end of file diff --git a/ai/ti/reference/ti-troubleshooting.md b/ai/ti/reference/ti-troubleshooting.md new file mode 100644 index 0000000000000..4eb4c476f88c6 --- /dev/null +++ b/ai/ti/reference/ti-troubleshooting.md @@ -0,0 +1,244 @@ +--- +title: TiDB Cloud CLI のトラブルシューティング +summary: TiDB Cloud CLI の認証、プロジェクト、Filesystem の選択、companion、クォータ、SQL ユーザー、マウント、中断されたクリーンアップ失敗を診断します。 +--- + +# TiDB Cloud CLI のトラブルシューティング + +このリファレンスを使用して、現在よくある TiDB Cloud CLI の障害を診断します。`--debug` は必要な場合にのみ追加してください。デバッグ出力では機密情報はマスクされますが、共有する前に必ず内容を確認してください。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## API 認証が失敗する {#api-authentication-fails} + +症状としては、認証情報の欠落、Digest 認証の失敗、または権限拒否などがあります。 + +両方の環境変数がセットで設定されていることを確認してください。 + +```bash +test -n "$TIDB_CLOUD_PUBLIC_KEY" +test -n "$TIDB_CLOUD_PRIVATE_KEY" +``` + +保存済みの認証情報を使用する場合は、両方の変数を unset してから、プロファイルを確認してください。 + +```bash +unset TIDB_CLOUD_PUBLIC_KEY TIDB_CLOUD_PRIVATE_KEY +ti db list-db-clusters --db-cluster-type starter --profile default +``` + +API キーで認証自体は成功しても、コマンドが要求する権限を持っていない場合があります。その操作に必要なアクセス権を持つキーを使用してください。`ti configure` は TiDB Cloud に接続せずにローカル値を検証して保存するため、認証情報の失敗は最初にリモートコマンド実行時に現れます。 + +## Filesystem トークンが見つからない {#filesystem-token-is-missing} + +クリーンなサンドボックスでは、トークンとリージョンを指定してください。`ti` はトークンから file system ID を導出します。 + +```bash +export TI_FS_TOKEN="" +export TI_REGION_CODE="" +ti fs check-file-system +``` + +FS トークンは TiDB Cloud API private key ではありません。トークンが指定されている場合、`TI_FS_FILE_SYSTEM_ID` は任意です。別途配布された ID がトークンと一致することを `ti` に検証させたい場合にのみ設定してください。 + +トークンは分かっているが現在のマシンに保存されていない場合は、それをインポートしてから、導出された ID を選択してください。 + +```bash +# Store a known token without requiring TiDB Cloud API keys. +chmod 600 ./fs-token +ti fs import-file-system-token --from-file ./fs-token --region +ti fs list-files --file-system-id --path / +``` + +既知のトークンがすべて失われた、または失効された場合は、TiDB Cloud API キーを使用して別のオーナートークンを生成してください。 + +```bash +ti fs generate-file-system-token \ + --file-system-id "" \ + --token-name recovery \ + --ttl 24h +``` + +新しい平文のトークンはレスポンスに一度だけ表示されます。安全に保管するか、`--store-locally` を追加して現在のマシンで選択してください。 + +## Filesystem トークンが拒否される {#filesystem-token-is-rejected} + +データプレーンの HTTP 401 では、トークンが無効化されたのか、有効期限切れなのか、別のマシンで更新されたのか、または失効されたのかを区別できません。TiDB Cloud API キーを使用してリモートメタデータを確認してください。 + +```bash +ti fs list-file-system-tokens \ + --file-system-id "" \ + --include-expired \ + --output text +``` + +トークン名は一意ではありません。enable、disable、または delete 操作には、この出力にある不変の `token_id` を使用してください。トークンライフサイクルのメタデータなしで作成またはインポートされた古い認証情報は引き続き有効な場合がありますが、`ti` は対応する一覧行を安全に特定できないため、一致を推測することはありません。 + +enable、disable、delete、または refresh の後は、認証キャッシュが収束するまで約 10 秒待ってください。refresh が `fs.token_refresh_ambiguous` を返した場合、レスポンスが失われたとしてもサーバー側でトークンがローテーションされた可能性があります。結果は不明です。refresh がコミットされていなければ古いトークンは引き続き使える可能性がありますが、すでに無効になっている可能性もあります。コミット済みの refresh の置き換えトークンは、レスポンスが失われているため復元できません。古いトークンで refresh を再試行しないでください。代わりに、TiDB Cloud 認証情報を使用して独立したオーナートークンを生成してください。 + +トークンの変更操作で `fs.token_mount_active` が報告された場合は、エラー内の正確なマウントパスを使用してください。 + +```bash +ti fs drain-file-system --mount-path /path/to/workspace +ti fs unmount-file-system --mount-path /path/to/workspace +``` + +その後、トークン操作を再試行してください。別のマシン上のマウントはローカルからは見えないため、そのマシンとのローテーション調整は別途行ってください。 + +## Filesystem の選択がない {#filesystem-selection-is-missing} + +TiDB Cloud API キーを使用して、設定済みリージョン内のリモートリソースを一覧表示し、1 つを明示的に選択してください。 + +```bash +ti fs list-file-systems --output text +ti fs list-files --file-system-id --path / +``` + +または、現在のシェルで以降のコマンド用に Filesystem を選択します。 + +```bash +export TI_FS_FILE_SYSTEM_ID="" +``` + +TiDB Cloud CLI は、ローカル認証情報の数から Filesystem を推測しないよう意図的に設計されています。これは認証情報が 1 つしかない場合も含みます。ID、または埋め込み ID を導出できる FS トークンを指定してください。 + +## Filesystem リージョンがサポートされていない {#filesystem-region-is-unsupported} + +設定された TiDB Cloud リージョンが、インストール済みの TiDB Cloud CLI リリースに組み込まれている Filesystem エンドポイントのいずれにも含まれていない可能性があります。[現在の Filesystem リージョン](/ai/ti/reference/ti-regions-security-and-limitations.md#supported-regions) と比較してください。有効なプロファイルまたはコマンドスコープの `--region` を使って配置先を変更してください。生のサーバー URL は設定しないでください。 + +## companion が見つからない、または互換性がない {#companion-is-missing-or-incompatible} + +リリースインストーラーは、Filesystem コマンド用の companion runtime である `ti-drive9` を `ti` の隣に配置します。`ti-drive9` を直接呼び出すことはありません。TiDB Cloud CLI が companion の欠落を報告した場合は、現在のインストーラーを再実行してください。 + +```bash +curl -fsSL https://github.com/tidbcloud/ti-cli/releases/latest/download/install.sh | sh -s -- --yes +``` + +`PATH` が期待する `ti` を解決していることを確認してください。 + +```bash +command -v ti +ti --version +``` + +任意のスタンドアロン Drive9 バイナリをその場所にコピーしないでください。 + +## Starter または Filesystem の作成がクォータに達する {#starter-or-filesystem-creation-reaches-quota} + +クォータおよび容量エラーは、組織が無料の Starter 上限に達したことを意味する場合があります。新しく作成する前に、既存のリソースを一覧表示してください。 + +```bash +ti db list-db-clusters --db-cluster-type starter --output text +ti fs list-file-systems --output text +``` + +自動化を通すために無関係なリソースを削除しないでください。Starter の利用上限により、課金の設定が必要になる場合があります。 + +## SQL 認証情報が見つからない {#sql-credentials-are-missing} + +対象のクラスターに対して、ユーザーを準備または修復してください。 + +```bash +ti db create-db-sql-users --db-cluster-id "" +``` + +その後、明示的なロールを指定して再試行してください。 + +```bash +ti db execute-sql-statement \ + --db-cluster-id "" \ + --read-only \ + --sql "SELECT 1" +``` + +`~/.ti/db_users//credentials` を削除すると、ローカルパスワードも削除されます。認証情報を作り出すのではなく、create/repair コマンドを実行してください。 + +## マウントが準備完了にならない {#mount-does-not-become-ready} + +バックグラウンドマウントが成功した場合、TiDB Cloud CLI の結果は出力されますが、Drive9 の起動メッセージは表示されません。起動が失敗またはタイムアウトした場合は、エラー内にある companion のログパスを確認してください。次の点を確認します。 + +- マウントパスが存在し、書き込み可能であること。 +- 既存のマウントがそのパスを覆っていないこと。 +- FS トークンとリージョンが有効であること。 +- FUSE の前提条件または WebDAV helper がインストールされていること。 +- リモートリージョンに到達可能であること。 + +macOS ではデフォルトで WebDAV を使用します。macFUSE をインストールした後に FUSE を要求するには、次を実行します。 + +```bash +ti fs mount-file-system \ + --mount-path /path/to/workspace \ + --driver fuse +``` + +Linux では FUSE3 と `/dev/fuse` へのアクセスが必要です。Filesystem および Vault マウントは Windows ではサポートされていません。代わりに `ti fs` のデータプレーンコマンド、またはマウントを使わない Vault コマンドを使用してください。 + +## Ubuntu 26.04 は `/workspace` 配下での FUSE マウントを拒否します {#ubuntu-2604-rejects-a-fuse-mount-under-workspace} + +Ubuntu 26.04 では、`fusermount3` に AppArmor プロファイルが適用されます。デフォルトのマウントパス許可リストには `/workspace` が含まれていないため、root ユーザーと非 root ユーザーの両方で次のエラーが発生することがあります。 + +```text +/usr/bin/fusermount3: mount failed: Permission denied +``` + +拒否されたことを確認するには、次を実行します。 + +```bash +sudo journalctl -k --since "10 minutes ago" | + grep 'profile="fusermount3"' +``` + +`operation="mount"`、`name="/workspace/"`、`info="failed mntpnt match"` を含むエントリがあれば、この制限が原因です。代わりに `$HOME` または `/mnt` 配下にマウントしてください。 + +```bash +mkdir -p "$HOME/workspace" +ti fs mount-file-system --mount-path "$HOME/workspace" +``` + +`/workspace` のオーナーやモードを変更しても、AppArmor は回避できません。パスを変更できない場合は、[TiDB Cloud Filesystem をマウントする](/ai/ti/guides/mount-filesystem.md#ubuntu-2604-mount-paths) で説明されているように、`/etc/apparmor.d/local/fusermount3` に `/workspace` 用の明示的なマウントおよびアンマウントルールを追加してください。 + +## プロセスクラッシュ後にマウントが無効になります {#mount-becomes-stale-after-a-process-crash} + +companion が正常にアンマウントされないまま強制終了されると、FUSE アクセスで `EIO` または `Transport endpoint is not connected` が返されることがあります。開いているファイルを持つプロセスを停止してから、次を試してください。 + +```bash +ti fs unmount-file-system \ + --mount-path /path/to/workspace \ + --force +``` + +ロケーターが残っていない場合でもクリーンアップを成功扱いにしたいときは、`--ignore-absent` を使用します。強制的なクリーンアップでは、削除されたローカルディスク上にある保留中の書き込みのリカバリは保証されません。 + +## アンマウント時にビジーが報告されます {#unmount-reports-busy} + +エディタ、作業ディレクトリがマウント内にあるシェル、その他の開いているファイルハンドルを閉じてから、再試行してください。 + +```bash +ti fs unmount-file-system --mount-path /path/to/workspace +``` + +アンマウントでは、正常な FUSE drain が自動的に実行されます。`drain-file-system` を個別に実行しても、ファイルディスクリプタは閉じられず、busy なマウントも解消されません。これを使うのは、マウントをオンラインのままにして保留中の処理をフラッシュしたい場合だけにしてください。drain は WebDAV ではサポートされていません。 + +## 中断されたコマンドによってリソースが残ります {#an-interrupted-command-leaves-resources} + +リソースを一覧表示し、自分のワークフローで作成されたものだけを特定してください。削除前に describe を使用します。 + +```bash +ti db describe-db-cluster --db-cluster-id "" +ti fs describe-file-system --file-system-id "" +``` + +サポートされているクリーンアップ内容を事前確認するには、次を実行します。 + +```bash +ti db delete-db-cluster --db-cluster-id "" --dry-run +ti fs delete-file-system \ + --file-system-id "" \ + --dry-run +``` + +## 問題を報告する {#report-a-problem} + +TiDB Cloud CLI のバージョン、OS とアーキテクチャ、コマンド名、安定したエラーコード、および秘匿情報を除去したログを含めてください。API キー、FS または vault トークン、DB パスワード、機密データを含む SQL、またはファイル内容は絶対に含めないでください。問題の報告先は [github.com/tidbcloud/ti-cli/issues](https://github.com/tidbcloud/ti-cli/issues) です。 diff --git a/ai/ti/reference/ti-update.md b/ai/ti/reference/ti-update.md new file mode 100644 index 0000000000000..69ef911a7c2a6 --- /dev/null +++ b/ai/ti/reference/ti-update.md @@ -0,0 +1,69 @@ +--- +title: ti update +summary: TiDB Cloud CLI リリースの更新を確認またはインストールします。 +--- + +# ti update + +TiDB Cloud CLI リリースの更新を確認またはインストールします。このコマンドは、`~/.ti/` 配下の設定、プロファイル、認証情報、操作ログ、その他の状態を読み取ったり変更したりしません。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェイスは、予告なく変更される場合があります。 + +## 構文 {#syntax} + +```text +ti update + [--check] + [--dry-run] + [--fail-if-update-available] + [--help] + [--target-version ] + [--version] +``` + +## オプション {#options} + +- `--check`: 更新を実行せずに、新しい `ti` リリースが利用可能かどうかを確認します。 +- `--dry-run`: ローカルバイナリを変更せずに、更新計画を表示します。 +- `--fail-if-update-available`: `--check` と併用すると、更新が利用可能な場合に終了コード 1 で終了します。 +- `--help`: ヘルプ情報を表示します。 +- `--target-version `: 対象の `ti` バージョンです。`latest` または `vX.Y.Z` などを指定します。\[default: latest] +- `--version`: バージョン情報を表示します。 + +すべてのコマンドで共通のオプションについては、[グローバルオプション](/ai/ti/reference/ti-cli-reference.md#global-options) を参照してください。 + +## 例 {#examples} + +- 更新が利用可能かどうかを確認する: + + ```bash + # Compare the installed version with the latest GitHub release without changing files. + ti update --check + ``` + +- 更新が利用可能な場合に CI ジョブを失敗させる: + + ```bash + # Exit with code 1 when a newer release is available, without changing files. + ti update --check --fail-if-update-available + ``` + +- 更新をプレビューする: + + ```bash + # Show the files and versions that an update would change. + ti update --dry-run + ``` + +- 特定のリリースをインストールする: + + ```bash + # Replace an eligible installation with the requested release version. + ti update --target-version + ``` + +## 関連ドキュメント {#related-documentation} + +- [TiDB Cloud CLI のインストール、設定、および更新](/ai/ti/reference/ti-install-configure-update.md) \ No newline at end of file diff --git a/ai/ti/ti-overview.md b/ai/ti/ti-overview.md new file mode 100644 index 0000000000000..8b9b8c45d3c47 --- /dev/null +++ b/ai/ti/ti-overview.md @@ -0,0 +1,91 @@ +--- +title: TiDB Cloud CLI (`ti`) の概要 +summary: TiDB Cloud Starter インスタンスと TiDB Cloud Filesystems を管理するために、TiDB Cloud CLI (`ti`) をいつ使用するかを学びます。 +--- + +# TiDB Cloud CLI (`ti`) の概要 + +[TiDB Cloud CLI (`ti`)](https://github.com/tidbcloud/ti-cli) は、[TiDB Cloud Starter](https://docs.pingcap.com/tidbcloud/select-cluster-tier/?plan=starter#starter) インスタンスと [TiDB Cloud Filesystems](#tidb-cloud-filesystem) を管理するための CLI です。対話的な利用と自動化の両方を想定して設計されており、デフォルトで構造化された JSON 出力を提供します。 + +> **Note:** +> +> - TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、事前の通知なく変更される場合があります。 +> - TiDB Cloud は現在、対象範囲の異なる 2 つの CLI を提供しています: [`ti`](https://github.com/tidbcloud/ti-cli) と [`ticloud`](https://github.com/tidbcloud/tidbcloud-cli)。`ti` と `ticloud` をいつ使い分けるかについては、[`ti` と `ticloud` の違い](#differences-between-ti-and-ticloud) および [TiDB Cloud CLI (`ti`) を使用するタイミング](#when-to-use-tidb-cloud-cli-ti) を参照してください。 + +## TiDB Cloud Filesystem {#tidb-cloud-filesystem} + +TiDB Cloud Filesystem は、AI エージェントおよび自動化ワークロード向けに設計されたサーバーレス分散ファイルシステムです。ローカルマシン、サンドボックス、または CI ランナーとは独立して利用可能な、永続的で共有可能なファイル名前空間を提供します。そのため、永続ストレージ、共有ワークスペース、AI エージェントのワークフローに役立ちます。 + +## TiDB Cloud CLI (`ti`) を使用するタイミング {#when-to-use-tidb-cloud-cli-ti} + +ターミナル、スクリプト、CI ジョブ、または AI エージェント環境から TiDB Cloud を管理したい場合は、TiDB Cloud CLI (`ti`) を使用します。 + +| 一般的なユースケース | できること | +| --- | --- | +| TiDB Cloud Starter のライフサイクル操作を自動化する | TiDB Cloud Starter インスタンスとブランチを作成および管理し、準備完了まで待機し、結果を JSON として確認し、SQL ステートメントを実行し、ID によってリソースを削除できます。 | +| タスクごとに SQL 権限を分離する | 各コマンドでデータベースパスワードを扱うことなく、タスクごとに CLI 管理の read-only、read-write、または admin ID を使用できます。 | +| 環境をまたいでファイルを永続化して共有する | ローカルマシン、CI ジョブ、サンドボックス、その他の一時的な環境をまたいでファイルを利用可能な状態に保ち、直接のファイルコマンドまたはサポートされている FUSE および WebDAV マウントを通じて同じリモート名前空間にアクセスできます。 | +| 一時的な環境で Filesystems を使用する | 信頼できるマシン上で Filesystem をプロビジョニングし、その後 CLI プロファイルをコピーしたり TiDB Cloud API キーを提供したりすることなく、サンドボックスに Filesystem トークンとリージョンコードを渡せます。 | +| 大規模な Git ワークスペースをより早く開始する | クリーンな Git データの hydration がバックグラウンドで継続している間に、リポジトリのファイルツリーを公開できます。 | +| エージェントの作業を記録して委任する | ジャーナルに追記専用かつハッシュチェーン化されたワークフローイベントを保存し、選択した vault フィールドへの一時的かつスコープ限定のアクセスを付与できます。 | + +視覚的でガイド付きのワークフローには、[TiDB Cloud コンソール](https://tidbcloud.com/) を使用してください。TiDB Cloud Essential または `ti` がサポートしていない操作には、[`ticloud`](#differences-between-ti-and-ticloud) を使用してください。 + +## TiDB Cloud CLI が管理するもの {#what-tidb-cloud-cli-manages} + +TiDB Cloud CLI は、次の機能領域をカバーします。 + +- **TiDB Cloud Starter** + - インスタンスおよびブランチのライフサイクル操作 + - SQL ユーザーと接続情報 + - SQL ステートメントの実行 +- **TiDB Cloud Filesystem** + - Filesystem のライフサイクルとファイル操作 + - FUSE および WebDAV マウント + - レイヤー、パック、および Git ワークスペース + - ジャーナルと vault +- **CLI 設定** + - プロファイル、リージョン、およびローカル認証情報 + - CLI の更新 + - 出力フォーマットと JMESPath クエリ + +ほとんどのリソースコマンドは、2 レベルのコマンドモデルに従います。 + +```text +ti +``` + +たとえば、`ti db list-db-clusters --db-cluster-type starter`、`ti fs copy-file`、`ti fs-journal verify-journal` です。 + +また、トップレベルの `ti configure` および `ti update` コマンドを使用して、CLI を設定および管理することもできます。 + +## `ti` と `ticloud` の違い {#differences-between-ti-and-ticloud} + +TiDB Cloud は現在、対象範囲の異なる 2 つの CLI を提供しています: `ti` と [`ticloud`](/tidb-cloud/cli-reference.md)。 + +`ti` は TiDB Cloud Starter を使った自動化と TiDB Cloud Filesystems の管理向けに設計されており、一方 `ticloud` は引き続き TiDB Cloud Essential と、`ti` では利用できない追加の TiDB Cloud 操作をサポートします。 + +| CLI | 最適な用途 | 主な特徴 | +| --- | --- | --- | +| `ti` | サポートされている TiDB Cloud Starter の自動化ワークフローと TiDB Cloud Filesystems | 自動化向けに設計されている。デフォルトで JSON を出力する。コマンドは非対話型ワークフローをサポートし、`ti configure` は対話的なプロンプトも可能。 | +| `ticloud` | TiDB Cloud Essential、既存の TiDB Cloud Starter ワークフロー、および `ti` では利用できない操作(データインポート、データエクスポート、監査ログ操作など) | `ti` では利用できない追加の TiDB Cloud 操作をサポートし、対話型モードと非対話型モードの両方に対応。 | + +`ti` は `ticloud` を置き換えるものではありません。必要なリソースと操作に応じて CLI を選択してください。 + +- TiDB Cloud Starter を使った新しい自動化ワークフローでは、必要な操作を `ti` がサポートしている場合は `ti` を使用します。 +- TiDB Cloud Filesystems を管理するには、`ti` を使用します。 +- TiDB Cloud Starter または TiDB Cloud Essential 向けに既存の `ticloud` ワークフローがある場合は、それらを引き続き使用できます。 +- TiDB Cloud Essential または `ti` では利用できない操作(データインポート、データエクスポート、監査ログ操作など)には、[`ticloud`](/tidb-cloud/cli-reference.md) を使用します。 + +## 次のステップ {#next-steps} + +TiDB Cloud CLI を初めて使用する場合は、[TiDB Cloud CLI を使い始める](/ai/ti/ti-quick-start.md) から始めて、`ti` をインストールし、プロファイルを設定し、基本的な TiDB Cloud Starter または Filesystem のワークフローを完了してください。 + +その後は、実施したい内容に応じて次に進んでください。 + +- [TiDB Cloud Starter インスタンスを管理する](/ai/ti/guides/manage-starter-instances.md) +- [TiDB Cloud Filesystems を管理する](/ai/ti/guides/manage-filesystem-resources.md) +- **エンドツーエンドのワークフローに従う**: [日次の TiDB Cloud CLI ワークフローを実行する](/ai/ti/guides/ti-daily-workflow-example.md) または [エージェントサンドボックスで TiDB Cloud Filesystem を使用する](/ai/ti/guides/ti-agent-sandbox-example.md) から始めてください +- **特定のコマンドを調べる**: [TiDB Cloud CLI コマンドリファレンス](/ai/ti/reference/ti-cli-reference.md) を確認してください +- **TiDB Cloud CLI の新機能を確認する**: [TiDB Cloud CLI (`ti`) Release Notes](https://github.com/tidbcloud/ti-cli/releases) を確認してください +- **問題を報告する**: [TiDB Cloud CLI GitHub repository](https://github.com/tidbcloud/ti-cli/issues) で issue を作成してください。 diff --git a/ai/ti/ti-quick-start.md b/ai/ti/ti-quick-start.md new file mode 100644 index 0000000000000..6f071cb7b5c12 --- /dev/null +++ b/ai/ti/ti-quick-start.md @@ -0,0 +1,197 @@ +--- +title: TiDB Cloud CLI を使い始める +summary: TiDB Cloud CLI をインストールして設定し、その後 TiDB Cloud Filesystem を作成して使用するか、TiDB Cloud Starter データベースをクエリします。 +--- + +# TiDB Cloud CLI を使い始める + +[TiDB Cloud CLI (`ti`)](https://github.com/tidbcloud/ti-cli) は、[TiDB Cloud Starter](https://docs.pingcap.com/tidbcloud/select-cluster-tier/?plan=starter#starter) インスタンスおよび [TiDB Cloud Filesystems](/ai/ti/ti-overview.md#tidb-cloud-filesystem) を管理するためのコマンドラインツールです。対話的な利用と自動化の両方をサポートしており、コマンドのデフォルト出力形式は JSON です。 + +このガイドでは、TiDB Cloud CLI (`ti`) のインストールと設定を行い、その後 TiDB Cloud Starter または TiDB Cloud Filesystem を使った基本的なワークフローを完了する方法を説明します。CLI の概要、機能、サポートされるワークフローについては、[TiDB Cloud CLI (`ti`) の概要](/ai/ti/ti-overview.md) を参照してください。 + +> **Note:** +> +> TiDB Cloud CLI (`ti`) は現在パブリックプレビューです。機能およびコマンドラインインターフェースは、予告なく変更される場合があります。 + +## 前提条件 {#prerequisites} + +開始する前に、[TiDB Cloud コンソール](https://tidbcloud.com/) の [TiDB Cloud API Keys](https://tidbcloud.com/org-settings/api-keys) ページから TiDB Cloud API public キーと private キーを取得してください。 + +## Step 1. TiDB Cloud CLI をインストールする {#step-1-install-tidb-cloud-cli} + +お使いのオペレーティングシステムに応じて、以下の手順で TiDB Cloud CLI をインストールします。 + + + +
+ +1. macOS または Linux で、次のコマンドを実行して TiDB Cloud CLI をインストールします。 + + ```bash + curl -fsSL https://github.com/tidbcloud/ti-cli/releases/latest/download/install.sh | sh -s -- --yes + ``` + +2. 現在のシェルで `ti` を使えるようにし、確認します。 + + ```bash + export PATH="$HOME/.ti/bin:$PATH" + ti --version + ``` + +3. 新しいターミナルでも `ti` を使えるようにするため、`export PATH="$HOME/.ti/bin:$PATH"` をシェルプロファイルに追加します。 + + たとえば、`zsh` を使用している場合は、次のコマンドを実行します。 + + ```bash + echo 'export PATH="$HOME/.ti/bin:$PATH"' >> ~/.zshrc + source ~/.zshrc + ``` + +
+ +
+ +1. Windows PowerShell で、次のコマンドを実行して TiDB Cloud CLI をインストールします。 + + ```powershell + $script = "$env:TEMP\install-ti.ps1" + iwr https://github.com/tidbcloud/ti-cli/releases/latest/download/install.ps1 -OutFile $script + powershell -ExecutionPolicy Bypass -File $script -Yes + ``` + +2. 現在の PowerShell セッションで `ti` を使えるようにし、確認します。 + + ```powershell + $env:Path = "$HOME\.ti\bin;$env:Path" + ti --version + ``` + +3. 新しい PowerShell セッションでも `ti` を使えるようにするため、ユーザーの `PATH` に `$HOME\.ti\bin` を追加します。 + + ```powershell + $tiBin = "$HOME\.ti\bin" + [Environment]::SetEnvironmentVariable("Path", "$tiBin;$([Environment]::GetEnvironmentVariable('Path', 'User'))", "User") + ``` + +
+
+ +## Step 2. TiDB Cloud CLI を設定する {#step-2-configure-tidb-cloud-cli} + +1. 対話型設定を実行します。 + + ```bash + ti configure + ``` + +2. 次の情報を入力します。 + + - CLI 操作のデフォルトリージョン。リージョンコード(`aws-us-east-1` など)で指定します。TiDB Cloud CLI がサポートするリージョンの一覧については、[サポートされるリージョン](/ai/ti/reference/ti-regions-security-and-limitations.md#supported-regions) を参照してください。 + - TiDB Cloud API public キーと private キー。 + +3. 読み取り専用コマンドを実行し、保存した認証情報を使用して CLI が TiDB Cloud にアクセスできることを確認します。 + + ```bash + ti db list-db-clusters --db-cluster-type starter --output text + ``` + + 出力例: + + ```bash + { + "profile": "default", + "region_code": "aws-us-east-1", + "credentials_stored": true + } + ``` + +## Step 3. ワークフローを選択する {#step-3-choose-a-workflow} + +以下のいずれかのワークフローを完了してください。 + +- [Option A: Filesystem を作成して使用する](/ai/ti/ti-quick-start.md#option-a-create-and-use-a-filesystem) +- [Option B: TiDB Cloud Starter インスタンスを作成してデータベースをクエリする](/ai/ti/ti-quick-start.md#option-b-create-a-tidb-cloud-starter-instance-and-query-the-database) + +### Option A: Filesystem を作成して使用する {#option-a-create-and-use-a-filesystem} + +TiDB Cloud Filesystem は、ローカルマシン、CI ジョブ、サンドボックス、その他の一時的な環境で利用できる、永続的かつ共有可能なクラウドファイルシステムです。 + +1. Filesystem を作成し、準備完了まで待機して、サーバーによって割り当てられた ID を保存します。 + + ```bash + export TI_FS_FILE_SYSTEM_ID="$(ti fs create-file-system \ + --wait \ + --query file_system_id \ + --output text)" + ``` + + `ti` は Filesystem の認証情報をローカルに保存するため、以降のファイル操作で再度指定する必要はありません。 + +2. Filesystem にファイルを書き込み、その後ファイルを読み取ります。 + + ```bash + printf 'hello from ti\n' | ti fs copy-file \ + --from-stdin \ + --to-remote /hello.txt + + ti fs read-file \ + --path /hello.txt + ``` + + 期待される出力: + + ```text + hello from ti + ``` + +3. Filesystem を削除します。 + + ```bash + ti fs delete-file-system \ + --file-system-id "$TI_FS_FILE_SYSTEM_ID" + unset TI_FS_FILE_SYSTEM_ID + ``` + +### Option B: TiDB Cloud Starter インスタンスを作成してデータベースをクエリする {#option-b-create-a-tidb-cloud-starter-instance-and-query-the-database} + +1. TiDB Cloud Starter インスタンスを作成し、その ID を保存します。 + + ```bash + export TI_DB_CLUSTER_ID="$(ti db create-db-cluster \ + --db-cluster-type starter \ + --db-cluster-name quickstart-db \ + --wait \ + --query id \ + --output text)" + ``` + +2. SQL ユーザーを作成し、読み取り専用クエリを実行して接続を確認します。 + + ```bash + ti db create-db-sql-users \ + --db-cluster-id "$TI_DB_CLUSTER_ID" + + ti db execute-sql-statement \ + --db-cluster-id "$TI_DB_CLUSTER_ID" \ + --read-only \ + --sql "SELECT 1 AS ready" \ + --output text + ``` + + `ti db execute-sql-statement` コマンドは、HTTPS SQL API を介してクエリを実行します。出力には `ready = 1` が含まれます。 + +3. TiDB Cloud Starter インスタンスを削除します。 + + ```bash + ti db delete-db-cluster \ + --db-cluster-id "$TI_DB_CLUSTER_ID" \ + --wait + unset TI_DB_CLUSTER_ID + ``` + +## 次のステップ {#what-s-next} + +- [TiDB Cloud CLI (`ti`) の概要](/ai/ti/ti-overview.md) を読んで、`ti` が何を管理するのか、またどのような場合に使用するのかを理解してください。 +- タスクガイドに従って、[TiDB Cloud Starter](https://docs.pingcap.com/tidbcloud/select-cluster-tier/?plan=starter#starter) または [Filesystem リソース](/ai/ti/guides/manage-filesystem-resources.md) を管理してください。 +- コマンドグループ、グローバルオプション、共通の CLI 動作については、[TiDB Cloud CLI (`ti`) コマンドリファレンス](/ai/ti/reference/ti-cli-reference.md) を参照してください。 +- 複数のプロファイルや非対話型認証を設定するには、[TiDB Cloud CLI の設定と認証情報](/ai/ti/reference/ti-configuration-and-credentials.md) を参照してください。 diff --git a/ai/vector-search-get-started-using-python.md b/ai/vector-search-get-started-using-python.md index cb619cadf77db..ab4ea1c868a7d 100644 --- a/ai/vector-search-get-started-using-python.md +++ b/ai/vector-search-get-started-using-python.md @@ -8,7 +8,7 @@ aliases: ['/ja/tidb/stable/vector-search-get-started-using-python/','/ja/tidb/de このチュートリアルでは、**セマンティック検索**機能を提供するシンプルなAIアプリケーションの開発方法を説明します。従来のキーワード検索とは異なり、セマンティック検索はクエリの背後にある意味をインテリジェントに理解し、最も関連性の高い結果を返します。たとえば、"dog"、"fish"、"tree"というタイトルの文書があり、"a swimming animal"を検索すると、アプリケーションは"fish"を最も関連性の高い結果として識別します。 -このチュートリアルでは、 [TiDBベクトル検索](/ai/concepts/vector-search-overview.md)、Python、 [TiDB Vector SDK for Python](https://github.com/pingcap/tidb-vector-python) 、および AI モデルを使用して、この AI アプリケーションを開発します。 +このチュートリアルでは、 [TiDBベクトル検索](/ai/guides/vector-search-overview.md)、Python、 [TiDB Vector SDK for Python](https://github.com/pingcap/tidb-vector-python) 、および AI モデルを使用して、この AI アプリケーションを開発します。 > **Note:** > @@ -51,7 +51,7 @@ pip install sqlalchemy pymysql sentence-transformers tidb-vector python-dotenv ``` - `tidb-vector` : TiDBベクトル検索と対話するためのPythonクライアント。 -- [`sentence-transformers`](https://sbert.net) : テキストから[ベクトル埋め込み](/ai/concepts/vector-search-overview.md#vector-embedding)を生成するための事前トレーニング済みモデルを提供する Python ライブラリです。 +- [`sentence-transformers`](https://sbert.net) : テキストから[ベクトル埋め込み](/ai/guides/vector-search-overview.md#vector-embedding)を生成するための事前トレーニング済みモデルを提供する Python ライブラリです。 ### ステップ3.TiDB接続文字列を設定する {#step-3-configure-the-tidb-connection-string} @@ -120,7 +120,7 @@ TiDBをローカルマシンで実行している場合、 ``はデフォ ### ステップ4.埋め込みモデルを初期化する {#step-4-initialize-the-embedding-model} -[埋め込みモデル](/ai/concepts/vector-search-overview.md#embedding-model)データを[ベクトル埋め込み](/ai/concepts/vector-search-overview.md#vector-embedding)に変換します。この例では、テキスト埋め込みに事前トレーニング済みモデル[**msmarco-MiniLM-L12-cos-v5**](https://huggingface.co/sentence-transformers/msmarco-MiniLM-L12-cos-v5)を使用します。 `sentence-transformers`ライブラリによって提供されるこの軽量モデルは、テキストデータを 384 次元のベクトル埋め込みに変換します。 +[埋め込みモデル](/ai/guides/vector-search-overview.md#embedding-model)データを[ベクトル埋め込み](/ai/guides/vector-search-overview.md#vector-embedding)に変換します。この例では、テキスト埋め込みに事前トレーニング済みモデル[**msmarco-MiniLM-L12-cos-v5**](https://huggingface.co/sentence-transformers/msmarco-MiniLM-L12-cos-v5)を使用します。 `sentence-transformers`ライブラリによって提供されるこの軽量モデルは、テキストデータを 384 次元のベクトル埋め込みに変換します。 モデルを設定するには、次のコードを`example.py`ファイルにコピーしてください。このコードは`SentenceTransformer`インスタンスを初期化し、後で使用するために`text_to_embedding()`関数を定義します。 diff --git a/basic-features.md b/basic-features.md index 933192f50c097..0415ddc548b00 100644 --- a/basic-features.md +++ b/basic-features.md @@ -111,7 +111,7 @@ summary: TiDBの機能概要について学びましょう。 | 高度なSQL機能 | 8.5 | 8.1 | 7.5 | 7.1 | 6.5 | 6.1 | 5.4 | | ------------------------------------------------------------------------------------------------------------ | :-: | :-: | :-: | :-: | :-: | :-: | :-: | -| [ベクトル検索](/ai/concepts/vector-search-overview.md) | E | N | N | N | N | N | N | +| [ベクトル検索](/ai/guides/vector-search-overview.md) | E | N | N | N | N | N | N | | [プリペアドステートメントキャッシュ](/sql-prepared-plan-cache.md) | Y | Y | Y | Y | Y | Y | Y | | [非プリペアドステートメントキャッシュ](/sql-non-prepared-plan-cache.md) | Y | Y | Y | E | N | N | N | | [インスタンスレベルの実行プランキャッシュ](/system-variables.md#tidb_enable_instance_plan_cache-new-in-v840) | E | N | N | N | N | N | N | diff --git a/config-slow-query-trigger-rules.md b/config-slow-query-trigger-rules.md new file mode 100644 index 0000000000000..bbb169a4d5f8c --- /dev/null +++ b/config-slow-query-trigger-rules.md @@ -0,0 +1,195 @@ +--- +title: スロークエリのトリガールールを設定する +summary: スロークエリログのトリガールールを定義します。 +--- + +# スロークエリのトリガールールを設定する + + + +このドキュメントでは、[`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules) システム変数を使用して、[スロークエリログ](/identify-slow-queries.md) のトリガールールを定義する方法について説明します。 + +[`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules) は、多次元メトリクスの組み合わせをサポートします。これは、スロークエリログの「対象を絞ったサンプリング」や「問題の再現」に適しており、特定のメトリクスの組み合わせに基づいて対象のステートメントをフィルタリングできます。 + +TiDB Self-Managed では、スロークエリログのトリガー動作は `tidb_slow_log_rules` の設定に依存します。 + +- 現在のセッションに適用可能な `tidb_slow_log_rules` ルールがない場合(この変数が設定されていない、または設定済みのルールのいずれもセッションに適用されない場合)、スロークエリのログ出力は引き続き [`tidb_slow_log_threshold`](/system-variables.md#tidb_slow_log_threshold)(ミリ秒)に依存します。 +- 現在のセッションに適用可能な `tidb_slow_log_rules` ルールが1つでもある場合、スロークエリのログ出力はルールのマッチ結果によって決まり、[`tidb_slow_log_threshold`](/system-variables.md#tidb_slow_log_threshold) は無視されます。 + + + + +[TiDB Cloud コンソール](https://tidbcloud.com/) では、[**Diagnosis**](/tidb-cloud/tune-performance.md#view-the-diagnosis-page) ページの [**Slow Query**](/tidb-cloud/tune-performance.md#slow-query) タブでスロークエリを確認できます。 + +デフォルトでは、300 ミリ秒を超える SQL クエリはスロークエリと見なされます。スロークエリのトリガールールを設定するには、[`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules) システム変数を変更します。 + +[`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules) は、多次元メトリクスの組み合わせをサポートします。これは、スロークエリの「対象を絞ったサンプリング」や「問題の再現」に適しており、特定のメトリクスの組み合わせに基づいて対象のステートメントをフィルタリングできます。 + + + +## 例 {#examples} + +- 標準形式(`SESSION` スコープ): + + ```sql + SET SESSION tidb_slow_log_rules = 'Query_time: 0.5, Is_internal: false'; + ``` + +- 無効な `SESSION` ルール(`SESSION` スコープは `Conn_ID` をサポートしません): + + ```sql + SET SESSION tidb_slow_log_rules = 'Conn_ID: 12, Query_time: 0.5, Is_internal: false'; + ``` + + + +- グローバルルール(すべての接続に適用): + + ```sql + SET GLOBAL tidb_slow_log_rules = 'Query_time: 0.5, Is_internal: false'; + ``` + +- 特定の接続向けのグローバルルール(2 つの接続 `Conn_ID:11` と `Conn_ID:12` にそれぞれ別々に適用): + + ```sql + SET GLOBAL tidb_slow_log_rules = 'Conn_ID: 11, Query_time: 0.5, Is_internal: false; Conn_ID: 12, Query_time: 0.6, Process_time: 0.3, DB: db1'; + ``` + + + + + +- グローバルルール(すべての接続に適用): + + ```sql + SET GLOBAL tidb_slow_log_rules = 'Query_time: 0.5, Is_internal: false'; + ``` + +- 特定の接続向けのグローバルルール(2 つの接続 `Conn_ID:11` と `Conn_ID:12` にそれぞれ別々に適用): + + ```sql + SET GLOBAL tidb_slow_log_rules = 'Conn_ID: 11, Query_time: 0.5, Is_internal: false; Conn_ID: 12, Query_time: 0.6, Process_time: 0.3, DB: db1'; + ``` + + + +## 統一されたルール構文と型制約 {#unified-rule-syntax-and-type-constraints} + +- ルール数の上限と区切り: サポートされる各スコープには最大 10 個のルールを含めることができます。ルールは `;` で区切ります。 +- 条件形式: 各条件は `field_name:value` 形式を使用します。1 つのルール内の複数条件は `,` で区切ります。 +- フィールド名は大文字と小文字を区別しません。フィールド名内のアンダースコアやその他の文字はそのまま保持されます。 + + + +TiDB Self-Managed は、`tidb_slow_log_rules` に対して `SESSION` ルールと `GLOBAL` ルールの両方をサポートします。1 つのセッションでは、2 つのスコープをまたいで最大 20 個の有効なルールを持つことができます。`SESSION` ルールは `Conn_ID` をサポートせず、このフィールドをサポートするのは `GLOBAL` ルールのみです。 + + + + + +TiDB Cloud Dedicated は、`tidb_slow_log_rules` に対して `SESSION` ルールと `GLOBAL` ルールの両方をサポートします。1 つのセッションでは、2 つのスコープをまたいで最大 20 個の有効なルールを持つことができます。`SESSION` ルールは `Conn_ID` をサポートせず、このフィールドをサポートするのは `GLOBAL` ルールのみです。 + + + + + +TiDB Cloud Essential と TiDB Cloud Premium は、`tidb_slow_log_rules` に対して `SESSION` ルールのみをサポートします。したがって、`GLOBAL` ルールでのみ使用可能な `Conn_ID` はサポートされません。 + + + +- マッチングの意味: + - `Conn_ID` を除く数値フィールドは `>=` でマッチします。`Conn_ID`、文字列フィールド、ブールフィールドは等価比較(`=`)でマッチします。 + - `DB` と `Resource_group` のマッチングでは大文字と小文字を区別しません。 + - `>`、`<`、`!=` などの明示的な演算子はサポートされません。 + +型制約は次のとおりです。 + +- 数値型(`int64`、`uint64`、`float64`)では、値は `0` 以上である必要があります。負の値はパースエラーになります。 + - `int64`: 最大値は `2^63-1` です。 + - `uint64`: 最大値は `2^64-1` です。 + - `float64`: 値は有限かつ非負である必要があります。最大値はおよそ `1.79e308` です。`NaN` や `Inf`、`-Inf` などの無限値は無効であり、エラーになります。 +- `bool`: `true`/`false`、`1`/`0`、`t`/`f` をサポートします(大文字と小文字は区別しません)。 +- `string`: 現時点では、引用符(シングルまたはダブル)で囲んだ場合でも、区切り文字 `,`(条件区切り)または `;`(ルール区切り)を含む文字列はサポートされません。エスケープはサポートされません。 +- 重複フィールド: 同じフィールドが 1 つのルール内で複数回指定された場合、最後に出現したものが有効になります。 + +## サポートされるフィールド {#supported-fields} + +以下の表のフィールドは、特に明記がない限り、[統一されたルール構文と型制約](#unified-rule-syntax-and-type-constraints) で説明した一般的なマッチングルールと型ルールに従います。 + +| フィールド名 | 型 | 単位 | 説明 | +| --- | --- | --- | --- | +| `Conn_ID` | `uint` | count | 接続 ID(セッション ID)です。このフィールドは完全一致でマッチします。たとえば、`Conn_ID:3` はセッション ID が `3` のログにのみマッチします。このフィールドは `GLOBAL` ルールでのみサポートされます。 | +| `Session_alias` | `string` | none | 現在のセッションのエイリアスです。 | +| `DB` | `string` | none | 現在のデータベースです。マッチングでは大文字と小文字を区別しません。 | +| `Exec_retry_count` | `uint` | count | このステートメントのリトライ回数です。このフィールドは通常、ロック取得に失敗したときにステートメントが再試行される悲観的トランザクション向けです。 | +| `Query_time` | `float` | second | ステートメントの実行時間です。 | +| `Parse_time` | `float` | second | ステートメントのパース時間です。 | +| `Compile_time` | `float` | second | クエリ最適化にかかった時間です。 | +| `Rewrite_time` | `float` | second | このステートメントのクエリ書き換えに消費された時間です。 | +| `Optimize_time` | `float` | second | 実行計画の最適化に消費された時間です。 | +| `Wait_TS` | `float` | second | トランザクションのタイムスタンプ取得を待機した時間です。 | +| `Is_internal` | `bool` | none | SQL ステートメントが TiDB 内部のものかどうかを示します。`true` はステートメントが TiDB 内部で実行されたことを示し、`false` はユーザーによって実行されたことを示します。 | +| `Digest` | `string` | none | SQL ステートメントのフィンガープリントです。 | +| `Plan_digest` | `string` | none | 実行計画の digest です。 | +| `Num_cop_tasks` | `int` | count | このステートメントによって送信されたコプロセッサータスクの数です。 | +| `Mem_max` | `int` | bytes | SQL ステートメントの実行期間中に使用された最大メモリ空間です。 | +| `Disk_max` | `int` | bytes | SQL ステートメントの実行期間中に使用された最大ディスク空間です。 | +| `Write_sql_response_total` | `float` | second | このステートメントが結果をクライアントへ返送するのに消費した時間です。 | +| `Succ` | `bool` | none | ステートメントが正常に実行されたかどうかを示します。 | +| `Resource_group` | `string` | none | ステートメントがバインドされているリソースグループです。マッチングでは大文字と小文字を区別しません。 | +| `KV_total` | `float` | second | このステートメントによる TiKV または TiFlash へのすべての RPC リクエストに費やされた時間です。 | +| `PD_total` | `float` | second | このステートメントによる PD へのすべての RPC リクエストに費やされた時間です。 | +| `Process_time` | `float` | second | TiKV における SQL ステートメントの合計処理時間です。データは TiKV に並行して送信されるため、この値は `Query_time` を超える場合があります。 | +| `Backoff_time` | `float` | second | ステートメントがリトライを必要とするエラーに遭遇した際、再試行前に待機した時間です。一般的なエラーには、ロック競合、リージョン分割、TiKV サーバーのビジー状態などがあります。 | +| `Total_keys` | `uint` | count | コプロセッサーがスキャンしたキー数です。 | +| `Process_keys` | `uint` | count | コプロセッサーが処理したキー数です。`Total_keys` と比べて、`Process_keys` には MVCC の古いバージョンは含まれません。`Process_keys` と `Total_keys` の差が大きい場合、多数の古いバージョンが存在することを示します。 | +| `cop_mvcc_read_amplification` | `float` | ratio | MVCC 読み取り増幅率で、`Total_keys / Process_keys` として計算されます。 | +| `Prewrite_time` | `float` | second | 2 フェーズトランザクションコミットの第 1 フェーズ(prewrite)の継続時間です。 | +| `Commit_time` | `float` | second | 2 フェーズトランザクションコミットの第 2 フェーズ(commit)の継続時間です。 | +| `Write_keys` | `uint` | count | トランザクションが TiKV の Write CF に書き込むキー数です。 | +| `Write_size` | `uint` | bytes | トランザクションのコミット時に書き込まれるキーまたは値の合計サイズです。 | +| `Prewrite_region` | `uint` | count | 2 フェーズトランザクションコミットの第 1 フェーズ(prewrite)に関与する TiKV リージョン数です。各リージョンは 1 回のリモートプロシージャコールを発生させます。 | + +## 有効時の動作とマッチ順序 {#effective-behavior-and-matching-order} + +- `tidb_slow_log_rules` を設定すると、新しいルールが追加されるのではなく、指定したスコープ内の既存ルールが上書きされます。 +- `tidb_slow_log_rules` に空文字列を設定すると、指定したスコープ内のルールがクリアされます。 +- 複数ルールは `OR` で結合され、1 つのルール内の複数フィールド条件は `AND` で結合されます。 +- SQL 実行時間を引き続きスロークエリログ出力の条件として使用したい場合は、ルール内で `Query_time` を使用し、単位が秒であることに注意してください。 + + + +TiDB Self-Managed は、`tidb_slow_log_rules` に対して `SESSION` ルールと `GLOBAL` ルールの両方をサポートします。 + +- 現在のセッションに、`SESSION` ルール、現在の `Conn_ID` に対する `GLOBAL` ルール、または `Conn_ID` を持たない汎用 `GLOBAL` ルールなど、適用可能なルールが 1 つでもある場合、スロークエリログの出力はルールのマッチ結果によって決まり、`tidb_slow_log_threshold` は無視されます。 +- 現在のセッションに適用可能なルールがない場合、たとえば `SESSION` ルールと `GLOBAL` ルールの両方が空である場合や、現在の `Conn_ID` に一致しない `GLOBAL` ルールのみが設定されている場合、スロークエリのログ出力は引き続き `tidb_slow_log_threshold` に依存します。`tidb_slow_log_threshold` の単位はミリ秒です。 +- TiDB はまず `SESSION` ルールをマッチします。どれも一致しない場合、TiDB は次に現在の `Conn_ID` に対する `GLOBAL` ルールをマッチし、その後 `Conn_ID` を持たない汎用 `GLOBAL` ルールをマッチします。 +- `SHOW VARIABLES LIKE 'tidb_slow_log_rules'` と `SELECT @@SESSION.tidb_slow_log_rules` は `SESSION` ルールのテキストを返します。未設定の場合は空文字列を返します。`SELECT @@GLOBAL.tidb_slow_log_rules` は `GLOBAL` ルールのテキストを返します。 + + + + + +TiDB Cloud Dedicated は、`tidb_slow_log_rules` に対して `SESSION` ルールと `GLOBAL` ルールの両方をサポートします。 + +- 現在のセッションに、`SESSION` ルール、現在の `Conn_ID` に対する `GLOBAL` ルール、または `Conn_ID` を持たない汎用 `GLOBAL` ルールなど、適用可能なルールが 1 つでもある場合、スロークエリログの出力はルールのマッチ結果によって決まります。 +- 現在のセッションに適用可能なルールがない場合、たとえば `SESSION` ルールと `GLOBAL` ルールの両方が空である場合や、現在の `Conn_ID` に一致しない `GLOBAL` ルールのみが設定されている場合、スロークエリログのルールはデフォルトのものにフォールバックします。つまり、300 ミリ秒を超える SQL クエリはスロークエリと見なされます。 +- TiDB はまず `SESSION` ルールをマッチします。どれも一致しない場合、TiDB は次に現在の `Conn_ID` に対する `GLOBAL` ルールをマッチし、その後 `Conn_ID` を持たない汎用 `GLOBAL` ルールをマッチします。 +- `SHOW VARIABLES LIKE 'tidb_slow_log_rules'` と `SELECT @@SESSION.tidb_slow_log_rules` は `SESSION` ルールのテキストを返します。未設定の場合は空文字列を返します。`SELECT @@GLOBAL.tidb_slow_log_rules` は `GLOBAL` ルールのテキストを返します。 + + + + + +TiDB Cloud Essential と TiDB Cloud Premium は、`tidb_slow_log_rules` に対して `SESSION` ルールのみをサポートします。 + +- 現在のセッションに `SESSION` ルールが 1 つでもある場合、スロークエリログの出力はルールのマッチ結果によって決まります。 +- `SHOW VARIABLES LIKE 'tidb_slow_log_rules'` と `SELECT @@SESSION.tidb_slow_log_rules` は `SESSION` ルールのテキストを返します。未設定の場合は空文字列を返します。 + + + +## 推奨事項 {#recommendations} + +- `tidb_slow_log_rules` は、単一しきい値方式を置き換えるために設計されています。多次元メトリクス条件の組み合わせをサポートし、スロークエリログ出力をより柔軟かつきめ細かく制御できます。 + +- 1 台の TiDB ノード(16 CPU コア、48 GiB メモリ)と 3 台の TiKV ノード(各 16 CPU コア、48 GiB メモリ)を備えた十分なリソースのあるテスト環境において、sysbench テストを繰り返した結果、多次元のスロークエリログルールによって 30 分以内に数百万件のスローログエントリが生成される場合でも、パフォーマンスへの影響は小さいことが示されています。ただし、ログ量が数千万件に達すると、TPS は大幅に低下し、レイテンシーも顕著に増加します。したがって、業務ワークロードが高い場合や CPU とメモリリソースが限界に近い場合は、過度に広いルールによるログの氾濫を避けるため、`tidb_slow_log_rules` を慎重に設定してください。 ログ出力レートを制限する必要がある場合は、[`tidb_slow_log_max_per_sec`](/system-variables.md#tidb_slow_log_max_per_sec) を使用してスロットリングし、業務パフォーマンスへの影響を軽減してください。 \ No newline at end of file diff --git a/develop/dev-guide-vector-search.md b/develop/dev-guide-vector-search.md index 0b26887a28400..32274bbe70716 100644 --- a/develop/dev-guide-vector-search.md +++ b/develop/dev-guide-vector-search.md @@ -5,7 +5,7 @@ summary: 概念、チュートリアル、統合、リファレンス ドキュ # ベクトル検索 {#vector-search} -[ベクトル検索](/ai/concepts/vector-search-overview.md)は、ドキュメント、画像、音声、動画など、多様なデータタイプを対象としたセマンティック類似検索を可能にします。MySQLの専門知識を活用することで、高度な検索機能を備えたスケーラブルなAIアプリケーションを構築できます。 +[ベクトル検索](/ai/guides/vector-search-overview.md)は、ドキュメント、画像、音声、動画など、多様なデータタイプを対象としたセマンティック類似検索を可能にします。MySQLの専門知識を活用することで、高度な検索機能を備えたスケーラブルなAIアプリケーションを構築できます。 ## 始めましょう {#get-started} diff --git a/functions-and-operators/json-functions/json-functions-return.md b/functions-and-operators/json-functions/json-functions-return.md index 705fde22d17c0..40667983204c1 100644 --- a/functions-and-operators/json-functions/json-functions-return.md +++ b/functions-and-operators/json-functions/json-functions-return.md @@ -17,7 +17,7 @@ TiDB は、MySQL 8.0 で利用可能な[JSON値属性を返すJSON関数](https: - ルート( `$` ) - 天気 ( `$.weather` ) -- 現在の天気 ( `$.weather.sunny` ) +- 現在の天気 ( `$.weather.current` ) ```sql SELECT JSON_DEPTH('{"weather": {"current": "sunny"}}'); diff --git a/glossary.md b/glossary.md index f4dd00b06c62f..f4e4f497595fb 100644 --- a/glossary.md +++ b/glossary.md @@ -413,4 +413,4 @@ UUID(Universally Unique Identifier)は、データベース内のレコー ### ベクトル検索(Vector search) {#vector-search} -[ベクトル検索](/ai/concepts/vector-search-overview.md)は、データの意味を優先して関連性の高い検索結果を提供する検索方法です。キーワードの完全一致や単語の出現頻度に依存する従来の全文検索とは異なり、ベクトル検索はテキスト、画像、音声などの様々なデータタイプを高次元ベクトルに変換し、これらのベクトルの類似性に基づいてクエリを実行します。この検索方法は、データの意味と文脈情報を捉え、ユーザーの意図をより正確に理解することを可能にします。検索語がデータベース内のコンテンツと完全に一致しない場合でも、ベクトル検索はデータの意味を分析することで、ユーザーの意図に沿った結果を提供できます。 +[ベクトル検索](/ai/guides/vector-search-overview.md)は、データの意味を優先して関連性の高い検索結果を提供する検索方法です。キーワードの完全一致や単語の出現頻度に依存する従来の全文検索とは異なり、ベクトル検索はテキスト、画像、音声などの様々なデータタイプを高次元ベクトルに変換し、これらのベクトルの類似性に基づいてクエリを実行します。この検索方法は、データの意味と文脈情報を捉え、ユーザーの意図をより正確に理解することを可能にします。検索語がデータベース内のコンテンツと完全に一致しない場合でも、ベクトル検索はデータの意味を分析することで、ユーザーの意図に沿った結果を提供できます。 diff --git a/identify-slow-queries.md b/identify-slow-queries.md index e8d2ebd13b7fd..f9ad135d8c99b 100644 --- a/identify-slow-queries.md +++ b/identify-slow-queries.md @@ -172,132 +172,9 @@ TiKVコプロセッサータスクフィールド: - `Storage_from_kv` : v8.5.5 で導入され、このステートメントが TiKV からデータを読み取ったかどうかを示します。 - `Storage_from_mpp` : v8.5.5 で導入され、このステートメントがTiFlashからデータを読み取ったかどうかを示します。 -## `tidb_slow_log_rules`を使用する {#use-tidb_slow_log_rules} - -[`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules-new-in-v856)は、スロークエリログのトリガールールを定義するために使用され、多次元メトリックの組み合わせをサポートします。スローログの「ターゲットサンプリング」と「問題再現」に適しており、特定のメトリックの組み合わせに基づいて対象のステートメントをフィルタリングできます。 - -スロークエリログのトリガー動作は`tidb_slow_log_rules`の設定に依存します。 - -- `tidb_slow_log_rules`が設定されていない場合、スロークエリログのトリガーは引き続き[`tidb_slow_log_threshold`](/system-variables.md#tidb_slow_log_threshold) (ミリ秒単位) に依存します。 -- `tidb_slow_log_rules`が設定されている場合、設定済みのルールが優先され、 [`tidb_slow_log_threshold`](/system-variables.md#tidb_slow_log_threshold)は無視されます。 - -各フィールドの意味、診断値、および背景情報の詳細については、[フィールドの説明](#fields-description)を参照してください。 - -### 統一されたルール構文と型制約 {#unified-rule-syntax-and-type-constraints} - -- ルール容量と分離: `SESSION`と`GLOBAL`はそれぞれ最大 10 個のルールをサポートします。1つのセッションで最大 20 個のアクティブなルールを持つことができます。ルールは`;`で分離されます。 -- 条件の形式: 各条件は`field_name:value`の形式を使用します。単一のルール内の複数の条件は`,`で区切られます。 -- フィールドとスコープ: フィールド名は大文字と小文字を区別しません (アンダースコアやその他の文字は保持されます)。 `SESSION`ルールは`Conn_ID`をサポートしていません。 `GLOBAL`ルールのみが`Conn_ID`をサポートしています。 -- 意味の一致: - - 数値フィールドは`>=`を使用して照合されます。文字列フィールドとブール値フィールドは等価性 ( `=` ) を使用して照合されます。 - - `DB`と`Resource_group`のマッチングは、大文字と小文字を区別しません。 - - `>` 、 `<` 、 `!=`などの明示的な演算子はサポートされていません。 - -型制約は以下のとおりです。 - -- 数値型( `int64` 、 `uint64` 、 `float64` )は、いずれも`>= 0`を必要とします。負の値を指定すると、解析エラーが発生します。 - - `int64` : 最大値は`2^63-1`です。 - - `uint64` : 最大値は`2^64-1`です。 - - `float64` : 一般的な上限はおおよそ`1.79e308`です。現在、解析は Go の`ParseFloat`を使用して行われています。 `NaN` / `Inf`は解析できますが、常に真または常に偽となるルールにつながる可能性があります。これらを使用することは推奨されません。 -- `bool` : `true` / `false` 、 `1` / `0` 、および`t` / `f`をサポートします (大文字小文字を区別しません)。 -- `string` : 現在`,` (条件区切り文字) または`;` (ルール区切り文字) を含む文字列は、引用符 (シングルクォートまたはダブルクォート) があってもサポートされていません。エスケープ処理もサポートされていません。 -- 重複するフィールド:単一のルール内で同じフィールドが複数回指定されている場合、最後に指定されたフィールドが有効になります。 - -### サポートされているフィールド {#supported-fields} - -フィールドの詳細な説明、診断の意味、背景情報については、 [`identify-slow-queries`のフィールド説明](/identify-slow-queries.md#fields-description)を参照してください。 - -特に断りのない限り、次の表のフィールドは [統一されたルール構文と型制約](#unified-rule-syntax-and-type-constraints)で説明されている一般的な一致および型ルールに従います。この表には、現在サポートされているフィールド名、タイプ、単位、およびルール固有のいくつかの注意事項のみがリストされています。各フィールドの意味論的な意味を繰り返すことはありません。 - -| フィールド名 | タイプ | ユニット | 注記 | -| -------------------------------------------- | -------- | ---- | ---------------------------------- | -| `Conn_ID` | `uint` | カウント | `GLOBAL`ルールでのみサポートされています。 | -| `Session_alias` | `string` | なし | - | -| `DB` | `string` | なし | マッチング時に大文字小文字を区別しない | -| `Exec_retry_count` | `uint` | カウント | - | -| `Query_time` | `float` | 秒 | - | -| `Parse_time` | `float` | 秒 | - | -| `Compile_time` | `float` | 秒 | - | -| `Rewrite_time` | `float` | 秒 | - | -| `Optimize_time` | `float` | 秒 | - | -| `Wait_TS` | `float` | 秒 | - | -| `Is_internal` | `bool` | なし | - | -| `Digest` | `string` | なし | - | -| `Plan_digest` | `string` | なし | - | -| `Num_cop_tasks` | `int` | カウント | - | -| `Mem_max` | `int` | バイト | - | -| `Disk_max` | `int` | バイト | - | -| `Write_sql_response_total` | `float` | 秒 | - | -| `Succ` | `bool` | なし | - | -| `Resource_group` | `string` | なし | マッチング時に大文字小文字を区別しない | -| `KV_total` | `float` | 秒 | - | -| `PD_total` | `float` | 秒 | - | -| `Unpacked_bytes_sent_tikv_total` | `int` | バイト | - | -| `Unpacked_bytes_received_tikv_total` | `int` | バイト | - | -| `Unpacked_bytes_sent_tikv_cross_zone` | `int` | バイト | - | -| `Unpacked_bytes_received_tikv_cross_zone` | `int` | バイト | - | -| `Unpacked_bytes_sent_tiflash_total` | `int` | バイト | - | -| `Unpacked_bytes_received_tiflash_total` | `int` | バイト | - | -| `Unpacked_bytes_sent_tiflash_cross_zone` | `int` | バイト | - | -| `Unpacked_bytes_received_tiflash_cross_zone` | `int` | バイト | - | -| `Process_time` | `float` | 秒 | - | -| `Backoff_time` | `float` | 秒 | - | -| `Total_keys` | `uint` | カウント | - | -| `Process_keys` | `uint` | カウント | - | -| `cop_mvcc_read_amplification` | `float` | 比率 | 比率値( `Total_keys / Process_keys` ) | -| `Prewrite_time` | `float` | 秒 | - | -| `Commit_time` | `float` | 秒 | - | -| `Write_keys` | `uint` | カウント | - | -| `Write_size` | `uint` | バイト | - | -| `Prewrite_region` | `uint` | カウント | - | - -### 効果的な行動とマッチング順序 {#effective-behavior-and-matching-order} - -- ルール更新動作: `SET [SESSION|GLOBAL] tidb_slow_log_rules = '...'`の実行ごとに、既存のルールに追加するのではなく、そのスコープ内の既存のルールを上書きします。 -- ルールクリア動作: `SET [SESSION|GLOBAL] tidb_slow_log_rules = ''`対応するスコープ内のルールをクリアします。 -- 現在のセッションに、`SESSION`ルール、現在の`Conn_ID`に対する`GLOBAL`ルール、または`Conn_ID`を含まない一般的なグローバルルールなど、適用可能な`tidb_slow_log_rules`がある場合、スロークエリログの出力はルールのマッチング結果によって決定され、 `tidb_slow_log_threshold`は使用されなくなります。 -- 現在のセッションに適用可能なルールがない場合、たとえば`SESSION`と`GLOBAL`両方のルールが空の場合、または現在の`GLOBAL`に一致しない`Conn_ID`ルールのみが構成されている場合、スロークエリのログ記録は`tidb_slow_log_threshold`に依存します。単位はミリ秒であることに注意してください。 -- スローログを書き込む条件としてSQL実行時間を使用したい場合は、ルール内で`Query_time`を使用し、単位が秒であることに注意してください。 -- ルールマッチングロジック: - - 複数のルールは`OR`で結合され、単一のルール内の複数のフィールド条件は`AND`で結合されます。 - - `SESSION`スコープのルールが最初に一致します。一致するルールがない場合、TiDB は現在の`GLOBAL`に対して`Conn_ID`ルールを一致させ、続いて`GLOBAL`を含まない一般的な`Conn_ID`ルールを一致させます。 -- `SHOW VARIABLES LIKE 'tidb_slow_log_rules'`と`SELECT @@SESSION.tidb_slow_log_rules`は`SESSION`ルールテキストを返します。設定されていない場合は空の文字列を返します。 `SELECT @@GLOBAL.tidb_slow_log_rules` `GLOBAL`ルールテキストを返します。 - -### 例 {#examples} - -- 標準フォーマット( `SESSION`範囲): - - ```sql - SET SESSION tidb_slow_log_rules = 'Query_time: 0.5, Is_internal: false'; - ``` - -- 無効な形式です( `SESSION`スコープは`Conn_ID`をサポートしていません): - - ```sql - SET SESSION tidb_slow_log_rules = 'Conn_ID: 12, Query_time: 0.5, Is_internal: false'; - ``` - -- グローバルルール(すべての接続に適用): - - ```sql - SET GLOBAL tidb_slow_log_rules = 'Query_time: 0.5, Is_internal: false'; - ``` - -- 特定の接続に対するグローバルルール( `Conn_ID:11`と`Conn_ID:12` 2つの接続にそれぞれ適用されます): - - ```sql - SET GLOBAL tidb_slow_log_rules = 'Conn_ID: 11, Query_time: 0.5, Is_internal: false; Conn_ID: 12, Query_time: 0.6, Process_time: 0.3, DB: db1'; - ``` - -### 推奨事項 {#recommendations} - -- `tidb_slow_log_rules`単一しきい値方式に代わるように設計されています。多次元メトリック条件の組み合わせをサポートし、スロークエリのログ記録をより柔軟かつきめ細かく制御できます。 - -- TiDBノード1台(CPUコア16個、メモリ48GiB)とTiKVノード3台(それぞれCPUコア16個、メモリ48GiB)を備えた十分なリソースが確保されたテスト環境で、sysbenchテストを繰り返したところ、多次元スロークエリログルールによって30分以内に数百万件のスローログエントリが生成されても、パフォーマンスへの影響は小さいままであることが分かりました。しかし、ログの量が数千万件に達すると、TPSが大幅に低下し、レイテンシーが著しく増加します。そのため、業務ワークロードが高い場合や、CPUとメモリのリソースが限界に近い場合は、 `tidb_slow_log_rules`を慎重に設定して、ルールが広すぎるためにログが大量に発生するのを防いでください。ログ出力レートを制限する必要がある場合は、 [`tidb_slow_log_max_per_sec`](/system-variables.md#tidb_slow_log_max_per_sec-new-in-v856)を使用してスロットリングを行い、業務パフォーマンスへの影響を軽減してください。 - ## 関連するシステム変数 {#related-system-variables} -- [`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules-new-in-v856) : [`tidb_slow_log_rules`推奨事項](#recommendations)を参照 +- [`tidb_slow_log_rules`](/system-variables.md#tidb_slow_log_rules) : スロークエリログのトリガールールを定義します。詳細は[スロークエリのトリガールールを設定する](/config-slow-query-trigger-rules.md)を参照してください。 - [`tidb_slow_log_threshold`](/system-variables.md#tidb_slow_log_threshold) : スロークエリログのしきい値を設定します。実行時間がこのしきい値を超える SQL文は、スロークエリログに記録されます。デフォルト値は`300ms` (ミリ秒) です。 @@ -305,7 +182,7 @@ TiKVコプロセッサータスクフィールド: > > `tidb_slow_log_rules`の時間関連フィールド( `Query_time`や`Process_time`など)は単位として秒を使用し、小数点を含むことができますが、 [`tidb_slow_log_threshold`](/system-variables.md#tidb_slow_log_threshold)はミリ秒を使用します。 -- [`tidb_slow_log_max_per_sec`](/system-variables.md#tidb_slow_log_max_per_sec-new-in-v856) : 1秒あたりに書き込めるスロークエリログエントリの最大数を設定します。デフォルト値は`0`です。この変数は v8.5.6 で導入されました。 +- [`tidb_slow_log_max_per_sec`](/system-variables.md#tidb_slow_log_max_per_sec) : 1秒あたりに書き込めるスロークエリログエントリの最大数を設定します。デフォルト値は`0`です。この変数は v8.5.6 で導入されました。 - `0`という値は、1秒あたりに書き込まれるスロークエリログエントリの数に制限がないことを意味します。 - `0`より大きい値を指定すると、TiDBは1秒あたりに指定された数のスロークエリログエントリを書き込みます。超過分のログエントリは破棄され、スロークエリログファイルには書き込まれません。 - ルールベースのスロークエリログが頻繁にトリガーされるのを防ぐため、 `tidb_slow_log_rules`を有効にした後にこの変数を設定することをお勧めします。 diff --git a/latest_translation_commit.json b/latest_translation_commit.json index ffba225abb001..46efd66930729 100644 --- a/latest_translation_commit.json +++ b/latest_translation_commit.json @@ -1,4 +1,4 @@ { "target": "release-8.5", - "sha": "bb4a157686a85532718c55e06ba029996486dab0" + "sha": "6acba5d04f2e3ab5702335c3823a92994ec87789" } diff --git a/releases/release-2.0.6.md b/releases/release-2.0.6.md index 1ad39c998b003..c0119a41a8e39 100644 --- a/releases/release-2.0.6.md +++ b/releases/release-2.0.6.md @@ -22,7 +22,7 @@ summary: TiDB 2.0.6は、システムの互換性と安定性の向上を伴い - `DROP USER`文が場合によっては MySQL の動作と互換性がない問題を修正[#7014](https://github.com/pingcap/tidb/pull/7014) - `INSERT` / `LOAD DATA`のような文が`tidb_batch_insert` を有効にした後にOOMに遭遇する問題を修正しました [#7092](https://github.com/pingcap/tidb/pull/7092) - テーブルのデータが更新され続けると統計が自動的に更新されない問題を修正しました[#7093](https://github.com/pingcap/tidb/pull/7093) - - ファイアウォールが非アクティブな gPRC 接続を切断する問題を修正[#7099](https://github.com/pingcap/tidb/pull/7099) + - ファイアウォールが非アクティブな gRPC 接続を切断する問題を修正[#7099](https://github.com/pingcap/tidb/pull/7099) - 一部のシナリオでプレフィックスインデックスが間違った結果を返す問題を修正[#7126](https://github.com/pingcap/tidb/pull/7126) - 一部のシナリオで古い統計情報によって引き起こされるpanicの問題を修正[#7155](https://github.com/pingcap/tidb/pull/7155) - いくつかのシナリオで`ADD INDEX`操作後にインデックスデータの1つが失われる問題を修正しました[#7156](https://github.com/pingcap/tidb/pull/7156) diff --git a/releases/release-4.0.16.md b/releases/release-4.0.16.md index 1efdde3573445..4fcbabdae1445 100644 --- a/releases/release-4.0.16.md +++ b/releases/release-4.0.16.md @@ -41,7 +41,7 @@ TiDBバージョン: 4.0.16 - TiCDC - 頻繁な etcd 書き込みが PD サービスに影響を与えないように、EtcdWorker にティック頻度制限を追加します[#3112](https://github.com/pingcap/tiflow/issues/3112) - - TiKV リロードのレート制限制御を最適化して、チェンジフィード初期化中の gPRC 輻輳を軽減します[#3110](https://github.com/pingcap/tiflow/issues/3110) + - TiKV リロードのレート制限制御を最適化して、チェンジフィード初期化中の gRPC 輻輳を軽減します[#3110](https://github.com/pingcap/tiflow/issues/3110) ## バグ修正 {#bug-fixes} diff --git a/releases/release-5.0.6.md b/releases/release-5.0.6.md index c0659df50c66b..ae923955f6b2e 100644 --- a/releases/release-5.0.6.md +++ b/releases/release-5.0.6.md @@ -42,7 +42,7 @@ TiDB バージョン: 5.0.6 - TiCDC - - TiKV リロードのレート制限制御を最適化して、チェンジフィード初期化中の gPRC 輻輳を軽減します[#3110](https://github.com/pingcap/ticdc/issues/3110) + - TiKV リロードのレート制限制御を最適化して、チェンジフィード初期化中の gRPC 輻輳を軽減します[#3110](https://github.com/pingcap/ticdc/issues/3110) - 頻繁な etcd 書き込みが PD サービスに影響を与えないように、EtcdWorker にティック頻度制限を追加します[#3112](https://github.com/pingcap/ticdc/issues/3112) - Kafkaシンクの`config.Metadata.Timeout`デフォルト設定を追加する [#3352](https://github.com/pingcap/tiflow/issues/3352) - デフォルト値の`max-message-bytes`を`10M`に設定すると、Kafkaメッセージが送信されない可能性が減ります。 [#3081](https://github.com/pingcap/tiflow/issues/3081) diff --git a/releases/release-5.1.4.md b/releases/release-5.1.4.md index 65918b8519fd9..b4ad01042da35 100644 --- a/releases/release-5.1.4.md +++ b/releases/release-5.1.4.md @@ -55,7 +55,7 @@ TiDB バージョン: 5.1.4 - 増分スキャンの残り時間を観察するためのメトリックを追加します [#2985](https://github.com/pingcap/tiflow/issues/2985) - "EventFeed retry rate limited"ログの数を減らす[#4006](https://github.com/pingcap/tiflow/issues/4006) - `no owner alert`、`mounter row`、`table sink total row`、`buffer sink total row`を含む、PrometheusとGrafanaの監視メトリックとアラートを追加します [#4054](https://github.com/pingcap/tiflow/issues/4054) [#1606](https://github.com/pingcap/tiflow/issues/1606) - - TiKVリロードのレート制限制御を最適化して、チェンジフィード初期化中のgPRC輻輳を軽減します[#3110](https://github.com/pingcap/ticdc/issues/3110) + - TiKVリロードのレート制限制御を最適化して、チェンジフィード初期化中のgRPC輻輳を軽減します[#3110](https://github.com/pingcap/ticdc/issues/3110) - TiKVストアがダウンしたときにKVクライアントが回復するまでの時間を短縮します[#3191](https://github.com/pingcap/tiflow/issues/3191) ## バグ修正 {#bug-fixes} diff --git a/releases/release-6.1.0.md b/releases/release-6.1.0.md index 19855401ed845..778eafdab35b0 100644 --- a/releases/release-6.1.0.md +++ b/releases/release-6.1.0.md @@ -342,7 +342,7 @@ TiDB バージョン: 6.1.0 - CDCはRawKV をサポートしています [#11965](https://github.com/tikv/tikv/issues/11965) - 大きなスナップショットファイルを複数のファイルに分割することをサポートします [#11595](https://github.com/tikv/tikv/issues/11595) - スナップショットGCがRaftstoreのメッセージループをブロックするのを防ぐために、スナップショットガベージコレクションをRaftstoreからバックグラウンドスレッドに移動します[#11966](https://github.com/tikv/tikv/issues/11966) - - gPRCメッセージの最大メッセージ長( `max-grpc-send-msg-len` )と最大バッチサイズ( `raft-msg-max-batch-size` ) の動的設定をサポート [#12334](https://github.com/tikv/tikv/issues/12334) + - gRPCメッセージの最大メッセージ長( `max-grpc-send-msg-len` )と最大バッチサイズ( `raft-msg-max-batch-size` ) の動的設定をサポート [#12334](https://github.com/tikv/tikv/issues/12334) - Raft によるオンラインの安全でない復元計画の実行をサポート [#10483](https://github.com/tikv/tikv/issues/10483) - PD diff --git a/releases/release-6.1.3.md b/releases/release-6.1.3.md index 9689b22caf281..ad42017c368fb 100644 --- a/releases/release-6.1.3.md +++ b/releases/release-6.1.3.md @@ -44,7 +44,7 @@ Quick access: [クイックスタート](https://docs-archive.pingcap.com/tidb/v - 結合したテーブルの再配置 によって誤ってプッシュダウンされた条件が破棄されたときに発生する間違ったクエリ結果の問題を修正しました。 [#38736](https://github.com/pingcap/tidb/issues/38736) @[winoros](https://github.com/winoros) - `get_lock()`で取得したロックが10分以上保持できない問題を修正[#38706](https://github.com/pingcap/tidb/issues/38706) @[tangenta](https://github.com/tangenta) - AUTO_INCREMENT列がチェック制約で使用できない問題を修正しました [#38894](https://github.com/pingcap/tidb/issues/38894) @[YangKeao](https://github.com/YangKeao) - - gPRCログが間違ったファイルに出力される問題を修正[#38941](https://github.com/pingcap/tidb/issues/38941) @[xhebox](https://github.com/xhebox) + - gRPCログが間違ったファイルに出力される問題を修正[#38941](https://github.com/pingcap/tidb/issues/38941) @[xhebox](https://github.com/xhebox) - テーブルが切り捨てられたり削除されたりしても、テーブルのTiFlash同期ステータスが etcd から削除されない問題を修正[#37168](https://github.com/pingcap/tidb/issues/37168) @[CalvinNeo](https://github.com/CalvinNeo) - データソース名インジェクションによりデータファイルに無制限にアクセスできる問題を修正 (CVE-2022-3023) [#38541](https://github.com/pingcap/tidb/issues/38541) @[lance6716](https://github.com/lance6716) - 関数`str_to_date`が`NO_ZERO_DATE`モードで間違った結果を返す問題を修正 [#39146](https://github.com/pingcap/tidb/issues/39146) @[mengxin9014](https://github.com/mengxin9014) diff --git a/releases/release-8.4.0.md b/releases/release-8.4.0.md index dd6b292423c4b..fc8dfb57c290f 100644 --- a/releases/release-8.4.0.md +++ b/releases/release-8.4.0.md @@ -139,7 +139,7 @@ TiDB バージョン: 8.4.0 ベクトル検索のパフォーマンスを向上させるために、[ベクトル検索インデックス](/ai/reference/vector-search-index.md)を作成して使用できます。 TiDBベクトル検索インデックスはTiFlashに依存していることに注意してください。ベクトル検索インデックスを使用する前に、 TiFlashノードが TiDB クラスターにデプロイされていることを確認してください。 - 詳細については、[ドキュメント](/ai/concepts/vector-search-overview.md)を参照してください。 + 詳細については、[ドキュメント](/ai/guides/vector-search-overview.md)を参照してください。 ### データベース操作 {#db-operations} diff --git a/releases/release-8.5.6.md b/releases/release-8.5.6.md index 1b0fecb12386d..71a80208ab440 100644 --- a/releases/release-8.5.6.md +++ b/releases/release-8.5.6.md @@ -39,7 +39,7 @@ TiDBバージョン:8.5.6 バージョン 8.5.6 より前では、TiDB でスロークエリを識別する主な方法は、 [`tidb_slow_log_threshold`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_slow_log_threshold)システム変数を設定することでした。このメカニズムはインスタンスレベルでグローバルに適用されるため、スロークエリログのトリガーを大まかにしか制御できず、セッションレベルや SQL レベルでのきめ細かい制御はサポートされていません。さらに、トリガー条件として実行時間 ( `Query_time` ) しかサポートしていないため、複雑なシナリオでスロークエリログをより正確にキャプチャする必要性を満たすことができません。 - バージョン 8.5.6 以降、TiDB はスロークエリログの制御を強化しました。[`tidb_slow_log_rules`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_slow_log_rules-new-in-v856) システム変数を使用して、`Query_time`、`Digest`、`Mem_max`、`KV_total` などの条件に基づいて、インスタンス、セッション、SQL の各レベルで多次元のスロークエリログ出力ルールを定義できます。[`tidb_slow_log_max_per_sec`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_slow_log_max_per_sec-new-in-v856) を使用して、1秒あたりに書き込まれるログエントリの数を制限したり、[`WRITE_SLOW_LOG`](https://docs.pingcap.com/tidb/v8.5/optimizer-hints) ヒントを使用して、特定の SQL文に対してスロークエリログを強制的に記録したりできます。これにより、スロークエリログをより柔軟かつきめ細かく制御できます。 + バージョン 8.5.6 以降、TiDB はスロークエリログの制御を強化しました。[`tidb_slow_log_rules`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_slow_log_rules) システム変数を使用して、`Query_time`、`Digest`、`Mem_max`、`KV_total` などの条件に基づいて、インスタンス、セッション、SQL の各レベルで多次元のスロークエリログ出力ルールを定義できます。[`tidb_slow_log_max_per_sec`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_slow_log_max_per_sec) を使用して、1秒あたりに書き込まれるログエントリの数を制限したり、[`WRITE_SLOW_LOG`](https://docs.pingcap.com/tidb/v8.5/optimizer-hints) ヒントを使用して、特定の SQL文に対してスロークエリログを強制的に記録したりできます。これにより、スロークエリログをより柔軟かつきめ細かく制御できます。 詳細については、 [ドキュメント](https://docs.pingcap.com/tidb/v8.5/identify-slow-queries)を参照してください。 @@ -98,8 +98,8 @@ TiDBクラスタをv8.5.5で新規にデプロイした場合(つまり、v8.5 | [`tidb_foreign_key_check_in_shared_lock`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_foreign_key_check_in_shared_lock-new-in-v856) | 新しく追加された | 悲観的トランザクションにおける外部キーチェックで、親テーブルの行に対して排他ロックではなく共有ロックを使用するかどうかを制御します。デフォルト値は`OFF`で、これは TiDB がデフォルトで排他ロックを使用することを意味します。 | | [`tidb_max_dist_task_nodes`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_max_dist_task_nodes-new-in-v856) | 新しく追加された | 分散実行フレームワーク (DXF) タスクが使用できる TiDB ノードの最大数を定義します。デフォルト値は`-1`で、これは自動モードが有効になっていることを示します。自動モードでは、TiDB は`min(3, tikv_nodes / 3)`という値を動的に計算します。ここで、 `tikv_nodes`クラスタ内の TiKV ノードの数を表します。 | | [`tidb_opt_join_reorder_through_sel`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_opt_join_reorder_through_sel-new-in-v856) | 新しく追加された | 特定の複数テーブル結合クエリの結合順序最適化を改善します。これを`ON`に設定し、安全条件が満たされている場合、オプティマイザは、連続する結合オペレーター間の`Selection`条件と結合順序候補を評価します。結合ツリーの再構築中、オプティマイザは可能な限りこれらの条件をより適切な位置にプッシュダウンし、より多くのテーブルが結合順序最適化に参加できるようにします。 | -| [`tidb_slow_log_max_per_sec`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_slow_log_max_per_sec-new-in-v856) | 新しく追加された | TiDBノードごとに1秒あたりに書き込める、スロークエリログエントリの最大数を制御します。
  • `0` (デフォルト値)という値は、1秒あたりに書き込まれるスロークエリログエントリの数に制限がないことを意味します。
  • `0`より大きい値を指定すると、TiDBは1秒あたりに指定された数のスロークエリログエントリを書き込みます。超過分のログエントリは破棄され、スロークエリログファイルには書き込まれません。
| -| [`tidb_slow_log_rules`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_slow_log_rules-new-in-v856) | 新しく追加された | スロークエリログのトリガールールを定義します。多次元メトリクスを組み合わせることで、より柔軟で詳細なログ記録を実現します。 | +| [`tidb_slow_log_max_per_sec`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_slow_log_max_per_sec) | 新しく追加された | TiDBノードごとに1秒あたりに書き込める、スロークエリログエントリの最大数を制御します。
  • `0` (デフォルト値)という値は、1秒あたりに書き込まれるスロークエリログエントリの数に制限がないことを意味します。
  • `0`より大きい値を指定すると、TiDBは1秒あたりに指定された数のスロークエリログエントリを書き込みます。超過分のログエントリは破棄され、スロークエリログファイルには書き込まれません。
| +| [`tidb_slow_log_rules`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_slow_log_rules) | 新しく追加された | スロークエリログのトリガールールを定義します。多次元メトリクスを組み合わせることで、より柔軟で詳細なログ記録を実現します。 | ### 設定パラメータ {#configuration-parameters} diff --git a/releases/release-8.5.8.md b/releases/release-8.5.8.md index f57afac5c7ccb..21cc6cc2169ef 100644 --- a/releases/release-8.5.8.md +++ b/releases/release-8.5.8.md @@ -26,6 +26,7 @@ TiDB バージョン: 8.5.8 - 検証時に起動時専用の処理を回避し、既存トピックに対して Schema Registry などの encoder 依存関係を確認し、TiCDC がトピックを作成する必要がある場合にのみ `replication-factor` を検証することで、TiCDC Kafka Sink の検証をより軽量かつ完全なものに改善しました [#5618](https://github.com/pingcap/ticdc/issues/5618) [#5720](https://github.com/pingcap/ticdc/issues/5720) @[3AceShowHand](https://github.com/3AceShowHand) - 同じ Sink 内のすべての Encoder で単一の `ClaimCheck` インスタンスを共有することで、Claim-Check を有効にした TiCDC Kafka Sink における外部ストレージクライアントと接続の使用量を削減しました [#5719](https://github.com/pingcap/ticdc/issues/5719) @[3AceShowHand](https://github.com/3AceShowHand) - 設定、Admin API、および producer エラーの分類とラップを標準化することで、TiCDC Kafka Sink のエラーハンドリングを簡素化および統一し、リトライ分類とトラブルシューティングを容易にしました [#5790](https://github.com/pingcap/ticdc/issues/5790) @[3AceShowHand](https://github.com/3AceShowHand) + - TiCDC における既知のセキュリティ脆弱性を軽減するため、TiDB、`golang.org/x/crypto`、AWS SDK、およびその他の依存関係をアップグレードしました [#12775](https://github.com/pingcap/tiflow/issues/12775) [#5827](https://github.com/pingcap/ticdc/issues/5827) [#5693](https://github.com/pingcap/ticdc/issues/5693) [#5445](https://github.com/pingcap/ticdc/issues/5445) @[asddongmen](https://github.com/asddongmen) @[wk989898](https://github.com/wk989898) ## バグ修正 {#bug-fixes} @@ -62,10 +63,11 @@ TiDB バージョン: 8.5.8 - 一時的な RocksDB compaction スパイク時に、TiKV が不要な書き込みフロー制御を適用する可能性がある問題を修正しました [#19667](https://github.com/tikv/tikv/issues/19667) @[hbisheng](https://github.com/hbisheng) - 対象ストアの登録完了前に PD が一時的に store-not-found エラーを返すと、TiKV が Raft 接続を恒久的にブロックする可能性がある問題を修正しました [#19980](https://github.com/tikv/tikv/issues/19980) @[LykxSassinator](https://github.com/LykxSassinator) - TiKV における外部 SST 取り込みでフォアグラウンド書き込みが許可されなくなり、取り込み中の書き込みレイテンシーが増加する問題を修正しました [#19954](https://github.com/tikv/tikv/issues/19954) @[gengliqi](https://github.com/gengliqi) + - Rust 依存関係をアップグレードすることで、TiKV の潜在的なセキュリティ脆弱性を修正しました [#19931](https://github.com/tikv/tikv/issues/19931) @[hbisheng](https://github.com/hbisheng) + PD - - PD `/metric/query` および `/metric/query_range` が SSRF に悪用されたり、上流レスポンスの詳細を露出したりする可能性がある問題を修正しました @[rleungx](https://github.com/rleungx) + - PD `/metric/query` および `/metric/query_range` が SSRF に悪用されたり、上流レスポンスの詳細を露出したりする可能性がある問題を修正しました [#11081](https://github.com/tikv/pd/issues/11081) @[rleungx](https://github.com/rleungx) - 同じリソースグループ内でリクエストレートが不均一な場合に、RU トークンが TiDB インスタンス間で不均等に割り当てられ、高負荷インスタンスで RU 待機時間の増加とレイテンシー上昇を引き起こす問題を修正しました [#9605](https://github.com/tikv/pd/issues/9605) @[JmPotato](https://github.com/JmPotato) - クライアントが任意の `ConfigPath` またはパス形式の設定名を指定した場合に、PD GlobalConfig gRPC API が意図した名前空間外の etcd キーへアクセスする可能性がある問題を修正しました [#11079](https://github.com/tikv/pd/issues/11079) @[rleungx](https://github.com/rleungx) - `pd-forwarded-host` で渡された呼び出し元指定のアドレスに対して、現在の PD leader の advertised client URLs に転送先を制限せず、PD が外向き gRPC 接続を確立してしまう可能性がある問題を修正しました [#11070](https://github.com/tikv/pd/issues/11070) @[rleungx](https://github.com/rleungx) @@ -85,6 +87,10 @@ TiDB バージョン: 8.5.8 - ログバックアップタスク停止後に BR ログバックアップが古い GC safepoint を残し、クリーンアップや safepoint 管理に影響する可能性がある問題を修正しました [#19832](https://github.com/tikv/tikv/issues/19832) @[Leavrth](https://github.com/Leavrth) - 複数のリストアタスクが同時実行される場合に、BR が SST ダウンロードのレート制限を正しく更新できず、あるタスクの制限変更が反映されない可能性がある問題を修正しました [#19454](https://github.com/tikv/tikv/issues/19454) @[Leavrth](https://github.com/Leavrth) + + DM + + - OpenTelemetry および `kin-openapi` 依存関係をアップグレードすることで、DM の潜在的な脆弱性を修正しました [#12637](https://github.com/pingcap/tiflow/issues/12637) @[GMHDBJD](https://github.com/GMHDBJD) + + TiCDC - maintainer フェイルオーバー中に TiCDC が重複した dispatcher を作成し、下流で書き込み競合を引き起こす可能性がある問題を修正しました [#5083](https://github.com/pingcap/ticdc/issues/5083) @[hongyunyan](https://github.com/hongyunyan) diff --git a/sql-statements/sql-statement-grant-privileges.md b/sql-statements/sql-statement-grant-privileges.md index 5007884e1b5ae..5bcd1db63aa89 100644 --- a/sql-statements/sql-statement-grant-privileges.md +++ b/sql-statements/sql-statement-grant-privileges.md @@ -82,6 +82,7 @@ mysql> SHOW GRANTS FOR 'newuser'; ## MySQLとの互換性 {#mysql-compatibility} - MySQLと同様に、 `USAGE`権限はTiDBサーバーにログインする能力を示します。 +- MySQLとは異なり、TiDBは `GRANT PROXY` をサポートしていません。 - バージョン8.5.6以降、TiDBはMySQL互換の列レベルの権限管理メカニズムをサポートしています。指定したテーブルの特定の列に対して、 `SELECT` 、 `INSERT` 、 `UPDATE` 、および`REFERENCES`権限を付与または取り消すことができます。詳細については、[列レベルの権限管理](/column-privilege-management.md)を参照してください。 - MySQLと同様に、 `NO_AUTO_CREATE_USER` SQLモードが存在しない場合、 `GRANT`文は、ユーザーが存在しない場合に、パスワードが空の新しいユーザーを自動的に作成します。このSQLモードを削除すると(デフォルトでは有効になっています)、セキュリティ上のリスクが生じます。 - TiDB では、 `GRANT `ステートメントが正常に実行されると、実行結果は現在の接続に直ちに有効になります。一方[MySQLでは、一部の権限では、実行結果は後続の接続でのみ有効になります](https://dev.mysql.com/doc/refman/8.0/en/privilege-changes.html)。詳細については、 [TiDB #39356](https://github.com/pingcap/tidb/issues/39356)を参照してください。 diff --git a/system-variables.md b/system-variables.md index 5ed89c3952e62..5f751f6a52f11 100644 --- a/system-variables.md +++ b/system-variables.md @@ -5985,33 +5985,54 @@ Query OK, 0 rows affected, 1 warning (0.00 sec) > > 文字チェックをスキップすると、TiDB はアプリケーションによって書き込まれた無効な UTF-8 文字を検出できず、 `ANALYZE`の実行時にデコードエラーが発生したり、その他の未知のエンコード問題が発生したりする可能性があります。アプリケーションが書き込まれた文字列の有効性を保証できない場合は、文字チェックをスキップすることはお勧めしません。 -### tidb_slow_log_max_per_sec New in v8.5.6 +### tidb_slow_log_max_per_sec v8.5.6 および CLOUD.202603.1 で新規追加 {#tidb_slow_log_max_per_sec} -- 対象範囲:グローバル -- クラスターに保持される: はい -- ヒント[SET_VAR](/optimizer-hints.md#set_varvar_namevar_value)に適用:いいえ +>**Note:** +> +> この変数は TiDB Cloud では読み取り専用です。 + +- スコープ: GLOBAL +- クラスターへの永続化: Yes +- ヒント [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value) への適用: No - デフォルト値: `0` -- 型: 整数 +- 型: Integer - 範囲: `[0, 1000000]` -- この変数は、TiDBノードごとに1秒あたりに書き込めるスロークエリログエントリの最大数を制御します。 - - `0`という値は、1 秒あたりに書き込まれるスロークエリログエントリの数に制限がないことを意味します。 - - `0`より大きい値を指定すると、TiDBは1秒あたりに指定された数のスロークエリログエントリを書き込みます。超過分のログエントリは破棄され、スロークエリログファイルには書き込まれません。 -- この変数は、高負荷条件下で過剰なスロークエリログが生成されるのを防ぐために、 [`tidb_slow_log_rules`](#tidb_slow_log_rules-new-in-v856)と組み合わせて使用されることが多いです。 +- この変数は、TiDB ノードごとに 1 秒あたり書き込めるスロークエリログエントリの最大数を制御します。 + - 値が `0` の場合、1 秒あたりに書き込まれるスロークエリログエントリ数に制限はありません。 + - 値が `0` より大きい場合、TiDB は 1 秒あたり最大で指定された数のスロークエリログエントリのみを書き込みます。超過したログエントリは破棄され、スロークエリログファイルには書き込まれません。 +- この変数は、高負荷時に過剰なスロークエリログが生成されるのを防ぐために、[`tidb_slow_log_rules`](#tidb_slow_log_rules) とあわせて使用されることがよくあります。 -### tidb_slow_log_rules New in v8.5.6 +### tidb_slow_log_rules v8.5.6 および CLOUD.202603.1 で新規追加 {#tidb_slow_log_rules} -- 範囲: セッション | グローバル -- クラスターに保持される: はい -- ヒント[SET_VAR](/optimizer-hints.md#set_varvar_namevar_value)に適用:いいえ +>**Note:** +> +> この変数は TiDB Cloud Starter ではサポートされていません。 + +- スコープ + - TiDB Self-Managed および TiDB Cloud Dedicated: SESSION | GLOBAL + - TiDB Cloud Essential および Premium: SESSION +- クラスターへの永続化: Yes +- ヒント [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value) への適用: No - デフォルト値: "" - 型: String -- この変数は、スロークエリログのトリガールールを定義します。多次元メトリクスを組み合わせることで、より柔軟で詳細なログ記録を実現します。 -- このシステム変数の使用方法の詳細については、 [`tidb_slow_log_rules`を使用する](/identify-slow-queries.md#use-tidb_slow_log_rules)を参照してください。 +- この変数は、スロークエリログのトリガールールを定義します。複数次元のメトリクスを組み合わせることで、より柔軟できめ細かなログ記録を実現します。 +- このシステム変数の使用方法の詳細については、[スロークエリのトリガールールを設定する](/config-slow-query-trigger-rules.md) を参照してください。 + + > **Tip:** > -> - 本番環境で`tidb_slow_log_rules`を有効にする場合は、スロークエリログの出力が過度に頻繁に発生しないように、 [`tidb_slow_log_max_per_sec`](#tidb_slow_log_max_per_sec-new-in-v856)も設定することをお勧めします。 -> - 最初はより厳しい条件から始め、トラブルシューティングの必要性に応じて徐々に緩和していくことをお勧めします。パフォーマンスへの影響に関する詳細については、[推奨事項](/identify-slow-queries.md#recommendations)を参照してください。 +> - 本番環境で `tidb_slow_log_rules` を有効にする場合は、スロークエリログが過度に頻繁に出力されるのを避けるため、[`tidb_slow_log_max_per_sec`](#tidb_slow_log_max_per_sec) も設定することを推奨します。 +> - より厳しい条件から開始し、トラブルシューティングの必要に応じて徐々に緩和していくことを推奨します。パフォーマンスへの影響の詳細については、[推奨事項](/config-slow-query-trigger-rules.md#recommendations) を参照してください。 + + + + +> **Tip:** +> +> より厳しい条件から開始し、トラブルシューティングの必要に応じて徐々に緩和していくことを推奨します。パフォーマンスへの影響の詳細については、[推奨事項](/config-slow-query-trigger-rules.md#recommendations) を参照してください。 + + ### tidb_slow_log_threshold diff --git a/tidb-cloud/ai-feature-concepts.md b/tidb-cloud/ai-feature-concepts.md index d79af9dcee145..a127521a8dbd9 100644 --- a/tidb-cloud/ai-feature-concepts.md +++ b/tidb-cloud/ai-feature-concepts.md @@ -23,7 +23,7 @@ Chat2Query は SQL エディターに統合された AI を活用した機能で 検索語がデータベース内のコンテンツと完全に一致しない場合でも、ベクトル検索はデータの意味を分析することで、ユーザーの意図に沿った結果を提供できます。たとえば、「泳ぐ動物」という全文検索では、このキーワードが完全に一致する結果のみが返されます。一方、ベクトル検索では、魚やアヒルなど、他の泳ぐ動物に関する結果も、キーワードが完全に一致しない場合でも返されます。 -詳細については、[ベクトル検索(プレビュー)の概要](/ai/concepts/vector-search-overview.md)を参照してください。 +詳細については、[ベクトル検索(プレビュー)の概要](/ai/guides/vector-search-overview.md)を参照してください。 ## AI統合 {#ai-integrations} @@ -37,7 +37,7 @@ TiDBは、いくつかの人気のあるAIフレームワークを公式にサ ベクトル埋め込み(または埋め込み)とは、現実世界のオブジェクトを高次元空間で表現する数値のシーケンスです。これは、文書、画像、音声、動画などの非構造化データの意味と文脈を捉えます。 -埋め込みモデルは、データを[ベクトル埋め込み](/ai/concepts/vector-search-overview.md#vector-embedding)に変換するアルゴリズムです。適切な埋め込みモデルを選択することは、セマンティック検索結果の正確性と関連性を確保するために非常に重要です。 +埋め込みモデルは、データを[ベクトル埋め込み](/ai/guides/vector-search-overview.md#vector-embedding)に変換するアルゴリズムです。適切な埋め込みモデルを選択することは、セマンティック検索結果の正確性と関連性を確保するために非常に重要です。 TiDBベクトル検索は、最大 16383 次元のベクトルの保存をサポートしており、ほとんどの埋め込みモデルに対応します。非構造化テキストデータの場合は、 [大規模テキスト埋め込みベンチマーク(MTEB)リーダーボード](https://huggingface.co/spaces/mteb/leaderboard)で最高のパフォーマンスのテキスト埋め込みモデルを見つけることができます。 diff --git a/tidb-cloud/cli-reference.md b/tidb-cloud/cli-reference.md index c650d274ed181..9a0ebac53544b 100644 --- a/tidb-cloud/cli-reference.md +++ b/tidb-cloud/cli-reference.md @@ -1,15 +1,24 @@ --- -title: TiDB Cloud CLI Reference (PREVIEW) -summary: TiDB Cloud CLIの概要を説明します。 +title: TiDB Cloud CLI (ticloud) Reference (PREVIEW) +summary: TiDB Cloud StarterおよびEssential向けのticloud CLIの概要を説明します。 --- -# TiDB Cloud CLI リファレンス (PREVIEW) {#tidb-cloud-cli-reference-beta} +# TiDB Cloud CLI (ticloud) リファレンス (PREVIEW) {#tidb-cloud-cli-reference-beta} > **Note:** > -> 現在、 TiDB Cloud CLIはパブリックプレビューであり、 TiDB Cloud Dedicatedクラスタには適用できません。 +> TiDB Cloudは現在、対象範囲が異なる2つのCLI、[`ti`](https://github.com/tidbcloud/ti-cli) と [`ticloud`](https://github.com/tidbcloud/tidbcloud-cli) を提供しています。 +> +> - `ti` は、必要な操作をサポートしている場合、TiDB Cloud Starterでの新しい自動化ワークフローに推奨されます。`ti` を使用してTiDB Cloud Filesystemsを管理することもできます。開始するには、[TiDB Cloud CLI を使い始める](/ai/ti/ti-quick-start.md) を参照してください。 +> - `ticloud` は引き続きTiDB Cloud Essential向けのCLIであり、データのインポート、データのエクスポート、監査ログ操作など、[`ti`](/ai/ti/ti-overview.md) がまだサポートしていない操作にも使用されます。 +> +> `ti` または `ticloud` をいつ使用するかの詳細については、[`ti` と `ticloud` の違い](/ai/ti/ti-overview.md#differences-between-ti-and-ticloud) を参照してください。 + +`ticloud` CLIはコマンドラインインターフェースであり、ターミナルからTiDB Cloudを操作できます。TiDB Cloud CLIを使用すると、 {{{ .starter }}}およびEssentialインスタンスを簡単に管理したり、インスタンスへのデータのインポートやエクスポートを行ったり、その他のCLIワークフローを実行したりできます。 -TiDB Cloud CLIはコマンドラインインターフェースであり、ターミナルから数行のコマンドを入力するだけでTiDB Cloudを操作できます。TiDB Cloud CLIを使用すると、 TiDB Cloud StarterおよびEssentialインスタンスを簡単に管理したり、インスタンスにデータをインポートしたり、その他の操作を実行したりできます。 +> **Note:** +> +> `ticloud` CLIは現在パブリックプレビューであり、TiDB Cloud Dedicatedクラスターをサポートしていません。 ## 始める前に {#before-you-begin} diff --git a/tidb-cloud/connected-ai-chat-in-im.md b/tidb-cloud/connected-ai-chat-in-im.md index 7f61378a92d2a..b6f2aee93c7b0 100644 --- a/tidb-cloud/connected-ai-chat-in-im.md +++ b/tidb-cloud/connected-ai-chat-in-im.md @@ -5,7 +5,7 @@ summary: インスタント メッセージ (IM) の AI チャットに関する # Connected: IMでのAIチャット {#connected-ai-chat-in-im} -PingCAPを搭載したインスタントメッセージ(IM)のAIチャットは、TiDB AIアシスタントチャットボットを特定のIMチャネルに招待し、予備的な技術サポートや相談を提供するサービスです。このサービスは、 [TiDBベクトル検索](/ai/concepts/vector-search-overview.md)ベースに構築されたGraph RAG(Retrieval-Augmented Generation)に基づいています。 +PingCAPを搭載したインスタントメッセージ(IM)のAIチャットは、TiDB AIアシスタントチャットボットを特定のIMチャネルに招待し、予備的な技術サポートや相談を提供するサービスです。このサービスは、 [TiDBベクトル検索](/ai/guides/vector-search-overview.md)ベースに構築されたGraph RAG(Retrieval-Augmented Generation)に基づいています。 ## 制限 {#limitation} diff --git a/tidb-cloud/get-started-with-cli.md b/tidb-cloud/get-started-with-cli.md index d2af60694829a..5eb32623e8613 100644 --- a/tidb-cloud/get-started-with-cli.md +++ b/tidb-cloud/get-started-with-cli.md @@ -1,11 +1,20 @@ --- -title: TiDB Cloud CLI Quick Start -summary: TiDB Cloud CLI を使用して、TiDB Cloud StarterおよびEssentialインスタンスを管理する方法を学びましょう。 +title: TiDB Cloud CLI (`ticloud`) Quick Start +summary: ticloud CLI を使用して、{{{ .starter }}} および Essential インスタンスを管理する方法を学びましょう。 --- -# TiDB Cloud CLI クイックスタート {#tidb-cloud-cli-quick-start} +# TiDB Cloud CLI (`ticloud`) クイックスタート {#tidb-cloud-cli-quick-start} -TiDB Cloud は、ターミナルから数行のコマンドでTiDB Cloudとやり取りできるコマンドラインインターフェイス (CLI) [`ticloud`](https://github.com/tidbcloud/tidbcloud-cli)を提供しています。たとえば、 `ticloud`を使用して、次の操作を簡単に実行できます。 +> **Note:** +> +> TiDB Cloud は現在、対象範囲の異なる 2 つの CLI を提供しています: [`ti`](https://github.com/tidbcloud/ti-cli) と [`ticloud`](https://github.com/tidbcloud/tidbcloud-cli)。 +> +> - `ti` は、必要な操作をサポートしている場合、TiDB Cloud Starter の新しい自動化ワークフローに推奨されます。`ti` を使用して TiDB Cloud Filesystems を管理することもできます。開始するには、[TiDB Cloud CLI を使い始める](/ai/ti/ti-quick-start.md) を参照してください。 +> - `ticloud` は引き続き、TiDB Cloud Essential および [`ti`](/ai/ti/ti-overview.md) がまだサポートしていない操作(データのインポート、データのエクスポート、監査ログ操作など)のための CLI です。 +> +> `ti` または `ticloud` をいつ使用するかの詳細については、[`ti` と `ticloud` の違い](/ai/ti/ti-overview.md#differences-between-ti-and-ticloud) を参照してください。 + +TiDB Cloud は、ターミナルから数行のコマンドで TiDB Cloud Starter および Essential とやり取りできるコマンドラインインターフェイス (CLI) [`ticloud`](https://github.com/tidbcloud/tidbcloud-cli)を提供しています。たとえば、 `ticloud`を使用して、次の操作を実行できます。 - TiDB Cloud StarterまたはEssentialインスタンスの作成、削除、一覧表示を行います。 - TiDB Cloud StarterまたはEssentialインスタンスにデータをインポートします。 @@ -13,7 +22,7 @@ TiDB Cloud は、ターミナルから数行のコマンドでTiDB Cloudとや > **Note:** > -> TiDB Cloud CLIはパブリックプレビューです。 +> `ticloud` CLI は現在パブリックプレビューです。 ## 始める前に {#before-you-begin} diff --git a/tidb-cloud/releases/release-notes-2024.md b/tidb-cloud/releases/release-notes-2024.md index 0730d75526445..d034696986c9b 100644 --- a/tidb-cloud/releases/release-notes-2024.md +++ b/tidb-cloud/releases/release-notes-2024.md @@ -247,7 +247,7 @@ summary: TiDB Cloudの2024年のリリースノートについてご確認くだ - Python のプログラミング言語サポート: [SQLAlchemy](/ai/integrations/vector-search-integrate-with-sqlalchemy.md) 、 [Peewee](/ai/integrations/vector-search-integrate-with-peewee.md)、および[Django ORM](/ai/integrations/vector-search-integrate-with-django-orm.md) 。 - サンプルアプリケーションとチュートリアル: [Python](/ai/quickstart-via-python.md)または[SQL](/ai/quickstart-via-sql.md)を使用してドキュメントのセマンティック検索を実行します。 - 詳細については、[ベクトル検索(ベータ版)の概要](/ai/concepts/vector-search-overview.md)を参照してください。 + 詳細については、[ベクトル検索(ベータ版)の概要](/ai/guides/vector-search-overview.md)を参照してください。 - [TiDB Cloud Serverless](/tidb-cloud/select-cluster-tier.md#starter) 、組織オーナー向けに週次メールレポートの提供を開始しました。 diff --git a/tidb-cloud/releases/tidb-cloud-release-notes.md b/tidb-cloud/releases/tidb-cloud-release-notes.md index 1bf7f7d2a4cc1..e1efc3720e047 100644 --- a/tidb-cloud/releases/tidb-cloud-release-notes.md +++ b/tidb-cloud/releases/tidb-cloud-release-notes.md @@ -8,6 +8,18 @@ aliases: ['/ja/tidbcloud/supported-tidb-versions','/ja/tidbcloud/release-notes', このページには、2026年の[TiDB Cloud](https://www.pingcap.com/tidb-cloud/)のリリースノートが掲載されています。 +## 2026年9月15日 {#september-15-2026} + +**一般的な変更** + +* **TiDB Cloud CLI** + + [TiDB Cloud CLI (`ti`)](https://github.com/tidbcloud/ti-cli) は、[TiDB Cloud Starter](/tidb-cloud/select-cluster-tier.md#starter) インスタンスと TiDB Cloud Filesystems を管理するためのパブリックプレビューとして利用できるようになりました。TiDB Cloud Filesystem は、AI エージェントと自動化ワークロード向けに設計されたサーバーレスの分散ファイルシステムです。 + + `ti` を直接使用することも、スクリプト、CI ジョブ、AI エージェントに実行させて TiDB Cloud ワークフローを自動化することもできます。`ti` を使用すると、TiDB Cloud Starter インスタンスの作成と管理、SQL ステートメントの実行、ファイルコマンドまたはサポートされているマウントを通じた永続的な Filesystem ワークスペースの作成とアクセスが可能です。デフォルトの JSON 出力、JMESPath 出力クエリ、および該当するコマンドでの `--wait` と `--dry-run` のサポートにより、自動化が簡素化されます。 + + 詳細は、[TiDB Cloud CLI を使い始める](/ai/ti/ti-quick-start.md) および [TiDB Cloud CLI (`ti`) の概要](/ai/ti/ti-overview.md) を参照してください。 + ## 2026年9月8日 {#september-8-2026} **コンソールの変更** diff --git a/tidb-cloud/select-cluster-tier.md b/tidb-cloud/select-cluster-tier.md index bd1455356d626..0bacbbfbcf5a1 100644 --- a/tidb-cloud/select-cluster-tier.md +++ b/tidb-cloud/select-cluster-tier.md @@ -152,7 +152,7 @@ TiDB Cloud Dedicatedクラスターを作成するには、 [支払い方法を ## {{{ .lake }}} {#lake} -TiDB Cloud Lakeは、分析ワークロード向けのクラウドネイティブなデータウェアハウスサービスです。コンピュートとストレージを分離し、ウェアハウスを個別にプロビジョニングし、ワークロードの変化に応じてスケーリングし、オブジェクトストレージにデータをコスト効率よく保存できます。 +[TiDB Cloud Lake](https://docs.pingcap.com/tidbcloudlake/)は、分析ワークロード向けのクラウドネイティブなデータウェアハウスサービスです。コンピュートとストレージを分離し、ウェアハウスを個別にプロビジョニングし、ワークロードの変化に応じてスケーリングし、オブジェクトストレージにデータをコスト効率よく保存できます。 TiDB Cloud Lakeは、ANSI SQL、半構造化データ処理、ベクトル検索、AI指向のワークフローを1つのプラットフォームでサポートします。基盤となるインフラストラクチャを自分で運用することなく、マネージドな分析エクスペリエンスを求めるチーム向けに設計されています。 diff --git a/tidb-cloud/tidb-cloud-billing.md b/tidb-cloud/tidb-cloud-billing.md index 57030873549f1..c82a7b670f0ee 100644 --- a/tidb-cloud/tidb-cloud-billing.md +++ b/tidb-cloud/tidb-cloud-billing.md @@ -115,7 +115,7 @@ TiDB Cloud Lake の料金は、ウェアハウス、ストレージ、クラウ > **Note:** > - > Infrequent Access は現在 {{{ .essential }}} 向けのプライベートプレビューであり、リクエストがあった場合にのみ利用できます。 + > Infrequent Access は現在プライベートプレビューであり、リクエストがあった場合にのみ利用できます。 - **Columnar storage**: 列指向ストレージは **TiFlash** エンジンによって提供されます。 diff --git a/tidb-cloud/tidb-cloud-glossary.md b/tidb-cloud/tidb-cloud-glossary.md index cf505fa730a6c..ca072c2ebc4b1 100644 --- a/tidb-cloud/tidb-cloud-glossary.md +++ b/tidb-cloud/tidb-cloud-glossary.md @@ -69,7 +69,7 @@ Data Service のエンドポイントは、SQL文を実行するようにカス ### 全文検索 {#full-text-search} -意味的な類似性に焦点を当てる[ベクトル検索](/ai/concepts/vector-search-overview.md)とは異なり、全文検索では正確なキーワードに基づいて文書を取得できます。検索拡張生成(RAG)シナリオでは、全文検索とベクトル検索を組み合わせて使用することで、検索品質を向上させることができます。 +意味的な類似性に焦点を当てる[ベクトル検索](/ai/guides/vector-search-overview.md)とは異なり、全文検索では正確なキーワードに基づいて文書を取得できます。検索拡張生成(RAG)シナリオでは、全文検索とベクトル検索を組み合わせて使用することで、検索品質を向上させることができます。 詳細については、 [SQLによる全文検索](/ai/guides/vector-search-full-text-search-sql.md)および[Pythonによる全文検索](/ai/guides/vector-search-full-text-search-python.md)を参照してください。 @@ -231,7 +231,7 @@ SQLクライアント経由でTiDB Cloudリソースへのアクセスが許可 ### ベクトル検索 {#vector-search} -[ベクトル検索](/ai/concepts/vector-search-overview.md)は、データの意味を優先して関連性の高い結果を提供する検索方法です。キーワードの完全一致や単語の出現頻度に依存する従来の全文検索とは異なり、ベクトル検索は、テキスト、画像、音声などのさまざまなデータタイプを高次元ベクトルに変換し、これらのベクトル間の類似性に基づいてクエリを実行します。この検索方法は、データの意味と文脈情報を捉え、ユーザーの意図をより正確に理解することを可能にします。検索語がデータベース内のコンテンツと完全に一致しない場合でも、ベクトル検索はデータの意味を分析することで、ユーザーの意図に沿った結果を提供できます。 +[ベクトル検索](/ai/guides/vector-search-overview.md)は、データの意味を優先して関連性の高い結果を提供する検索方法です。キーワードの完全一致や単語の出現頻度に依存する従来の全文検索とは異なり、ベクトル検索は、テキスト、画像、音声などのさまざまなデータタイプを高次元ベクトルに変換し、これらのベクトル間の類似性に基づいてクエリを実行します。この検索方法は、データの意味と文脈情報を捉え、ユーザーの意図をより正確に理解することを可能にします。検索語がデータベース内のコンテンツと完全に一致しない場合でも、ベクトル検索はデータの意味を分析することで、ユーザーの意図に沿った結果を提供できます。 ### 仮想プライベートクラウド {#virtual-private-cloud} diff --git a/tidb-cloud/tidb-cloud-intro.md b/tidb-cloud/tidb-cloud-intro.md index 4afe0b76ab4ea..0e892dc020e82 100644 --- a/tidb-cloud/tidb-cloud-intro.md +++ b/tidb-cloud/tidb-cloud-intro.md @@ -6,7 +6,9 @@ category: intro # TiDB Cloudとは何ですか? {#what-is-tidb-cloud} -[TiDB Cloud](https://www.pingcap.com/tidb-cloud/)は、オープンソースのハイブリッドトランザクションおよび分析処理 (HTAP) データベースである[TiDB](https://docs.pingcap.com/tidb/stable/overview)をベースにした、フルマネージドのクラウドネイティブの Database-as-a-Service (DBaaS) です。 TiDB Cloudは、データベースの導入と管理を簡単に行う方法を提供し、データベースの複雑さではなく、アプリケーションに集中できるようにします。 TiDB Cloudのリソース( TiDB Cloud Starterインスタンス、 TiDB Cloud Essentialインスタンス、 TiDB Cloud Dedicatedクラスターなど)を作成することで、Amazon Web Services(AWS)、Google Cloud、Microsoft Azure、およびAlibaba Cloud上にミッションクリティカルなアプリケーションを迅速に構築できます。 TiDB Cloudのリソース( TiDB Cloud Starterインスタンス、 TiDB Cloud Essentialインスタンス、 TiDB Cloud Dedicatedクラスターなど)を作成することで、Amazon Web Services(AWS)、Google Cloud、Microsoft Azure上にミッションクリティカルなアプリケーションを迅速に構築できます。 +[TiDB Cloud](https://www.pingcap.com/tidb-cloud/)は、オープンソースのハイブリッドトランザクションおよび分析処理 (HTAP) データベースである[TiDB](https://docs.pingcap.com/tidb/stable/overview)をベースにした、フルマネージドのクラウドネイティブの Database-as-a-Service (DBaaS) です。 TiDB Cloudは、データベースの導入と管理を簡単に行う方法を提供し、データベースの複雑さではなく、アプリケーションに集中できるようにします。 + +TiDB Cloudのリソース(Starterインスタンス、Essentialインスタンス、Premiumインスタンス、Dedicatedクラスターなど)を作成することで、Amazon Web Services(AWS)、Google Cloud、Microsoft Azure、およびAlibaba Cloud上にミッションクリティカルなアプリケーションを迅速に構築できます。TiDB Cloudのリソース(Starterインスタンス、Essentialインスタンス、Premiumインスタンス、Dedicatedクラスターなど)を作成することで、Amazon Web Services(AWS)、Google Cloud、Microsoft Azure上にミッションクリティカルなアプリケーションを迅速に構築できます。 さらに、TiDB Cloud Lakeを使用して、分析ワークロード向けのクラウドネイティブなデータウェアハウスを構築できます。 ![TiDB Cloud Overview](/media/tidb-cloud/tidb-cloud-overview.png) diff --git a/tidb-cloud/tidb-cloud-org-sso-authentication.md b/tidb-cloud/tidb-cloud-org-sso-authentication.md index b7d52843c124e..e01977f640bfb 100644 --- a/tidb-cloud/tidb-cloud-org-sso-authentication.md +++ b/tidb-cloud/tidb-cloud-org-sso-authentication.md @@ -192,14 +192,20 @@ SAML ID プロトコルを使用する ID プロバイダーがある場合は TiDB Cloudでは、SAML認証方式はデフォルトで無効になっています。Cloud Organization SSOを有効にした後、以下の手順でSAML認証方式を有効にして設定できます。 -1. TiDB Cloud Organization SSO の ID プロバイダーから次の情報を取得します。 +1. TiDB Cloud コンソールの **Authentication** ページで、**Authentication Methods**領域でSAMLの行を見つけてクリックします。 SAML メソッドの詳細を表示します。 +2. **Authentication Method Details** ペインから、**Sign on URL** と **Signing Certificate** を入力する前に TiDB Cloud によって事前入力される次の値をコピーします。 + + - **Entity ID**: TiDB Cloud のサービスプロバイダー (SP) エンティティ ID です。 + - **Postback URL**: ID プロバイダーが SAML レスポンスを送信する SAML エンドポイント(Assertion Consumer Service (ACS) URL または Reply URL とも呼ばれます)です。 + +3. ID プロバイダーで、前の手順の **Entity ID** と **Postback URL** を使用して、TiDB Cloud 用の SAML アプリケーションを作成または設定します。SSO チームが ID プロバイダーを管理している場合は、これらの値をそのチームに提供します。 + + 次に、ID プロバイダーから次の情報を取得します。 - サインオンURL - 署名証明書 -2. TiDB Cloud コンソールの **Authentication** ページで、**Authentication Methods**領域でSAMLの行を見つけてクリックします。 SAML メソッドの詳細を表示します。 - -3. メソッドの詳細では、以下を設定できます。 +4. TiDB Cloud コンソールの **Authentication Method Details** ペインに戻り、以下を設定します。 - **Name** @@ -233,7 +239,7 @@ TiDB Cloudでは、SAML認証方式はデフォルトで無効になっていま **SCIM Provisioning Accounts** を有効にする前に、プロビジョニングするユーザーのメールドメインを追加して検証し、 **Allowed Email Domains** フィールドで設定してください。 -4. **Save**をクリックします。 +5. **Activate**をクリックします。 #### SCIMプロビジョニングを構成する {#configure-scim-provisioning} diff --git a/tidb-cloud/tune-performance.md b/tidb-cloud/tune-performance.md index 25b01d0b296df..55627e7544268 100644 --- a/tidb-cloud/tune-performance.md +++ b/tidb-cloud/tune-performance.md @@ -46,6 +46,14 @@ TiDB Cloud では、パフォーマンスを分析するために [スローク デフォルトでは、300 ミリ秒を超えて実行される SQL クエリはスロークエリと見なされます。 + + +> **Note:** +> +> スロークエリのトリガールールを設定して、特定のメトリクスの組み合わせに基づいて対象のステートメントをフィルタリングすることもできます。詳細については、[スロークエリのトリガールールを設定する](/config-slow-query-trigger-rules.md) を参照してください。 + + + {{{ .starter }}} instance{{{ .essential }}} instance{{{ .premium }}} instance{{{ .dedicated }}} cluster でスロークエリを表示するには、次の手順を実行します。 1. [**Diagnosis** ページに移動します](#view-the-diagnosis-page)。 diff --git a/tiflash-upgrade-guide.md b/tiflash-upgrade-guide.md index 10eff29e05b7b..3a76c3dbba3ab 100644 --- a/tiflash-upgrade-guide.md +++ b/tiflash-upgrade-guide.md @@ -135,7 +135,7 @@ v7.4以降、データ圧縮中に発生する読み取りおよび書き込み ## v7.x から v8.4 以降のバージョンへ {#from-v7-x-to-v8-4-or-a-later-version} -バージョン8.4以降、 TiFlashの基盤となるストレージフォーマットは[ベクトル検索](/ai/concepts/vector-search-overview.md)をサポートするように更新されました。そのため、 TiFlashをバージョン8.4以降にアップグレードした後は、元のバージョンへのインプレースダウングレードはサポートされません。 +バージョン8.4以降、 TiFlashの基盤となるストレージフォーマットは[ベクトル検索](/ai/guides/vector-search-overview.md)をサポートするように更新されました。そのため、 TiFlashをバージョン8.4以降にアップグレードした後は、元のバージョンへのインプレースダウングレードはサポートされません。 **テストやその他の特別なシナリオでTiFlash をダウングレードするための回避策**