建立一個 CPFS 通用版或 CPFS 智算版檔案系統與來源端儲存的資料流動。
介面說明
本介面適用於以下產品:
| 產品 | 檔案系統 ID 格式 | 支援資料流動的最低版本 |
| CPFS 通用版 | 以 cpfs- 開頭,例如 cpfs-125487**** | 2.2.0 及以上 |
| CPFS 智算版 | 以 bmcpfs- 開頭,例如 bmcpfs-0015**** | 2.4.0 及以上 |
:CPFS 通用版和 CPFS 智算版共用同一套 API,但在參數取值和功能支援上有所區別。請根據您使用的產品類型參考相應章節。
-
基礎操作
CPFS 通用版、CPFS 智算版檔案系統狀態為執行中時,才能建立資料流動。
一個 CPFS 通用版或 CPFS 智算版檔案系統最多允許建立 10 個資料流動。
建立資料流動一般耗時 2~5 分鐘,您可透過 DescribeDataFlows 檢查資料流動建立是否完成。
-
權限。
建立資料流動時,檔案儲存 CPFS 會取得
AliyunServiceRoleForNasOssDataflow和AliyunServiceRoleForNasEventNotification兩個服務關聯角色。更多資訊,請參見CPFS 服務關聯角色。 -
CPFS 通用版使用說明。
本章節適用於檔案系統 ID 以
cpfs-開頭的 CPFS 通用版。-
計費
建立資料流動將按照資料流動頻寬計費。更多資訊,請參見CPFS 通用版計費說明。
使用自動更新(AutoRefresh)時,需要透過 EventBridge 收集來源端 OSS 儲存的物件修改事件,事件將產生費用。更多資訊,請參見EventBridge 計費說明。
-
資料流動規格
資料流動頻寬(Throughput)支援 600 MB/s、1200 MB/s 和 1500 MB/s 三種規格。資料流動頻寬是指該資料流動進行匯入或匯出資料時能達到的最大傳輸頻寬。
建立一個資料流動,會消耗 1 個檔案儲存 CPFS 通用版掛載點使用的 vSwitch IP 位址,請您確保該 vSwitch IP 資源充足。
庫存查詢:當設定 DryRun 為 true 時,可校驗建立該規格的資料流動的資源是否滿足。
-
Fileset
資料流動的目的端是 CPFS 通用版檔案系統中的 Fileset。Fileset 是 CPFS 通用版檔案系統中一種新的目錄樹結構,是在父檔案系統中的一個小型檔案系統,擁有獨立的 inode 空間和管理能力。
建立資料流動時該 Fileset 必須已存在,且不能與其他 Fileset 巢狀。一個 Fileset 上只能建立一個資料流動,對應一個來源端儲存。
Fileset 內的檔案數量上限是 100 萬,如果從 OSS Bucket 匯入的檔案數量超過上限,建立新檔案會報錯
no space。
說明如果 Fileset 中已存在資料,建立資料流動後,Fileset 內的已有資料會被清空,替換為 OSS 端同步過來的資料。
-
自動更新
設定自動更新(AutoRefresh)後,當來源端儲存資料發生變化時,變化的中繼資料會自動同步到 CPFS 通用版檔案系統,變化的資料會在使用者存取檔案時按需載入,或者啟動資料流動任務載入資料。
自動更新依賴 EventBridge 收集來源端 OSS 儲存的物件修改事件。需要先開通 EventBridge 服務。
自動更新的作用範圍是 prefix,由參數 RefreshPath 指定。一個資料流動最多可設定 5 個自動更新目錄。
自動更新間隔(AutoRefreshInterval)指 CPFS 通用版設定的自動更新時間,檢查來源端 OSS Bucket 該 prefix 內是否存在資料更新,如果有資料更新則啟動自動更新任務。當 OSS 來源端的物件修改事件頻率超過 CPFS 通用版資料流動處理能力時,自動更新任務會堆積,中繼資料更新會延遲,資料流動的狀態為
Misconfigured,您可以提升資料流動規格,或者降低 OSS 修改頻率來解決。在檔案儲存 CPFS 通用版資料流動對 prefix 設定自動更新時,會在使用者側建立事件匯流排,並建立來源端 OSS Bucket 的 prefix 的事件規則。當來源端 OSS Bucket 的 prefix 內發生物件修改後,會在 EventBridge 中產生 OSS 事件,由 CPFS 通用版資料流動處理。
說明檔案儲存 CPFS 通用版在 EventBridge 建立的事件匯流排、事件規則帶有
Create for cpfs auto refresh的描述,事件匯流排、事件規則都不能修改或刪除,否則自動更新無法正常工作。 -
來源端儲存
來源端儲存僅支援 OSS。資料流動的來源端儲存(SourceStorage)必須是 OSS Bucket。
CPFS 通用版資料流動支援加密和非加密兩種方式存取 OSS。選擇加密(SSL)方式存取 OSS 時,需確認 OSS Bucket 的傳輸加密支援加密存取方式。
如果多個 CPFS 通用版的資料流動、或者同一個檔案儲存 CPFS 通用版的多個資料流動的來源端儲存是同一個 OSS Bucket,為了防止多個檔案儲存 CPFS 通用版向同一個來源匯出資料產生資料衝突,需要該 OSS Bucket 開啟版本控制。
不支援跨地域的 OSS 資料流動,OSS Bucket 必須與 CPFS 通用版檔案系統在同一個地域。
說明建立資料流動前,您需要先給來源端 OSS Bucket 設定標籤(key: cpfs-dataflow, value: true),以便 CPFS 通用版資料流動存取該 Bucket 的資料。在資料流動的使用過程中,不能刪除和修改該標籤,否則 CPFS 通用版資料流動無法存取 Bucket 的資料。
-
-
CPFS 智算版使用說明。
本章節適用於檔案系統 ID 以
bmcpfs-開頭的 CPFS 智算版。-
來源端儲存
來源端儲存僅支援 OSS。資料流動的來源端儲存(SourceStorage)必須是 OSS Bucket。
CPFS 智算版資料流動支援加密和非加密兩種方式存取 OSS。選擇加密(SSL)方式存取 OSS 時,需確認 OSS Bucket 的傳輸加密支援加密存取方式。
如果多個 CPFS 智算版的資料流動、或者同一個 CPFS 智算版的多個資料流動的來源端儲存是同一個 OSS Bucket,為了防止多個 CPFS 智算版向同一個來源匯出資料產生資料衝突,需要該 OSS Bucket 開啟版本控制。
不支援跨地域的 OSS 資料流動,OSS Bucket 必須與 CPFS 智算版檔案系統在同一個地域。
CPFS 智算版 2.6.0 及以上版本支援使用跨帳號 OSS 進行資料流動的建立。
只有在使用跨帳號的 OSS 時,需要設定 account id 參數。
- 使用跨帳號的 OSS 時,需要先進行帳號授權。具體授權請參考跨帳號資料流動授權。
說明
建立資料流動前,您需要先給來源端 OSS Bucket 設定標籤(key: cpfs-dataflow, value: true),以便 CPFS 智算版資料流動存取該 Bucket 的資料。在資料流動的使用過程中,不能刪除和修改該標籤,否則 CPFS 智算版資料流動無法存取 Bucket 的資料。
-
資料流動對檔案系統的限制。
在資料流動關聯的檔案系統路徑中,不可對非空目錄執行重新命名操作,否則報錯 Permission Denied 或者目錄非空。
目錄、檔案名稱中的特殊字元需要謹慎使用,支援大小寫字母、數字、驚嘆號(!)、短劃線(-)、底線(_)、半形句號(.)、星號(*)和半形圓括號(())。
不支援超長路徑,資料流動支援的路徑最大長度是 1023 字元。
-
資料流動匯入限制。
Symlink 類型的檔案匯入到 CPFS 智算版後,會轉變為包含資料的普通檔案,並遺失 Symlink 資訊。
如果 OSS Bucket 存在多個版本,則只複製最新的版本。
不支援長度大於 255 位元組的檔案名稱或子目錄名稱。
-
資料流動匯出限制
Symlink 類型的檔案在同步到 OSS 後,不會同步 Symlink 所指向的檔案,而是會變成一個普通的無資料空白物件。
Hardlink 類型的檔案僅作為普通檔案同步到 OSS。
Socket、Device、Pipe 類型的檔案匯出到 OSS Bucket 時,會變成一個普通的無資料空白物件。
不支援長度大於 1023 字元的目錄路徑。
-
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
調試
授權資訊
|
操作 |
存取層級 |
資源類型 |
條件關鍵字 |
關聯操作 |
|
nas:CreateDataFlow |
create |
*DataFlow
|
無 | 無 |
請求參數
|
名稱 |
類型 |
必填 |
描述 |
樣本值 |
| FileSystemId |
string |
是 |
檔案系統 ID。
|
cpfs-099394bd928c**** |
| FsetId |
string |
否 |
Fileset ID。 說明
當檔案系統類型為 CPFS 通用版時,該參數必填。 |
fset-1902718ea0ae**** |
| SourceStorage |
string |
是 |
來源端儲存的存取位址。格式: 其中:
說明
|
oss://178321033379****:bucket-01 |
| SourceSecurityType |
string |
否 |
來源端儲存的安全保護類型,如果來源端儲存必須透過安全保護存取,請指定來源端儲存的安全保護類型。取值:
|
SSL |
| Throughput |
integer |
否 |
資料流動的傳輸頻寬上限,單位:MB/s。取值:
說明
資料流動的傳輸頻寬必須小於檔案系統的 IO 頻寬。 當檔案系統類型為 CPFS 通用版時,該參數必填。 枚舉值:
|
600 |
| Description |
string |
否 |
資料流動的描述。 限制:
|
Bucket01 DataFlow |
| AutoRefreshs |
array<object> |
否 |
自動更新設定資訊集合。 說明
當檔案系統類型為 CPFS 通用版時,本參數生效。 |
|
|
object |
否 |
|||
| RefreshPath |
string |
否 |
自動更新目錄,CPFS 通用版註冊來源端儲存的資料修改事件,檢查該目錄下的來源端資料是否發生更新並自動匯入更新的資料。 預設為空,來源端儲存的任何資料更新不會自動匯入 CPFS 通用版,需要透過手動任務匯入更新。 限制:
|
/prefix1/prefix2/ |
| AutoRefreshPolicy |
string |
否 |
自動更新策略,來源端資料更新以後,資料更新匯入到 CPFS 通用版的策略。
說明
當檔案系統類型為 CPFS 通用版時,本參數生效。 枚舉值:
|
None |
| AutoRefreshInterval |
integer |
否 |
自動更新間隔時間,每隔該時間間隔,CPFS 通用版檢查目錄內是否存在資料更新,如果有資料更新,啟動自動更新任務,單位:分鐘。 取值範圍:10~525600,預設值:10。 說明
當檔案系統類型為 CPFS 通用版時,本參數生效。 |
10 |
| DryRun |
boolean |
否 |
是否對此次建立請求執行預檢。 預檢操作會幫助您檢查參數有效性、校驗庫存等,並不會實際建立執行個體,也不會產生費用。 取值:
|
false |
| ClientToken |
string |
否 |
保證請求冪等性,從您的用戶端產生一個參數值,確保不同請求間該參數值唯一。 ClientToken 只支援 ASCII 字元,且不能超過 64 個字元。更多資訊,請參見如何保證冪等性。 說明
若使用者未指定,則系統自動使用 API 請求的 RequestId 作為 ClientToken 標識。每次 API 請求的 RequestId 可能不一樣。 |
123e4567-e89b-12d3-a456-42665544**** |
| SourceStoragePath |
string |
否 |
來源端儲存 Bucket 內的存取路徑。限制如下。
說明
當檔案系統類型為 CPFS 智算版時,本參數必填。 |
/prefix/ |
| FileSystemPath |
string |
否 |
CPFS 智算版檔案系統內的目錄。限制如下。
說明
當檔案系統類型為 CPFS 智算版時,本參數必填。 |
/path/ |
返回參數
|
名稱 |
類型 |
描述 |
樣本值 |
|
object |
|||
| RequestId |
string |
請求 ID。 |
473469C7-AA6F-4DC5-B3DB-A3DC0D****3E |
| DataFlowId |
string |
資料流動 ID。 |
df-194433a5be31**** |
樣本
正常返回樣本
JSON格式
{
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0D****3E",
"DataFlowId": "df-194433a5be31****"
}
錯誤碼
|
HTTP status code |
錯誤碼 |
錯誤資訊 |
描述 |
|---|---|---|---|
| 400 | IllegalCharacters | The parameter contains illegal characters. | |
| 400 | MissingFsetId | FsetId is mandatory for this action. | |
| 400 | MissingSourceStorage | SourceStorage is mandatory for this action. | |
| 400 | MissingThroughput | Throughput is mandatory for this action. | |
| 400 | MissingFileSystemId | FileSystemId is mandatory for this action. | |
| 400 | InvalidFilesystemVersion.NotSupport | This Api does not support this fileSystem version. | |
| 400 | DataFlow.Bucket.RegionUnmatched | The bucket and file system are not in the same region. | |
| 403 | OperationDenied.DependencyViolation | The operation is denied due to dependancy violation. | |
| 403 | OperationDenied.NoStock | The operation is denied due to no stock. | |
| 403 | OperationDenied.DependFset | The operation is denied due to invalid fileset state. | |
| 403 | OperationDenied.ConflictOperation | The operation is denied due to a conflict with an ongoing operation. | |
| 403 | OperationDenied.DependMountpoint | The operation is denied because no mount point is found. | |
| 403 | OperationDenied.FsetAlreadyInUse | The Fset is already bound to another data flow. | |
| 403 | OperationDenied.AutoRefreshNotSupport | The operation is denied. Auto refresh is not supported. | |
| 403 | OperationDenied.DependBucketTag | The operation is denied. The OSS Bucket tag cpfs-dataflow is missing. | |
| 403 | OperationDenied.DataFlowNotSupported | The operation is not supported. | |
| 403 | InvalidOperation.DeletionProtection | The operation is not allowed due to resource is protected by deletion protection. | |
| 403 | DataFlow.Bucket.AccessDenied | Bucket access denied. | |
| 404 | InvalidFileSystem.NotFound | The specified file system does not exist. | |
| 404 | InvalidThroughput.OutOfBounds | Throughput is out of bounds. | |
| 404 | InvalidDescription.InvalidFormat | Description format is invalid. | |
| 404 | InvalidRefreshPath.InvalidParameter | Refresh path is invalid. | |
| 404 | InvalidRefreshPath.Duplicated | Refresh path is duplicated. | |
| 404 | InvalidRefreshPath.NotFound | Refresh path does not exist. | |
| 404 | InvalidRefreshPolicy.InvalidParameter | Refresh policy is invalid. | |
| 404 | InvalidRefreshInterval.OutOfBounds | Refresh interval is out of bounds. | |
| 404 | InvalidSourceStorage.Unreachable | Source storage cannot be accessed. | |
| 404 | InvalidSourceStorage.NotFound | Source storage is not found. | |
| 404 | InvalidSourceStorage.NotSupport | Source storage type is not supported. | |
| 404 | InvalidSourceStorage.PermissionDenied | The source storage access permission is denied. | |
| 404 | InvalidSourceStorage.InvalidRegion | Source storage region is invalid. | |
| 404 | InvalidSourceStorage.InvalidParameter | Source storage has invalid parameters. | |
| 404 | InvalidSourceSecurityType.NotSupport | The source security type is not supported. | |
| 404 | InvalidAutoRefresh.TooManyAutoRefreshes | The number of auto refreshes exceeds the limit. | |
| 404 | InvalidSourceStorage.NeedVersioning | Source storage must enable versioning. | |
| 404 | InvalidFsetId.NotFound | The specified Fileset ID does not exist. | |
| 404 | DataFlow.Bucket.NotExist | Bucket does not exist. |
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。