Я обнаружил, что клиент COS S3 либо читает учетные данные HMAC из каталога конфигурации IBM Cloud, либо вам нужно передать их под другим именем:
cos = ibm_boto3.client('s3', myserviceapikey, endpoint_url=myendpointurl, aws_access_key_id=config["cos_hmac_keys"]["access_key_id"], aws_secret_access_key=config["cos_hmac_keys"]["secret_access_key"])
По сути, мне нужно сопоставить cos_hmac_keys.access_key_id
с aws_access_key_id
и cos_hmac_keys.secret_access_key
с aws_secret_access_key
.
После инициализации клиента COS я могу создать предварительно назначенный URI:
theURL=cos.generate_presigned_url('get_object', Params = {'Bucket': mybucket, 'Key': myobject}, ExpiresIn = 600)