如何使用 boto3 获取 VPC 的流日志 ID

How to get flow log IDs for a VPC using boto3

在 boto3 中有一个为 VPC 创建流日志的命令:

client = session.client("ec2") client.create_flow_logs(...)

这 returns,除其他外,流日志 ID。假设这个ID没有被用户保存,现在用户想删除那个创建的流日志。如何做到这一点?

client.delete_flow_logs 将要删除的流日志 ID 作为参数,但是如何获取这些 ID?

client.describe_flow_logs 也将流日志 ID 作为参数。

client.describe_vpcs 没有 return 任何关于流日志的信息。

获取 VPC 的流日志 ID 以删除它们的正确方法是什么?API

编辑:

我尝试了下面的代码,它也没有 return 任何流日志信息。

ec2 = boto3.resource("ec2") vpc = ec2.Vpc(vpc_id) vpc.load()

FlowLogIdsdescribe_flow_logs 的可选参数,当您想要获取有关特定流日志的详细信息时可以使用它。要列出所有流日志,请省略该参数。

我意识到这个问题已经很老了,但是 post 我的回答 post 是真实的。

要找出附加到所述 VPC 的流日志,您可以改用 client.describe_flow_logs 函数,并为特定 VPC 添加过滤器 resource-id

例如:

import boto3

client=boto3.client('ec2')

response=client.describe_flow_logs(
  Filters=[
    {
      'Name'  : 'resource-id',
      'Values' : [ '<vpc-id>' ]
    }
  ]
)