python2/alibabacloud_oss_sdk/client.py (5,270 lines of code) (raw):

# -*- coding: utf-8 -*- # This file is auto-generated, don't edit it. Thanks. from __future__ import unicode_literals import time from Tea.exceptions import TeaException, UnretryableException from Tea.request import TeaRequest from Tea.core import TeaCore from Tea.converter import TeaConverter from alibabacloud_credentials.client import Client as CredentialClient from alibabacloud_oss_sdk import models as oss_models from alibabacloud_tea_util.client import Client as UtilClient from alibabacloud_credentials import models as credential_models from alibabacloud_tea_xml.client import Client as XMLClient from alibabacloud_oss_util.client import Client as OSSUtilClient from alibabacloud_tea_fileform.client import Client as FileFormClient class Client(object): _endpoint = None # type: str _region_id = None # type: str _host_model = None # type: str _protocol = None # type: str _read_timeout = None # type: int _connect_timeout = None # type: int _signature_version = None # type: str _addtional_headers = None # type: list[str] _local_addr = None # type: str _http_proxy = None # type: str _https_proxy = None # type: str _no_proxy = None # type: str _user_agent = None # type: str _socks_5proxy = None # type: str _is_enable_crc = None # type: bool _is_enable_md5 = None # type: bool _socks_5net_work = None # type: str _max_idle_conns = None # type: int _credential = None # type: CredentialClient def __init__(self, config): if UtilClient.is_unset(config): raise TeaException({ 'name': 'ParameterMissing', 'message': "'config' can not be unset" }) if UtilClient.empty(config.type): config.type = 'access_key' credential_config = credential_models.Config( access_key_id=config.access_key_id, type=config.type, access_key_secret=config.access_key_secret, security_token=config.security_token ) self._credential = CredentialClient(credential_config) if UtilClient.is_unset(config.is_enable_md5): config.is_enable_md5 = False if UtilClient.is_unset(config.is_enable_crc): config.is_enable_crc = False self._endpoint = config.endpoint self._protocol = config.protocol self._region_id = config.region_id self._user_agent = config.user_agent self._read_timeout = config.read_timeout self._connect_timeout = config.connect_timeout self._local_addr = config.local_addr self._http_proxy = config.http_proxy self._https_proxy = config.https_proxy self._no_proxy = config.no_proxy self._socks_5proxy = config.socks_5proxy self._socks_5net_work = config.socks_5net_work self._max_idle_conns = config.max_idle_conns self._signature_version = config.signature_version self._addtional_headers = config.addtional_headers self._host_model = config.host_model self._is_enable_md5 = config.is_enable_md5 self._is_enable_crc = config.is_enable_crc def put_bucket_lifecycle(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() req_body = XMLClient.to_xml(TeaCore.to_map(request.body)) _request.protocol = self._protocol _request.method = 'PUT' _request.pathname = '/?lifecycle' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.body = req_body _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.PutBucketLifecycleResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def delete_multiple_objects(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() req_body = XMLClient.to_xml(TeaCore.to_map(request.body)) _request.protocol = self._protocol _request.method = 'POST' _request.pathname = '/?delete' _request.headers = TeaCore.merge({ 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() }, UtilClient.stringify_map_value(TeaCore.to_map(request.header))) if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.body = req_body if not UtilClient.is_unset(request.header) and not UtilClient.empty(request.header.content_md5): _request.headers['content-md5'] = request.header.content_md5 else: _request.headers['content-md5'] = OSSUtilClient.get_content_md5(req_body, self._is_enable_md5) _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) body_str = UtilClient.read_as_string(_response.body) resp_map = XMLClient.parse_xml(body_str, oss_models.DeleteMultipleObjectsResponse()) return oss_models.DeleteMultipleObjectsResponse().from_map( TeaCore.merge({ 'DeleteResult': resp_map.get('DeleteResult') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def put_bucket_referer(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() req_body = XMLClient.to_xml(TeaCore.to_map(request.body)) _request.protocol = self._protocol _request.method = 'PUT' _request.pathname = '/?referer' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.body = req_body _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.PutBucketRefererResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def put_bucket_website(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() req_body = XMLClient.to_xml(TeaCore.to_map(request.body)) _request.protocol = self._protocol _request.method = 'PUT' _request.pathname = '/?website' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.body = req_body _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.PutBucketWebsiteResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def complete_multipart_upload(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() req_body = XMLClient.to_xml(TeaCore.to_map(request.body)) _request.protocol = self._protocol _request.method = 'POST' _request.pathname = '/%s' % TeaConverter.to_unicode(request.object_name) _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.query = UtilClient.stringify_map_value(TeaCore.to_map(request.filter)) _request.body = req_body _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) body_str = UtilClient.read_as_string(_response.body) resp_map = XMLClient.parse_xml(body_str, oss_models.CompleteMultipartUploadResponse()) return oss_models.CompleteMultipartUploadResponse().from_map( TeaCore.merge({ 'CompleteMultipartUploadResult': resp_map.get('CompleteMultipartUploadResult') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def put_bucket_logging(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() req_body = XMLClient.to_xml(TeaCore.to_map(request.body)) _request.protocol = self._protocol _request.method = 'PUT' _request.pathname = '/?logging' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.body = req_body _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.PutBucketLoggingResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def put_bucket_request_payment(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() req_body = XMLClient.to_xml(TeaCore.to_map(request.body)) _request.protocol = self._protocol _request.method = 'PUT' _request.pathname = '/?requestPayment' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.body = req_body _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.PutBucketRequestPaymentResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def put_bucket_encryption(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() req_body = XMLClient.to_xml(TeaCore.to_map(request.body)) _request.protocol = self._protocol _request.method = 'PUT' _request.pathname = '/?encryption' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.body = req_body _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.PutBucketEncryptionResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def put_live_channel(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() req_body = XMLClient.to_xml(TeaCore.to_map(request.body)) _request.protocol = self._protocol _request.method = 'PUT' _request.pathname = '/%s?live' % TeaConverter.to_unicode(request.channel_name) _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.body = req_body _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) body_str = UtilClient.read_as_string(_response.body) resp_map = XMLClient.parse_xml(body_str, oss_models.PutLiveChannelResponse()) return oss_models.PutLiveChannelResponse().from_map( TeaCore.merge({ 'CreateLiveChannelResult': resp_map.get('CreateLiveChannelResult') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def put_bucket_tags(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() req_body = XMLClient.to_xml(TeaCore.to_map(request.body)) _request.protocol = self._protocol _request.method = 'PUT' _request.pathname = '/?tagging' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.body = req_body _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.PutBucketTagsResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def put_object_tagging(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() req_body = XMLClient.to_xml(TeaCore.to_map(request.body)) _request.protocol = self._protocol _request.method = 'PUT' _request.pathname = '/%s?tagging' % TeaConverter.to_unicode(request.object_name) _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.body = req_body _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.PutObjectTaggingResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def select_object(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() req_body = XMLClient.to_xml(TeaCore.to_map(request.body)) _request.protocol = self._protocol _request.method = 'POST' _request.pathname = '/%s' % TeaConverter.to_unicode(request.object_name) _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.query = UtilClient.stringify_map_value(TeaCore.to_map(request.filter)) _request.body = req_body _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.SelectObjectResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def put_bucket_cors(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() req_body = XMLClient.to_xml(TeaCore.to_map(request.body)) _request.protocol = self._protocol _request.method = 'PUT' _request.pathname = '/?cors' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.body = req_body _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.PutBucketCORSResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def put_bucket(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() req_body = XMLClient.to_xml(TeaCore.to_map(request.body)) _request.protocol = self._protocol _request.method = 'PUT' _request.pathname = '/' _request.headers = TeaCore.merge({ 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() }, UtilClient.stringify_map_value(TeaCore.to_map(request.header))) if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.body = req_body _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.PutBucketResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def list_multipart_uploads(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'GET' _request.pathname = '/?uploads' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.query = UtilClient.stringify_map_value(TeaCore.to_map(request.filter)) _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) body_str = UtilClient.read_as_string(_response.body) resp_map = XMLClient.parse_xml(body_str, oss_models.ListMultipartUploadsResponse()) return oss_models.ListMultipartUploadsResponse().from_map( TeaCore.merge({ 'ListMultipartUploadsResult': resp_map.get('ListMultipartUploadsResult') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def get_bucket_request_payment(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'GET' _request.pathname = '/?requestPayment' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) body_str = UtilClient.read_as_string(_response.body) resp_map = XMLClient.parse_xml(body_str, oss_models.GetBucketRequestPaymentResponse()) return oss_models.GetBucketRequestPaymentResponse().from_map( TeaCore.merge({ 'RequestPaymentConfiguration': resp_map.get('RequestPaymentConfiguration') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def get_bucket_encryption(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'GET' _request.pathname = '/?encryption' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) body_str = UtilClient.read_as_string(_response.body) resp_map = XMLClient.parse_xml(body_str, oss_models.GetBucketEncryptionResponse()) return oss_models.GetBucketEncryptionResponse().from_map( TeaCore.merge({ 'ServerSideEncryptionRule': resp_map.get('ServerSideEncryptionRule') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def get_bucket_tags(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'GET' _request.pathname = '/?tagging' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) body_str = UtilClient.read_as_string(_response.body) resp_map = XMLClient.parse_xml(body_str, oss_models.GetBucketTagsResponse()) return oss_models.GetBucketTagsResponse().from_map( TeaCore.merge({ 'Tagging': resp_map.get('Tagging') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def get_service(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'GET' _request.pathname = '/' _request.headers = { 'host': OSSUtilClient.get_host('', self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.query = UtilClient.stringify_map_value(TeaCore.to_map(request.filter)) _request.headers['authorization'] = OSSUtilClient.get_signature(_request, '', access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) body_str = UtilClient.read_as_string(_response.body) resp_map = XMLClient.parse_xml(body_str, oss_models.GetServiceResponse()) return oss_models.GetServiceResponse().from_map( TeaCore.merge({ 'ListAllMyBucketsResult': resp_map.get('ListAllMyBucketsResult') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def delete_bucket_encryption(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'DELETE' _request.pathname = '/?encryption' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.DeleteBucketEncryptionResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def delete_bucket_tags(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'DELETE' _request.pathname = '/' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.query = UtilClient.stringify_map_value(TeaCore.to_map(request.filter)) _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.DeleteBucketTagsResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def get_bucket_website(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'GET' _request.pathname = '/?website' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) body_str = UtilClient.read_as_string(_response.body) resp_map = XMLClient.parse_xml(body_str, oss_models.GetBucketWebsiteResponse()) return oss_models.GetBucketWebsiteResponse().from_map( TeaCore.merge({ 'WebsiteConfiguration': resp_map.get('WebsiteConfiguration') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def delete_live_channel(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'DELETE' _request.pathname = '/%s?live' % TeaConverter.to_unicode(request.channel_name) _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.DeleteLiveChannelResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def get_bucket_location(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'GET' _request.pathname = '/?location' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) body_str = UtilClient.read_as_string(_response.body) resp_map = XMLClient.parse_xml(body_str, oss_models.GetBucketLocationResponse()) return oss_models.GetBucketLocationResponse().from_map( TeaCore.merge({ 'LocationConstraint': resp_map.get('LocationConstraint') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def list_live_channel(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'GET' _request.pathname = '/?live' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.query = UtilClient.stringify_map_value(TeaCore.to_map(request.filter)) _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) body_str = UtilClient.read_as_string(_response.body) resp_map = XMLClient.parse_xml(body_str, oss_models.ListLiveChannelResponse()) return oss_models.ListLiveChannelResponse().from_map( TeaCore.merge({ 'ListLiveChannelResult': resp_map.get('ListLiveChannelResult') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def get_object_meta(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'HEAD' _request.pathname = '/%s?objectMeta' % TeaConverter.to_unicode(request.object_name) _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.GetObjectMetaResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def get_bucket_acl(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'GET' _request.pathname = '/?acl' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) body_str = UtilClient.read_as_string(_response.body) resp_map = XMLClient.parse_xml(body_str, oss_models.GetBucketAclResponse()) return oss_models.GetBucketAclResponse().from_map( TeaCore.merge({ 'AccessControlPolicy': resp_map.get('AccessControlPolicy') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def list_parts(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'GET' _request.pathname = '/%s' % TeaConverter.to_unicode(request.object_name) _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.query = UtilClient.stringify_map_value(TeaCore.to_map(request.filter)) _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) body_str = UtilClient.read_as_string(_response.body) resp_map = XMLClient.parse_xml(body_str, oss_models.ListPartsResponse()) return oss_models.ListPartsResponse().from_map( TeaCore.merge({ 'ListPartsResult': resp_map.get('ListPartsResult') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def get_live_channel_history(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'GET' _request.pathname = '/%s?live' % TeaConverter.to_unicode(request.channel_name) _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.query = UtilClient.stringify_map_value(TeaCore.to_map(request.filter)) _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) body_str = UtilClient.read_as_string(_response.body) resp_map = XMLClient.parse_xml(body_str, oss_models.GetLiveChannelHistoryResponse()) return oss_models.GetLiveChannelHistoryResponse().from_map( TeaCore.merge({ 'LiveChannelHistory': resp_map.get('LiveChannelHistory') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def get_bucket(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'GET' _request.pathname = '/' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.query = UtilClient.stringify_map_value(TeaCore.to_map(request.filter)) _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) body_str = UtilClient.read_as_string(_response.body) resp_map = XMLClient.parse_xml(body_str, oss_models.GetBucketResponse()) return oss_models.GetBucketResponse().from_map( TeaCore.merge({ 'ListBucketResult': resp_map.get('ListBucketResult') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def get_live_channel_info(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'GET' _request.pathname = '/%s?live' % TeaConverter.to_unicode(request.channel_name) _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) body_str = UtilClient.read_as_string(_response.body) resp_map = XMLClient.parse_xml(body_str, oss_models.GetLiveChannelInfoResponse()) return oss_models.GetLiveChannelInfoResponse().from_map( TeaCore.merge({ 'LiveChannelConfiguration': resp_map.get('LiveChannelConfiguration') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def get_live_channel_stat(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'GET' _request.pathname = '/%s?live' % TeaConverter.to_unicode(request.channel_name) _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.query = UtilClient.stringify_map_value(TeaCore.to_map(request.filter)) _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) body_str = UtilClient.read_as_string(_response.body) resp_map = XMLClient.parse_xml(body_str, oss_models.GetLiveChannelStatResponse()) return oss_models.GetLiveChannelStatResponse().from_map( TeaCore.merge({ 'LiveChannelStat': resp_map.get('LiveChannelStat') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def delete_object(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'DELETE' _request.pathname = '/%s' % TeaConverter.to_unicode(request.object_name) _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.DeleteObjectResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def abort_multipart_upload(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'DELETE' _request.pathname = '/%s' % TeaConverter.to_unicode(request.object_name) _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.query = UtilClient.stringify_map_value(TeaCore.to_map(request.filter)) _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.AbortMultipartUploadResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def append_object(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() ctx = {} access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'POST' _request.pathname = '/%s?append' % TeaConverter.to_unicode(request.object_name) _request.headers = TeaCore.merge({ 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() }, UtilClient.stringify_map_value(TeaCore.to_map(request.header)), OSSUtilClient.parse_meta(request.user_meta, 'x-oss-meta-')) if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.query = UtilClient.stringify_map_value(TeaCore.to_map(request.filter)) _request.body = OSSUtilClient.inject(request.body, ctx) if not UtilClient.is_unset(request.header) and not UtilClient.empty(request.header.content_type): _request.headers['content-type'] = request.header.content_type else: _request.headers['content-type'] = OSSUtilClient.get_content_type(request.object_name) _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) if self._is_enable_crc and not UtilClient.equal_string(ctx.get('crc'), _response.headers.get('x-oss-hash-crc64ecma')): raise TeaException({ 'code': 'CrcNotMatched', 'data': { 'clientCrc': ctx.get('crc'), 'serverCrc': _response.headers.get('x-oss-hash-crc64ecma') } }) if self._is_enable_md5 and not UtilClient.equal_string(ctx.get('md5'), _response.headers.get('content-md5')): raise TeaException({ 'code': 'MD5NotMatched', 'data': { 'clientMD5': ctx.get('md5'), 'serverMD5': _response.headers.get('content-md5') } }) return oss_models.AppendObjectResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def upload_part_copy(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'PUT' _request.pathname = '/%s' % TeaConverter.to_unicode(request.object_name) _request.headers = TeaCore.merge({ 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() }, UtilClient.stringify_map_value(TeaCore.to_map(request.header))) if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.query = UtilClient.stringify_map_value(TeaCore.to_map(request.filter)) _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) body_str = UtilClient.read_as_string(_response.body) resp_map = XMLClient.parse_xml(body_str, oss_models.UploadPartCopyResponse()) return oss_models.UploadPartCopyResponse().from_map( TeaCore.merge({ 'CopyPartResult': resp_map.get('CopyPartResult') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def get_vod_playlist(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'GET' _request.pathname = '/%s?vod' % TeaConverter.to_unicode(request.channel_name) _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.query = UtilClient.stringify_map_value(TeaCore.to_map(request.filter)) _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.GetVodPlaylistResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def delete_bucket_cors(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'DELETE' _request.pathname = '/?cors' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.DeleteBucketCORSResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def get_object(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'GET' _request.pathname = '/%s' % TeaConverter.to_unicode(request.object_name) _request.headers = TeaCore.merge({ 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() }, UtilClient.stringify_map_value(TeaCore.to_map(request.header))) if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.GetObjectResponse().from_map( TeaCore.merge({ 'body': _response.body }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def upload_part(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() ctx = {} access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'PUT' _request.pathname = '/%s' % TeaConverter.to_unicode(request.object_name) _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.query = UtilClient.stringify_map_value(TeaCore.to_map(request.filter)) _request.body = OSSUtilClient.inject(request.body, ctx) _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) if self._is_enable_crc and not UtilClient.equal_string(ctx.get('crc'), _response.headers.get('x-oss-hash-crc64ecma')): raise TeaException({ 'code': 'CrcNotMatched', 'data': { 'clientCrc': ctx.get('crc'), 'serverCrc': _response.headers.get('x-oss-hash-crc64ecma') } }) if self._is_enable_md5 and not UtilClient.equal_string(ctx.get('md5'), _response.headers.get('content-md5')): raise TeaException({ 'code': 'MD5NotMatched', 'data': { 'clientMD5': ctx.get('md5'), 'serverMD5': _response.headers.get('content-md5') } }) return oss_models.UploadPartResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def get_bucket_cors(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'GET' _request.pathname = '/?cors' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) body_str = UtilClient.read_as_string(_response.body) resp_map = XMLClient.parse_xml(body_str, oss_models.GetBucketCORSResponse()) return oss_models.GetBucketCORSResponse().from_map( TeaCore.merge({ 'CORSConfiguration': resp_map.get('CORSConfiguration') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def copy_object(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'PUT' _request.pathname = '/%s' % TeaConverter.to_unicode(request.dest_object_name) _request.headers = TeaCore.merge({ 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() }, UtilClient.stringify_map_value(TeaCore.to_map(request.header))) if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['x-oss-copy-source'] = OSSUtilClient.encode(_request.headers.get('x-oss-copy-source'), 'UrlEncode') _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) body_str = UtilClient.read_as_string(_response.body) resp_map = XMLClient.parse_xml(body_str, oss_models.CopyObjectResponse()) return oss_models.CopyObjectResponse().from_map( TeaCore.merge({ 'CopyObjectResult': resp_map.get('CopyObjectResult') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def get_object_tagging(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'GET' _request.pathname = '/%s?tagging' % TeaConverter.to_unicode(request.object_name) _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) body_str = UtilClient.read_as_string(_response.body) resp_map = XMLClient.parse_xml(body_str, oss_models.GetObjectTaggingResponse()) return oss_models.GetObjectTaggingResponse().from_map( TeaCore.merge({ 'Tagging': resp_map.get('Tagging') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def delete_bucket_lifecycle(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'DELETE' _request.pathname = '/?lifecycle' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.DeleteBucketLifecycleResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def delete_bucket_logging(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'DELETE' _request.pathname = '/?logging' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.DeleteBucketLoggingResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def delete_bucket_website(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'DELETE' _request.pathname = '/?website' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.DeleteBucketWebsiteResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def get_symlink(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'GET' _request.pathname = '/%s?symlink' % TeaConverter.to_unicode(request.object_name) _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.GetSymlinkResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def get_bucket_lifecycle(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'GET' _request.pathname = '/?lifecycle' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) body_str = UtilClient.read_as_string(_response.body) resp_map = XMLClient.parse_xml(body_str, oss_models.GetBucketLifecycleResponse()) return oss_models.GetBucketLifecycleResponse().from_map( TeaCore.merge({ 'LifecycleConfiguration': resp_map.get('LifecycleConfiguration') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def put_symlink(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'PUT' _request.pathname = '/%s?symlink' % TeaConverter.to_unicode(request.object_name) _request.headers = TeaCore.merge({ 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() }, UtilClient.stringify_map_value(TeaCore.to_map(request.header))) if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.PutSymlinkResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def get_bucket_referer(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'GET' _request.pathname = '/?referer' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) body_str = UtilClient.read_as_string(_response.body) resp_map = XMLClient.parse_xml(body_str, oss_models.GetBucketRefererResponse()) return oss_models.GetBucketRefererResponse().from_map( TeaCore.merge({ 'RefererConfiguration': resp_map.get('RefererConfiguration') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def callback(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'GET' _request.pathname = '/' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.CallbackResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def get_bucket_logging(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'GET' _request.pathname = '/?logging' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) body_str = UtilClient.read_as_string(_response.body) resp_map = XMLClient.parse_xml(body_str, oss_models.GetBucketLoggingResponse()) return oss_models.GetBucketLoggingResponse().from_map( TeaCore.merge({ 'BucketLoggingStatus': resp_map.get('BucketLoggingStatus') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def put_object_acl(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'PUT' _request.pathname = '/%s?acl' % TeaConverter.to_unicode(request.object_name) _request.headers = TeaCore.merge({ 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() }, UtilClient.stringify_map_value(TeaCore.to_map(request.header))) if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.PutObjectAclResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def get_bucket_info(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'GET' _request.pathname = '/?bucketInfo' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) body_str = UtilClient.read_as_string(_response.body) resp_map = XMLClient.parse_xml(body_str, oss_models.GetBucketInfoResponse()) return oss_models.GetBucketInfoResponse().from_map( TeaCore.merge({ 'BucketInfo': resp_map.get('BucketInfo') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def put_live_channel_status(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'PUT' _request.pathname = '/%s?live' % TeaConverter.to_unicode(request.channel_name) _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.query = UtilClient.stringify_map_value(TeaCore.to_map(request.filter)) _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.PutLiveChannelStatusResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def initiate_multipart_upload(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'POST' _request.pathname = '/%s?uploads' % TeaConverter.to_unicode(request.object_name) _request.headers = TeaCore.merge({ 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() }, UtilClient.stringify_map_value(TeaCore.to_map(request.header))) if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.query = UtilClient.stringify_map_value(TeaCore.to_map(request.filter)) if not UtilClient.is_unset(request.header) and not UtilClient.empty(request.header.content_type): _request.headers['content-type'] = request.header.content_type else: _request.headers['content-type'] = OSSUtilClient.get_content_type(request.object_name) _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) body_str = UtilClient.read_as_string(_response.body) resp_map = XMLClient.parse_xml(body_str, oss_models.InitiateMultipartUploadResponse()) return oss_models.InitiateMultipartUploadResponse().from_map( TeaCore.merge({ 'InitiateMultipartUploadResult': resp_map.get('InitiateMultipartUploadResult') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def option_object(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'OPTIONS' _request.pathname = '/%s' % TeaConverter.to_unicode(request.object_name) _request.headers = TeaCore.merge({ 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() }, UtilClient.stringify_map_value(TeaCore.to_map(request.header))) if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.OptionObjectResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def post_vod_playlist(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'POST' _request.pathname = '/%s/%s?vod' % (TeaConverter.to_unicode(request.channel_name), TeaConverter.to_unicode(request.playlist_name)) _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.query = UtilClient.stringify_map_value(TeaCore.to_map(request.filter)) _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.PostVodPlaylistResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def post_object(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() boundary = FileFormClient.get_boundary() _request.protocol = self._protocol _request.method = 'POST' _request.pathname = '/' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } _request.headers['content-type'] = 'multipart/form-data; boundary=%s' % TeaConverter.to_unicode(boundary) form = TeaCore.merge({ 'OSSAccessKeyId': request.header.access_key_id, 'policy': request.header.policy, 'Signature': request.header.signature, 'key': request.header.key, 'success_action_status': request.header.success_action_status, 'file': request.header.file }, OSSUtilClient.to_meta(request.header.user_meta, 'x-oss-meta-')) _request.body = FileFormClient.to_file_form(form, boundary) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = UtilClient.read_as_string(_response.body) if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) resp_map = XMLClient.parse_xml(body_str, oss_models.PostObjectResponse()) return oss_models.PostObjectResponse().from_map( TeaCore.merge(resp_map) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def head_object(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'HEAD' _request.pathname = '/%s' % TeaConverter.to_unicode(request.object_name) _request.headers = TeaCore.merge({ 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() }, UtilClient.stringify_map_value(TeaCore.to_map(request.header))) if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.HeadObjectResponse().from_map( TeaCore.merge({ 'usermeta': OSSUtilClient.to_meta(_response.headers, 'x-oss-meta-') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def delete_object_tagging(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'DELETE' _request.pathname = '/%s?tagging' % TeaConverter.to_unicode(request.object_name) _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.DeleteObjectTaggingResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def restore_object(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'POST' _request.pathname = '/%s?restore' % TeaConverter.to_unicode(request.object_name) _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.RestoreObjectResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def get_object_acl(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'GET' _request.pathname = '/%s?acl' % TeaConverter.to_unicode(request.object_name) _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) body_str = UtilClient.read_as_string(_response.body) resp_map = XMLClient.parse_xml(body_str, oss_models.GetObjectAclResponse()) return oss_models.GetObjectAclResponse().from_map( TeaCore.merge({ 'AccessControlPolicy': resp_map.get('AccessControlPolicy') }, _response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def put_bucket_acl(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'PUT' _request.pathname = '/?acl' _request.headers = TeaCore.merge({ 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() }, UtilClient.stringify_map_value(TeaCore.to_map(request.header))) if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.PutBucketAclResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def delete_bucket(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'DELETE' _request.pathname = '/' _request.headers = { 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() } if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) return oss_models.DeleteBucketResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def put_object(self, request, runtime): request.validate() runtime.validate() _runtime = { 'timeouted': 'retry', 'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout), 'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout), 'localAddr': UtilClient.default_string(runtime.local_addr, self._local_addr), 'httpProxy': UtilClient.default_string(runtime.http_proxy, self._http_proxy), 'httpsProxy': UtilClient.default_string(runtime.https_proxy, self._https_proxy), 'noProxy': UtilClient.default_string(runtime.no_proxy, self._no_proxy), 'socks5Proxy': UtilClient.default_string(runtime.socks_5proxy, self._socks_5proxy), 'socks5NetWork': UtilClient.default_string(runtime.socks_5net_work, self._socks_5net_work), 'maxIdleConns': UtilClient.default_number(runtime.max_idle_conns, self._max_idle_conns), 'retry': { 'retryable': runtime.autoretry, 'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3) }, 'backoff': { 'policy': UtilClient.default_string(runtime.backoff_policy, 'no'), 'period': UtilClient.default_number(runtime.backoff_period, 1) }, 'ignoreSSL': runtime.ignore_ssl } _last_request = None _last_exception = None _now = time.time() _retry_times = 0 while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now): if _retry_times > 0: _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times) if _backoff_time > 0: TeaCore.sleep(_backoff_time) _retry_times = _retry_times + 1 try: _request = TeaRequest() ctx = {} access_key_id = self._credential.get_access_key_id() access_key_secret = self._credential.get_access_key_secret() token = self._credential.get_security_token() _request.protocol = self._protocol _request.method = 'PUT' _request.pathname = '/%s' % TeaConverter.to_unicode(request.object_name) _request.headers = TeaCore.merge({ 'host': OSSUtilClient.get_host(request.bucket_name, self._region_id, self._endpoint, self._host_model), 'date': UtilClient.get_date_utcstring(), 'user-agent': self.get_user_agent() }, UtilClient.stringify_map_value(TeaCore.to_map(request.header)), OSSUtilClient.parse_meta(request.user_meta, 'x-oss-meta-')) if not UtilClient.empty(token): _request.headers['x-oss-security-token'] = token _request.body = OSSUtilClient.inject(request.body, ctx) if not UtilClient.is_unset(request.header) and not UtilClient.empty(request.header.content_type): _request.headers['content-type'] = request.header.content_type else: _request.headers['content-type'] = OSSUtilClient.get_content_type(request.object_name) _request.headers['authorization'] = OSSUtilClient.get_signature(_request, request.bucket_name, access_key_id, access_key_secret, self._signature_version, self._addtional_headers) _last_request = _request _response = TeaCore.do_action(_request, _runtime) resp_map = None body_str = None if UtilClient.is_4xx(_response.status_code) or UtilClient.is_5xx(_response.status_code): body_str = UtilClient.read_as_string(_response.body) resp_map = OSSUtilClient.get_err_message(body_str) raise TeaException({ 'code': resp_map.get('Code'), 'message': resp_map.get('Message'), 'data': { 'httpCode': _response.status_code, 'requestId': resp_map.get('RequestId'), 'hostId': resp_map.get('HostId') } }) if self._is_enable_crc and not UtilClient.equal_string(ctx.get('crc'), _response.headers.get('x-oss-hash-crc64ecma')): raise TeaException({ 'code': 'CrcNotMatched', 'data': { 'clientCrc': ctx.get('crc'), 'serverCrc': _response.headers.get('x-oss-hash-crc64ecma') } }) if self._is_enable_md5 and not UtilClient.equal_string(ctx.get('md5'), _response.headers.get('content-md5')): raise TeaException({ 'code': 'MD5NotMatched', 'data': { 'clientMD5': ctx.get('md5'), 'serverMD5': _response.headers.get('content-md5') } }) return oss_models.PutObjectResponse().from_map( TeaCore.merge(_response.headers) ) except Exception as e: if TeaCore.is_retryable(e): _last_exception = e continue raise e raise UnretryableException(_last_request, _last_exception) def set_user_agent(self, user_agent): self._user_agent = user_agent def append_user_agent(self, user_agent): self._user_agent = '%s %s' % (TeaConverter.to_unicode(self._user_agent), TeaConverter.to_unicode(user_agent)) def get_user_agent(self): user_agent = UtilClient.get_user_agent(self._user_agent) return user_agent def get_access_key_id(self): if UtilClient.is_unset(self._credential): return '' access_key_id = self._credential.get_access_key_id() return access_key_id def get_access_key_secret(self): if UtilClient.is_unset(self._credential): return '' secret = self._credential.get_access_key_secret() return secret