如何使用适用于PHP版本2的AWS开发工具包为SimpleDB进行有条件的放置

时间:2013-03-14 19:31:54

标签: php api amazon-simpledb

我有以下代码将新项目输入到SimpleDB的域中。我正在使用适用于PHP版本2的AWS开发工具包。

  $client->putAttributes(array(
     'DomainName' => $domainName,
     'ItemName'   => $uniqueid,
     'Attributes' => array(
         array('Name' => 'USER_ID', 'Value' => $uniqueid, 'Replace' => true),
         array('Name' => 'EMAIL', 'Value' => $email, 'Replace' => true),
         array('Name' => 'CREATED', 'Value' => $date, 'Replace' => true),
         array('Name' => 'LAST_UPDATED', 'Value' => $date, 'Replace' => true),
     )
  ));

我如何进行有条件的放置?我希望条件是EMAIL不存在。它是这样的: Expected.Name => EMAIL Expected.Exists =>错,但我不知道语法。

以下是API文档的链接。我不太了解他们实现这一点。 http://docs.aws.amazon.com/aws-sdk-php-2/latest/class-Aws.SimpleDb.SimpleDbClient.html#_putAttributes

谢谢!

1 个答案:

答案 0 :(得分:0)

这似乎有效。我现在得到条件检查失败错误。

$client->putAttributes(array(
    'DomainName' => $domainName,
    'ItemName'   => $uniqueid,
    'Attributes' => array(
        array('Name' => 'USER_ID', 'Value' => $uniqueid, 'Replace' => true),
        array('Name' => 'EMAIL', 'Value' => $email, 'Replace' => true),
        array('Name' => 'CREATED', 'Value' => $date, 'Replace' => true),
        array('Name' => 'LAST_UPDATED', 'Value' => $date, 'Replace' => true),
    ),
    'Expected' => array('Name' => 'EMAIL', 'Exists' => false),
));