- AWS CLI
-
Das folgende Beispiel nimmt eine Eingabedatei aus einem S3-Bucket auf und führt den AnalyzeID Vorgang darauf aus. Ersetzen Sie im folgenden Code den Wert von Bucket durch den Namen Ihres S3-Buckets und den Wert von Name durch den Namen der Datei in Ihrem Bucket. profile-nameErsetzen Sie durch den Namen eines Profils, das die Rolle übernehmen kann, und region durch die Region, in der Sie den Code ausführen möchten.
aws textract analyze-id \
--document-pages '{"S3Object":{"Bucket":"bucket","Name":"name"}}' \
--profile profile-name \
--region region
Sie können die API auch mit der Vorder- und Rückseite eines Führerscheins aufrufen, indem Sie der Eingabe ein weiteres Amazon S3-Objekt hinzufügen.
aws textract analyze-id \
--document-pages '[{"S3Object":{"Bucket":"bucket","Name":"name front"}}, {"S3Object":{"Bucket":"bucket","Name":"name back"}}]' \
--profile profile-name \
--region region
Wenn Sie auf einem Windows-Gerät auf die CLI zugreifen, verwenden Sie doppelte Anführungszeichen statt einfacher Anführungszeichen und umgehen Sie die inneren doppelten Anführungszeichen mit einem umgekehrten Schrägstrich (\), um etwaige Parserfehler zu beheben. Sehen Sie sich zum Beispiel Folgendes an:
aws textract analyze-id --document-pages "[{\"S3Object\":{\"Bucket\":\"bucket\",\"Name\":\"name\"}}]" --region region
- Python
-
Das folgende Beispiel nimmt eine Eingabedatei aus einem S3-Bucket auf und führt den AnalyzeID Vorgang darauf aus, wobei die erkannten Schlüssel-Wert-Paare zurückgegeben werden. Ersetzen Sie im folgenden Code den Wert von bucket_name durch den Namen Ihres S3-Buckets und den Wert von file_name durch den Namen der Datei in Ihrem Bucket. profile-nameErsetzen Sie durch den Namen eines Profils, das die Rolle übernehmen kann, und region durch die Region, in der Sie den Code ausführen möchten.
import boto3
def analyze_id(client, bucket_name, file_name):
# Analyze document
# process using S3 object
response = client.analyze_id(
DocumentPages=[{'S3Object': {'Bucket': bucket_name, 'Name': file_name}}])
for doc_fields in response['IdentityDocuments']:
for id_field in doc_fields['IdentityDocumentFields']:
for key, val in id_field.items():
if "Type" in str(key):
print("Type: " + str(val['Text']))
for key, val in id_field.items():
if "ValueDetection" in str(key):
print("Value Detection: " + str(val['Text']))
print()
def main():
session = boto3.Session(profile_name='profile-name')
client = session.client('textract', region_name='region')
bucket_name = "bucket"
file_name = "file"
analyze_id(client, bucket_name, file_name)
if __name__ == "__main__":
main()
- Java
-
Das folgende Beispiel nimmt eine Eingabedatei aus einem S3-Bucket auf und führt den AnalyzeID Vorgang darauf aus, wobei die erkannten Daten zurückgegeben werden. Ersetzen Sie in der Hauptfunktion die Werte von s3bucket und sourceDoc durch die Namen des Amazon S3-Buckets und des Dokumentbilds, die Sie in Schritt 2 verwendet haben. Ersetzen Sie den Wert von credentialsProvider mit dem Namen Ihres Entwicklerprofils.
/*
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0
*/
package com.amazonaws.samples;
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.textract.AmazonTextractClient;
import com.amazonaws.services.textract.AmazonTextractClientBuilder;
import com.amazonaws.services.textract.model.*;
import java.util.ArrayList;
import java.util.List;
public class AppTest1 {
public static void main(String[] args) {
final String USAGE = "\n" +
"Usage:\n" +
" <s3bucket><sourceDoc> \n\n" +
"Where:\n" +
" s3bucket - the Amazon S3 bucket where the document is located. \n" +
" sourceDoc - the name of the document. \n";
if (args.length != 1) {
System.out.println(USAGE);
System.exit(1);
}
// set provider credentials
AWSCredentialsProvider credentialsProvider = new ProfileCredentialsProvider("default");
String s3bucket = "bucket-name"; //args[0];
String sourceDoc = "sourcedoc-name"; //args[1];
AmazonTextractClient textractClient = (AmazonTextractClient) AmazonTextractClientBuilder.standard().withCredentials(credentialsProvider)
.withRegion(Regions.US_EAST_1)
.build();
getDocDetails(textractClient, s3bucket, sourceDoc);
}
public static void getDocDetails(AmazonTextractClient textractClient, String s3bucket, String sourceDoc ) {
try {
S3Object s3 = new S3Object();
s3.setBucket(s3bucket);
s3.setName(sourceDoc);
com.amazonaws.services.textract.model.Document myDoc = new com.amazonaws.services.textract.model.Document();
myDoc.setS3Object(s3);
List<Document> list1 = new ArrayList();
list1.add(myDoc);
AnalyzeIDRequest idRequest = new AnalyzeIDRequest();
idRequest.setDocumentPages(list1);
AnalyzeIDResult result = textractClient.analyzeID(idRequest);
List<IdentityDocument> docs = result.getIdentityDocuments();
for (IdentityDocument doc: docs) {
List<IdentityDocumentField>idFields = doc.getIdentityDocumentFields();
for (IdentityDocumentField field: idFields) {
System.out.println("Field type is "+ field.getType().getText());
System.out.println("Field value is "+ field.getValueDetection().getText());
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
- Java V2
-
Das folgende Beispiel nimmt eine Eingabedatei aus einem S3-Bucket auf und führt den AnalyzeID Vorgang darauf aus, wobei die erkannten Daten zurückgegeben werden. Ersetzen Sie in der Hauptfunktion die Werte von s3bucket und sourceDoc durch die Namen des S3-Buckets und des Dokumentbilds, die Sie in Schritt 2 verwendet haben.
Ersetzen Sie profile-name in der Zeile, in der das erstellt wird, TextractClient durch den Namen Ihres Entwicklerprofils.
import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider;
import software.amazon.awssdk.core.SdkBytes;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.textract.TextractClient;
import software.amazon.awssdk.services.textract.model.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
// snippet-end:[textract.java2._analyze_doc.import]
import java.util.Optional;
import org.json.JSONObject;
/**
* Before running this Java V2 code example, set up your development environment, including your credentials.
*
* For more information, see the following documentation topic:
*
* https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html
*/
public class DetectCelebrityVideo {
public static void main(String[] args) {
final String usage = "\n" +
"Usage:\n" +
" <bucketName> <docName> \n\n" +
"Where:\n" +
" bucketName - The name of the Amazon S3 bucket that contains the document. \n\n" +
" docName - The document name (must be an image, i.e., book.png). \n";
if (args.length != 2) {
System.out.println(usage);
System.exit(1);
}
String bucketName = args[0];
String docName = args[1];
Region region = Region.US_WEST_2;
TextractClient textractClient = TextractClient.builder()
.region(region)
.credentialsProvider(ProfileCredentialsProvider.create("default"))
.build();
analyzeID(textractClient, bucketName, docName);
textractClient.close();
}
// snippet-start:[textract.java2._analyze_doc.main]
public static void analyzeID(TextractClient textractClient, String bucketName, String docName) {
try {
S3Object s3Object = S3Object.builder()
.bucket(bucketName)
.name(docName)
.build();
// Create a Document object and reference the s3Object instance
Document myDoc = Document.builder()
.s3Object(s3Object)
.build();
AnalyzeIdRequest analyzeIdRequest = AnalyzeIdRequest.builder()
.documentPages(myDoc).build();
AnalyzeIdResponse analyzeId = textractClient.analyzeID(analyzeIdRequest);
// System.out.println(analyzeExpense.toString());
List<IdentityDocument> Docs = analyzeId.identityDocuments();
for (IdentityDocument doc: Docs) {
System.out.println(doc);
}
} catch (TextractException e) {
System.err.println(e.getMessage());
System.exit(1);
}
}
// snippet-end:[textract.java2._analyze_doc.main]
}