如何对 AWS CLI 的 AWS DynamoDB 进行速率限制扫描?
How to rate limit scan to AWS DynamoDB for AWS CLI?
我创建了以下查询来查询我的 table:
aws dynamodb scan --table-name TableName --scan-filter '{
"attributeName" : {
"AttributeValueList" : [ {"S" : "StringToQuery"}],
"ComparisonOperator" : "CONTAINS"
}
}'
这导致 table 的读取容量激增,这可能会导致客户请求受到限制。我在 https://docs.aws.amazon.com/cli/latest/reference/dynamodb/scan.html, but I did find a java script with rate limit : https://aws.amazon.com/blogs/developer/rate-limited-scans-in-amazon-dynamodb/
中找不到任何命令行选项来限制速率
有什么方法可以从 AWS CLI 做到这一点吗?
您可以禁用分页并使用 bash 循环手动进行分页调用。这样你就可以根据上一次调用所用的时间和消耗的读取容量来延迟一定的时间。
继续在我知道几乎总是 "Y" 的值上创建一个新索引,例如 isActive,并在查询顶部添加了一个过滤器。由于它是一个新索引,因此不会影响现有索引容量。
cementblocks 的回答也会减少消耗的 RCU,但我需要保证客户不会受到影响。
我创建了以下查询来查询我的 table:
aws dynamodb scan --table-name TableName --scan-filter '{
"attributeName" : {
"AttributeValueList" : [ {"S" : "StringToQuery"}],
"ComparisonOperator" : "CONTAINS"
}
}'
这导致 table 的读取容量激增,这可能会导致客户请求受到限制。我在 https://docs.aws.amazon.com/cli/latest/reference/dynamodb/scan.html, but I did find a java script with rate limit : https://aws.amazon.com/blogs/developer/rate-limited-scans-in-amazon-dynamodb/
中找不到任何命令行选项来限制速率有什么方法可以从 AWS CLI 做到这一点吗?
您可以禁用分页并使用 bash 循环手动进行分页调用。这样你就可以根据上一次调用所用的时间和消耗的读取容量来延迟一定的时间。
继续在我知道几乎总是 "Y" 的值上创建一个新索引,例如 isActive,并在查询顶部添加了一个过滤器。由于它是一个新索引,因此不会影响现有索引容量。
cementblocks 的回答也会减少消耗的 RCU,但我需要保证客户不会受到影响。