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
-
publictransfer ( array $batch )Transfer an array of items
-
protectedperformTransfer ( array $batch, Aws\DynamoDb\Exception\UnprocessedWriteRequestsException $unprocessedRequests )Transfer a batch of requests and collect any unprocessed items
-
protectedprepareCommandsForBatchedItems ( array $batch )Prepares an array of BatchWriteItem command objects for a given batch of items
-
protectedgetUnprocessedRequestsFromCommands ( array $commands, Aws\DynamoDb\Exception\UnprocessedWriteRequestsException $unprocessedRequests )Handles unprocessed items from the executed commands. Unprocessed items can be collected and thrown in an UnprocessedWriteRequestsException
-
protectedretryLargeRequest ( 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.
-
protectedhandleUnprocessedRequestsAfterException ( 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
-
protectedconvertResultsToUnprocessedRequests ( 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
arrayMagic 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 |