Beispiel #1
0
        public static QueryPageByApplyIdResponse Unmarshall(UnmarshallerContext context)
        {
            QueryPageByApplyIdResponse queryPageByApplyIdResponse = new QueryPageByApplyIdResponse();

            queryPageByApplyIdResponse.HttpResponse = context.HttpResponse;
            queryPageByApplyIdResponse.RequestId    = context.StringValue("QueryPageByApplyId.RequestId");
            queryPageByApplyIdResponse.Success      = context.BooleanValue("QueryPageByApplyId.Success");
            queryPageByApplyIdResponse.Code         = context.StringValue("QueryPageByApplyId.Code");
            queryPageByApplyIdResponse.ErrorMessage = context.StringValue("QueryPageByApplyId.ErrorMessage");
            queryPageByApplyIdResponse.PageSize     = context.IntegerValue("QueryPageByApplyId.PageSize");
            queryPageByApplyIdResponse.Page         = context.IntegerValue("QueryPageByApplyId.Page");
            queryPageByApplyIdResponse.PageCount    = context.IntegerValue("QueryPageByApplyId.PageCount");
            queryPageByApplyIdResponse.Total        = context.IntegerValue("QueryPageByApplyId.Total");

            List <QueryPageByApplyIdResponse.QueryPageByApplyId_ApplyDeviceInfo> queryPageByApplyIdResponse_applyDeviceList = new List <QueryPageByApplyIdResponse.QueryPageByApplyId_ApplyDeviceInfo>();

            for (int i = 0; i < context.Length("QueryPageByApplyId.ApplyDeviceList.Length"); i++)
            {
                QueryPageByApplyIdResponse.QueryPageByApplyId_ApplyDeviceInfo applyDeviceInfo = new QueryPageByApplyIdResponse.QueryPageByApplyId_ApplyDeviceInfo();
                applyDeviceInfo.DeviceId     = context.StringValue("QueryPageByApplyId.ApplyDeviceList[" + i + "].DeviceId");
                applyDeviceInfo.DeviceName   = context.StringValue("QueryPageByApplyId.ApplyDeviceList[" + i + "].DeviceName");
                applyDeviceInfo.DeviceSecret = context.StringValue("QueryPageByApplyId.ApplyDeviceList[" + i + "].DeviceSecret");
                applyDeviceInfo.IotId        = context.StringValue("QueryPageByApplyId.ApplyDeviceList[" + i + "].IotId");

                queryPageByApplyIdResponse_applyDeviceList.Add(applyDeviceInfo);
            }
            queryPageByApplyIdResponse.ApplyDeviceList = queryPageByApplyIdResponse_applyDeviceList;

            return(queryPageByApplyIdResponse);
        }
Beispiel #2
0
        public static QueryPageByApplyIdResponse Unmarshall(UnmarshallerContext context)
        {
            QueryPageByApplyIdResponse queryPageByApplyIdResponse = new QueryPageByApplyIdResponse()
            {
                HttpResponse = context.HttpResponse,
                RequestId    = context.StringValue("QueryPageByApplyId.RequestId"),
                Success      = context.BooleanValue("QueryPageByApplyId.Success"),
                ErrorMessage = context.StringValue("QueryPageByApplyId.ErrorMessage"),
                PageSize     = context.IntegerValue("QueryPageByApplyId.PageSize"),
                Page         = context.IntegerValue("QueryPageByApplyId.Page"),
                PageCount    = context.IntegerValue("QueryPageByApplyId.PageCount"),
                Total        = context.IntegerValue("QueryPageByApplyId.Total")
            };
            List <QueryPageByApplyIdResponse.ApplyDeviceInfo> applyDeviceList = new List <QueryPageByApplyIdResponse.ApplyDeviceInfo>();

            for (int i = 0; i < context.Length("QueryPageByApplyId.ApplyDeviceList.Length"); i++)
            {
                QueryPageByApplyIdResponse.ApplyDeviceInfo applyDeviceInfo = new QueryPageByApplyIdResponse.ApplyDeviceInfo()
                {
                    DeviceId     = context.StringValue($"QueryPageByApplyId.ApplyDeviceList[{i}].DeviceId"),
                    DeviceName   = context.StringValue($"QueryPageByApplyId.ApplyDeviceList[{i}].DeviceName"),
                    DeviceSecret = context.StringValue($"QueryPageByApplyId.ApplyDeviceList[{i}].DeviceSecret")
                };
                applyDeviceList.Add(applyDeviceInfo);
            }
            queryPageByApplyIdResponse.ApplyDeviceList = applyDeviceList;

            return(queryPageByApplyIdResponse);
        }
