kenxudk/yii2-dynamodb

AWS DynamnoDB 逻辑查询

1.0.1 2022-10-09 07:24 UTC

This package is auto-updated.

Last update: 2024-09-09 11:29:23 UTC


README

996.icu

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();