共用方式為


建立資源集模式規則

大規模資料處理系統通常會將單一資料表儲存在儲存體中作為多個檔案。 此概念是使用資源集在 Microsoft Purview 中表示。 資源集是資料目錄中的單一物件,代表儲存體中的大量資產。 若要深入瞭解,請 參閱瞭解資源集

掃描儲存體帳戶時,Microsoft Purview 會使用一組定義的模式來判斷資產群組是否為資源集。 在某些情況下,Microsoft Purview 的資源集群組可能無法正確反映您的資料資產。 資源集模式規則可讓您自訂或覆寫 Microsoft Purview 偵測哪些資產群組為資源集的方式,以及它們在目錄中的顯示方式。

模式規則目前支援下列來源類型:

  • Azure Data Lake Storage Gen2
  • Azure Blob 儲存體
  • Azure 檔案儲存體
  • Amazon S3

必須啟用進階資源集功能集,才能建立資源集模式規則。 若要深入瞭解,請 參閱瞭解進階資源集

如何建立資源集模式規則

請遵循下列步驟來建立新的資源集模式規則:

  1. 移至資料對應。 從 [來源管理] 標題下的功能表中選取 [模式規則 ]。 選 取 [+ 新增 ] 以建立新的規則集。

    建立新的資源集模式規則

  2. 輸入資源集模式規則的範圍。 選取您的儲存體帳戶類型,以及您想要建立規則集的儲存體帳戶名稱。 每組規則都會相對於 [資料夾路徑] 欄位中指定的資料夾路徑範圍套

    建立資源集模式規則組態

  3. 若要輸入設定範圍的規則,請選取 [+ 新增規則]

  4. 在下欄欄位中輸入 以建立規則:

    1. 規則名稱: 組態規則的名稱。 此欄位不會影響規則所套用的資產。

    2. 限定名稱: 使用文字、動態取代器和靜態取代器組合來比對資產與組態規則的限定路徑。 此路徑相對於組態規則的範圍。 如需如何指定限定名稱的詳細指示,請參閱下方的 語法 一節。

    3. 顯示名稱: 資產的顯示名稱。 此欄位是選擇性的。 使用純文字和靜態取代器來自訂資產在目錄中的顯示方式。 如需詳細指示,請參閱下方 的語法 一節。

    4. 請勿將 群組為資源集: 如果啟用,相符的資源將不會分組為資源集。

      建立新的組態規則。

  5. 選取 [ 新增] 以儲存規則。

注意事項

建立模式規則之後,所有新的掃描都會在擷取期間套用規則。 資料目錄中的現有資產會透過背景程式更新,最多可能需要數小時的時間。

模式規則語法

建立資源集模式規則時,請使用下列語法來指定要套用哪些資產規則。

動態取代器 (單一括弧)

單一括弧會在模式規則中當做 動態取代程式 使用。 使用 格式 {<replacerName:<replacerType>} ,在限定名稱中指定動態取代器。 如果相符,則會使用動態取代器作為群組條件,指出資產應該以資源集表示。 如果資產群組為資源集,則資源集限定路徑會包含 {replacerName} 指定取代程式的位置。

例如,如果兩個資產 folder1/file-1.csvfolder2/file-2.csv 規則 {folder:string}/file-{NUM:int}.csv 相符,則資源集會是單一實體 {folder}/file-{NUM}.csv

特殊案例:未分組至資源集時的動態取代程式

如果模式規則已啟用 [不要群組為資源集 ],則取代程式名稱是選擇性欄位。 {:<replacerType>} 是有效的語法。 例如, file-{:int}.csv 會成功比對 file-1.csv 和 , file-2.csv 並建立兩個不同的資產,而不是資源集。

雙括弧 (靜態取代器)

雙括弧會在模式規則的限定名稱中當做 靜態取代程式 使用。 使用 格式 {{<replacerName>:<replacerType>}} ,在限定名稱中指定靜態取代器。 如果相符,每一組唯一的靜態取代器值都會建立不同的資源集群組。

例如,如果兩個資產 folder1/file-1.csvfolder2/file-2.csv 規則 {{folder:string}}/file-{NUM:int}.csv 相符,則會建立 folder1/file-{NUM}.csv 兩個資源集和 folder2/file-{NUM}.csv

靜態取代器可用來指定與模式規則相符之資產的顯示名稱。 在 {{<replacerName>}} 規則的顯示名稱中使用 ,將會在資產名稱中使用相符的值。

可用的取代類型

以下是可用於靜態和動態取代器的可用類型:

類型 結構
字串 一系列的一或多個 Unicode 字元,包括空格等分隔符號。
int 一系列 1 或 0-9 個 ASCII 字元,可以是 0 個前置詞 (例如 0001) 。
GUID UUID 的 32 或 8-4-4-4-4-12 字串表示,如 RFC 4122中所定義。
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 字元系列:yyyy-mm-ddTHH:mm、yyyymmddhhmm、yyyy-mm-ddTHH:mm:ss、 RFC 3339中指定的 yyyyy-mm-ddTHHHmmss。
布林值 可以包含 'true' 或 'false',不區分大小寫。
number 一系列 0 或 0-9 個 ASCII 字元,可以是 0 個前置詞 (例如,0001) 後面接著一個點 '.',以及一系列 1 或 0-9 個 ASCII 字元,它可以是 0 個後置 (例如.100)
十六進位 從集合 0-1 和 A-F 一系列的一或多個 ASCII 字元,此值可以是 0 個前置詞
地區設定 符合 RFC 5646中指定之語法的字串。

套用資源集模式規則的順序

以下是套用模式規則的作業順序:

  1. 如果資產符合兩個規則,則會優先使用更特定的範圍。 例如,範圍中的規則會在 範圍內 container/foldercontainer 的規則之前套用。

  2. 特定範圍內的規則順序。 這可以在 UX 中編輯。

  3. 如果資產不符合任何指定的規則,則會套用預設資源集啟發學習法。

範例

範例 1

SAP 資料擷取至完整和差異負載

輸入

檔:

  • https://myazureblob.blob.core.windows.net/bar/customer/full/2020/01/13/saptable_customer_20200101_20200102_01.txt
  • https://myazureblob.blob.core.windows.net/bar/customer/full/2020/01/13/saptable_customer_20200101_20200102_02.txt
  • https://myazureblob.blob.core.windows.net/bar/customer/delta/2020/01/15/saptable_customer_20200101_20200102_01.txt
  • https://myazureblob.blob.core.windows.net/bar/customer/full/2020/01/17/saptable_customer_20200101_20200102_01.txt
  • https://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.avro
  • https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/01-01-2020/22:33:22-002.avro
  • https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/02-01-2020/22:33:22-001.avro
  • https://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

顯示名稱: 'machine-89'

限定名稱:raw/machinename-89/{date:date}/{time:time}-{id:int}.avro

資源集: true

規則 2

顯示名稱: 'machine-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.avro
  • https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/01-01-2020/22:33:22-002.avro
  • https://myazureblob.blob.core.windows.netbar/raw/machinename-89/02-01-2020/22:33:22-001.avro
  • https://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: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.avro
  • https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/01-01-2020/22:33:22-002.avro
  • https://myazureblob.blob.core.windows.net/bar/raw/machinename-89/02-01-2020/22:33:22-001.avro
  • https://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

後續步驟

開始 註冊和掃描 Azure Data Lake Gen2 儲存體帳戶