使用Python中的Boto3库创建AWS会话的方法是什么?
当用户想要使用AWS服务使用lambda或编程代码时,需要首先设置会话以访问AWS服务。
AWS会话可以是默认的,也可以根据需要进行自定义。
问题陈述 −使用Python中的Boto3库创建AWS会话。
解决这个问题的方法/算法
第1步 −要创建AWS会话,首先设置身份验证凭据。用户可以在IAM控制台中找到它,或者手动创建凭证文件。默认情况下,它的位置在 ~/.aws/credentials
示例
[default]
aws_access_key_id = YOUR_ACCESS_KEY
aws_secret_access_key = YOUR_SECRET_ACCESS_KEY
aws_session_token = YOUR_SESSION_TOKEN
region = REGION_NAME
第2步 −使用以下命令安装Boto3- pip install boto3
第3步 −导入Boto3库。
第4步 −如果使用默认凭据创建会话,请使用以下命令 Session() 不带参数。
第5步 −如果会话是自定义的,请传递以下参数−
- aws_access_key_id(字符串) – AWS访问密钥ID
-
aws_secret_access_key(字符串) – AWS密钥访问密钥
-
aws_session_token(字符串) – AWS临时会话令牌
-
region_name(字符串) – 创建新连接时的默认区域
-
profile_name(字符串) – 要使用的文件配置文件的名称。如果未给出,则使用默认配置文件。
示例
以下代码创建默认和自定义凭据的AWS会话−
import boto3
# 创建默认会话:
def create_aws_session():
session = boto3.session.Session()
#它创建默认会话并可以用于连接任何AWS服务
return session
print(create_aws_session())
# 创建自定义会话:
def create_customized_session(aws_access_key, aws_secret_key, aws_token,
region_name=None,profile_name=None):
session = boto3.session.Session(aws_access_key_id=aws_access_key,
aws_secret_access_key=aws_secret_key,
aws_session_token = aws_token,
region_name=region_name,
profile_name = profile_name)
# 这里,region_name和profile_name是可选参数,其默认值为None
Print(session)
return session
输出
#如果未提供默认region_name或 NONE,并且在凭证文件/调用参数中没有传递region_name
Session(region_name=None)
Session(region_name=None)
#如果提供了默认的region_name并且在凭证文件/调用中传递了region_name
Session(region_name=YOUR_REGION_NAME)
Session(region_name= YOUR_REGION_NAME)