我有下面的脚本,可以启动工作区,但是它得到了前25个工作区,尽管它是可用的或停止状态的。
我在我的环境中运行了25个以上的工作区,并且我试图弄清楚我需要在其中添加什么,以便检查我的环境中的所有工作区(50<),并启动处于停止状态的工作区。
我期待着听到你的反馈。
谢谢
import boto3
workspaces = boto3.client('workspaces')
def lambda_handler(event, context):
workspaces_client_list = workspaces.describe_workspaces()
for workspaces_info in workspaces_client_list['Workspaces']:
workspace_id = workspaces_info['WorkspaceId']
workspace_state = workspaces_info['State']
if workspace_state == 'STOPPED':
start_workspaces(workspace_id)
def start_workspaces(workspace_id):
workspaces.start_workspaces(
StartWorkspaceRequests = [
{
'WorkspaceId': workspace_id
},
]
)
发布于 2021-11-19 08:57:59
文件说明,可以在请求参数中提供Limit。
限制返回的最大项数。 类型:整数 有效范围:最小值1。最大值25。 要求:否
您只得到25项,因为这是您可以获得的最大项目数。要获得所有项目,您必须签入任何响应是否存在NextToken。如果有下一个令牌,您必须在下一个请求中使用它,则迭代它,直到没有下一个令牌为止。
def lambda_handler(event, context):
workspaces_client_list = get_all_workspaces()
for workspaces_info in workspaces_client_list:
workspace_id = workspaces_info['WorkspaceId']
workspace_state = workspaces_info['State']
if workspace_state == 'STOPPED':
start_workspaces(workspace_id)
def get_all_workspaces():
response = workspaces.describe_workspaces()
workspaces_client_list = response['Workspaces']
while "NextToken" in response:
response = workspaces.describe_workspaces(NextToken=response['NextToken'])
workspaces_client_list.extend(response['Workspaces'])
return workspaces_client_list https://stackoverflow.com/questions/70028429
复制相似问题