SIGN IN SIGN UP

Welcome to the AWS Code Examples Repository. This repo contains code examples used in the AWS documentation, AWS SDK Developer Guides, and more. For more information, see the Readme.md file below.

0 0 26 Java
2019-01-22 21:23:06 +00:00
<?php
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
// snippet-start:[dynamodb.php.codeexample.SampleDataLoad]
require 'vendor/autoload.php';
date_default_timezone_set('UTC');
use Aws\DynamoDb\Exception\DynamoDbException;
$sdk = new Aws\Sdk([
'region' => 'us-west-2',
'version' => 'latest'
]);
$dynamodb = $sdk->createDynamoDb();
# Setup some local variables for dates
$oneDayAgo = date('Y-m-d H:i:s', strtotime('-1 days'));
$sevenDaysAgo = date('Y-m-d H:i:s', strtotime('-7 days'));
$fourteenDaysAgo = date('Y-m-d H:i:s', strtotime('-14 days'));
$twentyOneDaysAgo = date('Y-m-d H:i:s', strtotime('-21 days'));
$tableName = 'ProductCatalog';
echo "Adding data to the $tableName table...\n";
try {
$response = $dynamodb->batchWriteItem([
'RequestItems' => [
$tableName => [
[
'PutRequest' => [
'Item' => [
'Id' => ['N' => '1101'],
'Title' => ['S' => 'Book 101 Title'],
'ISBN' => ['S' => '111-1111111111'],
'Authors' => ['SS' => ['Author1']],
'Price' => ['N' => '2'],
'Dimensions' => ['S' => '8.5 x 11.0 x 0.5'],
'PageCount' => ['N' => '500'],
'InPublication' => ['N' => '1'],
'ProductCategory' => ['S' => 'Book']
]
],
],
[
'PutRequest' => [
'Item' => [
'Id' => ['N' => '102'],
'Title' => ['S' => 'Book 102 Title'],
'ISBN' => ['S' => '222-2222222222'],
'Authors' => ['SS' => ['Author1', 'Author2']],
'Price' => ['N' => '20'],
'Dimensions' => ['S' => '8.5 x 11.0 x 0.8'],
'PageCount' => ['N' => '600'],
'InPublication' => ['N' => '1'],
'ProductCategory' => ['S' => 'Book']
]
],
],
[
'PutRequest' => [
'Item' => [
'Id' => ['N' => '103'],
'Title' => ['S' => 'Book 103 Title'],
'ISBN' => ['S' => '333-3333333333'],
'Authors' => ['SS' => ['Author1', 'Author2']],
'Price' => ['N' => '2000'],
'Dimensions' => ['S' => '8.5 x 11.0 x 1.5'],
'PageCount' => ['N' => '600'],
'InPublication' => ['N' => '0'],
'ProductCategory' => ['S' => 'Book']
]
],
],
[
'PutRequest' => [
'Item' => [
'Id' => ['N' => '201'],
'Title' => ['S' => '18-Bike-201'],
'Description' => ['S' => '201 Description'],
'BicycleType' => ['S' => 'Road'],
'Brand' => ['S' => 'Mountain A'],
'Price' => ['N' => '100'],
'Color' => ['SS' => ['Red', 'Black']],
'ProductCategory' => ['S' => 'Bicycle']
]
],
],
[
'PutRequest' => [
'Item' => [
'Id' => ['N' => '202'],
'Title' => ['S' => '21-Bike-202'],
'Description' => ['S' => '202 Description'],
'BicycleType' => ['S' => 'Road'],
'Brand' => ['S' => 'Brand-Company A'],
'Price' => ['N' => '200'],
'Color' => ['SS' => ['Green', 'Black']],
'ProductCategory' => ['S' => 'Bicycle']
]
],
],
[
'PutRequest' => [
'Item' => [
'Id' => ['N' => '203'],
'Title' => ['S' => '19-Bike-203'],
'Description' => ['S' => '203 Description'],
'BicycleType' => ['S' => 'Road'],
'Brand' => ['S' => 'Brand-Company B'],
'Price' => ['N' => '300'],
'Color' => ['SS' => ['Red', 'Green', 'Black']],
'ProductCategory' => ['S' => 'Bicycle']
]
],
],
[
'PutRequest' => [
'Item' => [
'Id' => ['N' => '204'],
'Title' => ['S' => '18-Bike-204'],
'Description' => ['S' => '204 Description'],
'BicycleType' => ['S' => 'Mountain'],
'Brand' => ['S' => 'Brand-Company B'],
'Price' => ['N' => '400'],
'Color' => ['SS' => ['Red']],
'ProductCategory' => ['S' => 'Bicycle']
]
],
],
[
'PutRequest' => [
'Item' => [
'Id' => ['N' => '205'],
'Title' => ['S' => '20-Bike-205'],
'Description' => ['S' => '205 Description'],
'BicycleType' => ['S' => 'Hybrid'],
'Brand' => ['S' => 'Brand-Company C'],
'Price' => ['N' => '500'],
'Color' => ['SS' => ['Red', 'Black']],
'ProductCategory' => ['S' => 'Bicycle']
]
]
]
],
],
]);
echo "done.\n";
} catch (DynamoDbException $e) {
echo $e->getMessage() . "\n";
exit("Unable to load data into $tableName\n");
}
$tableName = 'Forum';
echo "Adding data to the $tableName table...\n";
try {
$response = $dynamodb->batchWriteItem([
'RequestItems' => [
$tableName => [
[
'PutRequest' => [
'Item' => [
'Name' => ['S' => 'Amazon DynamoDB'],
'Category' => ['S' => 'Amazon Web Services'],
'Threads' => ['N' => '0'],
'Messages' => ['N' => '0'],
'Views' => ['N' => '1000']
]
]
],
[
'PutRequest' => [
'Item' => [
'Name' => ['S' => 'Amazon S3'],
'Category' => ['S' => 'Amazon Web Services'],
'Threads' => ['N' => '0']
]
]
],
]
]
]);
echo "done.\n";
} catch (DynamoDbException $e) {
echo $e->getMessage() . "\n";
exit("Unable to load data into $tableName\n");
}
$tableName = 'Thread';
echo "Adding data to the $tableName table...\n";
try {
$response = $dynamodb->batchWriteItem([
'RequestItems' => [
$tableName => [
[
'PutRequest' => [
'Item' => [
'ForumName' => ['S' => 'Amazon DynamoDB'],
'Subject' => ['S' => 'DynamoDB Thread 1'],
'Message' => ['S' => 'DynamoDB thread 1 message'],
'LastPostedBy' => ['S' => 'User A'],
'LastPostedDateTime' => ['S' => $fourteenDaysAgo],
'Views' => ['N' => '0'],
'Replies' => ['N' => '0'],
'Answered' => ['N' => '0'],
'Tags' => ['SS' => ['index', 'primarykey', 'table']]
]
],
'PutRequest' => [
'Item' => [
'ForumName' => ['S' => 'Amazon DynamoDB'],
'Subject' => ['S' => 'DynamoDB Thread 2'],
'Message' => ['S' => 'DynamoDB thread 2 message'],
'LastPostedBy' => ['S' => 'User A'],
'LastPostedDateTime' => ['S' => $twentyOneDaysAgo],
'Views' => ['N' => '0'],
'Replies' => ['N' => '0'],
'Answered' => ['N' => '0'],
'Tags' => ['SS' => ['index', 'partitionkey', 'sortkey']]
]
],
'PutRequest' => [
'Item' => [
'ForumName' => ['S' => 'Amazon S3'],
'Subject' => ['S' => 'S3 Thread 1'],
'Message' => ['S' => 'S3 Thread 3 message'],
'LastPostedBy' => ['S' => 'User A'],
'LastPostedDateTime' => ['S' => $sevenDaysAgo],
'Views' => ['N' => '0'],
'Replies' => ['N' => '0'],
'Answered' => ['N' => '0'],
'Tags' => ['SS' => ['largeobjects', 'multipart upload']]
]
]
]
]
]
]);
echo "done.\n";
} catch (DynamoDbException $e) {
echo $e->getMessage() . "\n";
exit("Unable to load data into $tableName\n");
}
$tableName = 'Reply';
echo "Adding data to the $tableName table...\n";
try {
$response = $dynamodb->batchWriteItem([
'RequestItems' => [
$tableName => [
[
'PutRequest' => [
'Item' => [
'Id' => ['S' => 'Amazon DynamoDB#DynamoDB Thread 1'],
'ReplyDateTime' => ['S' => $fourteenDaysAgo],
'Message' => ['S' => 'DynamoDB Thread 1 Reply 2 text'],
'PostedBy' => ['S' => 'User B']
]
]
],
[
'PutRequest' => [
'Item' => [
'Id' => ['S' => 'Amazon DynamoDB#DynamoDB Thread 2'],
'ReplyDateTime' => ['S' => $twentyOneDaysAgo],
'Message' => ['S' => 'DynamoDB Thread 2 Reply 3 text'],
'PostedBy' => ['S' => 'User B']
]
]
],
[
'PutRequest' => [
'Item' => [
'Id' => ['S' => 'Amazon DynamoDB#DynamoDB Thread 2'],
'ReplyDateTime' => ['S' => $sevenDaysAgo],
'Message' => ['S' => 'DynamoDB Thread 2 Reply 2 text'],
'PostedBy' => ['S' => 'User A']
]
]
],
[
'PutRequest' => [
'Item' => [
'Id' => ['S' => 'Amazon DynamoDB#DynamoDB Thread 2'],
'ReplyDateTime' => ['S' => $oneDayAgo],
'Message' => ['S' => 'DynamoDB Thread 2 Reply 1 text'],
'PostedBy' => ['S' => 'User A']
]
]
]
],
]
]);
echo "done.\n";
} catch (DynamoDbException $e) {
echo $e->getMessage() . "\n";
exit("Unable to load data into $tableName\n");
}
// snippet-end:[dynamodb.php.codeexample.SampleDataLoad]