View a markdown version of this page

Menganalisis Dokumentasi Identitas dengan Amazon Textract - Amazon Textract

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menganalisis Dokumentasi Identitas dengan Amazon Textract

Untuk menganalisis dokumen identitas, Anda menggunakan operasi API AnalyzeID, dan meneruskan file dokumen sebagai input. AnalyzeIDmengembalikan struktur JSON yang berisi teks yang dianalisis. Untuk informasi selengkapnya, lihat Menganalisis Dokumen Identitas.

Anda dapat menyediakan dokumen input sebagai array byte gambar (byte gambar yang dikodekan base64), atau sebagai objek Amazon S3. Dalam prosedur ini, Anda mengunggah file gambar ke bucket S3 Anda dan menentukan nama file.

Untuk menganalisis dokumen identitas (API)
  1. Jika belum:

    1. Berikan pengguna AmazonS3ReadOnlyAccess izin AmazonTextractFullAccess dan. Untuk informasi selengkapnya, lihat Langkah 1: Siapkan Akun AWS dan Buat Pengguna.

    2. Instal dan konfigurasikan AWS CLI dan AWS SDK. Untuk informasi selengkapnya, lihat Langkah 2: Siapkan AWS CLI and AWS SDK.

  2. Unggah gambar yang berisi dokumen ke bucket S3 Anda.

    Untuk petunjuk, lihat Meng unggah Objek ke Amazon S3 di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

  3. Gunakan contoh berikut untuk memanggil operasi AnalyzeID.

    AWS CLI

    Contoh berikut mengambil file input dari bucket S3 dan menjalankan AnalyzeID operasi di atasnya. Dalam kode berikut, ganti nilai Bucket dengan nama bucket S3 Anda dan nilainya Name dengan nama file di bucket Anda. Ganti profile-name dengan nama profil yang dapat mengambil peran dan region dengan wilayah di mana Anda ingin menjalankan kode.

    aws textract analyze-id \ --document-pages '{"S3Object":{"Bucket":"bucket","Name":"name"}}' \ --profile profile-name \ --region region

    Anda juga dapat memanggil API dengan bagian depan dan belakang SIM dengan menambahkan objek Amazon S3 lain ke input.

    aws textract analyze-id \ --document-pages '[{"S3Object":{"Bucket":"bucket","Name":"name front"}}, {"S3Object":{"Bucket":"bucket","Name":"name back"}}]' \ --profile profile-name \ --region region

    Jika Anda mengakses CLI pada perangkat Windows, gunakan tanda kutip ganda alih-alih tanda kutip tunggal dan hindari tanda kutip ganda bagian dalam dengan garis miring terbalik (\) untuk mengatasi kesalahan parser yang mungkin Anda temui. Sebagai contoh, lihat yang berikut ini:

    aws textract analyze-id --document-pages "[{\"S3Object\":{\"Bucket\":\"bucket\",\"Name\":\"name\"}}]" --region region
    Python

    Contoh berikut mengambil file input dari bucket S3 dan menjalankan AnalyzeID operasi di atasnya, mengembalikan pasangan kunci-nilai yang terdeteksi. Dalam kode berikut, ganti nilai bucket_name dengan nama bucket S3 Anda dan nilainya file_name dengan nama file di bucket Anda. Ganti profile-name dengan nama profil yang dapat mengambil peran dan region dengan wilayah di mana Anda ingin menjalankan kode.

    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

    Contoh berikut mengambil file input dari bucket S3 dan menjalankan AnalyzeID operasi di atasnya, mengembalikan data yang terdeteksi. Di fungsi utama, ganti nilai s3bucket dan sourceDoc dengan nama bucket Amazon S3 dan gambar dokumen yang Anda gunakan pada langkah 2. Ganti nilai credentialsProvider dengan nama profil pengembang Anda.

    /* 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

    Contoh berikut mengambil file input dari bucket S3 dan menjalankan AnalyzeID operasi di atasnya, mengembalikan data yang terdeteksi. Di fungsi utama, ganti nilai s3bucket dan sourceDoc dengan nama bucket S3 dan gambar dokumen yang Anda gunakan pada langkah 2.

    Ganti profile-name di baris yang membuat TextractClient dengan nama profil pengembang Anda.

    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] }
  4. Ini akan memberi Anda output JSON untuk AnalyzeID operasi.