DynamoDB删除表完成状态

时间:2016-11-18 04:31:53

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

我正在使用Node中的以下Javascript删除DynamoDB中的表。

var params = {
    TableName : "MyTable"
};

dynamodb.deleteTable(params, function(err, data) {
    // Not really done yet...!
}); 

我需要知道该表何时被实际删除。回调并不表示这一点,因为在调用它时它仍处于删除过程中。有没有办法知道删除何时完成?

1 个答案:

答案 0 :(得分:3)

waitFor API可用于检查表格是否存在。

  

通过定期调用,等待tableNotExists状态   基础DynamoDB.describeTable()操作每20秒(at   最多25次)。

删除表并使用waitFor API检查表是否不存在的示例代码: -

var AWS = require("aws-sdk");

AWS.config.update({
    region : "us-west-2",
    endpoint : "http://localhost:8000"
});

var dynamodb = new AWS.DynamoDB();

var params = {
    TableName : "country"
};

var paramsWaitFor = {
    TableName : 'country' /* required */
};

function waitForTableNotExists() {
    dynamodb.waitFor('tableNotExists', paramsWaitFor, function(waitForErr,
            waitForData) {
        if (waitForErr) {
            console.log(waitForErr, waitForErr.stack); // an error occurred
        } else {
            console.log('Deleted ====>', JSON.stringify(waitForData, null, 2));
        }

    });

}

dynamodb.deleteTable(params, function(err, data) {
    if (err) {
        console.error("Unable to delete table. Error JSON:", JSON.stringify(
                err, null, 2));
    } else {
        console.log("Deleted table. Table description JSON:", JSON.stringify(
                data, null, 2));
        waitForTableNotExists();

    }
});