以下小節提供需要虛擬資料檢視的使用案例,以及執行使用案例時所需的轉換模型與動作之組合。
使用下列轉換規則從項目的現有屬性導出屬性。例如,套用下列轉換規則時,會顯示源自 givenName 與 sn 屬性的 mail 屬性。
$ dpconf add-virtual-transformation dataview1 read add-attr \ mail \${givenName}.\${sn}@example.com |
下圖表示當搜尋傳回使用者項目時,使用者項目所發生的轉換。
使用下列對映轉換規則,增加當作純虛擬屬性一部分所提供的屬性。例如,套用下列轉換規則時,即使未在項目中指定,也會在伺服器中儲存 givenName。該值擷取自定義為 mail \${givenName}@example.com 的純虛擬屬性。
$ dpconf add-virtual-transformation dataview1 mapping add-attr \ mail \${givenName}@example.com |
首先增加包含虛擬屬性 mail (而非 givenName 屬性) 的項目。虛擬轉換會產生 givenName 屬性的值,並連同 givenName 一起儲存項目,而不儲存 mail 屬性。然後使用 uid 屬性執行搜尋,擷取 givenName 的值,而相同的虛擬轉換會產生虛擬屬性 mail 的值。
下圖表示使用者項目發生的轉換。
使用下列轉換顯示由其他屬性指定的屬性值。例如,顯示 uid 作為 cn,以及顯示已儲存在項目中的 cn 值。下列指令行不會將其他值儲存至 cn,但會在結果傳回用戶端之前套用轉換。
$ dpconf add-virtual-transformation dataview1 read add-attr-value cn \${uid} |
下圖表示當搜尋傳回使用者項目時,使用者項目所發生的轉換。
使用下列轉換規則儲存屬性值,以及增加新項目時所提供的值。在此情況下,當您增加項目時,即會儲存 mail 屬性的其他值。此轉換僅會在建立新項目時套用。
$ dpconf add-virtual-transformation dataview1 write add-attr-value \ mail \${uid}@example.com |
下圖顯示增加請求時所發生的轉換。
若不想在輸出中顯示屬性,請使用下列轉換規則。例如,套用下列轉換規則時,輸出中不會傳回 givenName。
dpconf add-virtual-transformation dataview1 read remove-attr givenName |
下圖表示當搜尋傳回使用者項目時,使用者項目所發生的轉換。
若不想儲存特定屬性,請使用下列轉換規則。例如,套用下列轉換規則時,givenName 屬性不會儲存於實體資料庫中。此轉換僅會在建立新項目時套用。
$ dpconf add-virtual-transformation dataview1 write remove-attr givenName |
下圖顯示增加請求時所發生的轉換。
若不想顯示指定給屬性的預設值,請使用下列轉換。例如,套用下列轉換時,本身不包含電話號碼的項目中會顯示預設電話號碼。
$ dpconf add-virtual-transformation data-view read 11111 telephoneNumber default-number |
下圖表示當搜尋傳回使用者項目時,使用者項目所發生的轉換。
僅在建立項目期間未指定屬性值時,才會儲存預設值。若不想以預設值儲存屬性,請使用下列轉換規則。例如,套用下列轉換時,會隨您建立的每個項目各增加一個預設電話號碼。此轉換僅會在增加項目時套用。
$ dpconf add-virtual-transformation dataview1 write 11111 \ telephoneNumber telephone-number |
下圖顯示增加請求時發生的轉換。