【发布时间】:2021-07-15 16:09:21
【问题描述】:
所以我一直在尝试在 python 函数中使用 for 循环,但它一直抛出错误:
"errorMessage": "'dict' object is not callable","errorType": "TypeError"
我正在尝试使用 lambda 函数遍历 aws 工作区,以使用状态检测不健康的工作区,并且由于 'describe_workspaces' api 的响应是一个字典,我无法弄清楚如何进行迭代。
下面是我的代码
import json
import boto3
client = boto3.client('workspaces')
def lambda_handler(event, context):
response = client.describe_workspaces(
WorkspaceIds = ['ws-8hy50vsm0','ws-jx4zr56wv','ws-08qhmql31']
)
print(response)
for i in response['Workspaces']:
if(i['State']== 'STOPPED'):
print(i['WorkspaceId'])
client.start_workspaces(i['WorkspaceId'])
【问题讨论】:
-
现在,错误在
for i in response('Workspaces'):。即使我删除client.reboot_workspaces(i['WorkspaceId'])并仅打印该值,它也会抛出相同的错误。 -
啊,好的。在这种情况下,请查看
response,它可能是dict。也许你想要reponse['Workspaces'],即方括号而不是圆括号? -
好的,谢谢。它奏效了。
标签: python amazon-web-services aws-lambda boto3