in client/iot_client.py [0:0]
def get_sts_credentials(self):
pk_pem = "\n".join(self.private_key_pem.decode('utf-8').splitlines())
pk_file = tempfile.NamedTemporaryFile()
pk_file.write(pk_pem.encode('utf-8'))
pk_file.flush()
cert_pem = "\n".join(self.certificate_pem.splitlines())
cert_file = tempfile.NamedTemporaryFile()
cert_file.write(cert_pem.encode('utf-8'))
cert_file.flush()
iot_headers = {
"x-amzn-iot-thingname": self.thing_name
}
r = requests.get(
'https://{0}.credentials.iot.{1}.amazonaws.com/role-aliases/{2}/credentials'.format(
os.environ['CREDENTIALS_ENDPOINT'], os.environ['AWS_DEFAULT_REGION'], self.shadow['tenant']), headers=iot_headers, cert=(cert_file.name, pk_file.name),
verify="AmazonRootCA1.pem")
print(r.status_code)
sts_credentials = r.json()['credentials']
self.boto_session = boto3.Session(
aws_access_key_id=sts_credentials['accessKeyId'],
aws_secret_access_key=sts_credentials['secretAccessKey'],
aws_session_token=sts_credentials['sessionToken']
)
print(sts_credentials)