我已经使用AWS ECS创建了一些集群来运行我的工作流程。到目前为止,我一直在通过Terraform和控制台的组合来管理它们的供应/任务定义。
今天,我想使用boto3
为已经在运行的任务添加一些逻辑检查。但是,当我尝试列出集群时,客户端返回一个空列表:
session = boto3.Session(profile_name='default')
client = session.client('ecs')
print(client.list_clusters())
{'clusterArns':[],'ResponseMetadata':{'RequestId': 'XXX','HTTPStatusCode':200, 'HTTPHeaders':{'x-amzn-requestid': 'XXX','content-type': 'application / x-amz-json-1.1','content-length':'18','date':'Fri,18 2019年1月15:09:33 GMT'},'RetryAttempts':0}}
这让我感到困惑,因为我确保使用默认配置文件,并且当我登录到ECS控制台时,我看到了群集(还有更多,但我只显示了一个):
此外,我能够毫无问题地列出我的所有S3存储桶:
s3 = boto3.resource('s3')
for bucket in s3.buckets.all():
print(bucket.name)
以上代码返回了我的S3存储桶的完整列表。我已经通读了ECS boto3
的文档,但是对于为什么找不到我的集群感到困惑。
答案 0 :(得分:1)
检查默认配置文件的区域,并确保其与创建测试群集的位置匹配。