gpt4 book ai didi

python - 按 VPC ID 列出 AWS 中的子网

转载 作者:行者123 更新时间:2023-11-30 21:52:59 25 4
gpt4 key购买 nike

我需要列出 AWS 中特定 VPC 中的子网。

当我这样做时,我收到此错误:

Traceback (most recent call last):
File ".\aws_create_ec2.py", line 253, in <module>
main()
File ".\aws_create_ec2.py", line 249, in main
create_instances()
File ".\aws_create_ec2.py", line 146, in create_instances
subnet_list = ec2_client.describe_subnets(
File "C:\Users\User\AppData\Local\Programs\Python\Python38-32\lib\site-packages\botocore\client.py", line 272, in _api_call
return self._make_api_call(operation_name, kwargs)
File "C:\Users\User\AppData\Local\Programs\Python\Python38-32\lib\site-packages\botocore\client.py", line 548, in _make_api_call
request_dict = self._convert_to_request_dict(
File "C:\Users\User\AppData\Local\Programs\Python\Python38-32\lib\site-packages\botocore\client.py", line 596, in _convert_to_request_dict
request_dict = self._serializer.serialize_to_request(
File "C:\Users\User\AppData\Local\Programs\Python\Python38-32\lib\site-packages\botocore\validate.py", line 297, in serialize_to_request
raise ParamValidationError(report=report.generate_report())
botocore.exceptions.ParamValidationError: Parameter validation failed:
Unknown parameter in input: "VpcIds", must be one of: Filters, SubnetIds, DryRun, NextToken, MaxResults

我正在使用这些命令:

 vpc_id = input("Enter the vpc id: ")
subnet_list = ec2_client.describe_subnets(
VpcIds=[
vpc_id,
]
)

如何使用此命令正确过滤我想要的 VPC?

另外,如何使用正则表达式验证用户输入以使其符合正确的格式?例如,用户输入与类似以下内容匹配:vpc-68b1ff12

最佳答案

该错误消息意味着 VpcIds 不是 describe_subnets 的有效参数。有效参数列表记录在here中.

在 VPC 中获取子网的另一种方法是:

subnets = boto3.resource("ec2").subnets.filter(
Filters=[{"Name": "vpc-id", "Values": [vpc_id]}]
)
subnet_ids = [sn.id for sn in subnets]

关于python - 按 VPC ID 列出 AWS 中的子网,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59777371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com