本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
呼叫人臉活體 API
您可以使用任何支援的 AWS SDK 測試 Amazon Rekognition 人臉活體,例如 AWS Python SDK Boto3 或適用於 Java 的 AWS 開發套件。您可以使用所選的 SDK 來呼叫 CreateFaceLivenessSession
和 GetFaceLivenessSessionResults
API。下一節將示範如何使用 Python 和 Java SDK 呼叫這些 API。
若要呼叫人臉活體 API:
-
如果您尚未這麼做,請建立或更新具有
AmazonRekognitionFullAccess
權限的使用者。如需詳細資訊,請參閱步驟 1:設定 AWS 帳戶並建立使用者。 -
如果您尚未準備就緒,請安裝並設定 AWS CLI 與 AWS SDK。如需詳細資訊,請參閱步驟 2:設定 AWS CLI 和 AWS SDK。
- 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 呼叫人臉活體 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 呼叫人臉活體 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)
-
下列程式碼片段示範如何使用 AWS Node.Js SDK for Javascript v3 呼叫人臉活體 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 // };
編程 Amazon Rekognition 人臉活體 API
設定和自訂應用程式