Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 Boto3 라이브러리를 사용하여 AWS 세션을 생성하는 방법은 무엇입니까?

<시간/>

사용자가 람다 또는 프로그래밍 코드를 사용하여 AWS 서비스를 사용하려면 먼저 세션을 설정하여 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단계 − - pip install boto3 명령을 사용하여 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
# To create default session:
def create_aws_session():
session = boto3.session.Session()
#it creates the default session and can use to connect with any AWS service
   return session
print(create_aws_session())

# To Create customized 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)
   # Here, region_name and profile_name are optional parameters and default value is None
   Print(session)
return session

출력

#if default region_name is not present or NONE and region_name is not
passed in #credential file/calling parameter
Session(region_name=None)
Session(region_name=None)
#if default region_name is present and region_name is passed in
credential file/calling #parameter
Session(region_name=YOUR_REGION_NAME)
Session(region_name= YOUR_REGION_NAME)