TiDB Cloud ServerlessのGUI上でエクスポートする機能(ベータ版)がリリースされていたので使ってみた
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
こんにちは、ゲームソリューション部のsoraです。
今回は、TiDB Cloud ServerlessのGUI上でエクスポートする機能がリリースされていたので使ってみたことについて書いていきます。
エクスポート機能
ベータ版ではありますが、TiDB CloudのクラスタのImportから エクスポート機能 が利用できます。
インポートやエクスポートの実行履歴がないクラスタであれば、Click here to export data to ...

インポートやエクスポートの実行履歴があるクラスタであれば、Export Data to ...から利用可能です。

エクスポート先として対応しているのは、ローカルとS3のみです。
以降は以下公式ドキュメントを参考にエクスポート機能を試してみます。
ローカルへのエクスポート
※工程の中で記載していますが、TiDB Cloud CLIをインストールする必要があります。
先ほどの画面からローカルへのエクスポートを選択します。
エクスポートしたいデータを選択して、データフォーマットや圧縮形式を選択して、Exportを押下します。

エクスポートが完了すると、TiDB Cloud CLIコマンドが表示されるため実行します。

ここでTiDB Cloud CLIが必要なため、インストールされていない場合はインストールします。
# TiDB Cloud CLIのインストール
curl https://raw.githubusercontent.com/tidbcloud/tidbcloud-cli/main/install.sh | sh
# ログイン
ticloud auth login
# エクスポートデータの取得コマンド(TiDB CloudのGUI上で表示されたコマンド)
ticloud s export download -c xxxxxxxxxxxxxxxxxxxx -e exp-xxxxxxxxxxxxxxxxxxxxxxx
ログインはコマンド実行で表示されたURLから認証します。
認証完了後は以下のような画面が表示されました。

実行してみるとエクスポートした4つのデータをローカルに持ってくることができました。

データ本体のCSVファイル、データベースやテーブルのスキーマのSQLファイルが取得できました。
データフォーマットをCSVではなくSQLにすると、データ本体もSQLファイルとなります。
S3へのエクスポート
先ほどの画面からS3へのエクスポートを選択します。
ローカルへのエクスポートと画面はほとんど同じですが、一番下にS3の情報と権限を入力する欄があります。
S3へのエクスポートではTiDB Cloud CLIは不要ですが、IAMロールもしくはアクセスキーが必要となります。

S3バケットやIAMロールの作成については割愛しますが、必要に応じて以下公式マニュアルをご参照ください。
ちなみに、IAMロールの作成時に必要な信頼するアカウントを確認しようとしたところ、CloudFormationテンプレートを使用したIAMロール作成ができるみたいでした。
ただし、テンプレートを見つけることができなかったため、今回は手動で作成しました。

情報入力後に実行すると、S3へエクスポートされていることが確認できました。


最後に
今回は、TiDB Cloud ServerlessのGUI上でエクスポートする機能がリリースされていたので使ってみたことを記事にしました。
どなたかの参考になると幸いです。






