이 기사에서는 Python에서 Boto3 라이브러리를 사용하여 다양한 AWS 서비스에 연결하는 방법을 알아봅니다.
예
-
AWS S3와 연결하세요.
-
AWS Glue 작업과 연결
-
AWS SQS 등과 연결하십시오.
이 문제를 해결하기 위한 접근 방식/알고리즘
1단계 − Boto3 라이브러리를 사용하여 AWS 세션을 생성합니다.
2단계 − 클라이언트에 AWS 서비스 이름을 전달하여 낮은 수준의 서비스 액세스 권한을 얻습니다.
또는 리소스에 AWS 서비스 이름을 전달하여 상위 수준의 객체 지향 서비스 액세스/고수준 인터페이스를 얻습니다.
예시
다음 코드는 다른 AWS 서비스와 연결합니다. −
import boto3# AWS Clientdef를 얻으려면 getconnection_AWSClient(service_name):session =boto3.session.Session() # 사용자는 사용자 지정 액세스 키, secret_key 및 토큰도 전달할 수 있습니다. s3_client =session.client(service_name) return s3_clientprint(getconnection_AWSClient( 's3')) # s3 연결용 printprint(getconnection_AWSClient('glue')) # 글루 connectionprint(getconnection_AWSClient('sqs')) # sqs 연결 및 기타 서비스용# AWS Resourcedef를 얻으려면 getconnection_AWSResource(service_name):session =boto3. session.Session() # 사용자는 사용자 지정 액세스 키, secret_key 및 토큰도 전달할 수 있습니다. s3_resource =session.resource(service_name) return s3_resourceprint(getconnection_AWSResource('s3')) # s3용 connectionprint(getconnection_AWSResource('sqs')) # for sqs 연결 및 기타 서비스
출력
ServiceResources> 리소스는 연결할 모든 서비스를 지원하지 않습니다. 예를 들어 사용자가 리소스를 사용하여 글루 서비스에 연결하려고 하면 , 그러면 AWS는 다음 예외를 발생시킵니다 -
boto3.exceptions.ResourceNotExistsError:'접착제' 리소스가 없습니다.
'접착제' 리소스 대신 boto3.client('접착제') 사용 고려
다음 서비스는 리소스에서 지원합니다 −
클라우드 포메이션
클라우드워치
다이나모드
EC2
빙하
이야
옵스웍스
s3
sns
평방