/** * Factory method to create a new Amazon DynamoDB Streams client using an array of configuration options. * * See http://docs.aws.amazon.com/aws-sdk-php/v2/guide/configuration.html#client-configuration-options * * @param array|Collection $config Client configuration data * * @return self * @link http://docs.aws.amazon.com/aws-sdk-php/v2/guide/configuration.html#client-configuration-options */ public static function factory($config = array()) { // Configure the custom exponential backoff plugin for DynamoDB throttling $exceptionParser = new JsonQueryExceptionParser(); if (!isset($config[Options::BACKOFF])) { $config[Options::BACKOFF] = new BackoffPlugin(DynamoDbClient::createDynamoDbBackoffStrategy($exceptionParser)); } return ClientBuilder::factory(__NAMESPACE__)->setConfig($config)->setConfigDefaults(array(Options::VERSION => self::LATEST_API_VERSION, Options::SERVICE_DESCRIPTION => __DIR__ . '/Resources/dynamodbstreams-%s.php'))->setExceptionParser($exceptionParser)->build(); }