| 
					
				 | 
			
			
				@@ -40,32 +40,37 @@ class DeviceLogView(View): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def getUploadUrl(self, request_dict, response): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         uid = request_dict.get('uid', None) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         file_type = request_dict.get('file_type', None) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        file_num = int(request_dict.get('file_num', 1)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if not all([uid, file_type]): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return response.json(444) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             uid = CommonService.decode_data(uid) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            # 日志文件名 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            name = CommonService.createOrderID() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            filename = str(name) + '.' + file_type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            obj = 'device_log/{uid}/'.format(uid=uid) + filename 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            aws_s3_client = boto3.client( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                's3', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                region_name=REGION_NAME, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                aws_access_key_id=ACCESS_KEY_ID, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                aws_secret_access_key=SECRET_ACCESS_KEY, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                config=botocore.client.Config(signature_version='s3v4'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            put_url = aws_s3_client.generate_presigned_url( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                ClientMethod='put_object', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Params={ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    'Bucket': LOG_BUCKET, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    'Key': obj 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                ExpiresIn=3600 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return response.json(0, {'put_url': put_url, 'filename': filename}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            put_url_list = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for num in range(file_num): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                # 日志文件名 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                name = CommonService.createOrderID() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                filename = str(name) + '.' + file_type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                obj = 'device_log/{uid}/'.format(uid=uid) + filename 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                aws_s3_client = boto3.client( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    's3', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    region_name=REGION_NAME, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    aws_access_key_id=ACCESS_KEY_ID, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    aws_secret_access_key=SECRET_ACCESS_KEY, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    config=botocore.client.Config(signature_version='s3v4'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                put_url = aws_s3_client.generate_presigned_url( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ClientMethod='put_object', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    Params={ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        'Bucket': LOG_BUCKET, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        'Key': obj 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ExpiresIn=3600 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                put_url_dict = {'put_url': put_url, 'filename': filename} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                put_url_list.append(put_url_dict) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return response.json(0, {'put_url_list': put_url_list}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         except Exception as e: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             print(e) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return response.json(500, repr(e)) 
			 |