Class WriteRequestBatchTransfer
Transfer logic for executing the write request batch
- Aws\DynamoDb\Model\BatchRequest\WriteRequestBatchTransfer implements Guzzle\Batch\BatchTransferInterface
Located at Aws/DynamoDb/Model/BatchRequest/WriteRequestBatchTransfer.php
Methods summary
-
public
__construct ( Aws\Common\Client\AwsClientInterface $client )
Constructs a transfer using the injected client
-
public
transfer ( array $batch )
Transfer an array of items
-
protected
performTransfer ( array $batch, Aws\DynamoDb\Exception\UnprocessedWriteRequestsException $unprocessedRequests )
Transfer a batch of requests and collect any unprocessed items
-
protected
prepareCommandsForBatchedItems ( array $batch )
Prepares an array of BatchWriteItem command objects for a given batch of items
-
protected
getUnprocessedRequestsFromCommands ( array $commands, Aws\DynamoDb\Exception\UnprocessedWriteRequestsException $unprocessedRequests )
Handles unprocessed items from the executed commands. Unprocessed items can be collected and thrown in an UnprocessedWriteRequestsException
-
protected
retryLargeRequest ( Guzzle\Http\Message\EntityEnclosingRequestInterface $request, Aws\DynamoDb\Exception\UnprocessedWriteRequestsException $unprocessedRequests )
Handles exceptions caused by the request being too large (over 1 MB). The response will have a status code of 413. In this case the batch should be split up into smaller batches and retried.
-
protected
handleUnprocessedRequestsAfterException ( Guzzle\Http\Message\EntityEnclosingRequestInterface $request, Aws\DynamoDb\Exception\UnprocessedWriteRequestsException $unprocessedRequests )
Handles unprocessed items if the entire batch was rejected due to exceeding the provisioned throughput
-
protected
convertResultsToUnprocessedRequests ( array $items )
Collects and creates unprocessed request objects from data collected from erroneous cases
Methods detail
Constructs a transfer using the injected client
Parameters
- $client
Aws\Common\Client\AwsClientInterface
$client
Transfer an array of items
Parameters
- $batch
array
$batch Array of items to transfer
Implementation of
protected
performTransfer( array $batch, Aws\DynamoDb\Exception\UnprocessedWriteRequestsException
$unprocessedRequests )
Transfer a batch of requests and collect any unprocessed items
Parameters
- $batch
array
$batch A batch of write requests- $unprocessedRequests
Aws\DynamoDb\Exception\UnprocessedWriteRequestsException
$unprocessedRequests Collection of unprocessed items
Throws
Prepares an array of BatchWriteItem command objects for a given batch of items
Parameters
- $batch
array
$batch A batch of write requests
Returns
array
protected
getUnprocessedRequestsFromCommands( array $commands, Aws\DynamoDb\Exception\UnprocessedWriteRequestsException
$unprocessedRequests )
Handles unprocessed items from the executed commands. Unprocessed items can be collected and thrown in an UnprocessedWriteRequestsException
Parameters
- $commands
array
$commands Array of commands- $unprocessedRequests
Aws\DynamoDb\Exception\UnprocessedWriteRequestsException
$unprocessedRequests Collection of unprocessed items
protected
retryLargeRequest( Guzzle\Http\Message\EntityEnclosingRequestInterface
$request, Aws\DynamoDb\Exception\UnprocessedWriteRequestsException
$unprocessedRequests )
Handles exceptions caused by the request being too large (over 1 MB). The response will have a status code of 413. In this case the batch should be split up into smaller batches and retried.
Parameters
- $request
Guzzle\Http\Message\EntityEnclosingRequestInterface
$request The failed request- $unprocessedRequests
Aws\DynamoDb\Exception\UnprocessedWriteRequestsException
$unprocessedRequests Collection of unprocessed items
protected
handleUnprocessedRequestsAfterException( Guzzle\Http\Message\EntityEnclosingRequestInterface
$request, Aws\DynamoDb\Exception\UnprocessedWriteRequestsException
$unprocessedRequests )
Handles unprocessed items if the entire batch was rejected due to exceeding the provisioned throughput
Parameters
- $request
Guzzle\Http\Message\EntityEnclosingRequestInterface
$request The failed request- $unprocessedRequests
Aws\DynamoDb\Exception\UnprocessedWriteRequestsException
$unprocessedRequests Collection of unprocessed items
Collects and creates unprocessed request objects from data collected from erroneous cases
Parameters
- $items
array
$items Data formatted under "RequestItems" or "UnprocessedItems" keys
Returns
array
Magic methods summary
Constants summary
integer |
BATCH_WRITE_MAX_SIZE |
25 |
#
The maximum number of items allowed in a BatchWriteItem operation |
Properties summary
protected
|
$client |
#
The DynamoDB client for doing transfers |