com.amazonaws.services.dynamodbv2.model
Class ScanRequest

java.lang.Object
  extended by com.amazonaws.AmazonWebServiceRequest
      extended by com.amazonaws.services.dynamodbv2.model.ScanRequest
All Implemented Interfaces:
java.io.Serializable

public class ScanRequest
extends AmazonWebServiceRequest
implements java.io.Serializable

Container for the parameters to the Scan operation.

The Scan operation returns one or more items and item attributes by accessing every item in the table. To have DynamoDB return fewer items, you can provide a ScanFilter .

If the total number of scanned items exceeds the maximum data set size limit of 1 MB, the scan stops and results are returned to the user with a LastEvaluatedKey to continue the scan in a subsequent operation. The results also include the number of items exceeding the limit. A scan can result in no table data meeting the filter criteria.

The result set is eventually consistent.

By default, Scan operations proceed sequentially; however, for faster performance on large tables, applications can request a parallel Scan by specifying the Segment and TotalSegments parameters. For more information, see Parallel Scan in the Amazon DynamoDB Developer Guide.

See Also:
AmazonDynamoDB.scan(ScanRequest), Serialized Form

Constructor Summary
ScanRequest()
          Default constructor for a new ScanRequest object.
ScanRequest(java.lang.String tableName)
          Constructs a new ScanRequest object.
 
Method Summary
 ScanRequest addExclusiveStartKeyEntry(java.lang.String key, AttributeValue value)
          The primary key of the first item that this operation will evaluate.
 ScanRequest addScanFilterEntry(java.lang.String key, Condition value)
          Evaluates the scan results and returns only the desired values.
 ScanRequest clearExclusiveStartKeyEntries()
          Removes all the entries added into ExclusiveStartKey.
 ScanRequest clearScanFilterEntries()
          Removes all the entries added into ScanFilter.
 boolean equals(java.lang.Object obj)
           
 java.util.List<java.lang.String> getAttributesToGet()
          The names of one or more attributes to retrieve.
 java.lang.String getConditionalOperator()
          A logical operator to apply to the conditions in the ScanFilter map:
 java.util.Map<java.lang.String,AttributeValue> getExclusiveStartKey()
          The primary key of the first item that this operation will evaluate.
 java.lang.Integer getLimit()
          The maximum number of items to evaluate (not necessarily the number of matching items).
 java.lang.String getReturnConsumedCapacity()
          If set to TOTAL, the response includes ConsumedCapacity data for tables and indexes.
 java.util.Map<java.lang.String,Condition> getScanFilter()
          Evaluates the scan results and returns only the desired values.
 java.lang.Integer getSegment()
          For a parallel Scan request, Segment identifies an individual segment to be scanned by an application worker.
 java.lang.String getSelect()
          The attributes to be returned in the result.
 java.lang.String getTableName()
          The name of the table containing the requested items.
 java.lang.Integer getTotalSegments()
          For a parallel Scan request, TotalSegments represents the total number of segments into which the Scan operation will be divided.
 int hashCode()
           
 void setAttributesToGet(java.util.Collection<java.lang.String> attributesToGet)
          The names of one or more attributes to retrieve.
 void setConditionalOperator(ConditionalOperator conditionalOperator)
          A logical operator to apply to the conditions in the ScanFilter map:
 void setConditionalOperator(java.lang.String conditionalOperator)
          A logical operator to apply to the conditions in the ScanFilter map:
 void setExclusiveStartKey(java.util.Map.Entry<java.lang.String,AttributeValue> hashKey, java.util.Map.Entry<java.lang.String,AttributeValue> rangeKey)
          The primary key of the first item that this operation will evaluate.
 void setExclusiveStartKey(java.util.Map<java.lang.String,AttributeValue> exclusiveStartKey)
          The primary key of the first item that this operation will evaluate.
 void setLimit(java.lang.Integer limit)
          The maximum number of items to evaluate (not necessarily the number of matching items).
 void setReturnConsumedCapacity(ReturnConsumedCapacity returnConsumedCapacity)
          If set to TOTAL, the response includes ConsumedCapacity data for tables and indexes.
 void setReturnConsumedCapacity(java.lang.String returnConsumedCapacity)
          If set to TOTAL, the response includes ConsumedCapacity data for tables and indexes.
 void setScanFilter(java.util.Map<java.lang.String,Condition> scanFilter)
          Evaluates the scan results and returns only the desired values.
 void setSegment(java.lang.Integer segment)
          For a parallel Scan request, Segment identifies an individual segment to be scanned by an application worker.
 void setSelect(Select select)
          The attributes to be returned in the result.
 void setSelect(java.lang.String select)
          The attributes to be returned in the result.
 void setTableName(java.lang.String tableName)
          The name of the table containing the requested items.
 void setTotalSegments(java.lang.Integer totalSegments)
          For a parallel Scan request, TotalSegments represents the total number of segments into which the Scan operation will be divided.
 java.lang.String toString()
          Returns a string representation of this object; useful for testing and debugging.
 ScanRequest withAttributesToGet(java.util.Collection<java.lang.String> attributesToGet)
          The names of one or more attributes to retrieve.
 ScanRequest withAttributesToGet(java.lang.String... attributesToGet)
          The names of one or more attributes to retrieve.
 ScanRequest withConditionalOperator(ConditionalOperator conditionalOperator)
          A logical operator to apply to the conditions in the ScanFilter map:
 ScanRequest withConditionalOperator(java.lang.String conditionalOperator)
          A logical operator to apply to the conditions in the ScanFilter map:
 ScanRequest withExclusiveStartKey(java.util.Map.Entry<java.lang.String,AttributeValue> hashKey, java.util.Map.Entry<java.lang.String,AttributeValue> rangeKey)
          The primary key of the first item that this operation will evaluate.
 ScanRequest withExclusiveStartKey(java.util.Map<java.lang.String,AttributeValue> exclusiveStartKey)
          The primary key of the first item that this operation will evaluate.
 ScanRequest withLimit(java.lang.Integer limit)
          The maximum number of items to evaluate (not necessarily the number of matching items).
 ScanRequest withReturnConsumedCapacity(ReturnConsumedCapacity returnConsumedCapacity)
          If set to TOTAL, the response includes ConsumedCapacity data for tables and indexes.
 ScanRequest withReturnConsumedCapacity(java.lang.String returnConsumedCapacity)
          If set to TOTAL, the response includes ConsumedCapacity data for tables and indexes.
 ScanRequest withScanFilter(java.util.Map<java.lang.String,Condition> scanFilter)
          Evaluates the scan results and returns only the desired values.
 ScanRequest withSegment(java.lang.Integer segment)
          For a parallel Scan request, Segment identifies an individual segment to be scanned by an application worker.
 ScanRequest withSelect(Select select)
          The attributes to be returned in the result.
 ScanRequest withSelect(java.lang.String select)
          The attributes to be returned in the result.
 ScanRequest withTableName(java.lang.String tableName)
          The name of the table containing the requested items.
 ScanRequest withTotalSegments(java.lang.Integer totalSegments)
          For a parallel Scan request, TotalSegments represents the total number of segments into which the Scan operation will be divided.
 
