

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 結構描述管理
<a name="schema-management"></a>

Cloud Migration Factory on AWS 解決方案提供完全可擴展的中繼資料儲存庫，允許自動化、稽核和狀態追蹤的資料存放在單一工具中。儲存庫會在部署時間提供一組預設的實體 (Waves、Application、Server 和 Databases) 和屬性，協助您開始擷取和使用最常用的資料，而您可以從這裡視需要自訂結構描述。

只有 Cognito 管理員群組使用者具有管理結構描述的許可。若要讓使用者成為管理員或其他群組的成員，請參閱[使用者管理](permission-management.md)。

前往**管理**，然後選取預設實體標籤**的屬性**。下列索引標籤可用於支援實體的管理。

 **屬性** - 允許新增、編輯和刪除屬性。

 **資訊面板** - 允許編輯資訊面板說明內容，這會顯示在遷移管理區段中實體畫面的右側。

 **結構描述設定** - 目前此標籤僅提供變更實體易記名稱的功能，這是使用者介面上顯示的名稱。如果未定義，則使用者介面會使用實體的程式設計名稱。

當您需要將自己的業務特定實體映射到 CMF 時，您也可以建立自訂資產。您可以按下實體名稱列結尾的 **\+** 索引標籤來新增新的自訂資產。

## 新增新的自訂資產
<a name="adding-a-new-custom-asset"></a>

**注意**  
自訂資產是 Wave Planning Manager (WPM) 模組的一項功能。若要使用它們，您必須在部署 CMF 時啟用 WPM。

如果您有想要匯入的業務案例特定實體，建議您將新的自訂資產 （結構描述） 新增至 CMF。您可以透過實體標籤結尾的 **\+** 符號新增新的自訂資產。

當您選取 **\+** 符號時，新的面板將彈出，請求建立新資產所需的最低資訊。

