From 4c0d72412f223467004251d64dd56e3146377754 Mon Sep 17 00:00:00 2001 From: shiyuhang <1136742008@qq.com> Date: Wed, 18 Sep 2024 17:47:06 +0800 Subject: [PATCH 01/30] add export cli in export doc --- .../azure-sas-create.png | Bin 0 -> 186927 bytes .../azure-sas-position.png | Bin 0 -> 197157 bytes .../gcs-service-account-key.png | Bin 0 -> 336986 bytes .../gcs-service-account.png | Bin 0 -> 262072 bytes tidb-cloud/serverless-export.md | 125 ++++++++++++++++-- tidb-cloud/serverless-external-storage.md | 48 +++++++ 6 files changed, 164 insertions(+), 9 deletions(-) create mode 100644 media/tidb-cloud/serverless-external-storage/azure-sas-create.png create mode 100644 media/tidb-cloud/serverless-external-storage/azure-sas-position.png create mode 100644 media/tidb-cloud/serverless-external-storage/gcs-service-account-key.png create mode 100644 media/tidb-cloud/serverless-external-storage/gcs-service-account.png diff --git a/media/tidb-cloud/serverless-external-storage/azure-sas-create.png b/media/tidb-cloud/serverless-external-storage/azure-sas-create.png new file mode 100644 index 0000000000000000000000000000000000000000..01fbb2edaf7b02e48026f3cf3274c3011cbd840c GIT binary patch literal 186927 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