Methods inherited from class com.amazonaws.AmazonWebServiceRequest
copyPrivateRequestParameters, getDelegationToken, getRequestClientOptions, getRequestCredentials, getRequestMetricCollector, setDelegationToken, setRequestCredentials, setRequestMetricCollector, withRequestMetricCollector
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ScanRequest

public ScanRequest()
Default constructor for a new ScanRequest object. Callers should use the setter or fluent setter (with...) methods to initialize this object after creating it.


ScanRequest

public ScanRequest(java.lang.String tableName)
Constructs a new ScanRequest object. Callers should use the setter or fluent setter (with...) methods to initialize any additional object members.

Parameters:
tableName - The name of the table containing the requested items.
Method Detail

getTableName

public java.lang.String getTableName()
The name of the table containing the requested items.

Constraints:
Length: 3 - 255
Pattern: [a-zA-Z0-9_.-]+

Returns:
The name of the table containing the requested items.

setTableName

public void setTableName(java.lang.String tableName)
The name of the table containing the requested items.

Constraints:
Length: 3 - 255
Pattern: [a-zA-Z0-9_.-]+

Parameters:
tableName - The name of the table containing the requested items.

withTableName

public ScanRequest withTableName(java.lang.String tableName)
The name of the table containing the requested items.

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

Constraints:
Length: 3 - 255
Pattern: [a-zA-Z0-9_.-]+

Parameters:
tableName - The name of the table containing the requested items.
Returns:
A reference to this updated object so that method calls can be chained together.

getAttributesToGet

public java.util.List<java.lang.String> getAttributesToGet()
The names of one or more attributes to retrieve. If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

Note that AttributesToGet has no effect on provisioned throughput consumption. DynamoDB determines capacity units consumed based on item size, not on the amount of data that is returned to an application.

Constraints:
Length: 1 -

Returns:
The names of one or more attributes to retrieve. If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

Note that AttributesToGet has no effect on provisioned throughput consumption. DynamoDB determines capacity units consumed based on item size, not on the amount of data that is returned to an application.


setAttributesToGet

public void setAttributesToGet(java.util.Collection<java.lang.String> attributesToGet)
The names of one or more attributes to retrieve. If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

Note that AttributesToGet has no effect on provisioned throughput consumption. DynamoDB determines capacity units consumed based on item size, not on the amount of data that is returned to an application.

Constraints:
Length: 1 -

Parameters:
attributesToGet - The names of one or more attributes to retrieve. If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

Note that AttributesToGet has no effect on provisioned throughput consumption. DynamoDB determines capacity units consumed based on item size, not on the amount of data that is returned to an application.


withAttributesToGet

public ScanRequest withAttributesToGet(java.lang.String... attributesToGet)
The names of one or more attributes to retrieve. If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

Note that AttributesToGet has no effect on provisioned throughput consumption. DynamoDB determines capacity units consumed based on item size, not on the amount of data that is returned to an application.

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

