コード例 #1
0
 public function testDeleteExpected()
 {
     $id = intval(getenv('ITEM_ID'));
     $item = new Item(getenv('DY_TABLE'));
     $item['id'] = $id;
     $item['name'] = 'test';
     $item['strings'] = array('test1', 'test2');
     $item['numbers'] = array(4, 5, 6);
     $this->conn->put($item);
     $expected = new Expected();
     $expected['name'] = new ExpectedAttribute('test');
     $expected['non_existent'] = new ExpectedAttribute(false);
     $context = new Context\Delete();
     $context->setExpected($expected);
     $context->setReturnValues(ReturnValue::ALL_OLD);
     $attributes = $this->conn->delete(getenv('DY_TABLE'), $id, null, $context);
     $this->assertNotNull($attributes);
 }
コード例 #2
0
 /**
  * Delete an item via the delete_item call
  * @param string $table The item table
  * @param mixed $hash The primary hash key
  * @param mixed|null $range The primary range key
  * @param Context\Delete|null $context The call context
  * @return array|null
  */
 public function delete($table, $hash, $range = null, Context\Delete $context = null)
 {
     if (null !== $this->logger) {
         $this->log('Delete on table ' . $table);
     }
     // Primary key
     $hash = new Attribute($hash);
     $key = array('HashKeyElement' => $hash->getForDynamoDB());
     // Range key
     if (null !== $range) {
         $range = new Attribute($range);
         $key['RangeKeyElement'] = $range->getForDynamoDB();
     }
     $parameters = array('TableName' => $table, 'Key' => $key);
     if (null !== $context) {
         $parameters += $context->getForDynamoDB();
     }
     if (null !== $this->logger) {
         $this->log('Delete request paramaters : ' . print_r($parameters, true), Logger::DEBUG);
     }
     $response = $this->connector->deleteItem($parameters);
     if (null !== $this->logger) {
         $this->log('Delete request response : ' . print_r($response, true), Logger::DEBUG);
     }
     // Update write counter
     $this->addConsumedWriteUnits($table, floatval($response['ConsumedCapacityUnits']));
     return $this->populateAttributes($response);
 }