use*_*821 11 php database amazon-web-services nosql amazon-dynamodb
我想在php中写服务 -
1)DynamoDB将具有带有两列key和val的表t
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
要跟哪一个?
也有人可以给我快速示例和确切的语法.
提前致谢.
iSk*_*ore 32
完整的演练位于这里.它为您提供了凭证设置过程的逐步概述,并附带了一个易于使用的PHP SDK for AWS
AWS设置 - AWS没有按步骤设置您的凭据设置,所以我会.1.转到AWS并获取PUBLIC_KEY和PRIVATE_KEY
2.打开终端
3.如果您尚未创建凭据,请在终端的新页面中输入:
nano ~/.aws/credentials
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)5.输入后,按CONTROL + X(是...控制,而不是命令).
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'
]);
Run Code Online (Sandbox Code Playgroud)基本方法
描述表
$result = $client->describeTable(array(
'TableName' => '[Table_Name]'
));
echo $result;
Run Code Online (Sandbox Code Playgroud)放项目
$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;
Run Code Online (Sandbox Code Playgroud)获取物品
$response = $client->getItem(array(
'TableName' => '[Table_Name]',
'Key' => array(
'[Hash_Name]' => array('S' => '[Hash_Value]'),
'[Range_Name]' => array('S' => '[Range_Value]')
)
));
echo $response;
Run Code Online (Sandbox Code Playgroud)删除项目
$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;
Run Code Online (Sandbox Code Playgroud)查询项目
$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;
Run Code Online (Sandbox Code Playgroud)希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
15418 次 |
| 最近记录: |