Constraints:
Length: 1 -

Parameters:
attributesToGet - The names of one or more attributes to retrieve. If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

Note that AttributesToGet has no effect on provisioned throughput consumption. DynamoDB determines capacity units consumed based on item size, not on the amount of data that is returned to an application.

Returns:
A reference to this updated object so that method calls can be chained together.

withAttributesToGet

public ScanRequest withAttributesToGet(java.util.Collection<java.lang.String> attributesToGet)
The names of one or more attributes to retrieve. If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

Note that AttributesToGet has no effect on provisioned throughput consumption. DynamoDB determines capacity units consumed based on item size, not on the amount of data that is returned to an application.

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

Constraints:
Length: 1 -

Parameters:
attributesToGet - The names of one or more attributes to retrieve. If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

Note that AttributesToGet has no effect on provisioned throughput consumption. DynamoDB determines capacity units consumed based on item size, not on the amount of data that is returned to an application.

Returns:
A reference to this updated object so that method calls can be chained together.

getLimit

public java.lang.Integer getLimit()
The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a LastEvaluatedKey to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed data set size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a LastEvaluatedKey to apply in a subsequent operation to continue the operation. For more information, see Query and Scan in the Amazon DynamoDB Developer Guide.

Constraints:
Range: 1 -

Returns:
The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a LastEvaluatedKey to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed data set size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a LastEvaluatedKey to apply in a subsequent operation to continue the operation. For more information, see Query and Scan in the Amazon DynamoDB Developer Guide.

setLimit

public void setLimit(java.lang.Integer limit)
The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a LastEvaluatedKey to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed data set size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a LastEvaluatedKey to apply in a subsequent operation to continue the operation. For more information, see Query and Scan in the Amazon DynamoDB Developer Guide.

Constraints:
Range: 1 -

Parameters:
limit - The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a LastEvaluatedKey to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed data set size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a LastEvaluatedKey to apply in a subsequent operation to continue the operation. For more information, see Query and Scan in the Amazon DynamoDB Developer Guide.

withLimit

public ScanRequest withLimit(java.lang.Integer limit)
The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a LastEvaluatedKey to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed data set size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a LastEvaluatedKey to apply in a subsequent operation to continue the operation. For more information, see Query and Scan in the Amazon DynamoDB Developer Guide.

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

Constraints:
Range: 1 -

Parameters:
limit - The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a LastEvaluatedKey to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed data set size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a LastEvaluatedKey to apply in a subsequent operation to continue the operation. For more information, see Query and Scan in the Amazon DynamoDB Developer Guide.
Returns:
A reference to this updated object so that method calls can be chained together.

getSelect

public java.lang.String getSelect()
The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, or the count of matching items.

If neither Select nor AttributesToGet are specified, DynamoDB defaults to ALL_ATTRIBUTES. You cannot use both Select and AttributesToGet together in a single request, unless the value for Select is SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying AttributesToGet without any value for Select.)

Constraints:
Allowed Values: ALL_ATTRIBUTES, ALL_PROJECTED_ATTRIBUTES, SPECIFIC_ATTRIBUTES, COUNT

Returns:
The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, or the count of matching items.
  • ALL_ATTRIBUTES: Returns all of the item attributes.

  • COUNT: Returns the number of matching items, rather than the matching items themselves.

  • SPECIFIC_ATTRIBUTES : Returns only the attributes listed in AttributesToGet. This is equivalent to specifying AttributesToGet without specifying any value for Select.

If neither Select nor AttributesToGet are specified, DynamoDB defaults to ALL_ATTRIBUTES. You cannot use both Select and AttributesToGet together in a single request, unless the value for Select is SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying AttributesToGet without any value for Select.)

See Also:
Select

setSelect

public void setSelect(java.lang.String select)
The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, or the count of matching items.

If neither Select nor AttributesToGet are specified, DynamoDB defaults to ALL_ATTRIBUTES. You cannot use both Select and AttributesToGet together in a single request, unless the value for Select is SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying AttributesToGet without any value for Select.)

Constraints:
Allowed Values: ALL_ATTRIBUTES, ALL_PROJECTED_ATTRIBUTES, SPECIFIC_ATTRIBUTES, COUNT

Parameters:
select - The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, or the count of matching items.
  • ALL_ATTRIBUTES: Returns all of the item attributes.

  • COUNT: Returns the number of matching items, rather than the matching items themselves.

  • SPECIFIC_ATTRIBUTES : Returns only the attributes listed in AttributesToGet. This is equivalent to specifying AttributesToGet without specifying any value for Select.

If neither Select nor AttributesToGet are specified, DynamoDB defaults to ALL_ATTRIBUTES. You cannot use both Select and AttributesToGet together in a single request, unless the value for Select is SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying AttributesToGet without any value for Select.)

See Also:
Select

withSelect

public ScanRequest withSelect(java.lang.String select)
The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, or the count of matching items.

