kenxudk / yii2-dynamodb
AWS DynamnoDB 逻辑查询
1.0.1
2022-10-09 07:24 UTC
Requires
- php: >=7.0
- aws/aws-sdk-php: ^3.238
This package is auto-updated.
Last update: 2024-09-09 11:29:23 UTC
README
yii2-dynamodb
A aws dynamodb 插入、删除、更新、选择包(一个简单的aws dynamnoDB 链路操作封装类)
composer
composer require kenxudk/yii2-dynamodb
description
因为我使用了YII2框架,日志使用的是yii,并且AWS包放在vender下面,这个类的配置文件在params.php中,如下:
因为我使用的时YII2框架,所以日志用的是yii的,并且AWS包放在vender下面,这个类的配置文件在params.php里面,如下:
'aws'=>[
'region'=>'ap-southeast-1',
'version'=>'',
'key'=>"",
'secret'=>"",
],
简单使用
TABLE_NAME 是你使用的表名,TABLE_INDEX 是当前使用的索引名称(说明)
添加
$result = Dynamodb::table(TABLE_NAME)->insert($data);
更新
$expressValue = $updata = $expressName = [];
$i = 0;
foreach ($up_arr as $key => $value) {
$f = '#f'.$i;
$v = ':v'.$i;
$expressName[$f] = $key;
$updata[] = [$f,$v];
$expressValue[$v] = $value;
$i++;
}
$result = KmDynamodb::table(TABLE_NAME)->expressValue($expressValue)->kWhere(['pk_id'=>$primary_key])->expressName($expressName)->update($updata);
选择
使用主键获取多个(batchGetItem)
$keys = [];
foreach ($primary_keys as $primary_key) {
$keys[] = ['kid' => $primary_key];
}
$feeds = Dynamodb::table(TABLE_NAME)->kWhere($keys)->order(true)->ones();
使用主键获取一个(getItem)
Dynamodb::table(TABLE_NAME)->kWhere(['kid'=>$primary_key])->one();
查询
Dynamodb::table(TABLE_NAME,TABLE_INDEX)->kWhere('kid=:v')
->expressValue([':v'=>$primary_key])->limit(10,[])->query();
删除
Dynamodb::table(TABLE_NAME)->kWhere(['kid'=>$primary_key])->delete();