Retrieves one or more items and its attributes by performing a full scan of a table.
Provide a ScanFilter
to get more specific results.
Access
public
Parameters
Parameter |
Type |
Required |
Description |
---|---|---|---|
|
Optional |
An associative array of parameters that can have the following keys:
|
Returns
Type |
Description |
---|---|
A |
Examples
Scan the database for information.
Examples for Scan.
// Instantiate the class $dynamodb = new AmazonDynamoDB(); $table_name = 'my-table' . time(); #################################################################### # Create a new DynamoDB table $response = $dynamodb->create_table(array( 'TableName' => $table_name, 'KeySchema' => array( 'HashKeyElement' => array( 'AttributeName' => 'id', 'AttributeType' => AmazonDynamoDB::TYPE_NUMBER, ), 'RangeKeyElement' => array( 'AttributeName' => 'date', 'AttributeType' => AmazonDynamoDB::TYPE_NUMBER, ), ), 'ProvisionedThroughput' => array( 'ReadCapacityUnits' => 10, 'WriteCapacityUnits' => 5, ), )); var_dump($response->isOK()); if (!$response->isOK()) { die('Table creation failed.'); } // Sleep and poll during table creation do { sleep(1); $response = $dynamodb->describe_table(array( 'TableName' => $table_name )); } while ((string) $response->body->Table->TableStatus !== 'ACTIVE'); #################################################################### # Add data to the table // Add items to the batch $response = $dynamodb->batch_write_item(array( 'RequestItems' => array( $table_name => array( array( 'PutRequest' => array( 'Item' => $dynamodb->attributes(array( 'id' => 1, // Primary (Hash) Key 'date' => time(), 'key1' => 'value1', 'key2' => 'value2', 'key3' => array('sub-value1', 'sub-value2'), )) ) ), array( 'PutRequest' => array( 'Item' => $dynamodb->attributes(array( 'id' => 2, // Primary (Hash) Key 'date' => time(), 'key1' => 'value3', 'key2' => 'value4', 'key3' => array('sub-value1', 'sub-value2'), )) ) ), array( 'PutRequest' => array( 'Item' => $dynamodb->attributes(array( 'id' => 3, // Primary (Hash) Key 'date' => time(), 'key1' => 'value5', 'key2' => 'value6', 'key3' => array('sub-value1', 'sub-value2'), )) ) ), ) ) )); var_dump($response->isOK()); sleep(1); #################################################################### # Scan the database // Scan the database for matches $response = $dynamodb->scan(array( 'TableName' => $table_name, 'AttributesToGet' => array('id', 'key1', 'key2', 'key3'), 'ScanFilter' => array( 'key1' => array( 'ComparisonOperator' => AmazonDynamoDB::CONDITION_EQUAL, 'AttributeValueList' => array( array( AmazonDynamoDB::TYPE_STRING => 'value5' ) ) ), ) )); // Did we get back what we expected? var_dump((integer) $response->body->Items->id->{AmazonDynamoDB::TYPE_NUMBER}); #################################################################### # Query the database $response = $dynamodb->query(array( 'TableName' => $table_name, 'HashKeyValue' => array( AmazonDynamoDB::TYPE_NUMBER => '1' ), 'RangeKeyCondition' => array( 'ComparisonOperator' => AmazonDynamoDB::CONDITION_GREATER_THAN_OR_EQUAL, 'AttributeValueList' => array( array(AmazonDynamoDB::TYPE_NUMBER => '0') ), ) )); // Did we get back what we expected? var_dump((string) $response->body->Items->key1->{AmazonDynamoDB::TYPE_STRING}); #################################################################### # Deleting the table $response = $dynamodb->delete_table(array( 'TableName' => $table_name )); var_dump($response->isOK()); // Sleep and poll until table is deleted do { sleep(1); $response = $dynamodb->describe_table(array( 'TableName' => $table_name )); } while ((integer) $response->status !== 400);Result:
bool(true) bool(true) int(3) string(6) "value1" bool(true)
Source
Method defined in services/dynamodb.class.php | Toggle source view (12 lines) | View on GitHub