If neither Select nor AttributesToGet are specified, DynamoDB defaults to ALL_ATTRIBUTES. You cannot use both Select and AttributesToGet together in a single request, unless the value for Select is SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying AttributesToGet without any value for Select.)

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

Constraints:
Allowed Values: ALL_ATTRIBUTES, ALL_PROJECTED_ATTRIBUTES, SPECIFIC_ATTRIBUTES, COUNT

Parameters:
select - The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, or the count of matching items.
  • ALL_ATTRIBUTES: Returns all of the item attributes.

  • COUNT: Returns the number of matching items, rather than the matching items themselves.

  • SPECIFIC_ATTRIBUTES : Returns only the attributes listed in AttributesToGet. This is equivalent to specifying AttributesToGet without specifying any value for Select.

If neither Select nor AttributesToGet are specified, DynamoDB defaults to ALL_ATTRIBUTES. You cannot use both Select and AttributesToGet together in a single request, unless the value for Select is SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying AttributesToGet without any value for Select.)

Returns:
A reference to this updated object so that method calls can be chained together.
See Also:
Select

setSelect

public void setSelect(Select select)
The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, or the count of matching items.

If neither Select nor AttributesToGet are specified, DynamoDB defaults to ALL_ATTRIBUTES. You cannot use both Select and AttributesToGet together in a single request, unless the value for Select is SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying AttributesToGet without any value for Select.)

Constraints:
Allowed Values: ALL_ATTRIBUTES, ALL_PROJECTED_ATTRIBUTES, SPECIFIC_ATTRIBUTES, COUNT

Parameters:
select - The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, or the count of matching items.
  • ALL_ATTRIBUTES: Returns all of the item attributes.

  • COUNT: Returns the number of matching items, rather than the matching items themselves.

  • SPECIFIC_ATTRIBUTES : Returns only the attributes listed in AttributesToGet. This is equivalent to specifying AttributesToGet without specifying any value for Select.

If neither Select nor AttributesToGet are specified, DynamoDB defaults to ALL_ATTRIBUTES. You cannot use both Select and AttributesToGet together in a single request, unless the value for Select is SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying AttributesToGet without any value for Select.)

See Also:
Select

withSelect

public ScanRequest withSelect(Select select)
The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, or the count of matching items.

If neither Select nor AttributesToGet are specified, DynamoDB defaults to ALL_ATTRIBUTES. You cannot use both Select and AttributesToGet together in a single request, unless the value for Select is SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying AttributesToGet without any value for Select.)

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

Constraints:
Allowed Values: ALL_ATTRIBUTES, ALL_PROJECTED_ATTRIBUTES, SPECIFIC_ATTRIBUTES, COUNT

Parameters:
select - The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, or the count of matching items.
  • ALL_ATTRIBUTES: Returns all of the item attributes.

  • COUNT: Returns the number of matching items, rather than the matching items themselves.

  • SPECIFIC_ATTRIBUTES : Returns only the attributes listed in AttributesToGet. This is equivalent to specifying AttributesToGet without specifying any value for Select.

If neither Select nor AttributesToGet are specified, DynamoDB defaults to ALL_ATTRIBUTES. You cannot use both Select and AttributesToGet together in a single request, unless the value for Select is SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying AttributesToGet without any value for Select.)

Returns:
A reference to this updated object so that method calls can be chained together.
See Also:
Select

getScanFilter

public java.util.Map<java.lang.String,Condition> getScanFilter()
Evaluates the scan results and returns only the desired values.

If you specify more than one condition in the ScanFilter map, then by default all of the conditions must evaluate to true. In other words, the conditions are ANDed together. (You can use the ConditionalOperator parameter to OR the conditions instead. If you do this, then at least one of the conditions must evaluate to true, rather than all of them.)

Each ScanFilter element consists of an attribute name to compare, along with the following:

Returns:
Evaluates the scan results and returns only the desired values.

If you specify more than one condition in the ScanFilter map, then by default all of the conditions must evaluate to true. In other words, the conditions are ANDed together. (You can use the ConditionalOperator parameter to OR the conditions instead. If you do this, then at least one of the conditions must evaluate to true, rather than all of them.)

Each ScanFilter element consists of an attribute name to compare, along with the following:

  • AttributeValueList - One or more values to evaluate against the supplied attribute. The number of values in the list depends on the ComparisonOperator being used.

    For type Number, value comparisons are numeric.

    String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, a is greater than A, and aa is greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

    For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values, for example when evaluating query expressions.

    For information on specifying data types in JSON, see JSON Data Format in the Amazon DynamoDB Developer Guide.

  • ComparisonOperator - A comparator for evaluating attributes. For example, equals, greater than, less than, etc.

    The following comparison operators are available:

    EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN

    For complete descriptions of all comparison operators, see API_Condition.html.


setScanFilter

public void setScanFilter(java.util.Map<java.lang.String,Condition> scanFilter)
Evaluates the scan results and returns only the desired values.

