Resource を使用するタイミングと Client を使用するタイミングを理解しようとしています。
Boto3のドキュメントで提供されている定義は、どちらを使用することが望ましいかを明確に示していません。
boto3.resourcesは、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は低レベルであるため、「エントリクラスオブジェクト」がないため、実行するすべてのアクションに対して接続する正確なリソースを明示的に指定する必要があります。
それは個々のニーズに依存します。ただし、boto3.resourcesはすべてのboto3.client機能をラップするわけではないため、boto3.clientを呼び出すか、boto3.resource.meta.client()を使用してジョブを完了する必要があります。