나는 언제 사용 해야하는지 이해하려고 노력하고 있습니다. 리소스를 시기와 클라이언트를 사용해야하는시기 .
boto3 문서에 제공된 정의는 둘 중 하나를 사용하는 것이 더 나은시기를 명확하게 나타내지 않습니다.
답변:
boto3.resource
고수준 서비스 클래스 랩 어라운드 boto3.client
입니다.
원래 리소스 ID를 지정하지 않고 나중에 다른 리소스를 사용할 수있는 위치에 연결된 리소스를 연결하기위한 것입니다.
import boto3
s3 = boto3.resource("s3")
bucket = s3.Bucket('mybucket')
# now bucket is "attached" the S3 bucket name "mybucket"
print(bucket)
# s3.Bucket(name='mybucket')
print(dir(bucket))
#show you all class method action you may perform
OTH, boto3.client는 하위 수준이므로 "entry-class 개체"가 없으므로 수행하는 모든 작업에 대해 연결되는 정확한 리소스를 명시 적으로 지정해야합니다.
개인의 필요에 따라 다릅니다. 그러나 boto3.resource
모든 boto3.client
기능을 래핑하지는 않으므로 가끔을 호출하거나을 boto3.client
사용 boto3.resource.meta.client
하여 작업을 완료해야합니다.