Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python AWS Boto3“;TypeError:列表索引必须是整数或片,而不是str";_Python_Amazon Web Services_Amazon Cloudformation_Boto3 - Fatal编程技术网

Python AWS Boto3“;TypeError:列表索引必须是整数或片,而不是str";

Python AWS Boto3“;TypeError:列表索引必须是整数或片,而不是str";,python,amazon-web-services,amazon-cloudformation,boto3,Python,Amazon Web Services,Amazon Cloudformation,Boto3,我正在尝试获取CF堆栈列表,其中包含首选项“堆栈名称”、“堆栈状态”和“漂移信息” 我尝试了以下操作,但它抛出了一个错误 TypeError:列表索引必须是整数或片,而不是str 下面是响应语法 'StackSummaries': [ { 'StackId': 'string', 'StackName': 'string', 'TemplateDescription': 'string',

我正在尝试获取CF堆栈列表,其中包含首选项“堆栈名称”、“堆栈状态”和“漂移信息”

我尝试了以下操作,但它抛出了一个错误

TypeError:列表索引必须是整数或片,而不是str

下面是响应语法

   'StackSummaries': [
        {
            'StackId': 'string',
            'StackName': 'string',
            'TemplateDescription': 'string',
            'CreationTime': datetime(2015, 1, 1),
            'LastUpdatedTime': datetime(2015, 1, 1),
            'DeletionTime': datetime(2015, 1, 1),
            'StackStatus': 'CREATE_IN_PROGRESS'|'CREATE_FAILED'|'CREATE_COMPLETE'|'ROLLBACK_IN_PROGRESS'|'ROLLBACK_FAILED'|'ROLLBACK_COMPLETE'|'DELETE_IN_PROGRESS'|'DELETE_FAILED'|'DELETE_COMPLETE'|'UPDATE_IN_PROGRESS'|'UPDATE_COMPLETE_CLEANUP_IN_PROGRESS'|'UPDATE_COMPLETE'|'UPDATE_ROLLBACK_IN_PROGRESS'|'UPDATE_ROLLBACK_FAILED'|'UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS'|'UPDATE_ROLLBACK_COMPLETE'|'REVIEW_IN_PROGRESS',
            'StackStatusReason': 'string',
            'ParentId': 'string',
            'RootId': 'string'
        },
    ],
    'NextToken': 'string'
}
我只想列出以下项目的堆栈。 “堆栈名称”、“堆栈状态”和“漂移信息”。请对此进行指导

谢谢

更新:

import boto3
client = boto3.client('cloudformation')

response = client.list_stacks(
    )

for stack in response['StackSummaries']:

    stack_summary = stack['StackName']

    print(stack_summary)


它应该是以下内容:

list = response['StackSummaries'][0]['StackName']
StackSummaries
是一个数组

对于完整记录,如何在循环中执行:

for stack in response['StackSummaries']:

    stack_summary = stack['StackName']
p、 美国。
不要将
列表
用作变量名。

应为以下内容:

list = response['StackSummaries'][0]['StackName']
StackSummaries
是一个数组

对于完整记录,如何在循环中执行:

for stack in response['StackSummaries']:

    stack_summary = stack['StackName']
p、 美国。
不要使用
list
作为变量名。

返回指定堆栈的描述;如果未指定堆栈名称,则返回描述(使用“descripe_stacks”)


返回指定堆栈的描述;如果未指定堆栈名称,则返回描述(使用“descripe_stacks”)

导入boto3
client=bot3.client('cloudformation')
response=client.list_stacks()
对于响应中的堆栈['StackSummaries']:
stack_summary=stack['StackName']
stack_status=stack['StackStatus']
堆栈漂移状态=堆栈[“漂移信息”][“堆栈漂移状态”]
stack\u drift\u timestamp=stack['DriftInformation']['LastCheckTimestamp']
导入boto3
client=bot3.client('cloudformation')
response=client.list_stacks()
对于响应中的堆栈['StackSummaries']:
stack_summary=stack['StackName']
stack_status=stack['StackStatus']
堆栈漂移状态=堆栈[“漂移信息”][“堆栈漂移状态”]
stack\u drift\u timestamp=stack['DriftInformation']['LastCheckTimestamp']

谢谢,但它只打印第一个堆栈的名称。。。我的要求是,它必须列出所有的堆栈,只有它的名称、状态和信息。Thanks@user1562991我在答案中添加了循环。谢谢,我知道了名字。请协助添加另外两个值,“状态”和“漂移信息”。@user1562991您必须处理循环体中的堆栈摘要,而不是超出它的部分。是的,没错!我可以获得堆栈名称。请告诉我如何获得“堆栈状态”和“漂移信息”。谢谢,但它只打印第一个堆栈的名称。。。我的要求是,它必须列出所有的堆栈,只有它的名称、状态和信息。Thanks@user1562991我在答案中添加了循环。谢谢,我知道了名字。请协助添加另外两个值,“状态”和“漂移信息”。@user1562991您必须处理循环体中的堆栈摘要,而不是超出它的部分。是的,没错!我可以获得堆栈名称。请告诉我如何获得“堆栈状态”和“漂移信息”。ThanksTraceback(最后一次调用):文件“ListCF1.py”,第8行,在“StackDriftStatus”中:“DRIFTED”|“in_SYNC”|“UNKNOWN”|“NOT_CHECKED”,TypeError:“str”和“str”的操作数类型不受支持。我想这个答案把输出数据和输入参数搞混了。@JohnRotenstein急切地等待着你!!!请在这方面帮助我。根据Marcin的说法,我可以得到堆栈名。请协助获取状态和漂移信息。回溯(最近一次调用上次):文件“ListCF1.py”,第8行,在“StackFloftStatus”中:“漂移”|“同步”|“未知”|“未检查”,类型错误:不支持的操作数类型对于|:'str'和'str'我想这个答案把输出数据和输入参数搞混了。@JohnRotenstein拼命地等着你!!!请在这方面帮助我。根据Marcin的说法,我可以得到堆栈名。请协助获取状态和漂移信息。谢谢!回溯(最近一次调用last):文件“ListCF.py”,第12行,在stack\u drift\u timestamp=stack['driffinformation']['LastCheckTimestamp']KeyError:'LastCheckTimestamp'您需要调试返回的信息以确定原因。如果您使用
print(stack)
,您将看到返回响应的内容,您可以决定采取什么行动。可能没有填充给定堆栈的
LastCheckTimestamp
。如果您不需要这些信息,只需从程序中删除该行即可。谢谢!回溯(最近一次调用last):文件“ListCF.py”,第12行,在stack\u drift\u timestamp=stack['driffinformation']['LastCheckTimestamp']KeyError:'LastCheckTimestamp'您需要调试返回的信息以确定原因。如果您使用
print(stack)
,您将看到返回响应的内容,您可以决定采取什么行动。可能没有填充给定堆栈的
LastCheckTimestamp
。如果您不需要该信息,只需从程序中删除该行即可。