If you specify more than one condition in the ScanFilter map, then by default all of the conditions must evaluate to true. In other words, the conditions are ANDed together. (You can use the ConditionalOperator parameter to OR the conditions instead. If you do this, then at least one of the conditions must evaluate to true, rather than all of them.)

Each ScanFilter element consists of an attribute name to compare, along with the following:

Parameters:
scanFilter - Evaluates the scan results and returns only the desired values.

If you specify more than one condition in the ScanFilter map, then by default all of the conditions must evaluate to true. In other words, the conditions are ANDed together. (You can use the ConditionalOperator parameter to OR the conditions instead. If you do this, then at least one of the conditions must evaluate to true, rather than all of them.)

Each ScanFilter element consists of an attribute name to compare, along with the following:

  • AttributeValueList - One or more values to evaluate against the supplied attribute. The number of values in the list depends on the ComparisonOperator being used.

    For type Number, value comparisons are numeric.

    String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, a is greater than A, and aa is greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

    For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values, for example when evaluating query expressions.

    For information on specifying data types in JSON, see JSON Data Format in the Amazon DynamoDB Developer Guide.

  • ComparisonOperator - A comparator for evaluating attributes. For example, equals, greater than, less than, etc.

    The following comparison operators are available:

    EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN

    For complete descriptions of all comparison operators, see API_Condition.html.


withScanFilter

public ScanRequest withScanFilter(java.util.Map<java.lang.String,Condition> scanFilter)
Evaluates the scan results and returns only the desired values.

If you specify more than one condition in the ScanFilter map, then by default all of the conditions must evaluate to true. In other words, the conditions are ANDed together. (You can use the ConditionalOperator parameter to OR the conditions instead. If you do this, then at least one of the conditions must evaluate to true, rather than all of them.)

Each ScanFilter element consists of an attribute name to compare, along with the following:

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

Parameters:
scanFilter - Evaluates the scan results and returns only the desired values.

If you specify more than one condition in the ScanFilter map, then by default all of the conditions must evaluate to true. In other words, the conditions are ANDed together. (You can use the ConditionalOperator parameter to OR the conditions instead. If you do this, then at least one of the conditions must evaluate to true, rather than all of them.)

Each ScanFilter element consists of an attribute name to compare, along with the following:

  • AttributeValueList - One or more values to evaluate against the supplied attribute. The number of values in the list depends on the ComparisonOperator being used.

    For type Number, value comparisons are numeric.

    String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, a is greater than A, and aa is greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

    For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values, for example when evaluating query expressions.

    For information on specifying data types in JSON, see JSON Data Format in the Amazon DynamoDB Developer Guide.

  • ComparisonOperator - A comparator for evaluating attributes. For example, equals, greater than, less than, etc.

    The following comparison operators are available:

    EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN

    For complete descriptions of all comparison operators, see API_Condition.html.

Returns:
A reference to this updated object so that method calls can be chained together.

addScanFilterEntry

public ScanRequest addScanFilterEntry(java.lang.String key,
                                      Condition value)
Evaluates the scan results and returns only the desired values.

If you specify more than one condition in the ScanFilter map, then by default all of the conditions must evaluate to true. In other words, the conditions are ANDed together. (You can use the ConditionalOperator parameter to OR the conditions instead. If you do this, then at least one of the conditions must evaluate to true, rather than all of them.)

Each ScanFilter element consists of an attribute name to compare, along with the following:

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

Parameters:
key - The key of the entry to be added into ScanFilter.
value - The corresponding value of the entry to be added into ScanFilter.

clearScanFilterEntries

public ScanRequest clearScanFilterEntries()
Removes all the entries added into ScanFilter.

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


getConditionalOperator

public java.lang.String getConditionalOperator()
A logical operator to apply to the conditions in the ScanFilter map:

If you omit ConditionalOperator, then AND is the default.

The operation will succeed only if the entire map evaluates to true.

Constraints:
Allowed Values: AND, OR

Returns:
A logical operator to apply to the conditions in the ScanFilter map:
  • AND - If all of the conditions evaluate to true, then the entire map evaluates to true.

  • OR - If at least one of the conditions evaluate to true, then the entire map evaluates to true.

If you omit ConditionalOperator, then AND is the default.

The operation will succeed only if the entire map evaluates to true.

See Also:
ConditionalOperator

setConditionalOperator

public void setConditionalOperator(java.lang.String conditionalOperator)
A logical operator to apply to the conditions in the ScanFilter map:

If you omit ConditionalOperator, then AND is the default.

The operation will succeed only if the entire map evaluates to true.

Constraints:
Allowed Values: AND, OR

Parameters:
conditionalOperator - A logical operator to apply to the conditions in the ScanFilter map:
  • AND - If all of the conditions evaluate to true, then the entire map evaluates to true.

  • OR - If at least one of the conditions evaluate to true, then the entire map evaluates to true.

If you omit ConditionalOperator, then AND is the default.

The operation will succeed only if the entire map evaluates to true.

See Also:
ConditionalOperator

withConditionalOperator

public ScanRequest withConditionalOperator(java.lang.String conditionalOperator)
A logical operator to apply to the conditions in the ScanFilter map:

