【发布时间】:2021-03-13 04:16:22
【问题描述】:
我正在尝试使用 Python + Boto3 从 .csv 上的 EC2 列表中编译信息。
此 .csv 包含这些实例的私有 IP。以下命令返回我需要的所有内容:
aws ec2 describe-network-interfaces --filters Name=addresses.private-ip-address,Values="<PRIVATE IP>" --region <MY REGION>
所以我决定使用 Boto3 来做类似的事情。
但我的代码没有返回字典中的信息,因为我无法在代码中指定 Region。
文档允许我指定可用区,但它不仅可以工作。
ec2 = boto3.client('ec2')
describe_network_interfaces = ec2.describe_network_interfaces(
Filters=[
{
'Name': 'addresses.private-ip-address',
'Values': [
'<PRIVATE IP>'
],
'Name': 'availability-zone',
'Values': [
'<REGION>'
]
}
],
MaxResults=123
)
print(describe_network_interfaces)
☝️ 这返回给我这个????
{'NetworkInterfaces': [], 'ResponseMetadata': { <LOTS OF METADATA> }}
我认为它不起作用,因为我无法使用 Boto3 的 describe_network_interfaces 指定 Region。但我可以使用 AWS CLI 命令来完成。
有什么建议吗?
OBS:popen 对于当前的项目来说不是一个好主意。
提前致谢。
【问题讨论】:
-
您可以在创建客户端时指定区域。 region_name='us-west-2'
标签: python amazon-web-services amazon-ec2 boto3