Overview | Package | Class | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.amazonaws.services.simpledb.model
Class BatchPutAttributesRequest

    java.lang.Object
      com.amazonaws.AmazonWebServiceRequest
          com.amazonaws.services.simpledb.model.BatchPutAttributesRequest

    public class BatchPutAttributesRequest

extends AmazonWebServiceRequest

Container for the parameters to the `BatchPutAttributes operation`.

The `BatchPutAttributes` operation creates or replaces attributes within one or more items. By using this operation, the client can perform multiple PutAttribute operation with a single call. This helps yield savings in round trips and latencies, enabling Amazon SimpleDB to optimize requests and generally produce better throughput.

The client may specify the item name with the `Item.X.ItemName` parameter. The client may specify new attributes using a combination of the `Item.X.Attribute.Y.Name` and `Item.X.Attribute.Y.Value` parameters. The client may specify the first attribute for the first item using the parameters `Item.0.Attribute.0.Name` and `Item.0.Attribute.0.Value` , and for the second attribute for the first item by the parameters `Item.0.Attribute.1.Name` and `Item.0.Attribute.1.Value` , and so on.

Attributes are uniquely identified within an item by their name/value combination. For example, a single item can have the attributes `{ "first_name", "first_value" }` and `{ "first_name", "second_value" }` . However, it cannot have two attribute instances where both the `Item.X.Attribute.Y.Name` and `Item.X.Attribute.Y.Value` are the same.

Optionally, the requester can supply the `Replace` parameter for each individual value. Setting this value to `true` will cause the new attribute values to replace the existing attribute values. For example, if an item `I` has the attributes `{ 'a', '1' }, { 'b', '2'}` and `{ 'b', '3' }` and the requester does a BatchPutAttributes of `{'I', 'b', '4' }` with the Replace parameter set to true, the final attributes of the item will be `{ 'a', '1' }` and `{ 'b', '4' }` , replacing the previous values of the 'b' attribute with the new value.

NOTE: You cannot specify an empty string as an item or as an attribute name. The BatchPutAttributes operation succeeds or fails in its entirety. There are no partial puts.

IMPORTANT: This operation is vulnerable to exceeding the maximum URL size when making a REST request using the HTTP GET method. This operation does not support conditions using Expected.X.Name, Expected.X.Value, or Expected.X.Exists.

You can execute multiple `BatchPutAttributes` operations and other operations in parallel. However, large numbers of concurrent `BatchPutAttributes` calls can result in Service Unavailable (503) responses.

The following limitations are enforced for this operation:

- 256 attribute name-value pairs per item
- 1 MB request size
- 1 billion attributes per domain
- 10 GB of total user data storage per domain
- 25 item limit per `BatchPutAttributes` operation

See Also:
  `AmazonSimpleDB.batchPutAttributes(BatchPutAttributesRequest)`

Constructor Summary
`BatchPutAttributesRequest()` Default constructor for a new BatchPutAttributesRequest object.
`BatchPutAttributesRequest(String domainName, List<ReplaceableItem> items)` Constructs a new BatchPutAttributesRequest object.

Method Summary
`String` | `getDomainName()` The name of the domain to create.
`List<ReplaceableItem>` | `getItems()` A list of items on which to perform the operation.
`void` | `setDomainName(String domainName)` The name of the domain to create.
`void` | `setItems(Collection<ReplaceableItem> items)` A list of items on which to perform the operation.
`String` | `toString()` Returns a string representation of this object; useful for testing and debugging.
`BatchPutAttributesRequest` | `withDomainName(String domainName)` The name of the domain to create.
`BatchPutAttributesRequest` | `withItems(Collection<ReplaceableItem> items)` A list of items on which to perform the operation.
`BatchPutAttributesRequest` | `withItems(ReplaceableItem... items)` A list of items on which to perform the operation.

Methods inherited from class com.amazonaws.AmazonWebServiceRequest
`copyPrivateRequestParameters`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### BatchPutAttributesRequest

    public BatchPutAttributesRequest()

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

### BatchPutAttributesRequest

    public BatchPutAttributesRequest(String domainName,
                                     List<ReplaceableItem> items)

  Constructs a new BatchPutAttributesRequest object. Callers should use the setter or fluent setter (with...) methods to initialize any additional object members.

  Parameters:
    `domainName` - The name of the domain to create. The name can range between 3 and 255 characters and can contain the following characters: a-z, A-Z, 0-9, '_', '-', and '.'.
    `items` - A list of items on which to perform the operation.

Method Detail

### getDomainName

    public String getDomainName()

  The name of the domain to create. The name can range between 3 and 255 characters and can contain the following characters: a-z, A-Z, 0-9, '_', '-', and '.'.

  Returns:
    The name of the domain to create. The name can range between 3 and 255 characters and can contain the following characters: a-z, A-Z, 0-9, '_', '-', and '.'.

### setDomainName

    public void setDomainName(String domainName)

  The name of the domain to create. The name can range between 3 and 255 characters and can contain the following characters: a-z, A-Z, 0-9, '_', '-', and '.'.

  Parameters:
    `domainName` - The name of the domain to create. The name can range between 3 and 255 characters and can contain the following characters: a-z, A-Z, 0-9, '_', '-', and '.'.

### withDomainName

    public BatchPutAttributesRequest withDomainName(String domainName)

  The name of the domain to create. The name can range between 3 and 255 characters and can contain the following characters: a-z, A-Z, 0-9, '_', '-', and '.'.

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

  Parameters:
    `domainName` - The name of the domain to create. The name can range between 3 and 255 characters and can contain the following characters: a-z, A-Z, 0-9, '_', '-', and '.'.
  Returns:
    A reference to this updated object so that method calls can be chained together.

### getItems

    public List<ReplaceableItem> getItems()

  A list of items on which to perform the operation.

  Returns:
    A list of items on which to perform the operation.

### setItems

    public void setItems(Collection<ReplaceableItem> items)

  A list of items on which to perform the operation.

  Parameters:
    `items` - A list of items on which to perform the operation.

### withItems

    public BatchPutAttributesRequest withItems(ReplaceableItem... items)

  A list of items on which to perform the operation.

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

  Parameters:
    `items` - A list of items on which to perform the operation.
  Returns:
    A reference to this updated object so that method calls can be chained together.

### withItems

    public BatchPutAttributesRequest withItems(Collection<ReplaceableItem> items)

  A list of items on which to perform the operation.

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

  Parameters:
    `items` - A list of items on which to perform the operation.
  Returns:
    A reference to this updated object so that method calls can be chained together.

### toString

    public String toString()

  Returns a string representation of this object; useful for testing and debugging.

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

Overview | Package | Class | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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