You could also enable debug logging in boto3. That will log all requests and responses as well as lots of other things. Its a bit obscure to enable it:
import boto3
boto3.set_stream_logger(name="botocore")
The reason you have to specify botocore
as the name to log is that all of the actual requests and responses happen at the botocore layer.