需要一个完整的phpo 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/latest/quick-start.html
要跟哪一个?
也有人可以给我快速示例和确切的语法.
提前致谢.
解决方法:
完整的演练位于HERE.它为您提供了凭证设置过程的逐步概述,并附带一个易于使用的添加到PHP SDK for AWS
AWS设置
– AWS没有按步骤设置您的凭据设置,所以我会.
> 1.转到AWS并获取PUBLIC_KEY和PRIVATE_KEY
> 2.打开终端
> 3.如果您尚未创建凭据,请在终端的新页面中输入:
nano ~/.aws/credentials
>纳米功能页面将打开.您将在顶部看到GNU nano 2.0.6 ….
> 4.在纳米页面内,输入:
[default]
aws_access_key_id = public_key_ABCDEFGHIJKLMNOPQRSTUVWXYZ
aws_secret_access_key = private_key_s0m3_CR42Y_l3tt3rS_i5y0ur53cr3tK3y
> 5.输入后,点击CONTROL X(是……控制,而不是命令).
> 6.按Y然后按ENTER
> 7.获取[AWS_SDK_PHP] [4]
> 8.转到您的Elastic Beanstalk
> 9.完成创建应用程序后,您会看到带有绿色检查的“概述”屏幕.查看侧面并点击配置.
> 10.在软件配置下 – >文档根目录:键入:/
> 11.在物业名称下 – > AWS_ACCESS_KEY_ID输入:[your_access_key]
> 12.在AWS_ACCESS_KEY_ID下是AWS_SECRET_KEY,输入:[your_secret_key]
> 13. PHP项目准备就绪后.将所有文件放入一个文件夹.将文件夹命名为[whatever],然后压缩[whatever]中的文件.不要压缩整个文件夹.仅压缩文件夹中的文件.如果其中一个文件包含index.php或index.html,则您的项目将显示在EBS默认URL上.
> 14.您的项目应称为Archive.zip(Mac).转到EBS,上传拉链,然后你去!全部使用AWS Setup完成!
AWS设置
> 1.将AWS_SDK_PHP放入空文件夹中
> 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'
]);
>数据类型
> S =字符串
> N =数字
> B =二进制
>基本方法
>描述表
$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;
希望这可以帮助.
标签:php,amazon-web-services,nosql,database,amazon-dynamodb 来源: https://codeday.me/bug/20191004/1852108.html