【发布时间】:2021-02-07 13:51:57
【问题描述】:
总的来说,我是 Web 开发的新手。我使用弹性 beanstalk 设置了一个烧瓶应用程序,用于查询 dynamodb 表。当我在本地运行应用程序时,我可以看到 ConsumedReadCapacityUnits 飙升至 ~128,然后又回落。大概这代表了表的一个查询。但是,当我将应用程序作为应用程序部署到弹性 beanstalk 时,ConsumedReadCapacityUnits 会飙升至 400-800 ConsumedReadCapacityUnits 并保持在那里,即使我认为没有人在加载该应用程序也是如此。为什么会这样?弹性豆茎是否不断查询表?有没有办法让它不呢?
代码: https://github.com/kimberlymcm/flaskapp/
查询表函数
import boto3
from boto3.dynamodb.conditions import Key
dynamo_client = boto3.client('dynamodb', region_name='us-west-2')
def get_data(items=["pm1", "pm25", "pm10"]):
cols_to_extract = f"device_id, #time_taken"
for item in items:
cols_to_extract += f", payload.{item}"
response = dynamo_client.query(
ProjectionExpression=cols_to_extract,
ExpressionAttributeNames={"#time_taken": "time"},
KeyConditionExpression="device_id = :enviro",
ExpressionAttributeValues={":enviro" : {"S" : "enviro"}},
TableName='iot_table')
return response['Items']
【问题讨论】:
-
您的 EB 应用程序是否有任何来自 Internet 的请求会触发读取操作?一些健康检查呢? Mayeb R53 或 ALB 健康检查一直触发它?
-
我如何检查它是否是其中之一?我很难弄清楚请求的来源。
标签: flask amazon-dynamodb amazon-elastic-beanstalk