Python Boto3配置文件创建:botocore.exceptions.ProfileNotFound:当文件中有多个aws配置文件名时,找不到配置配置文件错误
我有一个文件,accountlist,里面有AWS配置文件名Python Boto3配置文件创建:botocore.exceptions.ProfileNotFound:当文件中有多个aws配置文件名时,找不到配置配置文件错误,python,amazon-web-services,boto3,Python,Amazon Web Services,Boto3,我有一个文件,accountlist,里面有AWS配置文件名 app01p1 app02p2 当我运行下面的AWS Boto3脚本时 import boto3 f = open("account.list", "r") for x in f: aws_mag_con = boto3.session.Session(profile_name=x) elbv2_con_re = aws_mag_con.client( ser
app01p1
app02p2
当我运行下面的AWS Boto3脚本时
import boto3
f = open("account.list", "r")
for x in f:
aws_mag_con = boto3.session.Session(profile_name=x)
elbv2_con_re = aws_mag_con.client(
service_name="elbv2", region_name="us-east-1")
response = elbv2_con_re.describe_load_balancers()
print(response)
for i in response['LoadBalancers']:
print(i)
print("Printing TargetGroups ....")
response_tg = elbv2_con_re.describe_target_groups()
for j in response_tg['TargetGroups']:
print(j)
当account.list文件中有多个配置文件名时,我遇到以下错误。有什么想法吗
~/Documents/parc
python3 boto3-desc-elbv2.py
Traceback (most recent call last):
File "/Users/nov/Documents/parc/boto3-desc-elbv2.py", line 5, in <module>
aws_mag_con = boto3.session.Session(profile_name=x)
File "/usr/local/lib/python3.9/site-packages/boto3/session.py", line 80, in __init__
self._setup_loader()
File "/usr/local/lib/python3.9/site-packages/boto3/session.py", line 120, in _setup_loader
self._loader = self._session.get_component('data_loader')
File "/usr/local/lib/python3.9/site-packages/botocore/session.py", line 685, in get_component
return self._components.get_component(name)
File "/usr/local/lib/python3.9/site-packages/botocore/session.py", line 924, in get_component
self._components[name] = factory()
File "/usr/local/lib/python3.9/site-packages/botocore/session.py", line 158, in <lambda>
lambda: create_loader(self.get_config_variable('data_path')))
File "/usr/local/lib/python3.9/site-packages/botocore/session.py", line 240, in get_config_variable
return self.get_component('config_store').get_config_variable(
File "/usr/local/lib/python3.9/site-packages/botocore/configprovider.py", line 301, in get_config_variable
return provider.provide()
File "/usr/local/lib/python3.9/site-packages/botocore/configprovider.py", line 398, in provide
value = provider.provide()
File "/usr/local/lib/python3.9/site-packages/botocore/configprovider.py", line 459, in provide
scoped_config = self._session.get_scoped_config()
File "/usr/local/lib/python3.9/site-packages/botocore/session.py", line 340, in get_scoped_config
raise ProfileNotFound(profile=profile_name)
botocore.exceptions.ProfileNotFound: The config profile (app03t1
) could not be found
~/Documents/parc
python3 boto3-desc-elbv2.py
回溯(最近一次呼叫最后一次):
文件“/Users/nov/Documents/parc/boto3-desc-elbv2.py”,第5行,在
aws\u mag\u con=boto3.session.session(profile\u name=x)
文件“/usr/local/lib/python3.9/site packages/boto3/session.py”,第80行,在__
self.\u设置\u加载程序()
文件“/usr/local/lib/python3.9/site packages/boto3/session.py”,第120行,在安装程序加载程序中
self.\u loader=self.\u session.get\u组件('data\u loader'))
文件“/usr/local/lib/python3.9/site packages/botocore/session.py”,第685行,在get_组件中
返回self.\u组件。获取\u组件(名称)
文件“/usr/local/lib/python3.9/site packages/botocore/session.py”,第924行,在get_组件中
self.\u组件[名称]=工厂()
文件“/usr/local/lib/python3.9/site packages/botocore/session.py”,第158行,在
lambda:create_loader(self.get_config_变量('data_path'))
文件“/usr/local/lib/python3.9/site packages/botocore/session.py”,第240行,在get\u config\u变量中
返回self.get\u组件('config\u store')。get\u config\u变量(
文件“/usr/local/lib/python3.9/site packages/botocore/configprovider.py”,第301行,在get\u config\u变量中
返回提供程序。提供()
文件“/usr/local/lib/python3.9/site packages/botocore/configprovider.py”,第398行,在提供中
value=provider.provide()
文件“/usr/local/lib/python3.9/site packages/botocore/configprovider.py”,第459行,在提供中
scoped_config=self.\u session.get_scoped_config()
文件“/usr/local/lib/python3.9/site packages/botocore/session.py”,第340行,在get\u scoped\u config中
raise ProfileNotFound(配置文件=配置文件\u名称)
botocore.exceptions.ProfileNotFound:配置配置文件(app03t1
)找不到
这意味着您的~/.aws/config
文件不包含名为app03t1
的配置文件。您可以使用aws configure--profile app03t1
对其进行配置,也可以手动编辑该文件。我的~/.aws/config中确实有该文件。如果我运行app03t1、app01p1或app02p2,它会工作。但当我在fil中添加多个帐户时e、 它不起作用。x
是否包含新行字符?这就是错误消息的样子。(编辑:如果是,删除新行可能会有帮助:x=x.replace('\r','')。replace('\n','')
)谢谢,@BertBlommers,这正是问题所在!