All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.dynamodbv2.model.BatchGetItemRequest Maven / Gradle / Ivy

Go to download

The Amazon Web Services SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

The newest version!
/*
 * Copyright 2010-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at
 * 
 *  http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
package com.amazonaws.services.dynamodbv2.model;

import java.io.Serializable;

import com.amazonaws.AmazonWebServiceRequest;

/**
 * Container for the parameters to the {@link com.amazonaws.services.dynamodbv2.AmazonDynamoDB#batchGetItem(BatchGetItemRequest) BatchGetItem operation}.
 * 

* The BatchGetItem operation returns the attributes of one or * more items from one or more tables. You identify requested items by * primary key. *

*

* A single operation can retrieve up to 1 MB of data, which can contain * as many as 100 items. BatchGetItem will return a partial result * if the response size limit is exceeded, the table's provisioned * throughput is exceeded, or an internal processing failure occurs. If a * partial result is returned, the operation returns a value for * UnprocessedKeys . You can use this value to retry the operation * starting with the next item to get. *

*

* For example, if you ask to retrieve 100 items, but each individual * item is 50 KB in size, the system returns 20 items (1 MB) and an * appropriate UnprocessedKeys value so you can get the next page * of results. If desired, your application can include its own logic to * assemble the pages of results into one dataset. *

*

* If no items can be processed because of insufficient provisioned * throughput on each of the tables involved in the request, * BatchGetItem throws * ProvisionedThroughputExceededException . *

*

* By default, BatchGetItem performs eventually consistent reads * on every table in the request. If you want strongly consistent reads * instead, you can set ConsistentRead to true for * any or all tables. *

*

* In order to minimize response latency, BatchGetItem retrieves * items in parallel. *

*

* When designing your application, keep in mind that DynamoDB does not * return attributes in any particular order. To help parse the response * by item, include the primary key values for the items in your request * in the AttributesToGet parameter. *

*

* If a requested item does not exist, it is not returned in the result. * Requests for nonexistent items consume the minimum read capacity units * according to the type of read. For more information, see * Capacity Units Calculations * in the Amazon DynamoDB Developer Guide. *

* * @see com.amazonaws.services.dynamodbv2.AmazonDynamoDB#batchGetItem(BatchGetItemRequest) */ public class BatchGetItemRequest extends AmazonWebServiceRequest implements Serializable { /** * A map of one or more table names and, for each table, the * corresponding primary keys for the items to retrieve. Each table name * can be invoked only once.

Each element in the map consists of the * following:

  • Keys - An array of primary key * attribute values that define specific items in the table.

  • *

    AttributesToGet - One or more attributes to be retrieved * from the table. By default, all attributes are returned. If a * specified attribute is not found, it does not appear in the result. *

  • ConsistentRead - If true, a strongly * consistent read is used; if false (the default), an * eventually consistent read is used.

*

* Constraints:
* Length: 1 - 100
*/ private java.util.Map requestItems; /** * If set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. *

* Constraints:
* Allowed Values: INDEXES, TOTAL, NONE */ private String returnConsumedCapacity; /** * Default constructor for a new BatchGetItemRequest object. Callers should use the * setter or fluent setter (with...) methods to initialize this object after creating it. */ public BatchGetItemRequest() {} /** * Constructs a new BatchGetItemRequest object. * Callers should use the setter or fluent setter (with...) methods to * initialize any additional object members. * * @param requestItems A map of one or more table names and, for each * table, the corresponding primary keys for the items to retrieve. Each * table name can be invoked only once.

Each element in the map * consists of the following:

  • Keys - An array of * primary key attribute values that define specific items in the table. *

  • AttributesToGet - One or more attributes to be * retrieved from the table. By default, all attributes are returned. If * a specified attribute is not found, it does not appear in the result. *

  • ConsistentRead - If true, a strongly * consistent read is used; if false (the default), an * eventually consistent read is used.

*/ public BatchGetItemRequest(java.util.Map requestItems) { setRequestItems(requestItems); } /** * Constructs a new BatchGetItemRequest object. * Callers should use the setter or fluent setter (with...) methods to * initialize any additional object members. * * @param requestItems A map of one or more table names and, for each * table, the corresponding primary keys for the items to retrieve. Each * table name can be invoked only once.

Each element in the map * consists of the following:

  • Keys - An array of * primary key attribute values that define specific items in the table. *

  • AttributesToGet - One or more attributes to be * retrieved from the table. By default, all attributes are returned. If * a specified attribute is not found, it does not appear in the result. *

  • ConsistentRead - If true, a strongly * consistent read is used; if false (the default), an * eventually consistent read is used.

* @param returnConsumedCapacity If set to TOTAL, the * response includes ConsumedCapacity data for tables and indexes. * If set to INDEXES, the response includes * ConsumedCapacity for indexes. If set to NONE (the * default), ConsumedCapacity is not included in the response. */ public BatchGetItemRequest(java.util.Map requestItems, String returnConsumedCapacity) { setRequestItems(requestItems); setReturnConsumedCapacity(returnConsumedCapacity); } /** * Constructs a new BatchGetItemRequest object. * Callers should use the setter or fluent setter (with...) methods to * initialize any additional object members. * * @param requestItems A map of one or more table names and, for each * table, the corresponding primary keys for the items to retrieve. Each * table name can be invoked only once.

Each element in the map * consists of the following:

  • Keys - An array of * primary key attribute values that define specific items in the table. *

  • AttributesToGet - One or more attributes to be * retrieved from the table. By default, all attributes are returned. If * a specified attribute is not found, it does not appear in the result. *

  • ConsistentRead - If true, a strongly * consistent read is used; if false (the default), an * eventually consistent read is used.

* @param returnConsumedCapacity If set to TOTAL, the * response includes ConsumedCapacity data for tables and indexes. * If set to INDEXES, the response includes * ConsumedCapacity for indexes. If set to NONE (the * default), ConsumedCapacity is not included in the response. */ public BatchGetItemRequest(java.util.Map requestItems, ReturnConsumedCapacity returnConsumedCapacity) { this.requestItems = requestItems; this.returnConsumedCapacity = returnConsumedCapacity.toString(); } /** * A map of one or more table names and, for each table, the * corresponding primary keys for the items to retrieve. Each table name * can be invoked only once.

Each element in the map consists of the * following:

  • Keys - An array of primary key * attribute values that define specific items in the table.

  • *

    AttributesToGet - One or more attributes to be retrieved * from the table. By default, all attributes are returned. If a * specified attribute is not found, it does not appear in the result. *

  • ConsistentRead - If true, a strongly * consistent read is used; if false (the default), an * eventually consistent read is used.

*

* Constraints:
* Length: 1 - 100
* * @return A map of one or more table names and, for each table, the * corresponding primary keys for the items to retrieve. Each table name * can be invoked only once.

Each element in the map consists of the * following:

  • Keys - An array of primary key * attribute values that define specific items in the table.

  • *

    AttributesToGet - One or more attributes to be retrieved * from the table. By default, all attributes are returned. If a * specified attribute is not found, it does not appear in the result. *

  • ConsistentRead - If true, a strongly * consistent read is used; if false (the default), an * eventually consistent read is used.

*/ public java.util.Map getRequestItems() { return requestItems; } /** * A map of one or more table names and, for each table, the * corresponding primary keys for the items to retrieve. Each table name * can be invoked only once.

Each element in the map consists of the * following:

  • Keys - An array of primary key * attribute values that define specific items in the table.

  • *

    AttributesToGet - One or more attributes to be retrieved * from the table. By default, all attributes are returned. If a * specified attribute is not found, it does not appear in the result. *

  • ConsistentRead - If true, a strongly * consistent read is used; if false (the default), an * eventually consistent read is used.

*

* Constraints:
* Length: 1 - 100
* * @param requestItems A map of one or more table names and, for each table, the * corresponding primary keys for the items to retrieve. Each table name * can be invoked only once.

Each element in the map consists of the * following:

  • Keys - An array of primary key * attribute values that define specific items in the table.

  • *

    AttributesToGet - One or more attributes to be retrieved * from the table. By default, all attributes are returned. If a * specified attribute is not found, it does not appear in the result. *

  • ConsistentRead - If true, a strongly * consistent read is used; if false (the default), an * eventually consistent read is used.

*/ public void setRequestItems(java.util.Map requestItems) { this.requestItems = requestItems; } /** * A map of one or more table names and, for each table, the * corresponding primary keys for the items to retrieve. Each table name * can be invoked only once.

Each element in the map consists of the * following:

  • Keys - An array of primary key * attribute values that define specific items in the table.

  • *

    AttributesToGet - One or more attributes to be retrieved * from the table. By default, all attributes are returned. If a * specified attribute is not found, it does not appear in the result. *

  • ConsistentRead - If true, a strongly * consistent read is used; if false (the default), an * eventually consistent read is used.

*

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Length: 1 - 100
* * @param requestItems A map of one or more table names and, for each table, the * corresponding primary keys for the items to retrieve. Each table name * can be invoked only once.

Each element in the map consists of the * following:

  • Keys - An array of primary key * attribute values that define specific items in the table.

  • *

    AttributesToGet - One or more attributes to be retrieved * from the table. By default, all attributes are returned. If a * specified attribute is not found, it does not appear in the result. *

  • ConsistentRead - If true, a strongly * consistent read is used; if false (the default), an * eventually consistent read is used.

* * @return A reference to this updated object so that method calls can be chained * together. */ public BatchGetItemRequest withRequestItems(java.util.Map requestItems) { setRequestItems(requestItems); return this; } /** * A map of one or more table names and, for each table, the * corresponding primary keys for the items to retrieve. Each table name * can be invoked only once.

Each element in the map consists of the * following:

  • Keys - An array of primary key * attribute values that define specific items in the table.

  • *

    AttributesToGet - One or more attributes to be retrieved * from the table. By default, all attributes are returned. If a * specified attribute is not found, it does not appear in the result. *

  • ConsistentRead - If true, a strongly * consistent read is used; if false (the default), an * eventually consistent read is used.

*

* The method adds a new key-value pair into RequestItems parameter, and * returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 1 - 100
* * @param key The key of the entry to be added into RequestItems. * @param value The corresponding value of the entry to be added into RequestItems. */ public BatchGetItemRequest addRequestItemsEntry(String key, KeysAndAttributes value) { if (null == this.requestItems) { this.requestItems = new java.util.HashMap(); } if (this.requestItems.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.requestItems.put(key, value); return this; } /** * Removes all the entries added into RequestItems. *

* Returns a reference to this object so that method calls can be chained together. */ public BatchGetItemRequest clearRequestItemsEntries() { this.requestItems = null; return this; } /** * If set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. *

* Constraints:
* Allowed Values: INDEXES, TOTAL, NONE * * @return If set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. * * @see ReturnConsumedCapacity */ public String getReturnConsumedCapacity() { return returnConsumedCapacity; } /** * If set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. *

* Constraints:
* Allowed Values: INDEXES, TOTAL, NONE * * @param returnConsumedCapacity If set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. * * @see ReturnConsumedCapacity */ public void setReturnConsumedCapacity(String returnConsumedCapacity) { this.returnConsumedCapacity = returnConsumedCapacity; } /** * If set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Allowed Values: INDEXES, TOTAL, NONE * * @param returnConsumedCapacity If set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. * * @return A reference to this updated object so that method calls can be chained * together. * * @see ReturnConsumedCapacity */ public BatchGetItemRequest withReturnConsumedCapacity(String returnConsumedCapacity) { this.returnConsumedCapacity = returnConsumedCapacity; return this; } /** * If set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. *

* Constraints:
* Allowed Values: INDEXES, TOTAL, NONE * * @param returnConsumedCapacity If set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. * * @see ReturnConsumedCapacity */ public void setReturnConsumedCapacity(ReturnConsumedCapacity returnConsumedCapacity) { this.returnConsumedCapacity = returnConsumedCapacity.toString(); } /** * If set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Allowed Values: INDEXES, TOTAL, NONE * * @param returnConsumedCapacity If set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. * * @return A reference to this updated object so that method calls can be chained * together. * * @see ReturnConsumedCapacity */ public BatchGetItemRequest withReturnConsumedCapacity(ReturnConsumedCapacity returnConsumedCapacity) { this.returnConsumedCapacity = returnConsumedCapacity.toString(); return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getRequestItems() != null) sb.append("RequestItems: " + getRequestItems() + ","); if (getReturnConsumedCapacity() != null) sb.append("ReturnConsumedCapacity: " + getReturnConsumedCapacity() ); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getRequestItems() == null) ? 0 : getRequestItems().hashCode()); hashCode = prime * hashCode + ((getReturnConsumedCapacity() == null) ? 0 : getReturnConsumedCapacity().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof BatchGetItemRequest == false) return false; BatchGetItemRequest other = (BatchGetItemRequest)obj; if (other.getRequestItems() == null ^ this.getRequestItems() == null) return false; if (other.getRequestItems() != null && other.getRequestItems().equals(this.getRequestItems()) == false) return false; if (other.getReturnConsumedCapacity() == null ^ this.getReturnConsumedCapacity() == null) return false; if (other.getReturnConsumedCapacity() != null && other.getReturnConsumedCapacity().equals(this.getReturnConsumedCapacity()) == false) return false; return true; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy