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

Python에서 Boto3 라이브러리를 사용하여 다른 AWS 서비스를 연결하는 방법은 무엇입니까?

<시간/>

이 기사에서는 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

  • 평방