![建立新的結構描述](http://docs.aws.amazon.com/zh_tw/solutions/latest/cloud-migration-factory-on-aws/images/create-new-schema.png)


建立新資產之後，您可以新增其他資產特定的屬性。如需詳細資訊[，請參閱新增/編輯屬性](#addingediting-an-attribute)一節。

## 新增/編輯屬性
<a name="addingediting-an-attribute"></a>

透過 Cloud Migration Factory on AWS 解決方案的**屬性**管理區段，即可動態修改屬性。新增、編輯或刪除屬性時，將會為進行變更的管理員即時套用更新。目前登入相同執行個體的任何其他使用者都會在管理員儲存變更的一分鐘內自動更新其工作階段。

有些屬性被定義為系統屬性，這表示屬性是 AWS 上 Cloud Migration Factory 核心功能的關鍵，因此只有某些屬性可供管理員修改。任何屬於系統屬性的屬性都會在**修改屬性**畫面上方顯示警告。

對於系統定義的屬性，只能編輯下列項目：
+ 資訊面板
+ 進階選項
  + 屬性分組和定位
  + 輸入驗證

系統定義屬性的所有其他屬性都是唯讀的。

新增屬性：

 **屬性管理** 

![屬性管理](http://docs.aws.amazon.com/zh_tw/solutions/latest/cloud-migration-factory-on-aws/images/attribute-management.png)


您可以在要新增屬性的實體的屬性索引標籤上，選擇**新增**按鈕來新增屬性。在上述範例中，選擇**新增**會將新的屬性新增至資料庫實體。

在**修改屬性**對話方塊中，您必須提供下列必要屬性：

 **程式設計名稱** - 這是用來針對 DynamoDB 資料表中的項目存放屬性資料的金鑰。在使用 Migration Factory APIs和自動化指令碼時，也會參考它。

 **顯示名稱** - 這是 Web 界面上針對資料輸入欄位顯示的標籤。

 **類型** - 此下拉式清單選擇定義允許使用者針對 屬性存放的資料類型。下列選項可供使用：


| Type | Usage | 
| --- | --- | 
| String | 不允許使用者輸入任何單行文字歸位字元。 | 
| 多值字串 | 與**字串**類似，唯一的區別是使用者可以在 欄位的不同行中輸入多個值，然後這些值會儲存為陣列/清單。 | 
| 密碼 | 讓使用者能夠安全地輸入預設不應顯示在畫面上的資料。 使用此屬性類型時，資料不會加密存放，且在 API 承載中檢視時會以純文字顯示，因此不應用於存放敏感資料。任何密碼或秘密都應存放在 Migration Factory Credential Manager （本文件涵蓋） 中，該管理員會利用 AWS Secrets Manager 安全地存放和提供登入資料的存取權。  | 
| 日期 | 提供具有日期選擇器的欄位，讓使用者選取日期，或者他們可以手動輸入所需的日期。 | 
| Checkbox | 提供標準核取方塊，勾選時，金鑰值將儲存 '`true'，如果未勾選，則會是 '`false'，否則金鑰不會存在於記錄中。 | 
| 文字區域 | 與**字串**類型 **TextAreas** 不同，它提供儲存多行文字的功能，僅支援基本文字字元。 | 
| Tag | 允許使用者存放金鑰/值對的清單。 | 
| 清單 | 提供使用者要選取的預先定義選項清單，這些選項會在屬性之值清單屬性的結構描述屬性定義中定義。 | 
| 關係 | 此屬性類型可讓您在任兩個實體或記錄之間存放關係。定義關係屬性時，您要選取關係將要前往的實體，然後是用來關聯項目的索引鍵值，然後從您要顯示給使用者的相關項目中選取屬性。<br />根據實體和顯示關係可用的值，使用者會收到下拉式清單。<br />在每個關係欄位下，使用者都會有一個快速連結來顯示相關項目的摘要。 | 
| JSON | 提供可存放和編輯 JSON 資料的 JSON 編輯器欄位。這可用於儲存指令碼輸入/輸出參數或任務自動化所需的其他資料，或任何其他用途。 | 

新增屬性時，您必須透過政策授予使用者新屬性的存取權。如需如何授予屬性存取權的詳細資訊，請參閱[許可管理](permission-management.md)一節。

### 資訊面板
<a name="info-panel"></a>

提供設施，以指定屬性用量的情境說明和指導。指定時，UI 上的屬性標籤會在右側顯示**資訊**連結。按一下此連結可為使用者提供畫面右側的本節中指定的**說明內容**和**說明連結**。

資訊面板區段提供資料的兩個檢視：您可以在其中定義內容的**編輯**檢視，以及**預覽**檢視，以快速預覽使用者在儲存屬性更新時將看到的內容。

**說明標題**僅支援純文字值。**說明內容**支援允許文字格式的 html 標籤子集。例如，在文字周圍新增 <b> 開始和 </b> 結束標籤會使封閉的文字變成粗體 （即 <b>Network Interface ID</b> 會導致**網路介面 ID**)。支援的標籤如下所示：


| Tag | Usage | UI 範例 | 
| --- | --- | --- | 
| <p></p> | 定義段落。 | <p>我的第一個段落</p><br /><p>我的第二段</p> | 
| <a> | 定義超連結。 | <a href="https://aws.amazon.com/">Visit AWS！</a> | 
| <h3>、<h4> 和 <h5> | 定義標題 h3 到 h5 | <h3>我的標題 3</h3> | 
| <span> | 定義文字區段，允許套用其他格式，例如文字顏色、大小、字型。 | <span style="color：blue">blue</span> | 
| <div> | 定義文件的區塊，允許套用其他格式，例如文字顏色、大小、字型。 | <div style="color：blue"><br /><h3>這是藍色標題 </h3><br /><p>這是 div.</p> 中的一些藍色文字<br /></div> | 
| <ul> \+ <li> | 定義未排序的項目符號清單。 | <ul><br /><li>Rehost</li><br /><li>Replatform</li><br /><li>Retire</li><br /></ul> | 
| <ol>、<li> | 定義排序/編號清單。 | <ol><br /><li>Rehost</li><br /><li>Replatform</li><br /><li>Retire</li><br /></ol> | 
| <code> | 定義包含程式碼的文字區塊或區段。 | <code>background-color</code> | 
| <pre> | 定義預先格式化文字的區塊，輸出所有換行符號、標籤和空格。 | <pre><br />我的預先格式化文字。<br />這會以固定寬度字型顯示，並顯示為類型 <<會顯示這些空格。<br /></pre> | 
| <dl>、<dt> 和 <dd> | 定義描述清單。 | <dl><br /><dt>Rehost</dt><br /><dd>輪班遷移</dd><br /><dt>Retire</dt><br /><dd>停用執行個體或服務 </dd><br /></dl> | 
| <hr> | 定義整個頁面的水平規則，以在主題或區段中顯示切換。 | <hr> | 
| <br> | 定義文字中的換行符號。支援這些項目，但並非必要項目，因為編輯器中的任何歸位字元會在儲存時以 <br> 取代。 | <br> | 
| <i> 和 <em> | 以*斜體*或其他當地語系化格式定義隨附的文字。 | <i>這是斜體</i> 或 <em>這也是斜體</em> | 
| <b> 和 <strong> | 以**粗體**字型定義封閉的文字。 | <b>我是粗體 </b> 或 <strong> 這與 </strong> 不同 | 

另一個提供說明的選項是外部內容和指導的連結。若要將外部連結新增至屬性的內容說明，請按一下**新增 URL** 並提供**標籤**和 URL。您可以視需要將多個連結新增至相同的屬性類型。

### 進階選項
<a name="advanced-options"></a>

#### 屬性分組和定位
<a name="attribute-grouping-positioning"></a>

本節提供管理員在新增/編輯 UI 上設定屬性將放置的位置，也允許屬性分組，讓使用者以簡單的方式找到相關屬性。

 **UI 群組**是定義屬性應顯示之群組名稱的文字值，具有相同 UI 群組值的所有屬性都會放置在相同群組中，任何沒有指定 UI 群組的屬性都會放置在名為**詳細資訊**之表單頂端的預設群組中。指定 UI 群組時，使用者介面會顯示此處顯示的文字做為群組的標題。

本節中的第二個屬性是 **群組中的順序**，這可以設定為任何正數或負數，指定時，會根據此值的從最低到最高排序列出屬性。群組**中未指定 Order** 的任何屬性，優先順序較低，並依字母順序排序。

#### 輸入驗證
<a name="input-validation"></a>

本節允許管理員定義驗證條件，以確保使用者在能夠儲存項目之前已輸入有效資料。驗證使用規則表達式或 regex 字串，這是一系列字元，可指定文字值的搜尋模式。例如，模式 **^(subnet-(【a-z0-9】{17})**)$\* 會搜尋文字**子網路，**後面接著字元 a 到 z （小寫） 和數字 0 到 9 的任意組合，確切字元數為 **17**，如果找到其他任何項目，則會傳回 false，表示驗證失敗。在本指南中，我們無法涵蓋所有可用的組合和模式，但網際網路上有許多資源可以為您的使用案例提供在 上建立完美的說明。以下是一些讓您開始使用的常見範例：


| 正則表達式 | Usage | 
| --- | --- | 
| ^(？！\\s\*$)。\+ | 確保已設定 值。 | 
| ^（子網路-(【a-z0-9】{17})\*)$ | 檢查值是否為有效的子網路 ID。<br />【以文字**子網路開頭 -** 後面接著 17 個字元，僅由字母和數字組成】 | 
| ^(amishift【a-z0-9】{8，17})＋)$) | 檢查值是否為有效的 AMI ID。<br />【以文字 **ami 開頭，**後面接著 8 到 17 個字元，僅由字母和數字組成】 | 
| ^(sg-(【a-z0-9】{17})\*)$ | 檢查值是否為有效的安全群組 ID 格式。<br />【以文字 **sg- **開頭，後面接著 17 個字元，僅由字母和數字組成】 | 
| ^((【a-zA-Z0-9】\|【a-zA-Z0-9】 **【a-zA-Z0-9】)\\.) **(【A-Za-z0-9】\|【A-Za-z0-9】【A-Za-z0-9\\-】\*【A-Za-z0-9】)$ | 確保伺服器名稱有效，且只包含英數字元、連字號和句點。 | 
| ^(【1-9】\|【1-9】【0-9】\|【1-9】【0-9】【0-9】\|【1-9】【0-9】【0-9】【0-9】\|【1】【0-6】【0-3】【0-8】【0-4】)$ | 確保輸入的數字介於 1 到 1634 之間。 | 
| ^(standard\|io1\|io2\|gp2\|gp3)$ | 確保輸入的字串符合標準、io1、io2、gp2 或 gp3。 | 

建立 regex 搜尋模式後，您可以在 欄位下指定要向使用者顯示的特定錯誤訊息，將此輸入**驗證說明訊息**屬性。

設定這兩個屬性後，您會在同一個畫面中看到**驗證模擬器**下方，在這裡您可以測試搜尋模式是否如預期運作，以及錯誤訊息是否正確顯示。只要在測試**驗證**欄位中輸入一些測試文字，即可驗證模式是否相符。

#### 範例資料
<a name="example-data"></a>

範例資料區段可讓管理員向使用者顯示屬性所需的資料格式範例，這可以透過使用者介面和/或直接透過 API，針對擷取表單上傳提供時所需的資料格式進行指定。

在 **Migration Management > Import** 下使用 **Download 範本****擷取表單函數時，任何包含 屬性所建立的擷取範本中，都會輸出擷取表單範例資料**屬性中顯示的範例資料。

使用者介面範例資料和 API 範例資料會儲存在 屬性中，但目前不會在 Web 界面中公開。這些可用於整合和指令碼。