If you omit ConditionalOperator, then AND is the default.

The operation will succeed only if the entire map evaluates to true.

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

Constraints:
Allowed Values: AND, OR

Parameters:
conditionalOperator - A logical operator to apply to the conditions in the ScanFilter map:
  • AND - If all of the conditions evaluate to true, then the entire map evaluates to true.

  • OR - If at least one of the conditions evaluate to true, then the entire map evaluates to true.

If you omit ConditionalOperator, then AND is the default.

The operation will succeed only if the entire map evaluates to true.

Returns:
A reference to this updated object so that method calls can be chained together.
See Also:
ConditionalOperator

setConditionalOperator

public void setConditionalOperator(ConditionalOperator conditionalOperator)
A logical operator to apply to the conditions in the ScanFilter map:

If you omit ConditionalOperator, then AND is the default.

The operation will succeed only if the entire map evaluates to true.

Constraints:
Allowed Values: AND, OR

Parameters:
conditionalOperator - A logical operator to apply to the conditions in the ScanFilter map:
  • AND - If all of the conditions evaluate to true, then the entire map evaluates to true.

  • OR - If at least one of the conditions evaluate to true, then the entire map evaluates to true.

If you omit ConditionalOperator, then AND is the default.

The operation will succeed only if the entire map evaluates to true.

See Also:
ConditionalOperator

withConditionalOperator

public ScanRequest withConditionalOperator(ConditionalOperator conditionalOperator)
A logical operator to apply to the conditions in the ScanFilter map:

If you omit ConditionalOperator, then AND is the default.

The operation will succeed only if the entire map evaluates to true.

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

Constraints:
Allowed Values: AND, OR

Parameters:
conditionalOperator - A logical operator to apply to the conditions in the ScanFilter map:
  • AND - If all of the conditions evaluate to true, then the entire map evaluates to true.

  • OR - If at least one of the conditions evaluate to true, then the entire map evaluates to true.

If you omit ConditionalOperator, then AND is the default.

The operation will succeed only if the entire map evaluates to true.

Returns:
A reference to this updated object so that method calls can be chained together.
See Also:
ConditionalOperator

getExclusiveStartKey

public java.util.Map<java.lang.String,AttributeValue> getExclusiveStartKey()
The primary key of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedKey in the previous operation.

The data type for ExclusiveStartKey must be String, Number or Binary. No set data types are allowed.

In a parallel scan, a Scan request that includes ExclusiveStartKey must specify the same segment whose previous Scan returned the corresponding value of LastEvaluatedKey.

Returns:
The primary key of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedKey in the previous operation.

The data type for ExclusiveStartKey must be String, Number or Binary. No set data types are allowed.

In a parallel scan, a Scan request that includes ExclusiveStartKey must specify the same segment whose previous Scan returned the corresponding value of LastEvaluatedKey.


setExclusiveStartKey

public void setExclusiveStartKey(java.util.Map<java.lang.String,AttributeValue> exclusiveStartKey)
The primary key of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedKey in the previous operation.

The data type for ExclusiveStartKey must be String, Number or Binary. No set data types are allowed.

In a parallel scan, a Scan request that includes ExclusiveStartKey must specify the same segment whose previous Scan returned the corresponding value of LastEvaluatedKey.

Parameters:
exclusiveStartKey - The primary key of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedKey in the previous operation.

The data type for ExclusiveStartKey must be String, Number or Binary. No set data types are allowed.

In a parallel scan, a Scan request that includes ExclusiveStartKey must specify the same segment whose previous Scan returned the corresponding value of LastEvaluatedKey.


withExclusiveStartKey

public ScanRequest withExclusiveStartKey(java.util.Map<java.lang.String,AttributeValue> exclusiveStartKey)
The primary key of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedKey in the previous operation.

The data type for ExclusiveStartKey must be String, Number or Binary. No set data types are allowed.

In a parallel scan, a Scan request that includes ExclusiveStartKey must specify the same segment whose previous Scan returned the corresponding value of LastEvaluatedKey.

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

Parameters:
exclusiveStartKey - The primary key of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedKey in the previous operation.

The data type for ExclusiveStartKey must be String, Number or Binary. No set data types are allowed.

In a parallel scan, a Scan request that includes ExclusiveStartKey must specify the same segment whose previous Scan returned the corresponding value of LastEvaluatedKey.

Returns:
A reference to this updated object so that method calls can be chained together.

setExclusiveStartKey

public void setExclusiveStartKey(java.util.Map.Entry<java.lang.String,AttributeValue> hashKey,
                                 java.util.Map.Entry<java.lang.String,AttributeValue> rangeKey)
                          throws java.lang.IllegalArgumentException
The primary key of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedKey in the previous operation.

The data type for ExclusiveStartKey must be String, Number or Binary. No set data types are allowed.

In a parallel scan, a Scan request that includes ExclusiveStartKey must specify the same segment whose previous Scan returned the corresponding value of LastEvaluatedKey.

