【发布时间】:2019-08-12 05:38:58
【问题描述】:
我目前正在使用 Lambda 函数中的 boto3 开发工具包来检索有关部署在我的账户中的 Sagemaker Notebook 实例的各种信息(几乎 70 个,所以不多...)
我尝试执行的操作之一是列出每个实例的标签。
但是,有时返回标签需要很长时间:我的 Lambda 要么停止(我可以增加超时但仍然......)或 ThrottlingException 由 sagemaker.list_tags 函数引发(可以通过在创建 sagemaker boto3 客户端时增加重试次数来避免):
sagemaker = boto3.client("sagemaker", config=Config(retries = dict(max_attempts = 10)))
instances_dict = sagemaker.list_notebook_instances()
if not instances_dict['NotebookInstances']:
return "No Notebook Instances"
while instances_dict:
for instance in instances_dict['NotebookInstances']:
print instance['NotebookInstanceArn']
start = time.time()
tags_notebook_instance = sagemaker.list_tags(ResourceArn=instance['NotebookInstanceArn'])['Tags']
print (time.time() - start)
instances_dict = sagemaker.list_notebook_instances(NextToken=instances_dict['NextToken']) if 'NextToken' in instances_dict else None
如果你们有任何避免这种延误的想法:)
TY
【问题讨论】:
-
你认为“年龄”是什么? 10秒? 5 分钟?
-
你好@jarmod,我所说的“年龄”是指 10 秒,有时是 20 秒;)
标签: amazon-web-services aws-lambda boto3 amazon-sagemaker