我正在使用Windows 10操作系统。
我想计算AWS的IP地址数量。
我使用python 2.7.14
和boto 2.6.0
我添加一个名为boto.config
的文件,找到C:\ Users \ Administrator文件夹
boto.config的内容是:
[Credentials]
aws_access_key_id=******
aws_secret_access_key=*****
该脚本是:
#!/usr/bin/env python
# -*- encoding: utf8 -*-
import boto.ec2
from pprint import pprint
import ssh
import requests
import urllib3
import certifi
import ssl
conn = boto.ec2.connect_to_region('cn-north-1')
reservations = conn.get_all_instances()
InstanceMap=[]
for reservation in reservations:
for instance in reservation.instances:
if 'env' in instance.tags and instance.tags['env'] == 'test':
InstanceMap.append(instance.ip_address)
f = open('F:\ip.txt','w')
pprint(InstanceMap, f)
当我运行此脚本时,它显示错误形成:
SSLError:[SSL:CERTIFICATE_VERIFY_FAILED]证书验证失败(_ssl.c:661)
我可以用什么方法解决这个问题?
尝试添加is_secure = False
,如下所示,以跳过ssl验证,
conn = boto.ec2.connect_to_region('cn-north-1',is_secure=False)
尝试提供这样的凭证,这样你就可以知道boto配置中的密钥是否有效,如果这有效,如果这返回相同的问题,那么你需要在aws上检查你的api-key和secret。
API_KEY = 'Actual API_KEY'
API_SECRET = 'Actual Secret'
conn = boto.ec2.connect_to_region('us-east-2',aws_access_key_id=API_KEY,aws_secret_access_key=API_SECRET,is_secure=False)