This method accepts the hashKey, rangeKey of ExclusiveStartKey as java.util.Map.Entry objects.

Parameters:
hashKey - Primary hash key.
rangeKey - Primary range key. (null if it a hash-only table)
Throws:
java.lang.IllegalArgumentException

withExclusiveStartKey

public ScanRequest withExclusiveStartKey(java.util.Map.Entry<java.lang.String,AttributeValue> hashKey,
                                         java.util.Map.Entry<java.lang.String,AttributeValue> rangeKey)
                                  throws java.lang.IllegalArgumentException
The primary key of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedKey in the previous operation.

The data type for ExclusiveStartKey must be String, Number or Binary. No set data types are allowed.

In a parallel scan, a Scan request that includes ExclusiveStartKey must specify the same segment whose previous Scan returned the corresponding value of LastEvaluatedKey.

This method accepts the hashKey, rangeKey of ExclusiveStartKey as java.util.Map.Entry objects.

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

Parameters:
hashKey - Primary hash key.
rangeKey - Primary range key. (null if it a hash-only table)
Throws:
java.lang.IllegalArgumentException

addExclusiveStartKeyEntry

public ScanRequest addExclusiveStartKeyEntry(java.lang.String key,
                                             AttributeValue value)
The primary key of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedKey in the previous operation.

The data type for ExclusiveStartKey must be String, Number or Binary. No set data types are allowed.

In a parallel scan, a Scan request that includes ExclusiveStartKey must specify the same segment whose previous Scan returned the corresponding value of LastEvaluatedKey.

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

Parameters:
key - The key of the entry to be added into ExclusiveStartKey.
value - The corresponding value of the entry to be added into ExclusiveStartKey.

clearExclusiveStartKeyEntries

public ScanRequest clearExclusiveStartKeyEntries()
Removes all the entries added into ExclusiveStartKey.

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


getReturnConsumedCapacity

public java.lang.String getReturnConsumedCapacity()
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

Returns:
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 Also:
ReturnConsumedCapacity

setReturnConsumedCapacity

