[英]BOTO3 using Python to fetch information of a list of EC2
我正在嘗試使用Python + Boto3從.csv上的EC2列表中編譯信息。
這個.csv包含這些實例的私有IP 。 以下命令返回我需要的所有內容:
aws ec2 describe-network-interfaces --filters Name=addresses.private-ip-address,Values="<PRIVATE IP>" --region <MY REGION>
所以我決定使用Boto3來做類似的事情。
但是我的代碼沒有返回字典中的信息,因為我無法在代碼中指定區域。
該文檔允許我指定可用區,但它不僅可以工作。
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
指定區域。 但我可以使用AWS CLI命令來完成。
有什么建議么?
OBS: popen 對於當前的項目來說不是一個好主意。
提前致謝。
您可以在客戶端級別設置區域,例如:
my_region = "us-east-1"
ec2 = boto3.client('ec2', region_name=my_region)
這在我的環境中成功地獲取了有關在另一個區域運行的系統的信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.