1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- import boto3
- from django.views import View
- from Ansjer.config import AWS_IOT_SES_ACCESS_REGION, AWS_IOT_SES_ACCESS_ID, \
- AWS_IOT_SES_ACCESS_SECRET
- from Object.ResponseObject import ResponseObject
- class IotCoreView(View):
- def get(self, request, *args, **kwargs):
- request.encoding = 'utf-8'
- request_dict = request.GET
- operation = kwargs.get('operation', None)
- return self.validate(operation, request_dict)
- def post(self, request, *args, **kwargs):
- request.encoding = 'utf-8'
- request_dict = request.POST
- operation = kwargs.get('operation', None)
- return self.validate(operation, request_dict)
- def validate(self, operation, request_dict):
- response = ResponseObject()
- if operation == 'createProvisioningClaim':
- return self.create_provisioning_claim(response)
- else:
- return response.json(404)
- def create_provisioning_claim(self, response):
- client = boto3.client('iot', region_name=AWS_IOT_SES_ACCESS_REGION, aws_access_key_id=AWS_IOT_SES_ACCESS_ID,
- aws_secret_access_key=AWS_IOT_SES_ACCESS_SECRET)
- result = client.create_provisioning_claim(templateName='Ansjer_Iot_Queue')
- res = {
- 'certificateId': result['certificateId'],
- 'certificatePem': result['certificatePem'],
- 'publicKey': result['keyPair']['PublicKey'],
- 'privateKey': result['keyPair']['PrivateKey'],
- 'endpoint': 'a2rqy12o004ad8-ats.iot.us-east-1.amazonaws.com'
- }
- return response.json(0, {'res': res})
|