PHP Classes
elePHPant
Icontem

File: application/modules/extensions/aws/Aws/DynamoDb/DynamoDbClient.php

Recommend this page to a friend!
  Classes of Tran Tuan  >  Pretty PHP S3 Files Manager  >  application/modules/extensions/aws/Aws/DynamoDb/DynamoDbClient.php  >  Download  
File: application/modules/extensions/aws/Aws/DynamoDb/DynamoDbClient.php
Role: Application script
Content type: text/plain
Description: Application script
Class: Pretty PHP S3 Files Manager
Web based interface to manage files in Amazon S3
Author: By
Last change:
Date: 3 years ago
Size: 3,478 bytes
 

 

Contents

Class file image Download
<?php
namespace Aws\DynamoDb;

use
Aws\Api\Parser\Crc32ValidatingParser;
use
Aws\AwsClient;
use
Aws\ClientResolver;
use
Aws\HandlerList;
use
Aws\Middleware;
use
Aws\RetryMiddleware;

/**
 * This client is used to interact with the **Amazon DynamoDB** service.
 *
 * @method \Aws\Result batchGetItem(array $args = [])
 * @method \GuzzleHttp\Promise\Promise batchGetItemAsync(array $args = [])
 * @method \Aws\Result batchWriteItem(array $args = [])
 * @method \GuzzleHttp\Promise\Promise batchWriteItemAsync(array $args = [])
 * @method \Aws\Result createTable(array $args = [])
 * @method \GuzzleHttp\Promise\Promise createTableAsync(array $args = [])
 * @method \Aws\Result deleteItem(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteItemAsync(array $args = [])
 * @method \Aws\Result deleteTable(array $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteTableAsync(array $args = [])
 * @method \Aws\Result describeTable(array $args = [])
 * @method \GuzzleHttp\Promise\Promise describeTableAsync(array $args = [])
 * @method \Aws\Result getItem(array $args = [])
 * @method \GuzzleHttp\Promise\Promise getItemAsync(array $args = [])
 * @method \Aws\Result listTables(array $args = [])
 * @method \GuzzleHttp\Promise\Promise listTablesAsync(array $args = [])
 * @method \Aws\Result putItem(array $args = [])
 * @method \GuzzleHttp\Promise\Promise putItemAsync(array $args = [])
 * @method \Aws\Result query(array $args = [])
 * @method \GuzzleHttp\Promise\Promise queryAsync(array $args = [])
 * @method \Aws\Result scan(array $args = [])
 * @method \GuzzleHttp\Promise\Promise scanAsync(array $args = [])
 * @method \Aws\Result updateItem(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateItemAsync(array $args = [])
 * @method \Aws\Result updateTable(array $args = [])
 * @method \GuzzleHttp\Promise\Promise updateTableAsync(array $args = [])
 */
class DynamoDbClient extends AwsClient
{
    public static function
getArguments()
    {
       
$args = parent::getArguments();
       
$args['retries']['default'] = 11;
       
$args['retries']['fn'] = [__CLASS__, '_applyRetryConfig'];
       
$args['api_provider']['fn'] = [__CLASS__, '_applyApiProvider'];

        return
$args;
    }

   
/**
     * Convenience method for instantiating and registering the DynamoDB
     * Session handler with this DynamoDB client object.
     *
     * @param array $config Array of options for the session handler factory
     *
     * @return SessionHandler
     */
   
public function registerSessionHandler(array $config = [])
    {
       
$handler = SessionHandler::fromClient($this, $config);
       
$handler->register();

        return
$handler;
    }

   
/** @internal */
   
public static function _applyRetryConfig($value, array &$args, HandlerList $list)
    {
        if (!
$value) {
            return;
        }

       
$list->appendSign(
           
Middleware::retry(
               
RetryMiddleware::createDefaultDecider($value),
                function (
$retries) {
                    return
$retries
                       
? RetryMiddleware::exponentialDelay($retries) / 2
                       
: 0;
                }
            ),
           
'retry'
       
);
    }

   
/** @internal */
   
public static function _applyApiProvider($value, array &$args, HandlerList $list)
    {
       
ClientResolver::_apply_api_provider($value, $args, $list);
       
$args['parser'] = new Crc32ValidatingParser($args['parser']);
    }
}