背景:
最近跟進的項目會封裝aws S3資源管理細節,對外提供獲取文件上傳憑證的API,業務方使用獲取到的憑證信息直接請求aws進行文件上傳。因此,測試過程需要驗證S3文件上傳的有效性。aws官網有提供各個語言的sdk,這里直接使用python sdk進行測試。
aws的文檔很清晰(quick start),整個過程還算順暢,唯一的阻礙是accesskey、secretkey、sessiontoken(Credentials),故這里分享下代碼:
import boto3
# Let's use Amazon S3
s3 = boto3.resource(
's3',
aws_access_key_id="XXXX", #設置accesskey、secretkey、sessiontoken
aws_secret_access_key="secretkey",
aws_session_token="sessionToken",
region_name="region_name"
)
# Upload a new file
data = open('test.jpg', 'rb')
s3.Bucket('my-bucket').put_object(Key='test.jpg', Body=data)