Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何为boto3进行默认配置_Python_Amazon Web Services_Boto3 - Fatal编程技术网

Python 如何为boto3进行默认配置

Python 如何为boto3进行默认配置,python,amazon-web-services,boto3,Python,Amazon Web Services,Boto3,我正在尝试为我们的帮助台团队创建一个工具,使其具有一个最小的界面,以便在AWS中重新启动生产服务器。我使用的是AWS boto3模块,我使用的是多个区域,我需要写一个配置文件吗 如何告诉boto3配置文件在哪里 到目前为止,我的尝试只有在告诉boto3使用一个区域时才成功,但我们在服务器中使用了几个区域 到目前为止,我尝试的是: ec2 = boto3.resource('ec2',region_name=("eu-west-1a","eu-west-1c")) 但它没有成功。我应该做什么?将

我正在尝试为我们的帮助台团队创建一个工具,使其具有一个最小的界面,以便在AWS中重新启动生产服务器。我使用的是AWS boto3模块,我使用的是多个区域,我需要写一个配置文件吗

如何告诉boto3配置文件在哪里

到目前为止,我的尝试只有在告诉boto3使用一个区域时才成功,但我们在服务器中使用了几个区域

到目前为止,我尝试的是:

ec2 = boto3.resource('ec2',region_name=("eu-west-1a","eu-west-1c"))

但它没有成功。我应该做什么?

区域的概念区分开来是很重要的,这类似于
eu-west-1、us-gov-east-1和
eu-west-1a
。区域表示一般位置,如国家或州。在每个区域内,通常有3个可用区,用字母指定,并表示不同的地理位置。这使您能够保证更高的可用性。在互联网上阅读更多信息

python中的区域

您可以使用@Orest Gulman的建议在python端修复此问题:

ec2_euwest = boto3.resource('ec2', region_name="eu-west-1") 
ec2_usgoveast1 = boto3.resource('ec2', region_name="us-gov-east-1")
按配置划分的区域

但您也可以在
user\.aws\credentials
中通过指定

[default]
aws_access_key_id=<yourkeyid>
aws_secret_access_key=<yoursecretkey>

[euwest] 
role_arn=<ifwanted>
source_profile=default 
region=eu-west-1

[usgov]
role_arn=<ifwanted>
source_profile=default 
region=us-gov-east-1
python中的可用性区域

要在指定的可用性区域中创建ec2实例,请在启动时执行此操作

 session = boto3.session.Session(profile_name='euwest')
 ec2_euwest = session.resource('ec2')
 ec2_euwest.create_instances(
     ImageId='ami-00b6a8a2bd28daf19',
     MinCount=1,
     MaxCount=2,
     InstanceType='t2.micro',
     KeyName='ec2-keypair'
     Placement={
        'AvailabilityZone': 'eu-west-1c',
     }
 )

重要的是要将
区域
的概念分开,这类似于
eu-west-1、us-gov-east-1
,可用区域类似于
eu-west-1a
。区域表示一般位置,如国家或州。在每个区域内,通常有3个可用区,用字母指定,并表示不同的地理位置。这使您能够保证更高的可用性。在互联网上阅读更多信息

python中的区域

您可以使用@Orest Gulman的建议在python端修复此问题:

ec2_euwest = boto3.resource('ec2', region_name="eu-west-1") 
ec2_usgoveast1 = boto3.resource('ec2', region_name="us-gov-east-1")
按配置划分的区域

但您也可以在
user\.aws\credentials
中通过指定

[default]
aws_access_key_id=<yourkeyid>
aws_secret_access_key=<yoursecretkey>

[euwest] 
role_arn=<ifwanted>
source_profile=default 
region=eu-west-1

[usgov]
role_arn=<ifwanted>
source_profile=default 
region=us-gov-east-1
python中的可用性区域

要在指定的可用性区域中创建ec2实例,请在启动时执行此操作

 session = boto3.session.Session(profile_name='euwest')
 ec2_euwest = session.resource('ec2')
 ec2_euwest.create_instances(
     ImageId='ami-00b6a8a2bd28daf19',
     MinCount=1,
     MaxCount=2,
     InstanceType='t2.micro',
     KeyName='ec2-keypair'
     Placement={
        'AvailabilityZone': 'eu-west-1c',
     }
 )

地区名称=(“eu-west-1a”、“eu-west-1c”)**sory。boto3所需的身份验证可以通过使用配置文件或使用env变量并将其导出来处理。不能将多个区域指定为一个变量,应为第二个区域使用单独的变量
ec2_region1=boto3.resource('ec2',region_name=“eu-west-1a”)
ec2_region2=boto3.resource('ec2',region_name=“eu-west-1c”)
region_name=('eu-west-1a”,“eu-west-1c”)**。boto3所需的身份验证可以通过使用配置文件或使用env变量并将其导出来处理。不能将多个区域指定为一个变量,应为第二个区域使用单独的变量<代码>ec2_region1=boto3.资源('ec2',region_name=“eu-west-1a”)
ec2_region2=boto3.资源('ec2',region_name=“eu-west-1c”)
eu-west-1a不是有效区域,eu-west-1是无效区域。类似地,每个帐户只需要1个配置部分,并在代码中的区域列表上迭代。eu-west-1a不是有效的区域,eu-west-1是有效的区域。类似地,每个帐户只需要1个配置部分,并在代码中迭代区域列表。