有可能通過數據管道轉儲DynamoDb並在DynamoDb中導入數據。導入進行得很順利,但是所有時間數據都附加到DynamoDb中已存在的數據中。截斷DynamoDb或通過數據管道重寫數據
現在我找到了掃描DynamoDb並逐個刪除項目或通過批處理的工作示例。但無論如何,對於大量的數據來說,這並不是好的變體。
也可以根本刪除表並創建它。但是隨着這個變體索引將會丟失。
因此,最好的方法是通過數據管道導入或以某種方式截斷來覆蓋DynamoDb數據。有可能嗎?如果是的話,怎麼可能?
有可能通過數據管道轉儲DynamoDb並在DynamoDb中導入數據。導入進行得很順利,但是所有時間數據都附加到DynamoDb中已存在的數據中。截斷DynamoDb或通過數據管道重寫數據
現在我找到了掃描DynamoDb並逐個刪除項目或通過批處理的工作示例。但無論如何,對於大量的數據來說,這並不是好的變體。
也可以根本刪除表並創建它。但是隨着這個變體索引將會丟失。
因此,最好的方法是通過數據管道導入或以某種方式截斷來覆蓋DynamoDb數據。有可能嗎?如果是的話,怎麼可能?
截斷表功能在DynamoDB可用,所以笑納刪除表&再次創建,
原因:DynamoDB收費您可以根據您已經使用ReadCapacityUnits
& WriteCapacityUnits
。如果使用BatchWriteItem
函數刪除所有項目,則將使用WriteCapacityUnits
。因此,要保存這些WriteCapacityUnits
用於刪除項目,如果您截斷表格&將會更好地重新創建它。
步驟刪除&創建DynamoDB表如下:
aws dynamodb delete-table --table-name *tableName*
Delete Table via AmazonDynamoDB API:
樣品申請
POST/HTTP/1.1 Host: dynamodb.<region>.<domain>; Accept-Encoding: identity Content-Length: <PayloadSizeBytes> User-Agent: <UserAgentString> Content-Type: application/x-amz-json-1.0 Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=<Headers>, Signature=<Signature> X-Amz-Date: <Date> X-Amz-Target: DynamoDB_20120810.DeleteTable { "TableName": "Reply" }
Creating DynamoDB Table via AmazonDynamoDB API:
POST/HTTP/1.1 Host: dynamodb.<region>.<domain>; Accept-Encoding: identity Content-Length: <PayloadSizeBytes> User-Agent: <UserAgentString> Content-Type: application/x-amz-json-1.0 Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=<Headers>, Signature=<Signature> X-Amz-Date: <Date> X-Amz-Target: DynamoDB_20120810.CreateTable { "AttributeDefinitions": [ { "AttributeName": "ForumName", "AttributeType": "S" }, { "AttributeName": "Subject", "AttributeType": "S" }, { "AttributeName": "LastPostDateTime", "AttributeType": "S" } ], "TableName": "Thread", "KeySchema": [ { "AttributeName": "ForumName", "KeyType": "HASH" }, { "AttributeName": "Subject", "KeyType": "RANGE" } ], "LocalSecondaryIndexes": [ { "IndexName": "LastPostIndex", "KeySchema": [ { "AttributeName": "ForumName", "KeyType": "HASH" }, { "AttributeName": "LastPostDateTime", "KeyType": "RANGE" } ], "Projection": { "ProjectionType": "KEYS_ONLY" } } ], "ProvisionedThroughput": { "ReadCapacityUnits": 5, "WriteCapacityUnits": 5 } }
摘要:刪除表&再次創建這將是最好的解決辦法。
謝謝。所以 - 是的。現在刪除然後創建方法是最好的方法。之前當我通過cli命令創建新表時,我遇到了索引問題。但現在修好了,一切都很好。 –
可能的重複[刪除從亞馬遜dynamodb](http://stackoverflow.com/questions/15963833/deletion-from-amazon-dynamodb) – LuFFy