配置OBS源端參數
更新時間 2023-08-17 15:41:52
最近更新時間: 2023-08-17 15:41:52
分享文章
本章節主要介紹配置OBS源端參數。
作業中源連接為配置OBS連接時,源端作業參數如下表所示。
高級屬性里的參數為可選參數,默認隱藏,單擊界面上的“顯示高級屬性”后顯示。
表 源端為OBS時的作業參數
| 參數類型 | 參數名 | 說明 | 取值樣例 |
|---|---|---|---|
| 基本參數 | 桶名 | 待遷移數據所在的桶名。 | BUCKET_2 |
| 基本參數 | 源目錄或文件 | “列表文件”選擇為“否”時,才有該參數。 待遷移數據的目錄或單個文件路徑。文件路徑支持輸入多個文件(最多50個),默認以“l”分隔,也可以自定義文件分隔符。 該參數支持配置為時間宏變量,且一個路徑名中可以有多個宏定義變量。使用時間宏變量和定時任務配合,可以實現定期同步新增數據。 |
FROM/example.csv |
| 基本參數 | 文件格式 | 文件格式指CDM以哪種格式解析數據,可選擇以下格式: CSV格式:以CSV格式解析源文件,用于遷移文件到數據表的場景。 二進制格式:選擇“二進制格式”時不解析文件內容直接傳輸,不要求文件格式必須為二進制。適用于文件到文件的原樣復制。 JSON格式:以JSON格式解析源文件,一般都是用于遷移文件到數據表的場景。 |
CSV格式 |
| 基本參數 | 列表文件 | 當“文件格式”選擇為“二進制格式”時,才有該參數。 打開列表文件功能時,支持讀取OBS桶中文件(如txt文件)的內容作為待遷移文件的列表。該文件中的內容應為待遷移文件的絕對路徑(不支持目錄),例如直接寫為如下內容: /052101/DAY20211110.data /052101/DAY20211111.data |
是 |
| 基本參數 | 列表文件源連接 | 當“列表文件”選擇為“是”時,才有該參數。可選擇列表文件所在的OBS連接。 | OBS_test_link |
| 基本參數 | 列表文件OBS桶 | 當“列表文件”選擇為“是”時,才有該參數。該參數表示列表文件所在的OBS桶名。 | 01 |
| 基本參數 | 列表文件或目錄 | 當“列表文件”選擇為“是”時,才有該參數。該參數表示列表文件所在的OBS桶中的絕對路徑或目錄。 此處建議選擇為文件的絕對路徑。當選擇為目錄時,也支持遷移子目錄中的文件,但如果目錄下文件量過大,可能會導致集群內存不足。 |
/0521/Lists.txt |
| 基本參數 | JSON類型 | 當“文件格式”選擇為“JSON格式”時,才有該參數。JSON文件中存儲的JSON對象的類型,可以選擇“JSON對象”或“JSON數組”。 | JSON對象 |
| 基本參數 | 記錄節點 | 當“文件格式”選擇為“JSON格式”并且“JSON類型”為“JSON對象”時,才有該參數。對該JSON節點下的數據進行解析,如果該節點對應的數據為JSON數組,那么系統會以同一模式從該數組中提取數據。多層嵌套的JSON節點以字符“.”分割。 | data.list |
| 高級屬性 | 換行符 | 文件中的換行符,默認自動識別“\n”、“\r”或“\r\n”。當“文件格式”選擇為“CSV格式”時,才有該參數。 | \n |
| 高級屬性 | 字段分隔符 | 文件中的字段分隔符,使用Tab鍵作為分隔符請輸入“\t”。當“文件格式”選擇為“CSV格式”時,才有該參數。 | , |
| 高級屬性 | 使用包圍符 | 選擇“是”時,包圍符內的字段分隔符會被視為字符串值的一部分,目前CDM默認的包圍符為:"。 | 否 |
| 高級屬性 | 使用正則表達式分隔字段 | 選擇是否使用正則表達式分隔字段,當選擇“是”時,“字段分隔符”參數無效。當“文件格式”選擇為“CSV格式”時,才有該參數。 | 是 |
| 高級屬性 | 正則表達式 | 分隔字段的正則表達式。 | ^(\d.\d) (\w ) [(. )] ([\w.] ) (\w.). |
| 高級屬性 | 首行為標題行 | “文件格式”選擇“CSV格式”時才有該參數。在遷移CSV文件到表時,CDM默認是全部寫入,如果該參數選擇“是”,CDM會將CSV文件的第一行數據作為標題行,不寫入目的端的表。 | 否 |
| 高級屬性 | 編碼類型 | 文件編碼類型,例如:“UTF-8”或“GBK”。只有文本文件可以設置編碼類型,當“文件格式”選擇為“二進制格式”時,該參數值無效。 | GBK |
| 高級屬性 | 壓縮格式 | 當“文件格式”為“CSV格式”或“JSON格式”時該參數才顯示。選擇對應壓縮格式的源文件: 無:表示傳輸所有格式的文件。 GZIP:表示只傳輸GZIP格式的文件。 ZIP:表示只傳輸ZIP格式的文件。 TAR.GZ:表示只傳輸TAR.GZ格式的文件。 |
無 |
| 高級屬性 | 壓縮文件后綴 | 壓縮格式非無時,顯示該參數。 該參數需要解壓縮的文件后綴名。當一批文件中以該值為后綴時,才會執行解壓縮操作,否則則保持原樣傳輸。當輸入*或為空時,所有文件都會被解壓。 |
* |
| 高級屬性 | 源文件處理方式 | 作業執行成功后對源端文件的處理方式: 不處理。 重命名:作業執行成功后將源文件重命名,添加用戶名和時間戳的后綴。 刪除:作業執行成功后將源文件刪除。 |
不處理 |
| 高級屬性 | 啟動作業標識文件 | 選擇是否開啟作業標識文件的功能。當源端路徑下存在啟動作業的標識文件時才啟動作業,否則會掛起等待一段時間,等待時長在下方“等待時間”中配置。 | 否 |
| 高級屬性 | 標識文件名 | 選擇開啟作業標識文件的功能時,需要指定啟動作業的標識文件名。指定文件后,只有在源端路徑下存在該文件的情況下才會運行任務。該文件本身不會被遷移。 | ok.txt |
| 高級屬性 | 等待時間 | 選擇開啟作業標識文件的功能時,如果源路徑下不存在啟動作業的標識文件,作業掛機等待的時長,當超時后任務會失敗。 等待時間設置為0時,當源端路徑下不存在標識文件,任務會立即失敗。 單位:秒。 |
10 |
| 高級屬性 | 文件分隔符 | “源目錄或文件”參數中如果輸入的是多個文件路徑,CDM使用這里配置的文件分隔符來區分各個文件,默認為 |。 |
| |
| 高級屬性 | 過濾類型 | 滿足過濾條件的路徑或文件會被傳輸,該參數有“無”、“通配符”和“正則表達式”三種選擇。 | 通配符 |
| 高級屬性 | 目錄過濾器 | “過濾類型”選擇“通配符”時,用通配符過濾目錄,符合過濾器規則的目錄,允許進行遷移。支持配置多個路徑,中間使用“,”分隔。 | *input |
| 高級屬性 | 文件過濾器 | “過濾類型”選擇“通配符”時,用通配符過濾目錄下的文件,符合過濾器規則的文件,允許進行遷移。支持配置多個文件,中間使用“,”分隔。 | .csv, .txt |
| 高級屬性 | 時間過濾 | 選擇“是”時,可以根據文件的修改時間,選擇性的傳輸文件。 | 是 |
| 高級屬性 | 起始時間 | “過濾類型”選擇“時間過濾器”時,可以指定一個時間值,當文件的修改時間大于該時間才會被傳輸,輸入的時間格式需為“yyyy-MM-dd HH:mm:ss”。 該參數支持配置為時間宏變量,例如**${timestamp(dateformat(yyyy-MM-dd HH:mm:ss,-90,DAY))}** 表示:只遷移最近90天內的文件。 |
2019-06-01 00:00:00 |
| 高級屬性 | 終止時間 | “過濾類型”選擇“時間過濾器”時,可以指定一個時間值,當文件的修改時間小于該時間才會被傳輸,輸入的時間格式需為“yyyy-MM-dd HH:mm:ss”。 該參數支持配置為時間宏變量,例如**${timestamp(dateformat(yyyy-MM-dd HH:mm:ss))}** 表示:只遷移修改時間為當前時間以前的文件。 |
2019-07-01 00:00:00 |
| 高級屬性 | 加密方式 | 如果源端數據是被加密過的,則CDM支持解密后再導出。這里選擇是否對源端數據解密,以及選擇解密算法: 無:不解密,直接導出。 AES-256-GCM:使用長度為256byte的AES對稱加密算法,目前加密算法只支持AES-256-GCM(NoPadding)。該參數在目的端為加密,在源端為解密。 |
AES-256-GCM |
| 高級屬性 | 忽略不存在原路徑/文件 | 如果將其設為是,那么作業在源路徑不存在的情況下也能成功執行。 | 否 |
| 高級屬性 | 數據加密密鑰 | “加密方式”選擇“AES-256-GCM”時顯示該參數,密鑰由長度64的十六進制數組成,且必須與加密時配置的“數據加密密鑰”一致。如果不一致系統不會報異常,只是解密出來的數據會錯誤。 | DD0AE00DFECD78BF051BCFDA25BD4E320DB0A7AC75A1F3FC3D3C56A457DCDC1B |
| 高級屬性 | 初始化向量 | “加密方式”選擇“AES-256-GCM”時顯示該參數,初始化向量由長度32的十六進制數組成,且必須與加密時配置的“初始化向量”一致。如果不一致系統不會報異常,只是解密出來的數據會錯誤。 | 5C91687BA886EDCD12ACBC3FF19A3C3F |
| 高級屬性 | MD5文件名后綴 | “文件格式”選擇“二進制格式”時,該參數才顯示。 校驗CDM抽取的文件,是否與源文件一致。 |
.md5 |
說明1.遷移文件或對象時支持文件級增量遷移(通過配置跳過重復文件實現),但不支持斷點續傳。
例如要遷移3個文件,第2個文件遷移到一半時由于網絡原因失敗,再次啟動遷移任務時,會跳過第1個文件,從第2個文件開始重新傳,但不能從第2個文件失敗的位置重新傳。
2.文件遷移時,單個任務支持千萬數量的文件,如果待遷移目錄下文件過多,建議拆分到不同目錄并創建多個任務。