

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

# Langkah 4: Mengatur AWS CLI dan AWS SDKs
<a name="su-awscli-sdk"></a>

Anda dapat menggunakan Label Kustom Amazon Rekognition dengan () AWS Command Line Interface dan AWS CLI. AWS SDKs Jika Anda perlu menjalankan operasi Amazon Rekognition Custom Labels dari terminal, instal. AWS CLI Jika Anda membuat aplikasi, unduh AWS SDK untuk bahasa pemrograman yang Anda gunakan. 

**Topics**
+ [Instal AWS SDKS](#sdk-install-sdk)
+ [Memberikan akses programatis](su-sdk-programmatic-access.md)
+ [Siapkan izin SDK](su-sdk-permissions.md)
+ [Panggil operasi Label Kustom Rekognition Amazon](su-sdk-list-projects.md)

## Instal AWS SDKS
<a name="sdk-install-sdk"></a>

Ikuti langkah-langkah untuk mengunduh dan mengonfigurasi AWS SDKs.

**Untuk mengatur AWS CLI dan AWS SDKs**
+ Unduh dan instal [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)dan AWS SDKs yang ingin Anda gunakan. Panduan ini memberikan contoh untuk [Java AWS CLI](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/setup.html), dan [Python](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html#installation). Untuk informasi tentang penginstalan AWS SDKs, lihat [Alat untuk Amazon Web Services](https://aws.amazon.com/tools/).

# Memberikan akses programatis
<a name="su-sdk-programmatic-access"></a>

Anda dapat menjalankan contoh AWS CLI dan kode dalam panduan ini di komputer lokal atau AWS lingkungan lain, seperti instans Amazon Elastic Compute Cloud. Untuk menjalankan contoh, Anda perlu memberikan akses ke operasi AWS SDK yang digunakan contoh. 

**Topics**
+ [Menjalankan kode di komputer lokal Anda](#su-sdk-programmatic-access-general)
+ [Menjalankan kode di AWS lingkungan](#su-sdk-aws-environments)

## Menjalankan kode di komputer lokal Anda
<a name="su-sdk-programmatic-access-general"></a>

Untuk menjalankan kode di komputer lokal, sebaiknya gunakan kredensil jangka pendek untuk memberikan akses pengguna ke operasi AWS SDK. Untuk informasi spesifik tentang menjalankan contoh kode AWS CLI dan pada komputer lokal, lihat[Menggunakan profil di komputer lokal Anda](#su-sdk-programmatic-access-customlabels-examples).

Pengguna membutuhkan akses terprogram jika mereka ingin berinteraksi dengan AWS luar. Konsol Manajemen AWS Cara untuk memberikan akses terprogram tergantung pada jenis pengguna yang mengakses AWS.

Untuk memberi pengguna akses programatis, pilih salah satu opsi berikut.


****  

| Pengguna mana yang membutuhkan akses programatis? | Untuk | Oleh | 
| --- | --- | --- | 
| IAM | (Disarankan) Gunakan kredenal konsol sebagai kredensil sementara untuk menandatangani permintaan terprogram ke,, atau. AWS CLI AWS SDKs AWS APIs |  Mengikuti petunjuk untuk antarmuka yang ingin Anda gunakan. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/rekognition/latest/customlabels-dg/su-sdk-programmatic-access.html)  | 
|  Identitas tenaga kerja (Pengguna yang dikelola di Pusat Identitas IAM)  | Gunakan kredensi sementara untuk menandatangani permintaan terprogram ke AWS CLI,, AWS SDKs atau. AWS APIs |  Mengikuti petunjuk untuk antarmuka yang ingin Anda gunakan. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/rekognition/latest/customlabels-dg/su-sdk-programmatic-access.html)  | 
| IAM | Gunakan kredensi sementara untuk menandatangani permintaan terprogram ke AWS CLI,, AWS SDKs atau. AWS APIs | Mengikuti petunjuk dalam [Menggunakan kredensil sementara dengan AWS sumber daya](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) di Panduan Pengguna IAM. | 
| IAM | (Tidak direkomendasikan)Gunakan kredensi jangka panjang untuk menandatangani permintaan terprogram ke AWS CLI,, AWS SDKs atau. AWS APIs |  Mengikuti petunjuk untuk antarmuka yang ingin Anda gunakan. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/rekognition/latest/customlabels-dg/su-sdk-programmatic-access.html)  | 

### Menggunakan profil di komputer lokal Anda
<a name="su-sdk-programmatic-access-customlabels-examples"></a>

Anda dapat menjalankan contoh AWS CLI dan kode dalam panduan ini dengan kredensi jangka pendek yang Anda buat. [Menjalankan kode di komputer lokal Anda](#su-sdk-programmatic-access-general) Untuk mendapatkan kredensi dan informasi pengaturan lainnya, contoh menggunakan profil bernama `custom-labels-access` Misalnya: 

```
session = boto3.Session(profile_name='custom-labels-access')
rekognition_client = session.client("rekognition")
```

Pengguna yang diwakili profil harus memiliki izin untuk memanggil operasi SDK Label Kustom Rekognition Amazon AWS dan operasi SDK lainnya yang diperlukan oleh contoh. Untuk informasi selengkapnya, lihat [Siapkan izin SDK](su-sdk-permissions.md). Untuk menetapkan izin, lihat. [Siapkan izin SDK](su-sdk-permissions.md)

Untuk membuat profil yang sesuai dengan contoh kode AWS CLI dan, pilih salah satu dari berikut ini. Pastikan nama profil yang Anda buat adalah`custom-labels-access`.
+ Pengguna yang dikelola oleh IAM — Ikuti petunjuk di [Beralih ke peran IAM (AWS CLI](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-cli.html)). 
+ Identitas tenaga kerja (Pengguna dikelola oleh AWS IAM Identity Center) — Ikuti petunjuk di [Mengonfigurasi AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html) untuk digunakan. AWS IAM Identity Center Untuk contoh kode, sebaiknya gunakan Integrated Development Environment (IDE), yang mendukung AWS Toolkit yang mengaktifkan otentikasi melalui IAM Identity Center. Untuk contoh Java, lihat [Mulai membangun dengan Java](https://aws.amazon.com/developer/language/java/). Untuk contoh Python, lihat [Mulai membangun dengan Python](https://aws.amazon.com/developer/tools/#IDE_and_IDE_Toolkits). Untuk informasi selengkapnya, lihat [kredenal Pusat Identitas IAM](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sso-credentials.html).

**catatan**  
Anda dapat menggunakan kode untuk mendapatkan kredensi jangka pendek. Untuk informasi selengkapnya, lihat [Beralih ke peran IAM (AWS API)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_use_switch-role-api.html). Untuk Pusat Identitas IAM, dapatkan kredensi jangka pendek untuk suatu peran dengan mengikuti instruksi di [Mendapatkan kredensil peran IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtogetcredentials.html) untuk akses CLI. 

## Menjalankan kode di AWS lingkungan
<a name="su-sdk-aws-environments"></a>

Anda tidak boleh menggunakan kredensil pengguna untuk menandatangani panggilan AWS SDK di AWS lingkungan, seperti kode produksi yang berjalan dalam suatu fungsi. AWS Lambda Sebagai gantinya, Anda mengonfigurasi peran yang menentukan izin yang dibutuhkan kode Anda. Anda kemudian melampirkan peran ke lingkungan tempat kode Anda berjalan. Cara Anda melampirkan peran dan membuat kredensil sementara tersedia bervariasi tergantung pada lingkungan tempat kode Anda berjalan:
+ AWS Lambda fungsi — Gunakan kredenal sementara yang secara otomatis disediakan Lambda ke fungsi Anda saat mengasumsikan peran eksekusi fungsi Lambda. Kredensialnya tersedia di variabel lingkungan Lambda. Anda tidak perlu menentukan profil. Untuk informasi selengkapnya, silakan lihat [Peran eksekusi Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html).
+ Amazon EC2 — Gunakan penyedia kredenal titik akhir metadata instans Amazon EC2. Penyedia secara otomatis membuat dan menyegarkan kredensil untuk Anda menggunakan *profil instans Amazon EC2 yang Anda lampirkan ke instans* Amazon EC2. Untuk informasi selengkapnya, lihat [Menggunakan peran IAM untuk memberikan izin ke aplikasi yang berjalan di instans Amazon EC2](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html)
+ Amazon Elastic Container Service — Gunakan penyedia kredensi Container. Amazon ECS mengirim dan menyegarkan kredensional ke titik akhir metadata. *Peran IAM tugas* yang Anda tentukan menyediakan strategi untuk mengelola kredensil yang digunakan aplikasi Anda. Untuk informasi selengkapnya, lihat [Berinteraksi dengan layanan AWS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html).

Untuk informasi selengkapnya tentang penyedia kredensi, lihat Penyedia kredensi [terstandarisasi.](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html)

# Siapkan izin SDK
<a name="su-sdk-permissions"></a>

Untuk menggunakan operasi Amazon Rekognition Custom Labels SDK, Anda memerlukan izin akses ke Amazon Rekognition Custom Labels API dan bucket Amazon S3 yang digunakan untuk pelatihan model.

**Topics**
+ [Memberikan izin operasi SDK](#su-grant-sdk-permissions)
+ [Pembaruan kebijakan untuk menggunakan AWS SDK](#su-sdk-policy-update)
+ [Menetapkan izin](#su-sdk-assign-permissions)

## Memberikan izin operasi SDK
<a name="su-grant-sdk-permissions"></a>

Sebaiknya Anda hanya memberikan izin yang diperlukan untuk melakukan tugas (izin hak istimewa paling sedikit). Misalnya, untuk menelepon [DetectCustomLabels](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DetectCustomLabels.html), Anda memerlukan izin untuk melakukan`rekognition:DetectCustomLabels`. Untuk menemukan izin operasi, periksa [referensi API](https://docs.aws.amazon.com/rekognition/latest/APIReference/Welcome.html). 

Ketika Anda baru memulai dengan aplikasi, Anda mungkin tidak tahu izin spesifik yang Anda butuhkan, sehingga Anda dapat mulai dengan izin yang lebih luas. AWS kebijakan terkelola memberikan izin untuk membantu Anda memulai. Anda dapat menggunakan kebijakan `AmazonRekognitionCustomLabelsFullAccess` AWS terkelola untuk mendapatkan akses lengkap ke API Label Kustom Rekognition Amazon. Untuk informasi selengkapnya, lihat [kebijakan terkelola AWS: AmazonRekognitionCustomLabelsFullAccess](https://docs.aws.amazon.com/rekognition/latest/dg/security-iam-awsmanpol.html#security-iam-awsmanpol-custom-labels-full-access). Bila Anda mengetahui izin yang dibutuhkan aplikasi Anda, kurangi izin lebih lanjut dengan menentukan kebijakan terkelola pelanggan khusus untuk kasus penggunaan Anda. Untuk informasi selengkapnya, lihat [Kebijakan yang dikelola pelanggan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies). 

Untuk menetapkan izin, lihat. [Menetapkan izin](#su-sdk-assign-permissions)

## Pembaruan kebijakan untuk menggunakan AWS SDK
<a name="su-sdk-policy-update"></a>

Untuk menggunakan AWS SDK dengan rilis terbaru Label Kustom Amazon Rekognition, Anda tidak perlu lagi memberikan izin Label Kustom Rekognition Amazon untuk mengakses bucket Amazon S3 yang berisi gambar pelatihan dan pengujian Anda. Jika sebelumnya Anda telah menambahkan izin, Anda tidak perlu menghapusnya. Jika Anda memilih untuk, hapus kebijakan apa pun dari keranjang tempat layanan untuk kepala sekolah berada`rekognition.amazonaws.com`. Contoh:

```
"Principal": {
    "Service": "rekognition.amazonaws.com"
}
```

Untuk informasi selengkapnya, lihat [Menggunakan kebijakan bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.html).

## Menetapkan izin
<a name="su-sdk-assign-permissions"></a>

Untuk memberikan akses dan menambahkan izin bagi pengguna, grup, atau peran Anda:
+ Pengguna dan grup di AWS IAM Identity Center:

  Buat rangkaian izin. Ikuti instruksi di [Buat rangkaian izin](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) dalam *Panduan Pengguna AWS IAM Identity Center *.
+ Pengguna yang dikelola di IAM melalui penyedia identitas:

  Buat peran untuk federasi identitas. Ikuti instruksi dalam [Buat peran untuk penyedia identitas pihak ketiga (federasi)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) dalam *Panduan Pengguna IAM*.
+ Pengguna IAM:
  + Buat peran yang dapat diambil pengguna Anda. Ikuti instruksi dalam [Buat peran untuk pengguna IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) dalam *Panduan Pengguna IAM*.
  + (Tidak disarankan) Lampirkan kebijakan langsung ke pengguna atau tambahkan pengguna ke grup pengguna. Ikuti petunjuk dalam [Menambahkan izin ke pengguna (konsol)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) dalam *Panduan Pengguna IAM*.

# Panggil operasi Label Kustom Rekognition Amazon
<a name="su-sdk-list-projects"></a>

Jalankan kode berikut untuk mengonfirmasi bahwa Anda dapat melakukan panggilan ke Amazon Rekognition Custom Labels API. Kode ini mencantumkan proyek di AWS akun Anda, di AWS Wilayah saat ini. Jika sebelumnya Anda belum membuat proyek, responsnya kosong, tetapi mengonfirmasi bahwa Anda dapat memanggil `DescribeProjects` operasi. 

Secara umum, memanggil fungsi contoh memerlukan klien Rekognition AWS SDK dan parameter lain yang diperlukan. Klien AWS SDK dideklarasikan dalam fungsi utama. 

Jika kode gagal, periksa apakah pengguna yang Anda gunakan memiliki izin yang benar. Periksa juga AWS Wilayah yang Anda gunakan sebagai Label Kustom Rekognition Amazon tidak tersedia di semua Wilayah. AWS 

**Untuk memanggil operasi Label Kustom Rekognition Amazon**

1. Jika Anda belum melakukannya, instal dan konfigurasikan AWS CLI dan AWS SDKs. Untuk informasi selengkapnya, lihat [Langkah 4: Mengatur AWS CLI dan AWS SDKs](su-awscli-sdk.md).

1. Gunakan kode contoh berikut untuk melihat proyek Anda.

------
#### [ CLI ]

   Gunakan `describe-projects` perintah untuk membuat daftar proyek di akun Anda.

   ```
   aws rekognition describe-projects \
   --profile custom-labels-access
   ```

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

   ```
   # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
   # SPDX-License-Identifier: Apache-2.0
   
   """
   This example shows how to describe your Amazon Rekognition Custom Labels projects.
   If you haven't previously created a project in the current AWS Region,
   the response is an empty list, but does confirm that you can call an
   Amazon Rekognition Custom Labels operation.
   """
   from botocore.exceptions import ClientError
   import boto3
   
   def describe_projects(rekognition_client):
       """
       Lists information about the projects that are in in your AWS account
       and in the current AWS Region.
   
       : param rekognition_client: A Boto3 Rekognition client.
       """
       try:
           response = rekognition_client.describe_projects()
           for project in response["ProjectDescriptions"]:
               print("Status: " + project["Status"])
               print("ARN: " + project["ProjectArn"])
               print()
           print("Done!")
       except ClientError as err:
           print(f"Couldn't describe projects. \n{err}")
           raise
   
   
   def main():
       """
       Entrypoint for script.
       """
   
       session = boto3.Session(profile_name='custom-labels-access')
       rekognition_client = session.client("rekognition")
   
       describe_projects(rekognition_client)
   
   
   if __name__ == "__main__":
       main()
   ```

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

   ```
   /*
      Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
      SPDX-License-Identifier: Apache-2.0
   */
   
   package com.example.rekognition;
   
   import java.util.ArrayList;
   import java.util.List;
   import java.util.logging.Level;
   import java.util.logging.Logger;
   
   import software.amazon.awssdk.auth.credentials.ProfileCredentialsProvider;
   import software.amazon.awssdk.regions.Region;
   import software.amazon.awssdk.services.rekognition.RekognitionClient;
   import software.amazon.awssdk.services.rekognition.model.DatasetMetadata;
   import software.amazon.awssdk.services.rekognition.model.DescribeProjectsRequest;
   import software.amazon.awssdk.services.rekognition.model.DescribeProjectsResponse;
   import software.amazon.awssdk.services.rekognition.model.ProjectDescription;
   import software.amazon.awssdk.services.rekognition.model.RekognitionException;
   
   public class Hello {
   
       public static final Logger logger = Logger.getLogger(Hello.class.getName());
   
       public static void describeMyProjects(RekognitionClient rekClient) {
   
           DescribeProjectsRequest descProjects = null;
   
           // If a single project name is supplied, build projectNames argument
   
           List<String> projectNames = new ArrayList<String>();
   
   
           descProjects = DescribeProjectsRequest.builder().build();
   
           // Display useful information for each project.
   
           DescribeProjectsResponse resp = rekClient.describeProjects(descProjects);
   
           for (ProjectDescription projectDescription : resp.projectDescriptions()) {
   
               System.out.println("ARN: " + projectDescription.projectArn());
               System.out.println("Status: " + projectDescription.statusAsString());
               if (projectDescription.hasDatasets()) {
                   for (DatasetMetadata datasetDescription : projectDescription.datasets()) {
                       System.out.println("\tdataset Type: " + datasetDescription.datasetTypeAsString());
                       System.out.println("\tdataset ARN: " + datasetDescription.datasetArn());
                       System.out.println("\tdataset Status: " + datasetDescription.statusAsString());
                   }
               }
               System.out.println();
           }
   
       }
   
       public static void main(String[] args) {
   
           try {
   
               // Get the Rekognition client
               RekognitionClient rekClient = RekognitionClient.builder()
                   .credentialsProvider(ProfileCredentialsProvider.create("custom-labels-access"))
                   .region(Region.US_WEST_2)
                   .build();
               
               // Describe projects
   
               describeMyProjects(rekClient);
   
               rekClient.close();
   
           } catch (RekognitionException rekError) {
               logger.log(Level.SEVERE, "Rekognition client error: {0}", rekError.getMessage());
               System.exit(1);
           }
   
       }
   
   }
   ```

------