waitFor
APIを使用すると、テーブルが存在しないかどうかを確認できます。
tableNotExists状態を待ち、定期的に 基礎となるDynamoDB.describeTable()操作ごとに20秒( ほとんど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();
}
});
うわー、ビルドサーバー上の私の首を救いました。ありがとう。 –