Я попытался установить патч urllib3 для отслеживания boto3 запросов с использованием jager . Упрощенная версия кода:
from urllib3.connection import HTTPConnection
import os
import sys
import boto3
class TracingHTTPConnection(HTTPConnection):
def send(self, data):
print(data)
HTTPConnection.send(self, data)
sys.modules['urllib3.connection'].HTTPConnection = TracingHTTPConnection
from boto3.session import Session
ACCESS_KEY = os.environ.get('AWS_ACCESS_KEY_ID')
SECRET_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY')
session = Session(aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_KEY)
s3 = session.resource('s3')
your_bucket = s3.Bucket('colleagial-manager')
print(len([file for file in your_bucket.objects.all()]))
Но этот код по какой-то причине не работает (в строке 8 нет запроса). Но следующий код работает:
from urllib3.connection import HTTPConnection
import os
import sys
import boto3
_send = HTTPConnection.send
def send(self, data):
print(data)
_send(self, data)
HTTPConnection.send = send
from boto3.session import Session
ACCESS_KEY = os.environ.get('AWS_ACCESS_KEY_ID')
SECRET_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY')
session = Session(aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_KEY)
s3 = session.resource('s3')
your_bucket = s3.Bucket('colleagial-manager')
print(len([file for file in your_bucket.objects.all()]))
Я не могу понять, почему. Может кто-нибудь помочь мне понять, пожалуйста.
Системная информация:
OS: Windows 10 x64
Python 3.7.2
boto3 1.9.20
botocore 1.12.20
urllib3==1.23