AWS Code Sample
Catalog

MoviesScan.php

MoviesScan.php demonstrates how to

<?php /** * Copyright 2010-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * This file is licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. A copy of * the License is located at * * http://aws.amazon.com/apache2.0/ * * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License. */ require 'vendor/autoload.php'; date_default_timezone_set('UTC'); use Aws\DynamoDb\Exception\DynamoDbException; use Aws\DynamoDb\Marshaler; $sdk = new Aws\Sdk([ 'endpoint' => 'http://localhost:8000', 'region' => 'us-west-2', 'version' => 'latest' ]); $dynamodb = $sdk->createDynamoDb(); $marshaler = new Marshaler(); //Expression attribute values $eav = $marshaler->marshalJson(' { ":start_yr": 1950, ":end_yr": 1959 } '); $params = [ 'TableName' => 'Movies', 'ProjectionExpression' => '#yr, title, info.rating', 'FilterExpression' => '#yr between :start_yr and :end_yr', 'ExpressionAttributeNames'=> [ '#yr' => 'year' ], 'ExpressionAttributeValues'=> $eav ]; echo "Scanning Movies table.\n"; try { while (true) { $result = $dynamodb->scan($params); foreach ($result['Items'] as $i) { $movie = $marshaler->unmarshalItem($i); echo $movie['year'] . ': ' . $movie['title']; echo ' ... ' . $movie['info']['rating'] . "\n"; } if (isset($result['LastEvaluatedKey'])) { $params['ExclusiveStartKey'] = $result['LastEvaluatedKey']; } else { break; } } } catch (DynamoDbException $e) { echo "Unable to scan:\n"; echo $e->getMessage() . "\n"; } ?>

Sample Details

Service: dynamodb

Last tested:

Author: AWS

Type: full-example

On this page: