gpt4 book ai didi

php - 检查 DynamoDB 中是否存在表的最佳方法是什么?

转载 作者:可可西里 更新时间:2023-10-31 23:03:35 26 4
gpt4 key购买 nike

检查表是否存在于 DynamoDb 中的最佳方法是什么?

如果代码是用 PHP 编写的,我将不胜感激。

无论是否活跃。

* 稍后作为示例添加到错误代码 400 的各种情况

检查表是否存在非常容易,它可以有以下之一TableStatus => CREATING, ACTIVE, DELETING or UPDATING

但如果我收到错误 400,它可能意味着不止一件事。

1) 错误地将空字符串作为表名发送。

[x-aws-body] => {"TableName":""} )

[body] => CFSimpleXML Object
(
[__type] => com.amazon.coral.validate#ValidationException
[message] => The paramater 'tableName' must be at least 3 characters long and at most 255 characters long
)

[status] => 400

2) 发送到 DynamoDB 的命令中存在语法错误,例如写入 tabel_name 而不是 table_name。

[x-aws-body] => {"TabelName":"test7"} )

[body] => CFSimpleXML Object
(
[__type] => com.amazon.coral.validate#ValidationException
[message] => The paramater 'tableName' is required but was not present in the request
)

[status] => 400

3) 我会猜测但没有检查,如果我同时超过了表上的配置容量。

最佳答案

你可以看看官方PHP SDK的“describe_table”。 400 表示“不存在” 官方文档中有一个相当广泛的示例。查看它在底部的“删除”示例中的使用方式。

http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/LowLevelPHPTableOperationsExample.html

这是文档中的(剥离的)示例

<?php
require_once dirname(__FILE__) . '/sdk/sdk.class.php';

$dynamodb = new AmazonDynamoDB();
$table_name = 'ExampleTable';
$response = $dynamodb->describe_table(array('TableName' => $table_name));

if((integer) $response->status !== 400)
{
$error_type = $response->body->__type;
$error_code = explode('#', $error_type)[1];
if($error_code == 'ResourceNotFoundException')
{
echo "Table ".$table_name." exists.";
}
}
?>

关于php - 检查 DynamoDB 中是否存在表的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12276588/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com