投影 - AWS AppSync

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

投影

使用 GetItemQuery、、 BatchGetItemScanTransactGetItems操作讀取 DynamoDB 中的物件時,您可以選擇指定投影,以識別所需的屬性。投影屬性具有下列結構,類似於篩選條件:

type DynamoDBExpression = { expression: string; expressionNames?: { [key: string]: string} };

欄位定義如下:

expression

投影表達式,即字串。若要擷取單一屬性,請指定其名稱。對於多個屬性,名稱必須是逗號分隔值。如需撰寫投影表達式的詳細資訊,請參閱 DynamoDB 投影表達式文件。此欄位為必填。

expressionNames

以鍵值對的形式取代表達式屬性名稱預留位置。索引鍵對應至用於 expression 的名稱預留位置。值必須是與 DynamoDB 中項目的屬性名稱對應的字串。此欄位為選用欄位,且應僅填入 中使用的運算式屬性名稱預留位置的取代expression。如需 的詳細資訊expressionNames,請參閱 DynamoDB 文件

範例 1

下列範例是 JavaScript 函數的投影區段,其中只有屬性 id author和 會從 DynamoDB 傳回:

projection : { expression : "#author, id", expressionNames : { "#author" : "author" } }
提示

您可以使用 存取 GraphQL 請求選取集selectionSetList。此欄位可讓您根據需求動態建立投影表達式的架構。

注意

搭配 QueryScan操作使用投影表達式時, 的值select必須是 SPECIFIC_ATTRIBUTES。如需詳細資訊,請參閱 DynamoDB 文件