Search code examples
pythonazureazure-cognitive-servicesface-recognitionface-api

Error while creating person group person in microsoft cognitive face API


I have a code which uses older API. I don't know new API. Those who know help me with modifying the code.

import cognitive_face as CF
from global_variables import personGroupId
import sqlite3

Key = '###################'
CF.Key.set(Key)
BASE_URL = 'https://region.api.cognitive.microsoft.com/face/v1.0/' 
CF.BaseUrl.set(BASE_URL)

if len(sys.argv) is not 1:
    res = CF.person.create(personGroupId, str(sys.argv[1]))    #error line
    print(res)
    extractId = str(sys.argv[1])[-2:]
    connect = sqlite3.connect("studentdb")
    cmd = "SELECT * FROM Students WHERE id = " + extractId
    cursor = connect.execute(cmd)
    isRecordExist = 0
    for row in cursor:                                                          
        isRecordExist = 1
    if isRecordExist == 1:                                                      
        connect.execute("UPDATE Students SET personID = ? WHERE ID = ?",(res['personId'], extractId))
    connect.commit()                                                            
    connect.close()  

Solution

  • As you mentioned you are using older API. You are expected to use the new API. Refer this (official documentation) for installing the package and further reference.

    PACKAGE:

    pip install --upgrade azure-cognitiveservices-vision-face

    Import the following libraries (excluding other basic libraries)

    from azure.cognitiveservices.vision.face import FaceClient
    from msrest.authentication import CognitiveServicesCredentials
    from azure.cognitiveservices.vision.face.models import TrainingStatusType, Person, SnapshotObjectType, OperationStatusType  
    

    The updated API command is as follows:

    res = face_client.person_group_person.create(person_group_id, str(sys.argv[1]))