Beispiel #3
0
        //查询批量申请设备的设备列表
        private static void TestQueryPageByAppId()
        {
            IClientProfile clientProfile = DefaultProfile.GetProfile("<your-region-id>", "<your-access-key-id>", "<your-access-key-secret>");

            DefaultAcsClient client = new DefaultAcsClient(clientProfile);

            QueryPageByApplyIdRequest request = new QueryPageByApplyIdRequest();

            //ApplyId来源于ApplyDeviceWithNamesResponse
            request.ApplyId     = 2429;
            request.CurrentPage = 2;
            request.PageSize    = 20;
            try
            {
                QueryPageByApplyIdResponse response = client.GetAcsResponse(request);
                Console.WriteLine(response.Success);
                Console.WriteLine(response.ErrorMessage);
                Console.WriteLine(response.Page + ", " + response.PageSize + ", " + response.PageCount + ", " + response.Total);
                List <QueryPageByApplyIdResponse.QueryPageByApplyId_ApplyDeviceInfo> Data = response.ApplyDeviceList;
                foreach (QueryPageByApplyIdResponse.QueryPageByApplyId_ApplyDeviceInfo Info in Data)
                {
                    Console.WriteLine(Info.DeviceName);
                }
            }
            catch (ServerException e)
            {
                Console.WriteLine(e.ErrorCode);
                Console.WriteLine(e.ErrorMessage);
            }
            catch (ClientException e)
            {
                Console.WriteLine(e.ErrorCode);
                Console.WriteLine(e.ErrorMessage);
            }
            Console.ReadKey();
        }
        //批量注册设备,最多一次创建1000台设备,指定设备名称
        public void TestBatchRegisterDeviceWithNames()
        {
            DefaultAcsClient acsClient = Demo.IotClient.GetClient();

            String productKey = "<productKey>";
            BatchCheckDeviceNamesRequest request1 = new BatchCheckDeviceNamesRequest();

            request1.ProductKey = productKey;

            List <string> DeviceNames = new List <string>();

            for (int i = 100; i < 150; i += 1)
            {
                DeviceNames.Add("device_0821_" + i);
            }
            request1.DeviceNames = DeviceNames;

            //Step1 创建申请单,返回applyId
            BatchCheckDeviceNamesResponse response1 = acsClient.GetAcsResponse(request1);

            Console.WriteLine("Batch Check: " + response1.Success);
            if (!(bool)response1.Success)
            {
                Console.WriteLine(response1.Code + ", " + response1.ErrorMessage);
            }
            long applyId = (long)response1.Data.ApplyId;

            Console.WriteLine("ApplyId: " + applyId);

            String Status = "FAILED";

            while (true)
            {
                //Step2 轮询申请单的检查进度,如果检查正常通过,则可以量产设备
                QueryBatchRegisterDeviceStatusRequest request2 = new QueryBatchRegisterDeviceStatusRequest();
                request2.ApplyId    = applyId;
                request2.ProductKey = productKey;

                QueryBatchRegisterDeviceStatusResponse response2 = acsClient.GetAcsResponse(request2);

                if (!(bool)response2.Success)
                {
                    Console.WriteLine(response2.Code + ", " + response2.ErrorMessage);
                    break;
                }
                QueryBatchRegisterDeviceStatusResponse.QueryBatchRegisterDeviceStatus_Data data = response2.Data;
                Status = data.Status;
                Console.WriteLine("Query Status: " + response2.Success + ", " + Status);
                if ("CHECK_SUCCESS".Equals(Status))
                {
                    break;
                }
                else
                {
                    if ("CHECK_FAILED".Equals(Status))
                    {
                        List <string> InvalidDevicenameList = response2.Data.InvalidList;
                        for (int j = 0; j < InvalidDevicenameList.Count; j += 1)
                        {
                            String deviceName = InvalidDevicenameList[j];
                            Console.WriteLine("Invalid DeviceName: " + deviceName);
                        }
                        break;
                    }
                    else
                    {
                        Thread.Sleep(1000);
                    }
                }
            }

            if ("CHECK_SUCCESS".Equals(Status))
            {
                //Step3 开始量产设备,量产设备是异步过程,全部待生产设备完成生产需要一段时间
                BatchRegisterDeviceWithApplyIdRequest request3 = new BatchRegisterDeviceWithApplyIdRequest();
                request3.ProductKey = productKey;
                request3.ApplyId    = applyId;

                BatchRegisterDeviceWithApplyIdResponse response3 = acsClient.GetAcsResponse(request3);
                Console.WriteLine("Batch Register With ApplyId Request: " + response3.Success);
                if (!(bool)response3.Success)
                {
                    Console.WriteLine(response3.Code + ", " + response3.ErrorMessage);
                }
            }

            while (true)
            {
                //轮询申请单的检查进度,如果申请单是创建完成状态,则表明全部设备已经生产完毕
                QueryBatchRegisterDeviceStatusRequest request2 = new QueryBatchRegisterDeviceStatusRequest();
                request2.ApplyId    = applyId;
                request2.ProductKey = productKey;

                QueryBatchRegisterDeviceStatusResponse response2 = acsClient.GetAcsResponse(request2);

                if (!(bool)response2.Success)
                {
                    Console.WriteLine(response2.Code + ", " + response2.ErrorMessage);
                    break;
                }
                QueryBatchRegisterDeviceStatusResponse.QueryBatchRegisterDeviceStatus_Data data = response2.Data;
                Status = data.Status;
                Console.WriteLine("Query Status: " + response2.Success + ", " + Status);
                if ("CREATE_SUCCESS".Equals(Status))
                {
                    break;
                }
                else
                {
                    Thread.Sleep(1000);
                }
            }

            //Step5 根据ApplyId,获取这一批次量产的全部设备
            QueryPageByApplyIdRequest request4 = new QueryPageByApplyIdRequest();

            request4.ApplyId     = applyId;
            request4.CurrentPage = 1;
            request4.PageSize    = 10;

            QueryPageByApplyIdResponse response4 = acsClient.GetAcsResponse(request4);

            Console.WriteLine("Query With ApplyId: " + response4.Success);
            if (!(bool)response4.Success)
            {
                Console.WriteLine(response4.Code + ", " + response4.ErrorMessage);
            }
            Console.WriteLine("Page: " + response4.Page);
            Console.WriteLine("PageSize: " + response4.PageSize);
            Console.WriteLine("PageCount: " + response4.PageCount);
            Console.WriteLine("Total: " + response4.Total);
        }
        //批量注册设备,最多一次创建1000台设备,设备名称随机生成
        public void TestBatchRegisterDevice()
        {
            DefaultAcsClient acsClient = Demo.IotClient.GetClient();

            String productKey = "<productKey>";
            BatchRegisterDeviceRequest request1 = new BatchRegisterDeviceRequest();

            request1.ProductKey = productKey;
            request1.Count      = 10;

            //Step1 创建申请单,返回applyId
            BatchRegisterDeviceResponse response1 = acsClient.GetAcsResponse(request1);

            Console.WriteLine("Batch Register: " + response1.Success);
            if (!(bool)response1.Success)
            {
                Console.WriteLine(response1.Code + ", " + response1.ErrorMessage);
            }
            long applyId = (long)response1.Data.ApplyId;

            Console.WriteLine("ApplyId: " + applyId);

            String Status = "CHECK_FAILED";

            while (true)
            {
                //轮询申请单的检查进度,如果检查正常通过,则可以量产设备
                QueryBatchRegisterDeviceStatusRequest request2 = new QueryBatchRegisterDeviceStatusRequest();
                request2.ApplyId    = applyId;
                request2.ProductKey = productKey;

                QueryBatchRegisterDeviceStatusResponse response2 = acsClient.GetAcsResponse(request2);

                if (!(bool)response2.Success)
                {
                    Console.WriteLine(response2.Code + ", " + response2.ErrorMessage);
                    break;
                }
                QueryBatchRegisterDeviceStatusResponse.QueryBatchRegisterDeviceStatus_Data data = response2.Data;
                Status = data.Status;
                Console.WriteLine("Query Status: " + response2.Success + ", " + Status);
                if ("CREATE_SUCCESS".Equals(Status))
                {
                    break;
                }
                else
                {
                    Thread.Sleep(1000);
                }
            }

            if ("CREATE_SUCCESS".Equals(Status))
            {
                QueryPageByApplyIdRequest request3 = new QueryPageByApplyIdRequest();
                request3.ApplyId     = applyId;
                request3.CurrentPage = 1;
                request3.PageSize    = 10;

                QueryPageByApplyIdResponse response3 = acsClient.GetAcsResponse(request3);
                Console.WriteLine("Query With ApplyId: " + response3.Success);
                if (!(bool)response3.Success)
                {
                    Console.WriteLine(response3.Code + ", " + response3.ErrorMessage);
                }
                Console.WriteLine("Page: " + response3.Page);
                Console.WriteLine("PageSize: " + response3.PageSize);
                Console.WriteLine("PageCount: " + response3.PageCount);
                Console.WriteLine("Total: " + response3.Total);
            }
        }