簡體   English   中英

BOTO3 使用 Python 獲取 EC2 列表的信息

[英]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> }}

我相信它不起作用,因為我無法使用Boto3describe_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM