

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

# AWS App Studio 中的受管資料實體
<a name="managed-data-entities"></a>

一般而言，您會在 App Studio 中設定連線至外部資料庫資料表的實體，而且您必須使用連線資料庫資料表中的資料欄來建立和對應每個實體欄位。當您變更資料模型時，必須更新外部資料庫資料表和實體，並且必須重新映射變更的欄位。雖然此方法具有彈性並可使用不同類型的資料來源，但需要更預先的規劃和持續的維護。

*受管實體*是 App Studio 為您管理整個資料儲存和組態程序的一種實體。當您建立受管實體時，會在相關聯的 AWS 帳戶中建立對應的 DynamoDB 資料表。這可確保內部安全且透明的資料管理 AWS。使用受管實體時，您可以在 App Studio 中設定實體的結構描述，對應的 DynamoDB 資料表也會自動更新。

## 在多個應用程式中使用受管實體
<a name="managed-data-entities-other-applications"></a>

在 App Studio 應用程式中建立受管實體後，該實體就可以在其他 App Studio 應用程式中使用。這有助於透過提供要維護的單一基礎資源，為具有相同資料模型和結構描述的應用程式設定資料儲存。

在多個應用程式中使用受管實體時，必須使用建立受管實體的原始應用程式，對對應的 DynamoDB 資料表進行所有結構描述更新。對其他應用程式中的實體所做的任何結構描述變更都不會更新對應的 DynamoDB 資料表。

## 受管實體限制
<a name="managed-data-entities-limitations"></a>

**主金鑰更新限制**：您無法在實體建立後變更其主金鑰名稱或類型，因為這是 DynamoDB 中的破壞性變更，並會導致現有資料遺失。

**重新命名資料**欄：重新命名 DynamoDB 中的資料欄時，您實際上會建立新的資料欄，而原始資料欄會保留原始資料。原始資料不會自動複製到新資料欄或從原始資料欄刪除。您可以重新命名稱為*系統名稱*的受管實體欄位，但您將無法存取原始資料欄及其資料。重新命名顯示名稱沒有限制。

**變更資料類型**：雖然 DynamoDB 允許彈性在建立資料表後修改資料欄資料類型，但此類變更可能會嚴重影響現有資料，以及查詢邏輯和準確性。資料類型變更需要轉換所有現有資料以符合新格式，這對大型的作用中資料表來說非常複雜。此外，資料動作可能會傳回非預期的結果，直到資料遷移完成為止。您可以切換欄位的資料類型，但現有的資料不會遷移至新的資料類型。

**排序資料欄**：DynamoDB 可透過排序索引鍵啟用排序資料擷取。排序索引鍵必須與分割區索引鍵一起定義為複合主索引鍵的一部分。限制包括強制性排序索引鍵、限制在一個分割區內的排序，以及沒有跨分割區的全域排序。需要謹慎建立排序索引鍵的資料模型，才能避免熱分割區。我們不支援排序預覽里程碑。

**聯結**：DynamoDB 不支援聯結。資料表會依設計取消標準化，以避免昂貴的聯結操作。若要one-to-many關係的模型，子資料表包含參考父資料表主索引鍵的 屬性。多資料表資料查詢涉及從父資料表查詢項目以擷取詳細資訊。在預覽里程碑中，我們不支援受管實體的原生加入。作為解決方法，我們將引進自動化步驟，以執行 2 個實體的資料合併。這與單一層級查詢非常類似。我們不支援排序預覽里程碑。

**Env Stage**：我們將允許發佈測試，但在兩個環境中使用相同的受管存放區