public void setReturnConsumedCapacity(java.lang.String 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

Parameters:
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 Also:
ReturnConsumedCapacity

withReturnConsumedCapacity

public ScanRequest withReturnConsumedCapacity(java.lang.String 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

Parameters:
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 updated object so that method calls can be chained together.
See Also:
ReturnConsumedCapacity

setReturnConsumedCapacity

public void setReturnConsumedCapacity(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.

Constraints:
Allowed Values: INDEXES, TOTAL, NONE

Parameters:
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 Also:
ReturnConsumedCapacity

withReturnConsumedCapacity

public ScanRequest withReturnConsumedCapacity(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

Parameters:
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 updated object so that method calls can be chained together.
See Also:
ReturnConsumedCapacity

getTotalSegments

public java.lang.Integer getTotalSegments()
For a parallel Scan request, TotalSegments represents the total number of segments into which the Scan operation will be divided. The value of TotalSegments corresponds to the number of application workers that will perform the parallel scan. For example, if you want to scan a table using four application threads, you would specify a TotalSegments value of 4.

The value for TotalSegments must be greater than or equal to 1, and less than or equal to 4096. If you specify a TotalSegments value of 1, the Scan will be sequential rather than parallel.

If you specify TotalSegments, you must also specify Segment.

Constraints:
Range: 1 - 1000000

Returns:
For a parallel Scan request, TotalSegments represents the total number of segments into which the Scan operation will be divided. The value of TotalSegments corresponds to the number of application workers that will perform the parallel scan. For example, if you want to scan a table using four application threads, you would specify a TotalSegments value of 4.

The value for TotalSegments must be greater than or equal to 1, and less than or equal to 4096. If you specify a TotalSegments value of 1, the Scan will be sequential rather than parallel.

If you specify TotalSegments, you must also specify Segment.


setTotalSegments

public void setTotalSegments(java.lang.Integer totalSegments)
For a parallel Scan request, TotalSegments represents the total number of segments into which the Scan operation will be divided. The value of TotalSegments corresponds to the number of application workers that will perform the parallel scan. For example, if you want to scan a table using four application threads, you would specify a TotalSegments value of 4.

The value for TotalSegments must be greater than or equal to 1, and less than or equal to 4096. If you specify a TotalSegments value of 1, the Scan will be sequential rather than parallel.

If you specify TotalSegments, you must also specify Segment.

Constraints:
Range: 1 - 1000000

Parameters:
totalSegments - For a parallel Scan request, TotalSegments represents the total number of segments into which the Scan operation will be divided. The value of TotalSegments corresponds to the number of application workers that will perform the parallel scan. For example, if you want to scan a table using four application threads, you would specify a TotalSegments value of 4.

The value for TotalSegments must be greater than or equal to 1, and less than or equal to 4096. If you specify a TotalSegments value of 1, the Scan will be sequential rather than parallel.

If you specify TotalSegments, you must also specify Segment.


withTotalSegments

public ScanRequest withTotalSegments(java.lang.Integer totalSegments)
For a parallel Scan request, TotalSegments represents the total number of segments into which the Scan operation will be divided. The value of TotalSegments corresponds to the number of application workers that will perform the parallel scan. For example, if you want to scan a table using four application threads, you would specify a TotalSegments value of 4.

The value for TotalSegments must be greater than or equal to 1, and less than or equal to 4096. If you specify a TotalSegments value of 1, the Scan will be sequential rather than parallel.

If you specify TotalSegments, you must also specify Segment.

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

Constraints:
Range: 1 - 1000000

Parameters:
totalSegments - For a parallel Scan request, TotalSegments represents the total number of segments into which the Scan operation will be divided. The value of TotalSegments corresponds to the number of application workers that will perform the parallel scan. For example, if you want to scan a table using four application threads, you would specify a TotalSegments value of 4.

The value for TotalSegments must be greater than or equal to 1, and less than or equal to 4096. If you specify a TotalSegments value of 1, the Scan will be sequential rather than parallel.

If you specify TotalSegments, you must also specify Segment.

Returns:
A reference to this updated object so that method calls can be chained together.

getSegment

public java.lang.Integer getSegment()
For a parallel Scan request, Segment identifies an individual segment to be scanned by an application worker.

Segment IDs are zero-based, so the first segment is always 0. For example, if you want to scan a table using four application threads, the first thread would specify a Segment value of 0, the second thread would specify 1, and so on.

The value of LastEvaluatedKey returned from a parallel Scan request must be used as ExclusiveStartKey with the same Segment ID in a subsequent Scan operation.

The value for Segment must be greater than or equal to 0, and less than the value provided for TotalSegments.

If you specify Segment, you must also specify TotalSegments.

Constraints:
Range: 0 - 999999

Returns:
For a parallel Scan request, Segment identifies an individual segment to be scanned by an application worker.

Segment IDs are zero-based, so the first segment is always 0. For example, if you want to scan a table using four application threads, the first thread would specify a Segment value of 0, the second thread would specify 1, and so on.

The value of LastEvaluatedKey returned from a parallel Scan request must be used as ExclusiveStartKey with the same Segment ID in a subsequent Scan operation.

The value for Segment must be greater than or equal to 0, and less than the value provided for TotalSegments.

If you specify Segment, you must also specify TotalSegments.


setSegment

public void setSegment(java.lang.Integer segment)
For a parallel Scan request, Segment identifies an individual segment to be scanned by an application worker.

Segment IDs are zero-based, so the first segment is always 0. For example, if you want to scan a table using four application threads, the first thread would specify a Segment value of 0, the second thread would specify 1, and so on.

The value of LastEvaluatedKey returned from a parallel Scan request must be used as ExclusiveStartKey with the same Segment ID in a subsequent Scan operation.

The value for Segment must be greater than or equal to 0, and less than the value provided for TotalSegments.

If you specify Segment, you must also specify TotalSegments.

Constraints:
Range: 0 - 999999

Parameters:
segment - For a parallel Scan request, Segment identifies an individual segment to be scanned by an application worker.

Segment IDs are zero-based, so the first segment is always 0. For example, if you want to scan a table using four application threads, the first thread would specify a Segment value of 0, the second thread would specify 1, and so on.

The value of LastEvaluatedKey returned from a parallel Scan request must be used as ExclusiveStartKey with the same Segment ID in a subsequent Scan operation.

The value for Segment must be greater than or equal to 0, and less than the value provided for TotalSegments.

If you specify Segment, you must also specify TotalSegments.


withSegment

public ScanRequest withSegment(java.lang.Integer segment)
For a parallel Scan request, Segment identifies an individual segment to be scanned by an application worker.

Segment IDs are zero-based, so the first segment is always 0. For example, if you want to scan a table using four application threads, the first thread would specify a Segment value of 0, the second thread would specify 1, and so on.

The value of LastEvaluatedKey returned from a parallel Scan request must be used as ExclusiveStartKey with the same Segment ID in a subsequent Scan operation.

The value for Segment must be greater than or equal to 0, and less than the value provided for TotalSegments.

If you specify Segment, you must also specify TotalSegments.

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

Constraints:
Range: 0 - 999999

Parameters:
segment - For a parallel Scan request, Segment identifies an individual segment to be scanned by an application worker.

Segment IDs are zero-based, so the first segment is always 0. For example, if you want to scan a table using four application threads, the first thread would specify a Segment value of 0, the second thread would specify 1, and so on.

The value of LastEvaluatedKey returned from a parallel Scan request must be used as ExclusiveStartKey with the same Segment ID in a subsequent Scan operation.

The value for Segment must be greater than or equal to 0, and less than the value provided for TotalSegments.

If you specify Segment, you must also specify TotalSegments.

Returns:
A reference to this updated object so that method calls can be chained together.

toString

public java.lang.String toString()
Returns a string representation of this object; useful for testing and debugging.

Overrides:
toString in class java.lang.Object
Returns:
A string representation of this object.
See Also:
Object.toString()

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object


Copyright © 2010 Amazon Web Services, Inc. All Rights Reserved.