in alibabacloud_credentials/credentials.py [0:0]
def _get_new_credential(self):
r = urlparse(self.credentials_uri)
tea_request = ph.get_new_request()
tea_request.headers['host'] = r.hostname
tea_request.port = r.port
tea_request.method = 'GET'
tea_request.pathname = r.path
for key, values in parse_qs(r.query).items():
for value in values:
tea_request.query[key] = value
response = TeaCore.do_action(tea_request)
if response.status_code != 200:
raise CredentialException(
"Get credentials from " + self.credentials_uri + " failed, HttpCode=" + str(response.status_code))
body = response.body.decode('utf-8')
dic = json.loads(body)
content_code = dic.get('Code')
content_access_key_id = dic.get('AccessKeyId')
content_access_key_secret = dic.get('AccessKeySecret')
content_security_token = dic.get('SecurityToken')
content_expiration = dic.get('Expiration')
if content_code != "Success":
raise CredentialException(
"Get credentials from " + self.credentials_uri + " failed, Code is " + content_code)
# 先转换为时间数组
time_array = time.strptime(content_expiration, "%Y-%m-%dT%H:%M:%SZ")
# 转换为时间戳
time_stamp = calendar.timegm(time_array)
self.access_key_id = content_access_key_id
self.access_key_secret = content_access_key_secret
self.security_token = content_security_token
self.expiration = time_stamp