本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
D 的選用組態設定ynamoDBMapper
當您建立 DynamoDBMapper
執行個體時,會有特定預設行為;您可以使用 DynamoDBMapperConfig
類別來覆寫這些預設值。
下列程式碼片段會使用自訂設定來建立 DynamoDBMapper
:
AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard().build(); DynamoDBMapperConfig mapperConfig = DynamoDBMapperConfig.builder() .withSaveBehavior(DynamoDBMapperConfig.SaveBehavior.CLOBBER) .withConsistentReads(DynamoDBMapperConfig.ConsistentReads.CONSISTENT) .withTableNameOverride(null) .withPaginationLoadingStrategy(DynamoDBMapperConfig.PaginationLoadingStrategy.EAGER_LOADING) .build(); DynamoDBMapper mapper = new DynamoDBMapper(client, mapperConfig);
如需詳細資訊,請參閱AWS SDK for Java API參考 中的 D ynamoDBMapperConfig。
您可以針對 DynamoDBMapperConfig
執行個體使用下列引數:
-
DynamoDBMapperConfig.ConsistentReads
列舉值:-
EVENTUAL
:映射器執行個體使用最終一致讀取請求。 -
CONSISTENT
:映射器執行個體使用強烈一致讀取請求。您可以搭配使用這個選用設定與load
、query
或scan
操作。強烈一致讀取具有效能和帳單隱憂;如需詳細資訊,請參閱 DynamoDB 產品詳細資訊頁面。
如果您未指定映射器執行個體的讀取一致性設定,則預設值為
EVENTUAL
。注意
此值會套用至 D 的
query
、load
、querypage
和batch load
操作ynamoDBMapper。 -
-
DynamoDBMapperConfig.PaginationLoadingStrategy
列舉值:控制映射器執行個體如何處理分頁資料清單,例如query
或scan
的結果:-
LAZY_LOADING
:映射器執行個體會在可能時載入資料,並將所有載入的結果保留在記憶體中。 -
EAGER_LOADING
:映射器執行個體會在初始化清單時立即載入資料。 -
ITERATION_ONLY
:您只能使用從清單中讀取的迭代器。在反覆運算期間,清單會先清除所有先前的結果,再載入下一頁,因此清單最多會將一頁的已載入結果保留在記憶體中。這也表示清單只能重複使用一次。處理大型項目時,建議使用此策略,以減少記憶體負擔。
如果您未指定映射器執行個體的分頁載入策略,則預設值為
LAZY_LOADING
。 -
-
DynamoDBMapperConfig.SaveBehavior
列舉值:指定映射器執行個體在儲存操作期間應該如何處理屬性:-
UPDATE
:在儲存操作期間,會更新所有建模屬性,未建模屬性則不受影響。基本數字類型 (byte、int、long) 設定為 0。物件類型設定為 Null。 -
CLOBBER
:在儲存操作期間,清除和取代所有屬性 (包含未建模屬性)。透過刪除並重新建立項目來完成這項操作。使用版本控制的欄位限制條件也會予以忽略。
如果您未指定映射器執行個體的儲存行為,則預設值為
UPDATE
。注意
D
DynamoDBMapperConfig.SaveBehavior
ynamoDBMapper 交易操作不支援列舉。 -
-
DynamoDBMapperConfig.TableNameOverride
物件:指示映射器執行個體忽略類別之DynamoDBTable
註釋所指定的資料表名稱,並改為使用您提供的不同資料表名稱。在執行時間將資料分割為多個資料表時,這十分有用。
您可以視需要覆寫每個操作的 DynamoDBMapper
預設組態物件。