【发布时间】:2021-07-11 17:27:40
【问题描述】:
我有一个 python 脚本,其中我需要确定 ['Principal']['AWS'] 下的示例 json 输出中的任何列表是否包含根值。如果一个或多个字符串包含“root”,那么我会将变量 cross_acct 声明为“true”。
示例: arn:aws:iam::331265876530:root" -> 这包含“root”
我想我必须遍历一遍,然后检查列表中的每一个是否包含词根?您能否分享您对如何在我的代码中做到这一点的想法?谢谢!
这是代码将检查的示例 json 响应:
"Principal": {
"AWS": [
"arn:aws:iam::848764537201:root",
"arn:aws:iam::331265876530:root",
"arn:aws:iam::766754320382:role/Admin"
]
}
如果 json 响应不包含列表中的任何根(如下例所示),那么我们可以将 cross_acct 的值设置为 false。
"Principal": {
"AWS": [
"arn:aws:iam::848764537201:role/DBA",
"arn:aws:iam::766754320382:role/Admin"
]
}
谢谢!
【问题讨论】:
-
使用
any()函数。 -
any(s.endswith(":root") for s in ...)