Я хочу написать сервис в php, где –
1) DynamoDB будет иметь таблицу t с двумя столбцами и val
2) Я проверю, существует ли какой-либо ключ в таблице t или нет.
3) Если существуют прочитанные данные .. если не существует, добавьте новый ключ-значение в таблицу t
Я проверял некоторые ссылки http://docs.aws.amazon.com/AWSSDKforPHP/latest/index.html#m=AmazonDynamoDB/put_item http://docs.aws.amazon.com/aws-sdk-php/guide/ последний / быстрый start.html
Какой из них следует?
Также может кто-то дать мне быстрый пример и точный синтаксис.
Заранее спасибо.
Полное пошаговое руководство находится ЗДЕСЬ . Он дает вам пошаговую схему процесса установки учетных данных и поставляется с простым в использовании добавлением к PHP SDK для AWS
AWS Setup – AWS не устанавливает настройки учетных данных, которые вы устанавливаете поэтапно, поэтому я буду.
1. Перейдите в AWS и получите свой PUBLIC_KEY и PRIVATE_KEY
2. Открыть терминал
3. Если вы еще не создали свои учетные данные, на новой странице терминала введите:
nano ~/.aws/credentials
nano
. Вы увидите GNU nano 2.0.6...
вверху. 4. Внутри страницы nano
введите:
[default] aws_access_key_id = public_key_ABCDEFGHIJKLMNOPQRSTUVWXYZ aws_secret_access_key = private_key_s0m3_CR42Y_l3tt3rS_i5y0ur53cr3tK3y
5. После того, как вы набрали его, нажмите CONTROL + X (Yes … Control, а не Command).
Настройка AWS
2. В верхней части файла, используя SDK ( index.php
или что-то еще), введите:
require 'aws/aws-autoloader.php'; date_default_timezone_set('America/New_York'); use Aws\DynamoDb\DynamoDbClient; $client = new DynamoDbClient([ 'profile' => 'default', 'region' => 'us-east-1', 'version' => 'latest' ]);
Основные методы
Описать таблицу
$result = $client->describeTable(array( 'TableName' => '[Table_Name]' )); echo $result;
Положить предмет
$response = $client->putItem(array( 'TableName' => '[Table_Name]', 'Item' => array( '[Hash_Name]' => array('S' => '[Hash_Value]'), '[Range_Name]' => array('S' => '[Range_Value]') ) )); //Echoing the response is only good to check if it was successful. Status: 200 = Success echo $response;
Получить элемент
$response = $client->getItem(array( 'TableName' => '[Table_Name]', 'Key' => array( '[Hash_Name]' => array('S' => '[Hash_Value]'), '[Range_Name]' => array('S' => '[Range_Value]') ) )); echo $response;
Удалить пункт
$response = $client->deleteItem(array( 'TableName' => '[Table_Name]', 'Key' => array( '[Hash_Name]' => array('S' => '[Hash_Value]'), '[Range_Name]' => array('S' => '[Range_Value]') ) )); //Echoing the response is only good to check if it was successful. Status: 200 = Success echo $response;
Элемент запроса
$response = $client->query(array( 'TableName' => '[Table_Name]', 'KeyConditionExpression' => '[Hash_Name] = :v_hash and [Range_Name] = :v_range', 'ExpressionAttributeValues' => array ( ':v_hash' => array('S' => '[Hash_Value]'), ':v_range' => array('S' => '[Range_Value]') ) )); echo $response;
Надеюсь это поможет.
Вы можете следовать примеру: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSILowLevelPHP.Example.html
или вы также можете следовать рекомендациям:
http://docs.aws.amazon.com/aws-sdk-php/latest/class-Aws.DynamoDb.DynamoDbClient.html
Это меня много обошлось
Я нашел это основное пошаговое руководство довольно полезным:
http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/SampleData.html