大規模資料處理系統通常會將單一資料表儲存為多個檔案。 此概念會使用資源集在 Microsoft Purview 中表示。 資源集是 Microsoft Purview 整合式目錄中的單一物件,代表儲存體中的大量資產。 若要進一步了解,請參閱 瞭解資源集。
掃描儲存體帳戶時,Microsoft Purview 會使用一組已定義的模式來判斷資產群組是否為資源集。 在某些情況下,資源集分組可能無法準確反映您的資料資產。 資源集模式規則可讓您自定義或覆寫 Microsoft Purview 偵測哪些資產分組為資源集的方式,以及它們在目錄中的顯示方式。
下列來源類型目前支援型樣規則:
- Azure Data Lake Storage Gen2
- Azure Blob 儲存體
- Azure 檔案
- Amazon S3
必須啟用進階資源集功能集,才能建立資源集型樣規則。 若要深入瞭解,請參閱 瞭解進階資源集。
如何建立資源集型樣規則
請遵循下列步驟來建立新的資源集模式規則:
移至 資料對應 並選取 來源管理,選取 模式規則,然後選取 新增 以建立新的規則集。
輸入資源集模式規則的範圍。 選取您的儲存體帳戶類型,以及您想要建立規則集的儲存體帳戶名稱。 每組規則都會相對於資料夾 路徑 欄位中指定的資料夾路徑範圍套用。
若要輸入設定範圍的規則,請選取 [+ 新增規則]。
輸入下列欄位以建立規則:
選取 [新增] 來儲存規則。
注意事項
建立模式規則之後,所有新的掃描都會在擷取期間套用規則。 整合式目錄中的現有資產將透過背景程式進行更新,這最多可能需要幾個小時。
型樣規則語法
建立資源集型樣規則時,請使用下列語法來指定哪些資產規則適用。
單括號 (動態替換器)
單括弧在型樣規則中用作 動態取代器 。 使用 format {<replacerName>:<replacerType>}在限定名稱中指定動態取代程式。 如果相符,則會使用動態取代者作為分組條件,指出資產應該表示為資源集。 如果資產分組成資源集,則資源集限定路徑會包含 {replacerName} 指定取代程式的位置。
例如,如果兩個資產folder1/file-1.csv且符合規則{folder:string}/file-{NUM:int}.csv,則資源集會是單一實體{folder}/file-{NUM}.csvfolder2/file-2.csv。
特殊情況:未分組到資源集時的動態取代者
如果已為模式規則啟用 [不分組為資源集 ],則取代者名稱是選擇性欄位。
{:<replacerType>} 是有效的語法。 例如, file-{:int}.csv 會成功比對 file-1.csv 和 file-2.csv 建立兩個不同的資產,而不是資源集。
靜態替換器 (雙支架)
雙方括弧用作型樣規則限定名稱中的 靜態取代者 。 使用格式 {{<replacerName>:<replacerType>}}在限定名稱中指定靜態取代程式。 如果相符,則每組唯一的靜態取代值都會建立不同的資源集群組。
例如,如果兩個資產folder1/file-1.csv且符合規則 {{folder:string}}/file-{NUM:int}.csv,則會建立folder1/file-{NUM}.csv兩個資源集,以及 folder2/file-{NUM}.csvfolder2/file-2.csv 。
靜態取代器可用來指定與型樣規則相符的資產顯示名稱。 在 {{<replacerName>}} 規則的顯示名稱中使用資產名稱中的相符值。
可用的替換類型
以下是可用於靜態和動態替換器的可用類型:
| 類型 | 建築物 |
|---|---|
| 字串 | 一或多個 Unicode 字元的系列,包括空格等分隔符號。 |
| int | 1 個或多個 0-9 個 ASCII 字元的系列,可以是 0 個前綴 (例如 0001) 。 |
| GUID | RFC 4122 中定義的 UUID 的一系列 32 或 8-4-4-4-12 字串表示法。 |
| date | 一系列 6 或 8 個 0-9 ASCII 字元,具有可選的分隔符號:yyyymmdd、yyyy-mm-dd、yymmdd、yy-mm-dd,在 RFC 3339 中指定。 |
| 時間 | 一系列 4 或 6 個 0-9 ASCII 字元,具有可選的分隔符號: RFC 3339 中指定的 HHmm、HH:mm、HHmmss、HH:mm:ss。 |
| 時間戳記 | 一系列 12 或 14 個 0-9 ASCII 字元,具有選擇性的分隔符號: RFC 3339 中指定的 yyyy-mm-ddTHH:mm、yyyymmddhhmm、yyyy-mm-ddTHH:mm:ss、yyyymmddHHmmss。 |
| 布林值 | 可以包含 'true' 或 'false',不區分大小寫。 |
| number | 一系列 0 或多個 0-9 個 ASCII 字元,它可以是 0 個前綴 (例如,0001) 後面接著一個點 '.',以及一系列 1 個或多個 0-9 個 ASCII 字元,它可以是 0 個後綴 (例如,.100) |
| 十六進制 | 集合 0-1 和 A-F 中的一系列一或多個 ASCII 字元,值可以是 0 字首 |
| 地區設定 | 符合 RFC 5646 中指定的語法的字串。 |
套用資源集型樣規則的順序
以下是套用型樣規則的作業順序:
如果資產符合兩個規則,則更具體的範圍優先。 例如,範圍內
container/folder的規則將先於範圍內container的規則套用。特定範圍內的規則順序。 這可以在 UX 中進行編輯。
如果資產與任何指定的規則不相符,則會套用預設資源集啟發性分析法。
範例
範例 1
SAP 資料擷取至完整負載和差異負載
輸入
檔案:
https://myazureblob.blob.core.windows.net/bar/customer/full/2020/01/13/saptable_customer_20200101_20200102_01.txthttps://myazureblob.blob.core.windows.net/bar/customer/full/2020/01/13/saptable_customer_20200101_20200102_02.txthttps://myazureblob.blob.core.windows.net/bar/customer/delta/2020/01/15/saptable_customer_20200101_20200102_01.txthttps://myazureblob.blob.core.windows.net/bar/customer/full/2020/01/17/saptable_customer_20200101_20200102_01.txthttps://myazureblob.blob.core.windows.net/bar/customer/full/2020/01/17/saptable_customer_20200101_20200102_02.txt
型樣規則
範圍:https://myazureblob.blob.core.windows.net/bar/
顯示名稱: “外部客戶”
限定名稱:customer/{extract:string}/{year:int}/{month:int}/{day:int}/saptable_customer_{date_from:date}_{date_to:time}_{sequence:int}.txt
資源集: true
輸出
一個資源集資產
顯示名稱: 外部客戶
限定名稱:https://myazureblob.blob.core.windows.net/bar/customer/{extract}/{year}/{month}/{day}/saptable_customer_{date_from}_{date_to}_{sequence}.txt
範例 2
avro 格式的 IoT 資料
輸入
檔案:
https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/01-01-2020/22:33:22-001.avrohttps://myazureblob.blob.core.windows.net/bar/raw/machinename-89/01-01-2020/22:33:22-002.avrohttps://myazureblob.blob.core.windows.net/bar/raw/machinename-89/02-01-2020/22:33:22-001.avrohttps://myazureblob.blob.core.windows.net/bar/raw/machinename-90/01-01-2020/22:33:22-001.avro
模式規則
範圍:https://myazureblob.blob.core.windows.net/bar/
規則 1
顯示名稱: '機器-89'
限定名稱:raw/machinename-89/{date:date}/{time:time}-{id:int}.avro
資源集: true
規則 2
顯示名稱: '機器-90'
限定名稱:raw/machinename-90/{date:date}/{time:time}-{id:int}.avro
資源集: true
輸出
兩個資源集
資源集 1
顯示名稱: machine-89
限定名稱:https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/{date}/{time}-{id}.avro
資源集 2
顯示名稱: machine-90
限定名稱:https://myazureblob.blob.core.windows.net/bar/raw/machinename-90/{date}/{time}-{id}.avro
範例 3
avro 格式的 IoT 資料
輸入
檔案:
https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/01-01-2020/22:33:22-001.avrohttps://myazureblob.blob.core.windows.net/bar/raw/machinename-89/01-01-2020/22:33:22-002.avrohttps://myazureblob.blob.core.windows.netbar/raw/machinename-89/02-01-2020/22:33:22-001.avrohttps://myazureblob.blob.core.windows.net/bar/raw/machinename-90/01-01-2020/22:33:22-001.avro
型樣規則
範圍:https://myazureblob.blob.core.windows.net/bar/
顯示名稱: '機器-{{machineid}}'
限定名稱:raw/machinename-{{machineid:int}}/{date:date}/{time:time}-{id:int}.avro
資源集: true
輸出
資源集 1
顯示名稱: machine-89
限定名稱:https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/{date}/{time}-{id}.avro
資源集 2
顯示名稱: machine-90
限定名稱:https://myazureblob.blob.core.windows.net/bar/raw/machinename-90/{date}/{time}-{id}.avro
範例 4
請勿分組到資源集中
輸入
檔案:
https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/01-01-2020/22:33:22-001.avrohttps://myazureblob.blob.core.windows.net/bar/raw/machinename-89/01-01-2020/22:33:22-002.avrohttps://myazureblob.blob.core.windows.net/bar/raw/machinename-89/02-01-2020/22:33:22-001.avrohttps://myazureblob.blob.core.windows.net/bar/raw/machinename-90/01-01-2020/22:33:22-001.avro
型樣規則
範圍:https://myazureblob.blob.core.windows.net/bar/
顯示名稱:Machine-{{machineid}}
限定名稱:raw/machinename-{{machineid:int}}/{{:date}}/{{:time}}-{{:int}}.avro
資源集: false
輸出
四項獨立資產
資產 1
顯示名稱: machine-89
限定名稱:https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/01-01-2020/22:33:22-001.avro
資產 2
顯示名稱: machine-89
限定名稱:https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/01-01-2020/22:33:22-002.avro
資產 3
顯示名稱: machine-89
限定名稱:https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/02-01-2020/22:33:22-001.avro
資產 4
顯示名稱: machine-90
限定名稱:https://myazureblob.blob.core.windows.net/bar/raw/machinename-90/01-01-2020/22:33:22-001.avro