

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Face Liveness API 직접 호출
<a name="face-liveness-calling-apis"></a>

AWS Python AWS SDK Boto3 또는 [Java용](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/welcome.html) AWS SDK와 같이 지원되는 SDK를 사용하여 Amazon Rekognition Face Liveness를 테스트할 수 있습니다. [ Boto3](https://docs.aws.amazon.com/pythonsdk/) 선택한 SDK로 `CreateFaceLivenessSession` 및 `GetFaceLivenessSessionResults` API를 직접 호출할 수 있습니다. 다음 섹션에서는 Python 및 Java SDK를 사용하여 이러한 API를 직접 호출하는 방법을 보여줍니다.

 **Face Liveness API를 직접 호출하려면** 
+ 아직 `AmazonRekognitionFullAccess` 권한이 있는 사용자를 생성하거나 업데이트하지 않았다면 이제 하세요. 자세한 내용은 [1단계: AWS 계정 설정 및 사용자 생성](https://docs.aws.amazon.com/rekognition/latest/dg/setting-up.html#setting-up-iam)을 참조하세요.
+ 아직 AWS CLI 및 AWS SDK를 설치하고 구성하지 않았다면 이제 하세요. 자세한 내용은 [2단계: AWS CLI 및 AWS SDK 설정](https://docs.aws.amazon.com/rekognition/latest/dg/setup-awscli-sdk.html)을 참조하세요.

------
#### [ Python ]

다음 코드 조각은 Python 애플리케이션에서 이러한 API를 직접 호출하는 방법을 보여줍니다. 참고로 이 예제를 실행하려면 Boto3 SDK 버전 1.26.110 이상을 사용해야 하지만 가장 최신 버전의 SDK를 사용하는 것이 좋습니다.

```
import boto3

session = boto3.Session(profile_name='default') 
client = session.client('rekognition')

def create_session():

    response = client.create_face_liveness_session()
    
    session_id = response.get("SessionId")
    print('SessionId: ' + session_id)

    return session_id
    
    
def get_session_results(session_id):

    response = client.get_face_liveness_session_results(SessionId=session_id)
    
    confidence = response.get("Confidence")
    status = response.get("Status")
    
    print('Confidence: ' + "{:.2f}".format(confidence) + "%")
    print('Status: ' + status)
    
    return status


def main():
    session_id = create_session()
    print('Created a Face Liveness Session with ID: ' + session_id)
    
    status = get_session_results(session_id)
    print('Status of Face Liveness Session: ' + status)
        

if __name__ == "__main__":
    main()
```

------
#### [ Java ]

다음 코드 조각은 Java 애플리케이션에서 이러한 API를 직접 호출하는 방법을 보여줍니다.

```
package aws.example.rekognition.liveness;

import com.amazonaws.services.rekognition.AmazonRekognition;
import com.amazonaws.services.rekognition.AmazonRekognitionClientBuilder;
import com.amazonaws.services.rekognition.model.AmazonRekognitionException;
import com.amazonaws.services.rekognition.model.CreateFaceLivenessSessionRequest;
import com.amazonaws.services.rekognition.model.CreateFaceLivenessSessionResult;
import com.amazonaws.services.rekognition.model.GetFaceLivenessSessionResultsRequest;
import com.amazonaws.services.rekognition.model.GetFaceLivenessSessionResultsResult;

public class DemoLivenessApplication {

    static AmazonRekognition rekognitionClient;

    public static void main(String[] args) throws Exception {
        
        rekognitionClient = AmazonRekognitionClientBuilder.defaultClient();
        
        try {
            String sessionId = createSession();
            System.out.println("Created a Face Liveness Session with ID: " + sessionId);
            
            String status = getSessionResults(sessionId);
            System.out.println("Status of Face Liveness Session: " + status);
        
        } catch(AmazonRekognitionException e) {
           e.printStackTrace();
        }
    }
    
    private static String createSession() throws Exception {
        
        CreateFaceLivenessSessionRequest request = new CreateFaceLivenessSessionRequest();
        CreateFaceLivenessSessionResult result = rekognitionClient.createFaceLivenessSession(request);
           
        String sessionId = result.getSessionId();
        System.out.println("SessionId: " + sessionId);
        
        return sessionId;
    }
    
    private static String getSessionResults(String sessionId) throws Exception {
        
        GetFaceLivenessSessionResultsRequest request = new GetFaceLivenessSessionResultsRequest().withSessionId(sessionId);
        GetFaceLivenessSessionResultsResult result = rekognitionClient.getFaceLivenessSessionResults(request);
          
        Float confidence = result.getConfidence();
        String status = result.getStatus();

        System.out.println("Confidence: " + confidence);
        System.out.println("status: " + status);
        
        return status;
    }   
}
```

------
#### [ Java V2 ]

다음 코드 조각은 AWS Java V2 SDK를 사용하여 Face Liveness APIs를 호출하는 방법을 보여줍니다.

```
package aws.example.rekognition.liveness;

import com.amazonaws.services.rekognition.AmazonRekognition;
import com.amazonaws.services.rekognition.AmazonRekognitionClientBuilder;
import com.amazonaws.services.rekognition.model.AmazonRekognitionException;
import com.amazonaws.services.rekognition.model.CreateFaceLivenessSessionRequest;
import com.amazonaws.services.rekognition.model.CreateFaceLivenessSessionResult;
import com.amazonaws.services.rekognition.model.GetFaceLivenessSessionResultsRequest;
import com.amazonaws.services.rekognition.model.GetFaceLivenessSessionResultsResult;

public class DemoLivenessApplication {

    static AmazonRekognition rekognitionClient;

    public static void main(String[] args) throws Exception {
        
        rekognitionClient = AmazonRekognitionClientBuilder.defaultClient();
        
        try {
            String sessionId = createSession();
            System.out.println("Created a Face Liveness Session with ID: " + sessionId);
            
            String status = getSessionResults(sessionId);
            System.out.println("Status of Face Liveness Session: " + status);
        
        } catch(AmazonRekognitionException e) {
           e.printStackTrace();
        }
    }
    
    private static String createSession() throws Exception {
        
        CreateFaceLivenessSessionRequest request = new CreateFaceLivenessSessionRequest();
        CreateFaceLivenessSessionResult result = rekognitionClient.createFaceLivenessSession(request);
           
        String sessionId = result.getSessionId();
        System.out.println("SessionId: " + sessionId);
        
        return sessionId;
    }
    
    private static String getSessionResults(String sessionId) throws Exception {
        
        GetFaceLivenessSessionResultsRequest request = new GetFaceLivenessSessionResultsRequest().withSessionId(sessionId);
        GetFaceLivenessSessionResultsResult result = rekognitionClient.getFaceLivenessSessionResults(request);
          
        Float confidence = result.getConfidence();
        String status = result.getStatus();

        System.out.println("Confidence: " + confidence);
        System.out.println("status: " + status);
        
        return status;
    }   
}
```

------
#### [ Node.Js ]

다음 코드 조각은 AWS Node.Js SDK를 사용하여 Face Liveness APIs를 호출하는 방법을 보여줍니다.

```
const Rekognition = require("aws-sdk/clients/rekognition");

const rekognitionClient = new Rekognition({ region: "us-east-1" });

async function createSession() {
    const response = await rekognitionClient.createFaceLivenessSession().promise();

    const sessionId = response.SessionId;
    console.log("SessionId:", sessionId);

    return sessionId;
}

async function getSessionResults(sessionId) {
    const response = await rekognitionClient
        .getFaceLivenessSessionResults({
            SessionId: sessionId,
        })
        .promise();

    const confidence = response.Confidence;
    const status = response.Status;
    console.log("Confidence:", confidence);
    console.log("Status:", status);

    return status;
}

async function main() {
    const sessionId = await createSession();
    console.log("Created a Face Liveness Session with ID:", sessionId);

    const status = await getSessionResults(sessionId);
    console.log("Status of Face Liveness Session:", status);
}

main();
```

------
#### [ Node.Js (Javascript SDK v3) ]

다음 코드 조각은 Javascript v3용 AWS Node.Js SDK를 사용하여 Face Liveness APIs를 호출하는 방법을 보여줍니다.

```
import { RekognitionClient, CreateFaceLivenessSessionCommand } from "@aws-sdk/client-rekognition"; // ES Modules 
import const { RekognitionClient, CreateFaceLivenessSessionCommand } = require("@aws-sdk/client-rekognition"); // CommonJS import
const client = new RekognitionClient(config);
const input = { 
  KmsKeyId: "STRING_VALUE",
  Settings: { 
    OutputConfig: { // LivenessOutputConfig
      S3Bucket: "STRING_VALUE", // required
      S3KeyPrefix: "STRING_VALUE",
    },
    AuditImagesLimit: Number("int"),
  },
  ClientRequestToken: "STRING_VALUE",
};
const command = new CreateFaceLivenessSessionCommand(input);
const response = await client.send(command);
// { // CreateFaceLivenessSessionResponse
//   SessionId: "STRING_VALUE", // required
// };
```

------