/// <summary>
        /// Unmarshaller the response from the service to the response class.
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context)
        {
            ListFacesResponse response = new ListFacesResponse();

            context.Read();
            int targetDepth = context.CurrentDepth;

            while (context.ReadAtDepth(targetDepth))
            {
                if (context.TestExpression("FaceModelVersion", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.FaceModelVersion = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("Faces", targetDepth))
                {
                    var unmarshaller = new ListUnmarshaller <Face, FaceUnmarshaller>(FaceUnmarshaller.Instance);
                    response.Faces = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("NextToken", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.NextToken = unmarshaller.Unmarshall(context);
                    continue;
                }
            }

            return(response);
        }
예제 #2
0
    public static void Example()
    {
        String collectionId = "MyCollection";

        AmazonRekognitionClient rekognitionClient = new AmazonRekognitionClient();

        ListFacesResponse listFacesResponse = null;

        Console.WriteLine("Faces in collection " + collectionId);

        String paginationToken = null;

        do
        {
            if (listFacesResponse != null)
            {
                paginationToken = listFacesResponse.NextToken;
            }

            ListFacesRequest listFacesRequest = new ListFacesRequest()
            {
                CollectionId = collectionId,
                MaxResults   = 1,
                NextToken    = paginationToken
            };

            listFacesResponse = rekognitionClient.ListFaces(listFacesRequest);
            foreach (Face face in listFacesResponse.Faces)
            {
                Console.WriteLine(face.FaceId);
            }
        } while (listFacesResponse != null && !String.IsNullOrEmpty(listFacesResponse.NextToken));
    }
예제 #3
0
        public List <string> GetAllFacesInCollection(string collectionId)
        {
            AmazonRekognitionClient rekognitionClient = AmazonClient.GetInstance();

            ListFacesResponse listFacesResponse = null;

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

            string paginationToken = null;

            do
            {
                if (listFacesResponse != null)
                {
                    paginationToken = listFacesResponse.NextToken;
                }

                ListFacesRequest listFacesRequest = new ListFacesRequest()
                {
                    CollectionId = collectionId,
                    MaxResults   = 1,
                    NextToken    = paginationToken
                };

                listFacesResponse = rekognitionClient.ListFaces(listFacesRequest);
                foreach (Amazon.Rekognition.Model.Face face in listFacesResponse.Faces)
                {
                    faces.Add(face.FaceId);
                }
            }while (listFacesResponse != null && !String.IsNullOrEmpty(listFacesResponse.NextToken));

            return(faces);
        }
        //get list of faces from face collection
        public List <Face> GetListOfFaceInFaceCollection()
        {
            ListFacesResponse listFaceResponse = null;

            string pageToken = string.Empty;

            if (listFaceResponse != null)
            {
                pageToken = listFaceResponse.NextToken;
            }
            //var getresponse = rekoClient.ListCollections(new ListCollectionsRequest
            //{
            //});
            listFaceResponse = rekoClient.ListFaces(new ListFacesRequest
            {
                CollectionId = "myphotos",
                MaxResults   = 1,
                NextToken    = pageToken
            });
            //pageToken = listFaceResponse.NextToken;
            List <Face> lstFace = listFaceResponse.Faces;

            //List<string> collectionIds = getresponse.CollectionIds;
            return(lstFace);
        }
예제 #5
0
        private static void ListFaces()
        {
            ListFacesResponse response = null;

            Console.WriteLine("Faces in collection " + collectionId);

            String paginationToken = null;

            do
            {
                if (response != null)
                {
                    paginationToken = response.NextToken;
                }

                ListFacesRequest request = new ListFacesRequest()
                {
                    CollectionId = collectionId,
                    MaxResults   = 1,
                    NextToken    = paginationToken
                };

                response = rekognitionClient.ListFacesAsync(request).Result;
                foreach (Face face in response.Faces)
                {
                    Console.WriteLine(face.FaceId);
                }
            } while (response != null && !String.IsNullOrEmpty(response.NextToken));
        }
예제 #6
0
        // snippet-start:[Rekognition.dotnetv3.ListFacesExample]
        public static async Task Main()
        {
            string collectionId = "MyCollection2";

            var rekognitionClient = new AmazonRekognitionClient();

            var listFacesResponse = new ListFacesResponse();

            Console.WriteLine($"Faces in collection {collectionId}");

            var listFacesRequest = new ListFacesRequest
            {
                CollectionId = collectionId,
                MaxResults   = 1,
            };

            do
            {
                listFacesResponse = await rekognitionClient.ListFacesAsync(listFacesRequest);

                listFacesResponse.Faces.ForEach(face =>
                {
                    Console.WriteLine(face.FaceId);
                });

                listFacesRequest.NextToken = listFacesResponse.NextToken;
            }while (!string.IsNullOrEmpty(listFacesResponse.NextToken));
        }
예제 #7
0
        public void SetTheCorrectNumberOfItems()
        {
            const int expectedCount = 3;
            var       queryResult   = CreateQueryResultWithFaces(expectedCount);

            var response = ListFacesResponse.FromQuery(queryResult);

            Assert.Equal(expectedCount, response.Items.Count);
        }
예제 #8
0
        public static ListFacesResponse Unmarshall(UnmarshallerContext context)
        {
            ListFacesResponse listFacesResponse = new ListFacesResponse();

            listFacesResponse.HttpResponse = context.HttpResponse;
            listFacesResponse.Code         = context.StringValue("ListFaces.Code");
            listFacesResponse.Message      = context.StringValue("ListFaces.Message");
            listFacesResponse.NextCursor   = context.StringValue("ListFaces.NextCursor");
            listFacesResponse.TotalCount   = context.IntegerValue("ListFaces.TotalCount");
            listFacesResponse.RequestId    = context.StringValue("ListFaces.RequestId");
            listFacesResponse.Action       = context.StringValue("ListFaces.Action");

            List <ListFacesResponse.ListFaces_Face> listFacesResponse_faces = new List <ListFacesResponse.ListFaces_Face>();

            for (int i = 0; i < context.Length("ListFaces.Faces.Length"); i++)
            {
                ListFacesResponse.ListFaces_Face face = new ListFacesResponse.ListFaces_Face();
                face.Id          = context.LongValue("ListFaces.Faces[" + i + "].Id");
                face.IdStr       = context.StringValue("ListFaces.Faces[" + i + "].IdStr");
                face.Name        = context.StringValue("ListFaces.Faces[" + i + "].Name");
                face.PhotosCount = context.IntegerValue("ListFaces.Faces[" + i + "].PhotosCount");
                face.State       = context.StringValue("ListFaces.Faces[" + i + "].State");
                face.IsMe        = context.BooleanValue("ListFaces.Faces[" + i + "].IsMe");
                face.Ctime       = context.LongValue("ListFaces.Faces[" + i + "].Ctime");
                face.Mtime       = context.LongValue("ListFaces.Faces[" + i + "].Mtime");

                List <string> face_axis = new List <string>();
                for (int j = 0; j < context.Length("ListFaces.Faces[" + i + "].Axis.Length"); j++)
                {
                    face_axis.Add(context.StringValue("ListFaces.Faces[" + i + "].Axis[" + j + "]"));
                }
                face.Axis = face_axis;

                ListFacesResponse.ListFaces_Face.ListFaces_Cover cover = new ListFacesResponse.ListFaces_Face.ListFaces_Cover();
                cover.Id      = context.LongValue("ListFaces.Faces[" + i + "].Cover.Id");
                cover.IdStr   = context.StringValue("ListFaces.Faces[" + i + "].Cover.IdStr");
                cover.Title   = context.StringValue("ListFaces.Faces[" + i + "].Cover.Title");
                cover.FileId  = context.StringValue("ListFaces.Faces[" + i + "].Cover.FileId");
                cover.State   = context.StringValue("ListFaces.Faces[" + i + "].Cover.State");
                cover.Md5     = context.StringValue("ListFaces.Faces[" + i + "].Cover.Md5");
                cover.IsVideo = context.BooleanValue("ListFaces.Faces[" + i + "].Cover.IsVideo");
                cover.Width   = context.LongValue("ListFaces.Faces[" + i + "].Cover.Width");
                cover.Height  = context.LongValue("ListFaces.Faces[" + i + "].Cover.Height");
                cover.Ctime   = context.LongValue("ListFaces.Faces[" + i + "].Cover.Ctime");
                cover.Mtime   = context.LongValue("ListFaces.Faces[" + i + "].Cover.Mtime");
                cover.Remark  = context.StringValue("ListFaces.Faces[" + i + "].Cover.Remark");
                face.Cover    = cover;

                listFacesResponse_faces.Add(face);
            }
            listFacesResponse.Faces = listFacesResponse_faces;

            return(listFacesResponse);
        }
예제 #9
0
        public void SetTheRatePerDay()
        {
            var expectedRate = 444.88m;
            var queryFace    = new FaceBuilder().WithRatePerDay(expectedRate).Build();
            var queryResult  = new ListFacesResult(new[] { queryFace });

            var response = ListFacesResponse.FromQuery(queryResult);

            var responseFace = Assert.Single(response.Items);

            Assert.Equal(expectedRate, responseFace.RatePerDay);
        }
예제 #10
0
        public void SetTheName()
        {
            const string expectedName = "An Expected Face";
            var          queryFace    = new FaceBuilder().WithName(expectedName).Build();
            var          queryResult  = new ListFacesResult(new[] { queryFace });

            var response = ListFacesResponse.FromQuery(queryResult);

            var responseFace = Assert.Single(response.Items);

            Assert.Equal(expectedName, responseFace.Name);
        }
예제 #11
0
        public void SetTheId()
        {
            var expectedId  = Guid.NewGuid();
            var queryFace   = new FaceBuilder().WithId(expectedId).Build();
            var queryResult = new ListFacesResult(new[] { queryFace });

            var response = ListFacesResponse.FromQuery(queryResult);

            var responseFace = Assert.Single(response.Items);

            Assert.Equal(expectedId.ToString(), responseFace.Id);
        }
예제 #12
0
        public static Dictionary <string, string> GetFaceList(string _collectionId)
        {
            string collectionId = _collectionId;
            Dictionary <string, string> _faceList = new Dictionary <string, string>();

            _faceList.Clear();

            using (rekognitionClient = new AmazonRekognitionClient(collectionRegion))
            {
                GettingFaceList();
            }

            void GettingFaceList()
            {
                try
                {
                    ListFacesResponse listFacesResponse = null;

                    String paginationToken = null;
                    do
                    {
                        if (listFacesResponse != null)
                        {
                            paginationToken = listFacesResponse.NextToken;
                        }

                        ListFacesRequest listFacesRequest = new ListFacesRequest()
                        {
                            CollectionId = collectionId,
                            MaxResults   = 1,
                            NextToken    = paginationToken
                        };

                        listFacesResponse = rekognitionClient.ListFaces(listFacesRequest);
                        foreach (Face face in listFacesResponse.Faces)
                        {
                            _faceList[face.FaceId] = face.ExternalImageId;
                        }
                    } while (listFacesResponse != null && !String.IsNullOrEmpty(listFacesResponse.NextToken));
                }
                catch (AmazonRekognitionException e)
                {
                    Console.WriteLine("AmazonRekognitionException: " + e);
                }
                catch (Exception e)
                {
                    Console.WriteLine("Error: " + e);
                }
            }

            return(_faceList);
        }