1120 views
--- title: 儲存服務 description: OneAI 文件 --- [OneAI 文件](/s/user-guide) # 儲存服務 儲存服務提供安全、可靠與 Amazon S3 相容之儲存服務,方便您將大量的資料存放在雲端,於 OneAI 的服務之間或與其他計畫成員分享資料。 ## 儲存體管理 ### 建立儲存體 * 從 OneAI 服務列表選擇「**儲存服務**」進入儲存服務管理頁面,接著點擊「**+建立**」。 ![](/uploads/upload_e5e16864f2c02c42b4e8af9686df729f.png) * 輸入儲存體名稱後按下「**確定**」。 ![](/uploads/upload_0bfc0138af15f8cda542f4c3df0172d6.png) * 儲存體建立後會出現在「**儲存服務管理**」列表中,點擊該列表進入儲存體內容頁面即可開始使用。 ![](/uploads/upload_4522c158188a267788bec8c752306876.png) ![](/uploads/upload_a53aa94719c684ee180d8c162a3324cf.png) ### 删除儲存體 * 將滑鼠移至該儲存體列表後的更多選項圖示,再點擊「**刪除**」。 ![](/uploads/upload_7c6ec311e1fcde60b3462fb5a02f1115.png) * 確認欲删除的儲存體名稱後點擊「**確認**」。 :::warning :warning: **注意**:儲存體一旦删除,儲存體內所有的資料將會被全數删除,無法復原。專案內的儲存體為所有成員共用,任何修改或删除,都有可能影響群組內的使用者,請務必留意。 ::: ![](/uploads/upload_229e5dc8734703debca4f26ef6095f38.png) ## 檔案管理 ### 上傳檔案 * 進入儲存體的內容列表,點擊上方命令列之上傳圖示。 ![](/uploads/upload_c3305c1775ade04d82cfcd00bb5f6ef4.png) * 出現「**上傳**」視窗後可以直接將檔案或資料夾拖曳至此,或點擊「**選擇檔案**」再選取欲上傳的檔案,選擇完成後再點擊「**上傳**」。 :::info :bulb:**提示:** 如果要上傳大檔案或大量檔案,可透過第三方軟體如 [**S3 Browser**](#使用-S3-Browser)、[**Cyberduck**](#使用-cyberduck) 或 [**Rclone**](#使用-Rclone)。 ::: ![](/uploads/upload_0f916bcc4c8676c4575db95a53062061.png) ### 建立資料夾 * 在儲存體的內容列表,點擊上方命令列之「**建立資料夾**」圖示。 ![](/uploads/upload_f29180b20289d6ff6591996e2db62207.png) * 輸入資料夾名稱後按下「**確定**」。 ![](/uploads/upload_b576ba3b06f959881f0c2ca9eaa164c5.png) ### 檢視檔案資訊 * 點擊欲查看的檔案列表,可檢視檔案的資訊。 ![](/uploads/upload_63b6ac61546d0d18fd371d6e79527685.png) ![](/uploads/upload_60151ca1be8a549b292bfc6defb0d7f5.png) ### 搜尋檔案 * 在搜尋框中輸入欲查詢的關鍵字,可篩選出符合條件的檔案。 ![](/uploads/upload_e528e8a92319bd4cd7b2508a15974753.png) ### 下載檔案 * 在儲存體的內容列表中,勾選欲下載的檔案,再點擊上方命令列之下載圖示。 :::info :bulb:**提示:下載檔案限制** 目前一次僅能下載一個檔案,如果要一次下載多個檔案,可透過第三方軟體如 [**S3 Browser**](#使用-S3-Browser)、[**Cyberduck**](#使用-cyberduck) 或 [**Rclone**](#使用-Rclone)。 ::: ![](/uploads/upload_414bf398a6e14b9357fbb11c69803327.png) ### 刪除檔案 * 在儲存體的內容列表中,勾選欲刪除的檔案,接著點擊上方命令列之刪除圖示,在確定視窗中再點擊「**確認**」。 ![](/uploads/upload_153091897565220fd3732f167d8eb5f3.png) ![](/uploads/upload_92a20671fc6b919acf50c8436dec91db.png) ## S3 連線資訊 * 儲存服務提供 Amazon S3 相容的傳輸協定,除了透過使用者介面存取儲存體的檔案,亦可使用其他的第三方軟體來傳輸大量及大型檔案,例如: * Windows:使用 [**S3 Browser**](#使用-S3-Browser) 或 [**Cyberduck**](#使用-Cyberduck) * MacOS:使用 [**Cyberduck**](#使用-Cyberduck) * Linux(命令列模式):使用 [**Rclone**](#使用-Rclone) * 點擊左側功能列之「**S3 連線資訊**」,進入S3 連線資訊頁面。 * 「**S3 連線資訊**」頁面提供此儲存服務的連線資訊,包括服務端點(使用 SSL 連線)、Access Key 及 Secret Key 等資訊。 ![](/uploads/upload_3e3ec63742a4abb8ce6cc6a4fd6b5237.png) * 點選右上方「**更新金鑰**」可更新您的金鑰。 :::info :bulb:**金鑰使用提示** 1. 此 S3 金鑰無預設期限,一旦在第三方軟體中設定好,下次開啟第三方軟體時直接連線即可。 2. 請妥善保管您的金鑰,或定期更新金鑰,以防金鑰外流。金鑰更新後,請記得更新第三方軟體中的金鑰設定。 ::: ### 使用 S3 Browser * S3 Browser 是一款簡單好用的 Amazon S3 Windows 客戶端程式,它提供了一個簡單的 Web 服務接口,可隨時從 Web 上的任何位置儲存和檢索資料。S3 Browser 免費版僅供非商業用途使用,詳情請參見 [**S3 Browser 官網**](http://s3browser.com/)。 * 如果還未安裝過 S3 Browser 請先連線到 [**S3 Browser 官網**](http://s3browser.com/),再點擊「**Download S3 Browser**」下載並安裝 S3 Browser。 ![](/uploads/upload_5ddebe9b174003b5e5acd124cdc1b376.png) * 安裝好後打開 S3 Browser,設定以下儲存服務的連線資訊: - Account Type:S3 Compatible Storage - REST Endpoint:「**S3 連線資訊**」頁面所提供的服務端點  - Access Key ID:「**S3 連線資訊**」頁面所提供的 Access Key - Secret Access Key:「**S3 連線資訊**」頁面所提供的 Secret Key - Signature Version:Signature V4 :::info :bulb:**提示:** 以下 S3 Browser 設定畫面以 10.2.3 版本為例,若使用其他版本,請參照 [**S3 Browser 官網說明**](http://s3browser.com/)。 ::: ![](/uploads/upload_a56dd5c3089baeea98646fc5c2e6d89d.png) * 在上圖中點擊「**Advanced S3-compatible storage settings**」,再選擇 Signature version:Signature V4。 ![](/uploads/upload_96ed1cb3b2694b6286d355c2561f7c41.png) * 連線成功後即可看到儲存服務系統上的儲存體內容,透過 S3 Browser 亦可建立新的儲存體。 ![](/uploads/upload_104f17c5db31a303331b8f8df4d717c0.png) * 在 S3 Browser 點選「**+New bucket**」,接著在 Create New Bucket 視窗輸入欲建立的儲存體名稱,再按下「**Create new Bucket**」。 ![](/uploads/upload_a5469a0113dad04482e8b5f4bc1dee42.png) * 點選左側之儲存體名稱,即可上傳或下載檔案。 ![](/uploads/upload_36999ffb810a03bd2471a1830e25920c.png) ### 使用 Cyberduck * Cyberduck 是一套適用於 Mac 和 Windows 的檔案傳輸工具,亦可用來管理儲存服務儲存體的內容,快速地在本地端與遠端主機中傳輸、瀏覽檔案。 * 如果還未安裝過 Cyberduck 請先連線到 [**Cyberduck 官網**](https://cyberduck.io/),下載並安裝。 ![](/uploads/upload_576ad37a00821609d7f474cf6c23e360.png) * 安裝好後打開 Cyberduck,點選「**新增連線**」。 ![](/uploads/upload_2bb42a6931ea6c353317043e02c6658f.png) * 接著設定以下儲存服務的連線資訊: - 連線類型:**Amazon S3** - 伺服器:「**S3 連線資訊**」頁面所提供的服務端點 - 存取金鑰ID:「**S3 連線資訊**」頁面所提供的 Access Key - 秘密存取金鑰:「**S3 連線資訊**」頁面所提供的 Secret Key :::info :bulb:**提示:** 以下 Cyberduck 設定畫面以 8.0.2 Windows 版為例,Mac 版或 Windows 版的 Cyberduck 操作界面類似,若使用其他版本,請參照 [**Cyberduck 官網說明**](https://cyberduck.io/)。 ::: ![](/uploads/upload_6bd883fe2ce6c98adb1546f9e9cb3ede.png) * 連線成功後即可看到儲存服務上的儲存體。 ![](/uploads/upload_7b2db038b6882648e54e41af231f8d6f.png) * 在儲存體下方的空白處按滑鼠右鍵,接著點選「**新資料夾**」。 ![](/uploads/upload_65541ff16da18abd243bce329f142252.png) * 在新資料夾視窗中輸入新資料夾的名稱後點擊「**新增**」即可建立新的儲存體。 ![](/uploads/upload_1a7dd752483b8887a4a21c8e939dd700.png) * 點選左側的儲存體名稱,即可上傳或下載檔案。 ![](/uploads/upload_27f337cb51fb47fb3f46eaec8aedffb8.png) ### 使用 Rclone * [**Rclone**](/https://rclone.org/ "https://rclone.org/") 是一個好用的開源命令列應用程式,提供檔案同步、文件傳輸、加密、快取和掛載等功能,可用於管理雲端儲存。如果您的環境不支援圖形化界面,建議使用 Rclone。 * 安裝 Rclone Rclone 支援多種作業系統,以下範例以 Linux Ubuntu 為例,更多資訊請參考 [**Rclone Downloads**](https://rclone.org/downloads/)。 ```= sudo apt update sudo apt install rclone ``` * 安裝成功查看版本資訊。 ```= rclone --version ``` * 設定 Rclone 組態檔 :::info :bulb:**提示:** 以下說明以 rclone v1.50.2 為例,若使用其他版本,請參考 [**Rclone 官網**](https://rclone.org/)。 ::: * 第一次使用請執行 **`rclone config`** 指令以互動模式設定組態檔,後續如需修改,可直接編輯組態檔 `~/.config/rclone/rclone.conf`。 :::spoiler **rclone config 設定範例** ```= # rclone config 2023/02/02 00:57:42 NOTICE: Config file "/root/.config/rclone/rclone.conf" not found - using defaults No remotes found - make a new one n) New remote s) Set configuration password q) Quit config n/s/q> n name> myproject <--- 遠端連線名稱,可自行命名,之後會使用此名稱存取 Type of storage to configure. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value 1 / 1Fichier \ "fichier" 2 / Alias for an existing remote \ "alias" 3 / Amazon Drive \ "amazon cloud drive" 4 / Amazon S3 Compliant Storage Provider (AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, etc) \ "s3" 5 / Backblaze B2 \ "b2" 6 / Box \ "box" ... Storage> 4 <--- 請選擇 4 ** See help for s3 backend at: https://rclone.org/s3/ ** Choose your S3 provider. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value 1 / Amazon Web Services (AWS) S3 \ "AWS" 2 / Alibaba Cloud Object Storage System (OSS) formerly Aliyun \ "Alibaba" 3 / Ceph Object Storage \ "Ceph" 4 / Digital Ocean Spaces \ "DigitalOcean" 5 / Dreamhost DreamObjects \ "Dreamhost" 6 / IBM COS S3 \ "IBMCOS" 7 / Minio Object Storage \ "Minio" 8 / Netease Object Storage (NOS) \ "Netease" 9 / Wasabi Object Storage \ "Wasabi" 10 / Any other S3 compatible provider \ "Other" provider> 10 <--- 請選擇 10 Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). Only applies if access_key_id and secret_access_key is blank. Enter a boolean value (true or false). Press Enter for the default ("false"). Choose a number from below, or type in your own value 1 / Enter AWS credentials in the next step \ "false" 2 / Get AWS credentials from the environment (env vars or IAM) \ "true" env_auth> 1 AWS Access Key ID. Leave blank for anonymous access or runtime credentials. Enter a string value. Press Enter for the default (""). access_key_id> EQVRGYYSX06MKW9GSNECPVDK AWS Secret Access Key (password) Leave blank for anonymous access or runtime credentials. Enter a string value. Press Enter for the default (""). access_key_id> ... <--- S3 連線資訊頁面所提供的 Access Key AWS Secret Access Key (password) Leave blank for anonymous access or runtime credentials. Enter a string value. Press Enter for the default (""). secret_access_key> ... <--- S3 連線資訊頁面所提供的 Secret Key Region to connect to. Leave blank if you are using an S3 clone and you don't have a region. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value 1 / Use this if unsure. Will use v4 signatures and an empty region. \ "" 2 / Use this only if v4 signatures don't work, eg pre Jewel/v10 CEPH. \ "other-v2-signature" region> 1 Endpoint for S3 API. Required when using an S3 clone. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value endpoint> ... <--- S3 連線資訊頁面所提供的服務端點 Location constraint - must be set to match the Region. Leave blank if not sure. Used when creating buckets only. Enter a string value. Press Enter for the default (""). location_constraint> Canned ACL used when creating buckets and storing or copying objects. This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl Note that this ACL is applied when server side copying objects as S3 doesn't copy the ACL from the source but rather writes a fresh one. Enter a string value. Press Enter for the default (""). Choose a number from below, or type in your own value 1 / Owner gets FULL_CONTROL. No one else has access rights (default). \ "private" 2 / Owner gets FULL_CONTROL. The AllUsers group gets READ access. \ "public-read" / Owner gets FULL_CONTROL. The AllUsers group gets READ and WRITE access. 3 | Granting this on a bucket is generally not recommended. \ "public-read-write" 4 / Owner gets FULL_CONTROL. The AuthenticatedUsers group gets READ access. \ "authenticated-read" / Object owner gets FULL_CONTROL. Bucket owner gets READ access. 5 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it. \ "bucket-owner-read" / Both the object owner and the bucket owner get FULL_CONTROL over the object. 6 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it. \ "bucket-owner-full-control" acl> 6 Edit advanced config? (y/n) y) Yes n) No y/n> n Remote config -------------------- [myproject] provider = Other env_auth = false access_key_id = ... <--- S3 連線資訊頁面所提供的 Access Key secret_access_key = ... <--- S3 連線資訊頁面所提供的 Secret Key endpoint = ... <--- S3 連線資訊頁面所提供的服務端點 acl = bucket-owner-full-control -------------------- y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y Current remotes: Name Type ==== ==== myproject s3 e) Edit existing remote n) New remote d) Delete remote r) Rename remote c) Copy remote s) Set configuration password q) Quit config e/n/d/r/c/s/q> q ``` ::: <br> :::info :bulb:**提示:** 如果不想透過互動模式設定組態檔,可以使用 [**rclone config create**](https://rclone.org/commands/rclone_config_create/ "https://rclone.org/commands/rclone_config_create/") 指令快速設定。 * 指令格式:`rclone config create name type [key value]* [flags]` * 範例:(... 請置換成「**S3 連線資訊**」頁面對應的 Access Key 和 Secret Key) ``` rclone config create myproject s3 \ provider Other \ env_auth false \ access_key_id ... \ secret_access_key ...\ endpoint cloudstorage.oneai.twcc.ai \ acl bucket-owner-full-control ``` * Rclone 常用指令 設定完成後,即可使用 rclone 指令存取遠端連線,以下列舉 rclone 常用指令及用法,更多資訊請參考 [**Rclone Commands**](https://rclone.org/commands/ "https://rclone.org/commands/")。 | 指令 | 說明 | | -------- | -------- | | [rclone listremotes](https://rclone.org/commands/rclone_listremotes/ "https://rclone.org/commands/rclone_listremotes/") |列出所有註冊的遠端連線名稱<br>格式:`rclone listremotes [flags]`| | [rclone lsd](https://rclone.org/commands/rclone_lsd/ "https://rclone.org/commands/rclone_lsd/") |列出路徑中的所有儲存體或目錄<br>格式:`rclone lsd remote:path [flags]`<br>範例 1:`rclone lsd myproject:` <br>範例 2:`rclone lsd myproject:bucket1`| | [rclone ls](https://rclone.org/commands/rclone_ls/ "https://rclone.org/commands/rclone_ls/")| 列出路徑中的物件及其大小和路徑。<br>格式:`rclone ls remote:path [flags]`<br>範例 1:`rclone ls myproject:` <br>範例 2:`rclone ls myproject:bucket1` | |[rclone copy](https://rclone.org/commands/rclone_copy/ "https://rclone.org/commands/rclone_copy/")| 複製來源路徑下的物件到目標路徑。<br>格式:`rclone copy source:sourcepath dest:destpath`<br>範例:`rclone copy mydata myproject:dataset` | |[rclone sync](https://rclone.org/commands/rclone_sync/ "https://rclone.org/commands/rclone_sync/")| 將來源路徑下的物件同步到目標路徑。<br>格式:`rclone sync source:path dest:path [flags]`<br>範例:`rclone sync mydata myproject:dataset` |