【问题标题】:AWS SDK for PHP DynamoDB PutItem for non null variables only适用于 PHP DynamoDB PutItem 的 AWS 开发工具包仅适用于非空变量
【发布时间】:2015-05-21 15:01:46
【问题描述】:

我正在将变量从数组插入 AWS DynamoDB $dbf[$a]['variable1'], $dbf[$a]['variable2'], $dbf[$a]['variable3'] ...

对于某些 $a,只设置了 'variable1' 和 'variable2',并且 对于其他 $a,所有 'variable#' 都已设置。

下面的代码不起作用,因为 Null 或未设置的变量不是 允许。

循环中有没有办法只尝试“PutItem”设置变量?

foreach($dbf as $day)
{
$result = $client->PutItem(array(
    'TableName' => 'AWIS',
    'Item' => array(
        'id' => array('S' =>  $day['id']),
        'date'=> array('S' => $day['date']),
       'max'=> array('N' => $day['max']),
       'min'=> array('N' => $day['min']),
       'pre'=> array('N' => $day['pre']),
       'max_soil_temp'=> array('N' => $day['max_soil_temp']),
       'min_soil_temp'=> array('N' => $day['min_soil_temp']),
       'evap'=> array('N' => $day['evap']),
       'veg_wetting'=> array('N' => $day['veg_wetting']),
       'solar_rad'=> array('N' => $day['solar_rad']),
       'ob_temp'=> array('N' => $day['ob_temp']),
       'adj_min'=> array('N' => $day['adj_min']),
       'chill_hours'=> array('N' => $day['chill_hours'])
                 ),
                           ));
}

【问题讨论】:

    标签: php amazon-web-services sdk amazon-dynamodb


    【解决方案1】:

    你可能会这样做:

    if ($yourValue) {
            $params['yourKey'] = array(
                'Action' => 'PUT',
                'Value' => array(
                    Type::STRING => $yourValue
                )
            );
        }
    
    $response = $Client->updateItem(array(
                "TableName" => "tableName",
                "Key" => array(
                    "Id" => array(
                        Type::STRING => $Id
                    )
                ),
                "AttributeUpdates" => $params
                    )
            ); 
    

    设置循环中可用的所有参数,并且只更新那些可用的值

    希望有帮助

    【讨论】:

      猜你喜欢
      • 2013-03-21
      • 2014-12-05
      • 1970-01-01
      • 1970-01-01
      • 2015-05-29
      • 2020-07-30
      • 2012-05-04
      • 2019-04-04
      • 1970-01-01
      相关资源
      最近更新 更多