📣新登場!TiDB Cloud BYOC、TiDB Cloud Filesystem、PostgreSQL-compatible TiDB Cloud Starter がパブリックプレビュー中。このページは自動翻訳されたものです。原文はこちらからご覧ください。

TiDB Cloud Filesystem でファイルとディレクトリを操作する



TiDB Cloud Filesystem では、TiDB Cloud コンソール でファイルおよびディレクトリのメタデータを参照したり、TiDB Cloud CLI (ti) を使用して、ファイルシステムをマウントせずにファイルのアップロード、ダウンロード、読み取り、整理、検索を行ったりできます。すべてのコマンドとオプションについては、ti fs リファレンスを参照してください。

ファイルシステムをマシンにマウントすると、ローカルファイルシステムと同じようにファイルやディレクトリを操作できます。

前提条件

以下の前提条件は CLI 操作に適用されます。TiDB Cloud コンソールでファイルメタデータを参照するだけでよい場合は、ファイルを表示するを参照してください。

ファイルを表示する

TiDB Cloud コンソールまたは TiDB Cloud CLI を使用して、ファイルやディレクトリを参照し、そのメタデータを表示できます。

    1. TiDB Cloud コンソール で組織の File Systems ページに移動し、クラウドプロバイダーとリージョンを選択してから、対象のファイルシステム名をクリックします。
    2. 左側のナビゲーションペインで Files をクリックします。このページには、ディレクトリとファイルが、そのタイプ、サイズ、更新時刻とともに一覧表示されます。
    3. ディレクトリを展開して内容を参照したり、Search を使用して表示中のファイルツリーを絞り込んだり、ファイル名をクリックしてそのメタデータを表示したりできます。

    コンソールにはファイルメタデータが表示されます。ファイル内容を読み取ったり、ファイルやディレクトリを変更したりするには、CLI コマンドを使用するか、ファイルシステムをマウントしてください。

    ディレクトリの内容を一覧表示します。

    ti fs list-files --path /reports --output text

    出力例:

    NAME TYPE SIZE MTIME archive dir 0 0 report.md file 23 0

    ファイルまたはディレクトリのメタデータを確認します。

    ti fs describe-file --path /reports/report.md

    ファイルをアップロードおよびダウンロードする

    ローカルファイルをファイルシステムにアップロードします。

    ti fs copy-file \ --from-local ./report.md \ --to-remote /reports/report.md

    ファイルシステムからファイルをダウンロードします。

    ti fs copy-file \ --from-remote /reports/report.md \ --to-local ./downloads/report.md \ --create-parents

    copy-file を使用すると、ファイルシステム内でファイルまたはディレクトリをコピーしたり、標準入力または標準出力を介してデータをストリーミングしたり、ファイルに追記したり、中断された転送を再開したりすることもできます。

    ディレクトリを再帰的にコピーするには、--recursive を使用します。サポートされているすべてのコピー操作とオプションについては、copy-file リファレンスを参照してください。

    ファイルを読み取る

    ファイルの内容全体を読み取ります。

    ti fs read-file --path /reports/report.md

    このコマンドは、ファイル内容を JSON でラップせずに、標準出力へ直接書き出します。

    ファイルの一部だけを読み取るには、--offset と --length を使用します。たとえば、次のコマンドは先頭の 1024 バイトを読み取ります。

    ti fs read-file \ --path /reports/report.md \ --offset 0 \ --length 1024

    ファイルとディレクトリを整理する

    ディレクトリを作成します。

    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

    POSIX スタイルのメタデータやリンクが必要なワークフローでは、chmod-file、create-symlink、create-hardlinkも使用できます。

    ファイルと内容を検索する

    内容に基づいてファイルを検索するには、search-file-content を使用します。

    ti fs search-file-content \ --path /reports \ --pattern "TODO"

    --pattern は正規表現や glob ではなく、テキストクエリです。--limit を使用して、結果の最大件数を制御できます。

    詳細については、search-file-content リファレンスを参照してください。

    内容ではなくファイル自体について何らかの条件が分かっている場合は、find-files を使用します。ファイル名、タイプ、タグ、サイズ、更新時刻で絞り込めます。

    たとえば、stage=review のタグが付いた Markdown ファイルを検索するには、次のようにします。

    ti fs find-files \ --path /reports \ --file-name-pattern "*.md" \ --tag stage=review

    タグは、copy-file --tag key=value を使用してファイルをアップロードするときに設定します。同じパスに対して後からアップロード時に --tag を指定すると、以前のタグに追加されるのではなく、以前のタグが置き換えられます。

    結果には一致したパスが一覧表示されます。空のテーブルは、コマンドが失敗したことではなく、一致するものがなかったことを意味します。

    利用可能なすべてのフィルターについては、find-files リファレンスを参照してください。

    スクリプトでコマンド出力を使用する

    コマンド出力を使用する前に、終了ステータスを確認してください。read-file と copy-file --to-stdout は、CLI メタデータではなくファイル内容をストリーミングします。これらの内容をキャプチャする場合は、stderr を分離してください。

    ti v0.2.6 および v0.2.7 では、create-directory が --output json を指定していても、JSON の結果の前に created ... 行を出力することがあります。その出力は単一の JSON ドキュメントとしては解析できません。終了ステータスを確認したうえで、describe-file または list-files を使ってディレクトリを確認してください。スクリプトでその出力形式に依存する前に、インストール済みバージョンの出力形式を確認してください。

    次のステップ

    このページは役に立ちましたか?