

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

# AWS IoT Greengrass Kit Pengembangan Antarmuka Baris Perintah
<a name="greengrass-development-kit-cli"></a>

 AWS IoT Greengrass [Development Kit Command-Line Interface (GDK CLI) menyediakan fitur yang membantu Anda mengembangkan komponen Greengrass khusus.](develop-greengrass-components.md) Anda dapat menggunakan CLI GDK untuk membuat, membangun, dan menerbitkan komponen kustom. [Saat Anda membuat repositori komponen dengan CLI GDK, Anda dapat memulai dari template atau komponen komunitas dari Katalog Perangkat Lunak Greengrass.](greengrass-software-catalog.md) Kemudian, Anda dapat memilih sistem build yang mengemas file sebagai arsip ZIP, menggunakan skrip build Maven atau Gradle, atau menjalankan perintah build kustom. Setelah membuat komponen, Anda dapat menggunakan CLI GDK untuk mempublikasikannya ke AWS IoT Greengrass layanan, sehingga Anda dapat menggunakan AWS IoT Greengrass konsol atau API untuk menyebarkan komponen ke perangkat inti Greengrass Anda.

Saat Anda mengembangkan komponen Greengrass tanpa CLI GDK, Anda harus memperbarui versi dan URIs artefak dalam file [resep komponen setiap kali Anda membuat versi baru komponen](component-recipe-reference.md). Saat Anda menggunakan CLI GDK, CLI dapat secara otomatis memperbarui versi dan URIs artefak untuk Anda setiap kali Anda menerbitkan versi baru komponen.

CLI GDK adalah open source dan tersedia di. GitHub Anda dapat menyesuaikan dan memperluas CLI GDK untuk memenuhi kebutuhan pengembangan komponen Anda. Kami mengundang Anda untuk membuka masalah dan menarik permintaan pada GitHub repositori. Anda dapat menemukan sumber CLI GDK di tautan berikut:. [https://github.com/aws-greengrass/aws-greengrass-gdk-cli](https://github.com/aws-greengrass/aws-greengrass-gdk-cli)

## Prasyarat
<a name="gdk-cli-prerequisites"></a>

Untuk menginstal dan menggunakan CLI Greengrass Development Kit, Anda memerlukan yang berikut ini:
+ Sebuah Akun AWS. Jika Anda tidak memilikinya, lihat [Mengatur sebuah Akun AWS](setting-up.md#set-up-aws-account).
+ Komputer pengembangan seperti Windows, macOS, atau Unix dengan koneksi internet.
+ Untuk GDK CLI versi 1.1.0 atau yang lebih baru, [Python](https://www.python.org/downloads/) 3.6 atau yang lebih baru diinstal pada komputer pengembangan Anda.

  Untuk GDK CLI versi 1.0.0[,](https://www.python.org/downloads/) Python 3.8 atau yang lebih baru diinstal pada komputer pengembangan Anda.
+ [Git](https://git-scm.com/) diinstal pada komputer pengembangan Anda.
+ <a name="development-component-aws-cli-prerequisite"></a>AWS Command Line Interface (AWS CLI) diinstal dan dikonfigurasi dengan kredensional di komputer pengembangan Anda. Untuk informasi selengkapnya, lihat [Menginstal, memperbarui, dan melepas pemasangan AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) dan [Mengonfigurasi AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) di *Panduan Pengguna AWS Command Line Interface *.
**catatan**  
Jika Anda menggunakan Raspberry Pi atau perangkat ARM 32-bit lainnya, instal AWS CLI V1. AWS CLI V2 tidak tersedia untuk perangkat ARM 32-bit. Untuk informasi selengkapnya, lihat [Menginstal, memperbarui, dan menghapus instalan AWS CLI versi 1](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv1.html).
+ Untuk menggunakan CLI GDK untuk mempublikasikan komponen ke AWS IoT Greengrass layanan, Anda harus memiliki izin berikut:
  + `s3:CreateBucket`
  + `s3:GetBucketLocation`
  + `s3:PutObject`
  + `greengrass:CreateComponentVersion`
  + `greengrass:ListComponentVersions`
+ Untuk menggunakan CLI GDK untuk membangun komponen yang artefaknya ada di bucket S3 dan bukan di sistem file lokal, Anda harus memiliki izin berikut:
  + `s3:ListBucket`

  Fitur ini tersedia untuk GDK CLI v1.1.0 dan yang lebih baru.

## Changelog
<a name="gdk-cli-changelog"></a>

Tabel berikut menjelaskan perubahan di setiap versi CLI GDK. Untuk informasi selengkapnya, lihat halaman [Rilis CLI GDK](https://github.com/aws-greengrass/aws-greengrass-gdk-cli/releases) di. GitHub


|  **Versi**  |  **Perubahan**  | 
| --- | --- | 
|  1.6.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/greengrass/v2/developerguide/greengrass-development-kit-cli.html)  | 
|  1.6.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/greengrass/v2/developerguide/greengrass-development-kit-cli.html)  | 
| 1.6.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/greengrass/v2/developerguide/greengrass-development-kit-cli.html)  | 
|  1.5.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/greengrass/v2/developerguide/greengrass-development-kit-cli.html)  | 
| 1.4.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/greengrass/v2/developerguide/greengrass-development-kit-cli.html)  | 
| 1.3.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/greengrass/v2/developerguide/greengrass-development-kit-cli.html)  | 
| 1.2.3 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/greengrass/v2/developerguide/greengrass-development-kit-cli.html)  | 
| 1.2.2 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/greengrass/v2/developerguide/greengrass-development-kit-cli.html)  | 
| 1.2.1 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/greengrass/v2/developerguide/greengrass-development-kit-cli.html)  | 
| 1.2.0 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/greengrass/v2/developerguide/greengrass-development-kit-cli.html) [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/greengrass/v2/developerguide/greengrass-development-kit-cli.html)  | 
|  1.1.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/greengrass/v2/developerguide/greengrass-development-kit-cli.html)  | 
|  1.0.0  |  Versi awal.  | 

# Instal atau perbarui Antarmuka AWS IoT Greengrass Baris Perintah Kit Pengembangan
<a name="install-greengrass-development-kit-cli"></a>

 AWS IoT Greengrass Development Kit Command-Line Interface (GDK CLI) dibangun di atas Python, sehingga Anda dapat `pip` menggunakannya untuk menginstalnya di komputer pengembangan Anda.

**Tip**  
[Anda juga dapat menginstal CLI GDK di lingkungan virtual Python seperti venv.](https://docs.python.org/3/library/venv.html#module-venv) Untuk informasi selengkapnya, lihat [Lingkungan dan Paket Virtual](https://docs.python.org/3/tutorial/venv.html) dalam *dokumentasi Python 3*.

**Untuk menginstal atau memperbarui CLI GDK**

1. [Jalankan perintah berikut untuk menginstal versi terbaru CLI GDK dari GitHub repositorinya.](https://github.com/aws-greengrass/aws-greengrass-gdk-cli)

   ```
   python3 -m pip install -U git+https://github.com/aws-greengrass/aws-greengrass-gdk-cli.git@v1.6.2
   ```
**catatan**  
Untuk menginstal versi tertentu dari CLI GDK, *versionTag* ganti dengan tag versi untuk menginstal. [Anda dapat melihat tag versi untuk CLI GDK di GitHub repositorinya.](https://github.com/aws-greengrass/aws-greengrass-gdk-cli/tags)  

   ```
   python3 -m pip install -U git+https://github.com/aws-greengrass/aws-greengrass-gdk-cli.git@versionTag
   ```

1. <a name="gdk-cli-verify-installation"></a>Jalankan perintah berikut untuk memverifikasi bahwa CLI GDK berhasil diinstal.

   ```
   gdk --help
   ```

   Jika `gdk` perintah tidak ditemukan, tambahkan foldernya ke PATH.
   + Di perangkat Linux, tambahkan `/home/MyUser/.local/bin` ke PATH, dan ganti *MyUser* dengan nama pengguna Anda.
   + Pada perangkat Windows, tambahkan `PythonPath\\Scripts` ke PATH, dan ganti *PythonPath* dengan jalur ke folder Python di perangkat Anda.

Anda sekarang dapat menggunakan CLI GDK untuk membuat, membangun, dan menerbitkan komponen Greengrass. Untuk informasi selengkapnya tentang cara menggunakan CLI GDK, lihat. [AWS IoT Greengrass Perintah Antarmuka Baris Perintah Kit Pengembangan](greengrass-development-kit-cli-commands.md)

# AWS IoT Greengrass Perintah Antarmuka Baris Perintah Kit Pengembangan
<a name="greengrass-development-kit-cli-commands"></a>

 AWS IoT Greengrass Development Kit Command-Line Interface (GDK CLI) menyediakan antarmuka baris perintah yang dapat Anda gunakan untuk membuat, membangun, dan menerbitkan komponen Greengrass di komputer pengembangan Anda. Perintah CLI GDK menggunakan format berikut.

```
gdk <command> <subcommand> [arguments]
```

Saat Anda [menginstal CLI GDK](install-greengrass-development-kit-cli.md), penginstal `gdk` menambahkan ke PATH sehingga Anda dapat menjalankan CLI GDK dari baris perintah.

Anda dapat menggunakan argumen berikut dengan perintah apa pun:
+ Gunakan `-h` atau `--help` untuk informasi tentang perintah CLI GDK.
+ Gunakan `-v` atau `--version` untuk melihat versi CLI GDK apa yang diinstal.
+ Gunakan `-d` atau `--debug` untuk menampilkan log verbose yang dapat Anda gunakan untuk men-debug CLI GDK.

Bagian ini menjelaskan perintah CLI GDK dan memberikan contoh untuk setiap perintah. Sinopsis untuk setiap perintah menunjukkan argumen dan penggunaannya. Argumen opsional ditampilkan dalam tanda kurung siku.

**Topics**
+ [komponen](greengrass-development-kit-cli-component.md)
+ [config](greengrass-development-kit-cli-config.md)
+ [tes-e2e](greengrass-development-kit-cli-test.md)

# komponen
<a name="greengrass-development-kit-cli-component"></a>

Gunakan `component` perintah di AWS IoT Greengrass Development Kit Command-Line Interface (GDK CLI) untuk membuat, membangun, dan menerbitkan komponen Greengrass kustom.

**Topics**
+ [inisialisasi](#greengrass-development-kit-cli-component-init)
+ [build](#greengrass-development-kit-cli-component-build)
+ [publish](#greengrass-development-kit-cli-component-publish)
+ [daftar](#greengrass-development-kit-cli-component-list)

## inisialisasi
<a name="greengrass-development-kit-cli-component-init"></a>

Menginisialisasi folder komponen Greengrass dari template komponen atau komponen komunitas.

<a name="gdk-cli-component-templates-community-components"></a>[CLI GDK mengambil komponen komunitas dari Katalog [Perangkat Lunak Greengrass dan templat komponen dari repositori Template](greengrass-software-catalog.md) Komponen pada.AWS IoT Greengrass GitHub](https://github.com/aws-greengrass/aws-greengrass-component-templates)

**catatan**  
<a name="gdk-cli-component-init-empty-folder-requirement"></a>Jika Anda menggunakan GDK CLI v1.0.0, Anda harus menjalankan perintah ini di folder kosong. CLI GDK mengunduh template atau komponen komunitas ke folder saat ini.  
<a name="gdk-cli-component-init-empty-folder-requirement-gdk-cli-v1.1.0"></a>Jika Anda menggunakan GDK CLI v1.1.0 atau yang lebih baru, Anda dapat menentukan `--name` argumen untuk menentukan folder tempat CLI GDK mengunduh template atau komponen komunitas. Jika Anda menggunakan argumen ini, tentukan folder yang tidak ada. CLI GDK membuat folder untuk Anda. Jika Anda tidak menentukan argumen ini, CLI GDK menggunakan folder saat ini, yang harus kosong.  
Jika komponen menggunakan [sistem pembuatan zip](gdk-cli-configuration-file.md#gdk-cli-configuration-file-build-system), CLI GDK membuat zip file tertentu di folder komponen ke dalam file zip dengan nama yang sama dengan folder komponen. Misalnya, jika nama folder komponen adalah`HelloWorld`, CLI GDK membuat file zip bernama. `HelloWorld.zip` Dalam resep komponen, nama artefak zip harus cocok dengan nama folder komponen. Jika Anda menggunakan GDK CLI versi 1.0.0 pada perangkat Windows, folder komponen dan nama file zip harus berisi hanya huruf kecil.  
Jika Anda menginisialisasi template atau komponen komunitas yang menggunakan sistem pembuatan zip ke folder dengan nama yang berbeda dari template atau komponen, Anda harus mengubah nama artefak zip dalam resep komponen. Perbarui `Artifacts` dan `Lifecycle` definisi sedemikian rupa sehingga nama file zip cocok dengan nama folder komponen. Contoh berikut menyoroti nama file zip dalam `Artifacts` dan `Lifecycle` definisi.  

```
{
  ...
  "Manifests": [
    {
      "Platform": {
        "os": "all"
      },
      "Artifacts": [
        {
          "URI": "s3://BUCKET_NAME/COMPONENT_NAME/COMPONENT_VERSION/HelloWorld.zip",
          "Unarchive": "ZIP"
        }
      ],
      "Lifecycle": {
        "Run": "python3 -u {artifacts:decompressedPath}/HelloWorld/main.py {configuration:/Message}"
      }
    }
  ]
}
```

```
---
...
Manifests:
  - Platform:
      os: all
    Artifacts:
      - URI: "s3://BUCKET_NAME/COMPONENT_NAME/COMPONENT_VERSION/HelloWorld.zip"
        Unarchive: ZIP
    Lifecycle:
      Run: "python3 -u {artifacts:decompressedPath}/HelloWorld/main.py {configuration:/Message}"
```

**Sinopsis**  

```
$ gdk component init
    [--language]
    [--template]
    [--repository]
    [--name]
```

**Argumen (inisialisasi dari template komponen)**  
+ `-l`, `--language` — Bahasa pemrograman yang digunakan untuk template yang Anda tentukan.

  Anda harus menentukan salah satu `--repository` atau `--language` dan`--template`.
+ `-t`, `--template` — Template komponen yang digunakan untuk proyek komponen lokal. Untuk melihat template yang tersedia, gunakan perintah [list](#greengrass-development-kit-cli-component-list).

  Anda harus menentukan salah satu `--repository` atau `--language` dan`--template`.
+ `-n`, `--name` — (Opsional) Nama folder lokal tempat CLI GDK menginisialisasi komponen. Tentukan folder yang tidak ada. CLI GDK membuat folder untuk Anda.

  Fitur ini tersedia untuk GDK CLI v1.1.0 dan yang lebih baru.

**Argumen (inisialisasi dari komponen komunitas)**  
+ `-r`, `--repository` — Komponen komunitas untuk memeriksa ke folder lokal. Untuk melihat komponen komunitas yang tersedia, gunakan perintah [list](#greengrass-development-kit-cli-component-list).

  Anda harus menentukan salah satu `--repository` atau `--language` dan`--template`.
+ `-n`, `--name` — (Opsional) Nama folder lokal tempat CLI GDK menginisialisasi komponen. Tentukan folder yang tidak ada. CLI GDK membuat folder untuk Anda.

  Fitur ini tersedia untuk GDK CLI v1.1.0 dan yang lebih baru.

**Keluaran**  
Contoh berikut menunjukkan output yang dihasilkan ketika Anda menjalankan perintah ini untuk menginisialisasi folder komponen dari template Python Hello World.  

```
$ gdk component init -l python -t HelloWorld
[2021-11-29 12:51:40] INFO - Initializing the project directory with a python component template - 'HelloWorld'.
[2021-11-29 12:51:40] INFO - Fetching the component template 'HelloWorld-python' from Greengrass Software Catalog.
```
Contoh berikut menunjukkan output yang dihasilkan ketika Anda menjalankan perintah ini untuk menginisialisasi folder komponen dari komponen komunitas.  

```
$ gdk component init -r aws-greengrass-labs-database-influxdb
[2022-01-24 15:44:33] INFO - Initializing the project directory with a component from repository catalog - 'aws-greengrass-labs-database-influxdb'.
[2022-01-24 15:44:33] INFO - Fetching the component repository 'aws-greengrass-labs-database-influxdb' from Greengrass Software Catalog.
```

## build
<a name="greengrass-development-kit-cli-component-build"></a>

Bangun sumber komponen menjadi resep dan artefak yang dapat Anda publikasikan ke AWS IoT Greengrass layanan. CLI GDK menjalankan sistem build yang Anda tentukan dalam file konfigurasi [CLI GDK](gdk-cli-configuration-file.md),. `gdk-config.json` Anda harus menjalankan perintah ini di folder yang sama di mana `gdk-config.json` file itu ada.

Saat Anda menjalankan perintah ini, CLI GDK membuat resep dan artefak di folder `greengrass-build` di folder komponen. CLI GDK menyimpan resep di `greengrass-build/recipes` folder dan menyimpan artefak di folder. `greengrass-build/artifacts/componentName/componentVersion`

Jika Anda menggunakan GDK CLI v1.1.0 atau yang lebih baru, resep komponen dapat menentukan artefak yang ada di bucket S3 tetapi tidak di folder build komponen lokal. Anda dapat menggunakan fitur ini untuk mengurangi penggunaan bandwidth ketika Anda mengembangkan komponen dengan artefak besar, seperti model pembelajaran mesin.

Setelah membuat komponen, Anda dapat melakukan salah satu hal berikut untuk mengujinya di perangkat inti Greengrass:
+ Jika Anda mengembangkan pada perangkat yang berbeda dari tempat Anda menjalankan perangkat lunak AWS IoT Greengrass Core, Anda harus mempublikasikan komponen untuk menerapkannya ke perangkat inti Greengrass. Publikasikan komponen ke AWS IoT Greengrass layanan, dan terapkan ke perangkat inti Greengrass. Untuk informasi selengkapnya, lihat perintah [publish](#greengrass-development-kit-cli-component-build) dan[Buat deployment](create-deployments.md).
+ Jika Anda mengembangkan pada perangkat yang sama di mana Anda menjalankan perangkat lunak AWS IoT Greengrass Core, Anda dapat mempublikasikan komponen ke AWS IoT Greengrass layanan yang akan digunakan, atau Anda dapat membuat penyebaran lokal untuk menginstal dan menjalankan komponen. Untuk membuat penerapan lokal, gunakan CLI Greengrass. Untuk informasi selengkapnya, silakan lihat [Antarmuka Baris Perintah Greengrass](gg-cli.md) dan [Uji AWS IoT Greengrass komponen dengan penerapan lokal](test-components.md). Saat Anda membuat penyebaran lokal, tentukan `greengrass-build/recipes` sebagai folder resep dan `greengrass-build/artifacts` sebagai folder artefak.

**Sinopsis**  

```
$ gdk component build
```

**Argumen**  
Tidak ada

**Keluaran**  
Contoh berikut menunjukkan output yang dihasilkan ketika Anda menjalankan perintah ini.  

```
$ gdk component build
[2021-11-29 13:18:49] INFO - Getting project configuration from gdk-config.json
[2021-11-29 13:18:49] INFO - Found component recipe file 'recipe.yaml' in the  project directory.
[2021-11-29 13:18:49] INFO - Building the component 'com.example.PythonHelloWorld' with the given project configuration.
[2021-11-29 13:18:49] INFO - Using 'zip' build system to build the component.
[2021-11-29 13:18:49] WARNING - This component is identified as using 'zip' build system. If this is incorrect, please exit and specify custom build command in the 'gdk-config.json'.
[2021-11-29 13:18:49] INFO - Zipping source code files of the component.
[2021-11-29 13:18:49] INFO - Copying over the build artifacts to the greengrass component artifacts build folder.
[2021-11-29 13:18:49] INFO - Updating artifact URIs in the recipe.
[2021-11-29 13:18:49] INFO - Creating component recipe in 'C:\Users\MyUser\Documents\greengrass-components\python\HelloWorld\greengrass-build\recipes'.
```

## publish
<a name="greengrass-development-kit-cli-component-publish"></a>

Publikasikan komponen ini ke AWS IoT Greengrass layanan. Perintah ini mengunggah artefak build ke bucket S3, memperbarui URI artefak dalam resep, dan membuat versi komponen baru dari resep. CLI GDK menggunakan bucket S3 AWS dan Wilayah yang Anda tentukan dalam file konfigurasi [CLI GDK](gdk-cli-configuration-file.md),. `gdk-config.json` Anda harus menjalankan perintah ini di folder yang sama di mana `gdk-config.json` file itu ada.

<a name="gdk-cli-s3-bucket-name-formation"></a>Jika Anda menggunakan GDK CLI v1.1.0 atau yang lebih baru, Anda dapat menentukan argumen untuk menentukan `--bucket` bucket S3 tempat CLI GDK mengunggah artefak komponen. <a name="gdk-cli-s3-bucket-name-formation-format"></a>Jika Anda tidak menentukan argumen ini, CLI GDK akan mengunggah ke bucket S3 yang namanya, di *bucket* mana *region* dan `bucket-region-accountId` merupakan nilai yang Anda tentukan, *accountId* dan merupakan ID `gdk-config.json` Anda. Akun AWS  CLI GDK membuat bucket jika tidak ada.

Jika Anda menggunakan GDK CLI v1.2.0 atau yang lebih baru, Anda dapat mengganti yang ditentukan dalam file Wilayah AWS konfigurasi CLI GDK menggunakan parameter. `--region` Anda juga dapat menentukan opsi tambahan menggunakan `--options` parameter. Untuk daftar opsi yang tersedia, lihat[File konfigurasi CLI Kit Pengembangan Greengrass](gdk-cli-configuration-file.md).

Saat Anda menjalankan perintah ini, CLI GDK menerbitkan komponen dengan versi yang Anda tentukan dalam resep. Jika Anda menentukan`NEXT_PATCH`, CLI GDK menggunakan versi patch berikutnya yang belum ada. *Versi semantik menggunakan mayor.* *kecil*. sistem penomoran *patch*. Untuk informasi lebih lanjut, lihat [spesifikasi versi semantik](https://semver.org/).

**catatan**  
Jika Anda menggunakan GDK CLI v1.1.0 atau yang lebih baru, saat Anda menjalankan perintah ini, CLI GDK akan memeriksa apakah komponen tersebut dibangun. Jika komponen tidak dibangun, [CLI GDK akan membangun](#greengrass-development-kit-cli-component-build) komponen sebelum menerbitkan komponen.

**Sinopsis**  

```
$ gdk component publish
    [--bucket] [--region] [--options]
```

**Argumen**  
+ `-b`, `--bucket` — (Opsional) Tentukan nama bucket S3 tempat CLI GDK menerbitkan artefak komponen.

   <a name="gdk-cli-s3-bucket-name-formation-format"></a>Jika Anda tidak menentukan argumen ini, CLI GDK akan mengunggah ke bucket S3 yang namanya, di *bucket* mana *region* dan `bucket-region-accountId` merupakan nilai yang Anda tentukan, *accountId* dan merupakan ID `gdk-config.json` Anda. Akun AWS  CLI GDK membuat bucket jika tidak ada. 

  CLI GDK membuat bucket jika tidak ada.

  Fitur ini tersedia untuk GDK CLI v1.1.0 dan yang lebih baru.
+ `-r`, `--region` — (Opsional) Tentukan nama Wilayah AWS to saat komponen dibuat. Argumen ini mengesampingkan nama Wilayah dalam konfigurasi CLI GDK.

  Fitur ini tersedia untuk GDK CLI v1.2.0 dan yang lebih baru.
+ `-o`, `--options` (Opsional) Tentukan daftar opsi untuk menerbitkan komponen. Argumen harus berupa string JSON yang valid atau path file ke file JSON yang berisi opsi penerbitan. Argumen ini mengesampingkan opsi dalam konfigurasi CLI GDK. 

  Fitur ini tersedia untuk GDK CLI v1.2.0 dan yang lebih baru.

**Keluaran**  
Contoh berikut menunjukkan output yang dihasilkan ketika Anda menjalankan perintah ini.  

```
$ gdk component publish
[2021-11-29 13:45:29] INFO - Getting project configuration from gdk-config.json
[2021-11-29 13:45:29] INFO - Found component recipe file 'recipe.yaml' in the  project directory.
[2021-11-29 13:45:29] INFO - Found credentials in shared credentials file: ~/.aws/credentials
[2021-11-29 13:45:30] INFO - Publishing the component 'com.example.PythonHelloWorld' with the given project configuration.
[2021-11-29 13:45:30] INFO - No private version of the component 'com.example.PythonHelloWorld' exist in the account. Using '1.0.0' as the next version to create.
[2021-11-29 13:45:30] INFO - Uploading the component built artifacts to s3 bucket.
[2021-11-29 13:45:30] INFO - Uploading component artifacts to S3 bucket: {bucket}. If this is your first time using this bucket, add the 's3:GetObject' permission to each core device's token exchange role to allow it to download the component artifacts. For more information, see https://docs.aws.amazon.com/greengrass/v2/developerguide/device-service-role.html.
[2021-11-29 13:45:30] INFO - Not creating an artifacts bucket as it already exists.
[2021-11-29 13:45:30] INFO - Updating the component recipe com.example.PythonHelloWorld-1.0.0.
[2021-11-29 13:45:30] INFO - Creating a new greengrass component com.example.PythonHelloWorld-1.0.0
[2021-11-29 13:45:30] INFO - Created private version '1.0.0' of the component in the account.'com.example.PythonHelloWorld'.
```

## daftar
<a name="greengrass-development-kit-cli-component-list"></a>

Ambil daftar template komponen dan komponen komunitas yang tersedia.

<a name="gdk-cli-component-templates-community-components"></a>[CLI GDK mengambil komponen komunitas dari Katalog [Perangkat Lunak Greengrass dan templat komponen dari repositori Template](greengrass-software-catalog.md) Komponen pada.AWS IoT Greengrass GitHub](https://github.com/aws-greengrass/aws-greengrass-component-templates)

Anda dapat meneruskan output dari perintah ini ke perintah [init](#greengrass-development-kit-cli-component-init) untuk menginisialisasi repositori komponen dari template dan komponen komunitas.

**Sinopsis**  

```
$ gdk component list
    [--template]
    [--repository]
```

**Argumen**  
+ `-t`, `--template` — (Opsional) Tentukan argumen ini untuk mencantumkan templat komponen yang tersedia. Perintah ini menampilkan nama dan bahasa dari setiap template dalam format`name-language`. Misalnya, di`HelloWorld-python`, nama template adalah `HelloWorld` dan bahasanya`python`.
+ `-r`, `--repository` — (Opsional) Tentukan argumen ini untuk daftar repositori komponen komunitas yang tersedia.

**Keluaran**  
Contoh berikut menunjukkan output yang dihasilkan ketika Anda menjalankan perintah ini.  

```
$ gdk component list --template
[2021-11-29 12:29:04] INFO - Listing all the available component templates from Greengrass Software Catalog.
[2021-11-29 12:29:04] INFO - Found '2' component templates to display.
1. HelloWorld-python
2. HelloWorld-java
```

# config
<a name="greengrass-development-kit-cli-config"></a>

Gunakan `config` perintah di AWS IoT Greengrass Development Kit Command-Line Interface (GDK CLI) untuk memodifikasi konfigurasi untuk GDK dalam file konfigurasi,. `gdk-config.json`

**Topics**
+ [perbarui](#greengrass-development-kit-cli-config-update)

## perbarui
<a name="greengrass-development-kit-cli-config-update"></a>

Mulai prompt interaktif untuk memodifikasi bidang dalam file konfigurasi GDK yang ada.

**Sinopsis**  

```
$ gdk config update
    [--component]
```

**Argumen**  
+ `-c`, `--component` — Untuk memperbarui bidang terkait komponen dalam file. `gdk-config.json` Argumen ini diperlukan karena ini adalah satu-satunya pilihan.

**Keluaran**  
Contoh berikut menunjukkan output yang dihasilkan ketika Anda menjalankan perintah ini untuk mengkonfigurasi komponen.  

```
$ gdk config update --component
Current value of the REQUIRED component_name is (default: com.example.PythonHelloWorld): 
Current value of the REQUIRED author is (default: author): 
Current value of the REQUIRED version is (default: NEXT_PATCH): 
Do you want to change the build configurations? (y/n) 
Do you want to change the publish configurations? (y/n)
[2023-09-26 10:19:48] INFO - Config file has been updated. Exiting...
```

# tes-e2e
<a name="greengrass-development-kit-cli-test"></a>

Gunakan `test-e2e` perintah dalam AWS IoT Greengrass Development Kit Command-Line Interface (GDK CLI) untuk menginisialisasi, membangun, dan end-to-end menjalankan modul pengujian dalam proyek GDK.

**Topics**
+ [inisialisasi](#greengrass-development-kit-cli-test-init)
+ [build](#greengrass-development-kit-cli-test-build)
+ [run](#greengrass-development-kit-cli-test-run)

## inisialisasi
<a name="greengrass-development-kit-cli-test-init"></a>

Inisialisasi proyek CLI GDK yang ada dengan modul pengujian yang menggunakan Greengrass Testing Framework (GTF).

[Secara default, CLI GDK mengambil template modul maven dari AWS IoT Greengrass repositori Component Templates pada. GitHub](https://github.com/aws-greengrass/aws-greengrass-component-templates) Modul maven ini dilengkapi dengan ketergantungan pada file JAR. `aws-greengrass-testing-standalone`

Perintah ini membuat direktori baru yang disebut `gg-e2e-tests` di dalam proyek GDK. Jika direktori modul pengujian sudah ada dan tidak kosong, perintah keluar tanpa melakukan apa pun. `gg-e2e-tests`Folder ini berisi fitur Mentimun dan definisi langkah yang terstruktur dalam proyek maven.

Secara default, perintah ini akan mencoba menggunakan versi rilis terbaru dari GTF.

**Sinopsis**  

```
$ gdk test-e2e init
    [--gtf-version]
```

**Argumen**  
+ `-ov`, `--gtf-version` — (Opsional) Versi GTF untuk digunakan dengan modul end-to-end pengujian dalam proyek GDK. Nilai ini harus menjadi salah satu versi GTF dari [rilis](https://github.com/aws-greengrass/aws-greengrass-testing/releases). Argumen ini mengesampingkan konfigurasi CLI GDK. `gtf_version`

**Keluaran**  
Contoh berikut menunjukkan output yang dihasilkan ketika Anda menjalankan perintah ini untuk menginisialisasi proyek GDK dengan modul pengujian.  

```
$ gdk test-e2e init
[2023-12-06 12:20:28] INFO - Using the GTF version provided in the GDK test config 1.2.0
[2023-12-06 12:20:28] INFO - Downloading the E2E testing template from GitHub into gg-e2e-tests directory...
```

## build
<a name="greengrass-development-kit-cli-test-build"></a>

**catatan**  
Anda harus membangun komponen dengan menjalankan **gdk component build** sebelum membangun modul end-to-end pengujian.

Bangun modul end-to-end pengujian. CLI GDK membangun modul pengujian menggunakan sistem build yang Anda tentukan dalam file [konfigurasi CLI GDK](gdk-cli-configuration-file.md), di bawah properti. `gdk-config.json` `test-e2e` Anda harus menjalankan perintah ini di folder yang sama di mana `gdk-config.json` file itu ada.

Secara default, CLI GDK menggunakan sistem build maven untuk membangun modul pengujian. [Maven](https://maven.apache.org/) diperlukan untuk menjalankan perintah. `gdk test-e2e build`

Anda harus membangun komponen dengan menjalankan **gdk-component-build** sebelum membangun modul pengujian, jika file fitur pengujian memiliki variabel seperti `GDK_COMPONENT_NAME` dan `GDK_COMPONENT_RECIPE_FILE` untuk diinterpolasi.

Saat Anda menjalankan perintah ini, CLI GDK menginterpolasi semua variabel dari konfigurasi proyek GDK dan membangun modul untuk menghasilkan file JAR `gg-e2e-tests` pengujian akhir.

**Sinopsis**  

```
$ gdk test-e2e build
```

**Argumen**  
Tidak ada

**Keluaran**  
Contoh berikut menunjukkan output yang dihasilkan ketika Anda menjalankan perintah ini.  

```
$ gdk test-e2e build
[2023-07-20 15:36:48] INFO - Updating feature file: file:///path/to//HelloWorld/greengrass-build/gg-e2e-tests/src/main/resources/greengrass/features/component.feature
[2023-07-20 15:36:48] INFO - Creating the E2E testing recipe file:///path/to/HelloWorld/greengrass-build/recipes/e2e_test_recipe.yaml
[2023-07-20 15:36:48] INFO - Building the E2E testing module
[2023-07-20 15:36:48] INFO - Running the build command 'mvn package'
.........
```

## run
<a name="greengrass-development-kit-cli-test-run"></a>

Jalankan modul pengujian dengan opsi pengujian di file konfigurasi GDK.

**catatan**  
Anda harus membangun modul pengujian dengan menjalankan **gdk test-e2e build** sebelum menjalankan end-to-end tes.

**Sinopsis**  

```
$ gdk test-e2e run
    [--gtf-options]
```

**Argumen**  
+ `-oo`, `--gtf-options` — (Opsional) Tentukan daftar opsi untuk menjalankan end-to-end tes. Argumen harus berupa string JSON yang valid atau path file ke file JSON yang berisi opsi GTF. Opsi yang disediakan dalam file konfigurasi digabungkan dengan yang disediakan dalam argumen perintah. Jika opsi hadir di kedua tempat, yang ada dalam argumen lebih diutamakan daripada yang dari file konfigurasi.

  Jika `tags` opsi tidak ditentukan dalam perintah ini, GDK menggunakan `Sample` tag. Jika tidak `ggc-archive` ditentukan, GDK mengunduh versi terbaru dari arsip inti Greengrass.

**Keluaran**  
Contoh berikut menunjukkan output yang dihasilkan ketika Anda menjalankan perintah ini.  

```
$ gdk test-e2e run
[2023-07-20 16:35:53] INFO - Downloading latest nucleus archive from url https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-latest.zip
[2023-07-20 16:35:57] INFO - Running test jar with command java -jar /path/to/greengrass-build/gg-e2e-tests/target/uat-features-1.0.0.jar —ggc-archive=/path/to/aws-greengrass-gdk-cli/HelloWorld/greengrass-build/greengrass-nucleus-latest.zip —tags=Sample

16:35:59.693 [] [] [] [INFO] com.aws.greengrass.testing.modules.GreengrassContextModule - Extracting /path/to/workplace/aws-greengrass-gdk-cli/HelloWorld/greengrass-build/greengrass-nucleus-latest.zip into /var/folders/7g/ltzcb_3s77nbtmkzfb6brwv40000gr/T/gg-testing-7718418114158172636/greengrass
16:36:00.534 [gtf-1.1.0-SNAPSHOT] [] [] [INFO] com.aws.greengrass.testing.features.LoggerSteps - GTF Version is gtf-1.1.0-SNAPSHOT
.......
```

# File konfigurasi CLI Kit Pengembangan Greengrass
<a name="gdk-cli-configuration-file"></a>

 AWS IoT Greengrass Development Kit Command-Line Interface (GDK CLI) membaca dari file konfigurasi `gdk-config.json` bernama untuk membangun dan menerbitkan komponen. File konfigurasi ini harus ada di root repositori komponen. Anda dapat menggunakan perintah GDK [CLI init](greengrass-development-kit-cli-component.md#greengrass-development-kit-cli-component-init) untuk menginisialisasi repositori komponen dengan file konfigurasi ini.

**Topics**
+ [Format file konfigurasi GDK CLI](#gdk-config-format)
+ [Contoh file konfigurasi GDK CLI](#gdk-config-examples)

## Format file konfigurasi GDK CLI
<a name="gdk-config-format"></a>

Saat Anda menentukan file konfigurasi CLI GDK untuk komponen, Anda menentukan informasi berikut dalam format JSON.

`gdk_version`  
Versi minimum CLI GDK yang kompatibel dengan komponen ini. [Nilai ini harus menjadi salah satu versi CLI GDK dari rilis.](https://github.com/aws-greengrass/aws-greengrass-gdk-cli/releases)

`component`  
Konfigurasi untuk komponen ini.    
`componentName`    
`author`  
Penulis atau penerbit komponen.  
`version`  
Versi komponen. Tentukan satu dari yang berikut ini:  <a name="gdk-cli-configuration-file-component-version-options"></a>
+ `NEXT_PATCH`— Saat Anda memilih opsi ini, CLI GDK menetapkan versi saat Anda mempublikasikan komponen. CLI GDK menanyakan layanan AWS IoT Greengrass untuk mengidentifikasi versi komponen terbaru yang diterbitkan. Kemudian, ia menetapkan versi ke versi patch berikutnya setelah versi itu. Jika Anda belum mempublikasikan komponen sebelumnya, CLI GDK menggunakan versi. `1.0.0`

  Jika Anda memilih opsi ini, Anda tidak dapat menggunakan [CLI Greengrass](greengrass-cli-component.md) untuk menyebarkan dan menguji komponen secara lokal ke komputer pengembangan lokal Anda yang menjalankan perangkat lunak Core. AWS IoT Greengrass Untuk mengaktifkan penerapan lokal, Anda harus menentukan versi semantik sebagai gantinya.
+ Versi semantik, seperti. **1.0.0** *Versi semantik menggunakan mayor.* *kecil*. sistem penomoran *patch*. Untuk informasi lebih lanjut, lihat [spesifikasi versi semantik](https://semver.org/).

  Jika Anda mengembangkan komponen pada perangkat inti Greengrass tempat Anda ingin menerapkan dan menguji komponen, pilih opsi ini. [Anda harus membangun komponen dengan versi tertentu untuk membuat penerapan lokal dengan CLI Greengrass.](greengrass-cli-component.md)  
`build`  
Konfigurasi yang digunakan untuk membangun sumber komponen ini menjadi artefak. Objek ini berisi informasi berikut:    
  `build_system`   
Sistem build yang akan digunakan. Pilih dari salah satu pilihan berikut:  <a name="gdk-cli-configuration-file-component-build-system-options"></a>
+ `zip`— Paket folder komponen ke dalam file ZIP untuk didefinisikan sebagai satu-satunya artefak komponen. Pilih opsi ini untuk jenis komponen berikut:
  + Komponen yang menggunakan bahasa pemrograman yang ditafsirkan, seperti JavaScript Python atau.
  + Komponen yang mengemas file selain kode, seperti model pembelajaran mesin atau sumber daya lainnya.

  CLI GDK meritsleting folder komponen ke dalam file zip dengan nama yang sama dengan folder komponen. Misalnya, jika nama folder komponen adalah`HelloWorld`, CLI GDK membuat file zip bernama. `HelloWorld.zip`
**catatan**  
Jika Anda menggunakan GDK CLI versi 1.0.0 pada perangkat Windows, folder komponen dan nama file zip harus berisi hanya huruf kecil.

  Ketika CLI GDK meritsleting folder komponen ke dalam file zip, ia melewatkan file-file berikut:
  + File `gdk-config.json`
  + File resep (`recipe.json`atau`recipe.yaml`)
  + Membangun folder, seperti `greengrass-build`
+ `maven`— Menjalankan `mvn clean package` perintah untuk membangun sumber komponen menjadi artefak. Pilih opsi ini untuk komponen yang menggunakan [Maven](https://maven.apache.org/), seperti komponen Java.

  Pada perangkat Windows, fitur ini tersedia untuk GDK CLI v1.1.0 dan yang lebih baru.
+ `gradle`— Menjalankan `gradle build` perintah untuk membangun sumber komponen menjadi artefak. Pilih opsi ini untuk komponen yang menggunakan [Gradle](https://gradle.org/). Fitur ini tersedia untuk GDK CLI v1.1.0 dan yang lebih baru.

  Sistem `gradle` build mendukung Kotlin DSL sebagai file build. Fitur ini tersedia untuk GDK CLI v1.2.0 dan yang lebih baru.
+ `gradlew`— Menjalankan `gradlew` perintah untuk membangun sumber komponen menjadi artefak. Pilih opsi ini untuk komponen yang menggunakan [Gradle Wrapper](https://docs.gradle.org/current/userguide/gradle_wrapper.html).

  Fitur ini tersedia untuk GDK CLI v1.2.0 dan yang lebih baru.
+ `custom`— Menjalankan perintah khusus untuk membangun sumber komponen menjadi resep dan artefak. Tentukan perintah khusus dalam `custom_build_command` parameter.  
`custom_build_command`  
(Opsional) Perintah custom build untuk dijalankan untuk sistem build kustom. Anda harus menentukan parameter ini jika Anda menentukan `custom` untuk`build_system`.  
Perintah ini harus membuat resep dan artefak di folder berikut dalam folder komponen. CLI GDK membuat folder ini untuk Anda saat Anda menjalankan perintah build [komponen](greengrass-development-kit-cli-component.md#greengrass-development-kit-cli-component-build).  
+ Folder resep: `greengrass-build/recipes`
+ Folder artefak: `greengrass-build/artifacts/componentName/componentVersion`

  Ganti *componentName* dengan nama komponen, dan ganti *componentVersion* dengan versi komponen atau`NEXT_PATCH`.
Anda dapat menentukan satu string atau daftar string, di mana setiap string adalah kata dalam perintah. Misalnya, untuk menjalankan perintah build kustom untuk komponen C\$1\$1, Anda dapat menentukan **cmake --build build --config Release** atau**["cmake", "--build", "build", "--config", "Release"]**.  
Untuk melihat contoh sistem build kustom, lihat [aws.greengrass.labs.LocalWebServer community component pada GitHub](https://github.com/awslabs/aws-greengrass-labs-local-web-server).  
`options`  
(Opsional) Opsi konfigurasi tambahan yang digunakan selama proses pembuatan komponen.  
Fitur ini tersedia untuk GDK CLI v1.2.0 dan yang lebih baru.    
`excludes`  
Daftar pola glob yang menentukan file mana yang akan dikecualikan dari direktori komponen saat membuat file zip. Hanya berlaku ketika `build_system` ada`zip`.  
Di GDK CLI versi 1.4.0 dan sebelumnya, file apa pun yang cocok dengan entri dalam daftar pengecualian dikecualikan dari semua subdirektori komponen. Untuk mencapai perilaku yang sama di GDK CLI versi 1.5.0 dan yang lebih baru, tambahkan `**/` entri yang ada dalam daftar pengecualian. Misalnya, `*.txt` akan mengecualikan file teks hanya dari direktori; `**/*.txt` akan mengecualikan file teks dari semua direktori dan subdirektori.  
Di GDK CLI versi 1.5.0 dan yang lebih baru, Anda mungkin melihat peringatan selama pembuatan komponen `excludes` saat ditentukan dalam file konfigurasi GDK. Untuk menonaktifkan peringatan ini, atur variabel lingkungan `GDK_EXCLUDES_WARN_IGNORE` ke`true`.
CLI GDK selalu mengecualikan file berikut dari file zip:  
+ File `gdk-config.json`
+ File resep (`recipe.json`atau`recipe.yaml`)
+ Membangun folder, seperti `greengrass-build`
File-file berikut dikecualikan secara default. Namun, Anda dapat mengontrol file mana yang dikecualikan dengan `excludes` opsi.  
+ Setiap folder yang dimulai dengan awalan “test” () `test*`
+ Semua file tersembunyi
+ `node_modules`Folder
Jika Anda menentukan `excludes` opsi, CLI GDK hanya mengecualikan file-file yang Anda atur dengan opsi. `excludes` Jika Anda tidak menentukan `excludes` opsi, CLI GDK mengecualikan file dan folder default yang disebutkan sebelumnya.  
`zip_name`  
Nama file zip yang akan digunakan saat Anda membuat artefak zip selama proses pembuatan. Hanya berlaku ketika `build_system` ada`zip`. Jika kosong, nama komponen digunakan untuk nama file zip. `build_system`  
`publish`  
Konfigurasi yang digunakan untuk mempublikasikan komponen ini ke AWS IoT Greengrass layanan.  
<a name="gdk-cli-s3-bucket-name-formation"></a>Jika Anda menggunakan GDK CLI v1.1.0 atau yang lebih baru, Anda dapat menentukan argumen untuk menentukan `--bucket` bucket S3 tempat CLI GDK mengunggah artefak komponen. <a name="gdk-cli-s3-bucket-name-formation-format"></a>Jika Anda tidak menentukan argumen ini, CLI GDK akan mengunggah ke bucket S3 yang namanya, di *bucket* mana *region* dan `bucket-region-accountId` merupakan nilai yang Anda tentukan, *accountId* dan merupakan ID `gdk-config.json` Anda. Akun AWS  CLI GDK membuat bucket jika tidak ada.  
Objek ini berisi informasi berikut:    
`bucket`  
Nama bucket S3 yang akan digunakan untuk meng-host artefak komponen.  
`region`  
 Wilayah AWS Tempat CLI GDK menerbitkan komponen ini.  
Properti ini bersifat opsional jika Anda menggunakan GDK CLI v1.3.0 atau yang lebih baru.  
`options`  
(Opsional) Opsi konfigurasi tambahan yang digunakan selama pembuatan versi komponen.  
Fitur ini tersedia untuk GDK CLI v1.2.0 dan yang lebih baru.    
`file_upload_args`  
Struktur JSON yang berisi argumen yang dikirim ke Amazon S3 saat mengunggah file ke bucket, seperti metadata dan mekanisme enkripsi. Untuk daftar argumen yang diizinkan, lihat [https://boto3.amazonaws.com/v1/documentation/api/latest/reference/customizations/s3.html#boto3.s3.transfer.S3Transfer.ALLOWED_UPLOAD_ARGS](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/customizations/s3.html#boto3.s3.transfer.S3Transfer.ALLOWED_UPLOAD_ARGS)kelas dalam dokumentasi *Boto3*. .

`test-e2e`  
(Opsional) Konfigurasi yang akan digunakan selama end-to-end pengujian komponen. Fitur ini tersedia untuk GDK CLI v1.3.0 dan yang lebih baru.    
`build`  
`build_system`— Sistem build yang akan digunakan. Opsi default adalah`maven`. Pilih dari salah satu pilihan berikut:  
+ `maven`— Menjalankan `mvn package` perintah untuk membangun modul pengujian. Pilih opsi ini untuk membangun modul pengujian yang menggunakan [Maven](https://maven.apache.org/).
+ `gradle`— Menjalankan `gradle build` perintah untuk membangun modul pengujian. Pilih opsi ini untuk modul pengujian yang menggunakan [Gradle](https://gradle.org/).   
`gtf_version`  
(Opsional) Versi Greengrass Testing Framework (GTF) untuk digunakan sebagai dependensi modul pengujian saat Anda menginisialisasi proyek GDK end-to-end dengan GTF. Nilai ini harus menjadi salah satu versi GTF dari [rilis](https://github.com/aws-greengrass/aws-greengrass-testing/releases). Defaultnya adalah GTF versi 1.1.0.  
`gtf_options`  
(Opsional) Opsi konfigurasi tambahan yang digunakan selama end-to-end pengujian komponen.  
<a name="gtf_options"></a>Daftar berikut mencakup opsi yang dapat Anda gunakan dengan GTF versi 1.1.0.  
+ `additional-plugins`- (Opsional) Plugin Mentimun Tambahan
+ `aws-region`— Menargetkan titik akhir regional tertentu untuk AWS layanan. Default untuk apa yang ditemukan SDK AWS .
+ `credentials-path`— Jalur kredensial AWS profil opsional. Default untuk kredensil yang ditemukan di lingkungan host.
+ `credentials-path-rotation`— Durasi rotasi opsional untuk AWS kredensil. Default hingga 15 menit atau. `PT15M`
+ `csr-path`— Jalur untuk CSR yang menggunakan sertifikat perangkat yang akan dihasilkan.
+ `device-mode`— Perangkat target yang sedang diuji. Default ke perangkat lokal.
+ `env-stage`— Menargetkan lingkungan penyebaran Greengrass. Default untuk produksi.
+ `existing-device-cert-arn`— Arn dari sertifikat yang ada yang ingin Anda gunakan sebagai sertifikat perangkat untuk Greengrass.
+ `feature-path`— File atau direktori yang berisi file fitur tambahan. Default adalah tidak ada file fitur tambahan yang digunakan.
+ `gg-cli-version`— Mengganti versi CLI Greengrass. Default ke nilai yang ditemukan di. `ggc.version`
+ `gg-component-bucket`— Nama ember Amazon S3 yang ada yang menampung komponen Greengrass.
+ `gg-component-overrides`— Daftar penggantian komponen Greengrass.
+ `gg-persist`— Daftar elemen pengujian untuk bertahan setelah uji coba. Perilaku default adalah tidak mempertahankan apa pun. Nilai yang diterima adalah:`aws.resources`,`installed.software`, dan`generated.files`.
+ `gg-runtime`— Daftar nilai untuk mempengaruhi bagaimana tes berinteraksi dengan sumber daya pengujian. Nilai-nilai ini menggantikan parameter. `gg.persist` Jika default kosong, itu mengasumsikan semua sumber daya pengujian dikendalikan oleh kasus uji, termasuk runtime Greengrass yang diinstal. Nilai yang diterima adalah:`aws.resources`,`installed.software`, dan`generated.files`.
+ `ggc-archive`— Jalur menuju komponen inti Greengrass yang diarsipkan.
+ `ggc-install-root`— Direktori untuk menginstal komponen inti Greengrass. Default ke test.temp.path dan test run folder.
+ `ggc-log-level`— Atur level log nukleus Greengrass untuk uji coba. Defaultnya adalah “INFO”.
+ `ggc-tes-rolename`— Peran IAM yang akan diasumsikan AWS IoT Greengrass Core untuk mengakses AWS layanan. Jika peran dengan nama yang diberikan tidak ada maka akan dibuat dan kebijakan akses default.
+ `ggc-trusted-plugins`— Daftar koma terpisah dari jalur (pada host) dari plugin tepercaya yang perlu ditambahkan ke Greengrass. Untuk menyediakan jalur pada DUT itu sendiri, awali jalur dengan 'dut: '
+ `ggc-user-name`— Nilai user:group POSIXuser untuk inti Greengrass. Default ke nama pengguna saat ini yang masuk.
+ `ggc-version`— Mengganti versi komponen inti Greengrass yang sedang berjalan. Default ke nilai yang ditemukan di ggc.archive.
+ `log-level`— Tingkat log uji coba. Default ke “INFO”.
+ `parallel-config`— Set indeks batch dan jumlah batch sebagai JSON String. Nilai default indeks batch adalah 0 dan jumlah batch adalah 1.
+ `proxy-url`— Konfigurasikan semua tes untuk merutekan lalu lintas melalui URL ini.
+ `tags`— Hanya jalankan tag fitur. Dapat berpotongan dengan '&'
+ `test-id-prefix`- Awalan umum diterapkan untuk semua sumber daya pengujian tertentu termasuk nama AWS sumber daya dan tag. Default adalah awalan “gg”.
+ `test-log-path`— Direktori yang akan berisi hasil dari seluruh uji coba. Default ke “TestResults”.
+ `test-results-json`— Tandai untuk menentukan apakah laporan Cucumber JSON yang dihasilkan ditulis ke disk. Default ke true.
+ `test-results-log`— Tandai untuk menentukan apakah output konsol dihasilkan ditulis ke disk. Default ke false.
+ `test-results-xml`- Tandai untuk menentukan apakah laporan JUnit XHTML yang dihasilkan dihasilkan ditulis ke disk. Default ke true.
+ `test-temp-path`— Direktori untuk menghasilkan artefak uji lokal. Default ke direktori temp acak diawali dengan gg-testing.
+ `timeout-multiplier`— Pengganda disediakan untuk semua batas waktu pengujian. Defaultnya adalah 1.0.

## Contoh file konfigurasi GDK CLI
<a name="gdk-config-examples"></a>

Anda dapat mereferensikan contoh file konfigurasi CLI GDK berikut untuk membantu Anda mengonfigurasi lingkungan komponen Greengrass.

### Halo Dunia (Python)
<a name="gdk-config-example-hello-world-python"></a>

File konfigurasi CLI GDK berikut mendukung komponen Hello World yang menjalankan skrip Python. File konfigurasi ini menggunakan sistem `zip` build untuk mengemas skrip Python komponen ke dalam file ZIP yang diunggah CLI GDK sebagai artefak.

```
{
  "component": {
    "com.example.PythonHelloWorld": {
      "author": "Amazon",
      "version": "NEXT_PATCH",
      "build": {
        "build_system" : "zip",
        "options": {
           "excludes": [".*"]
        }
      },
      "publish": {
        "bucket": "greengrass-component-artifacts",
        "region": "us-west-2",
        "options": {
           "file_upload_args": {
              "Metadata": {
                 "some-key": "some-value"
              }
           }
        }
      }
    },
  "test-e2e":{
    "build":{
        "build_system": "maven"
    },
    "gtf_version": "1.1.0",
    "gtf_options": { 
         "tags": "Sample"
     }
  },
  "gdk_version": "1.6.1"
  }
}
```

### Hello World (Jawa)
<a name="gdk-config-example-hello-world-java"></a>

File konfigurasi CLI GDK berikut mendukung komponen Hello World yang menjalankan aplikasi Java. File konfigurasi ini menggunakan sistem `maven` build untuk mengemas kode sumber Java komponen ke dalam file JAR yang diunggah CLI GDK sebagai artefak.

```
{
  "component": {
    "com.example.JavaHelloWorld": {
      "author": "Amazon",
      "version": "NEXT_PATCH",
      "build": {
        "build_system" : "maven"
      },
      "publish": {
        "bucket": "greengrass-component-artifacts",
        "region": "us-west-2",
        "options": {
           "file_upload_args": {
              "Metadata": {
                 "some-key": "some-value"
              }
           }
        }
      }
  },
  "test-e2e":{
    "build":{
        "build_system": "maven"
    },
    "gtf_version": "1.1.0",
    "gtf_options": { 
         "tags": "Sample"
     }
  },
  "gdk_version": "1.6.1"
  }
}
```

### Komponen komunitas
<a name="gdk-config-community-component-examples"></a>

Beberapa komponen komunitas dalam [Katalog Perangkat Lunak Greengrass menggunakan](greengrass-software-catalog.md) CLI GDK. Anda dapat menjelajahi file konfigurasi CLI GDK di repositori komponen ini.

**Untuk melihat file konfigurasi CLI GDK komponen komunitas**

1. Jalankan perintah berikut untuk membuat daftar komponen komunitas yang menggunakan CLI GDK.

   ```
   gdk component list --repository
   ```

   Respons mencantumkan nama GitHub repositori untuk setiap komponen komunitas yang menggunakan CLI GDK. Setiap repositori ada di organisasi. `awslabs`

   ```
   [2022-02-22 17:27:31] INFO - Listing all the available component repositories from Greengrass Software Catalog.
   [2022-02-22 17:27:31] INFO - Found '6' component repositories to display.
   1. aws-greengrass-labs-database-influxdb
   2. aws-greengrass-labs-telemetry-influxdbpublisher
   3. aws-greengrass-labs-dashboard-grafana
   4. aws-greengrass-labs-dashboard-influxdb-grafana
   5. aws-greengrass-labs-local-web-server
   6. aws-greengrass-labs-lookoutvision-gstreamer
   ```

1. Buka GitHub repositori komponen komunitas di URL berikut. Ganti *community-component-name* dengan nama komponen komunitas dari langkah sebelumnya.

   ```
   https://github.com/awslabs/community-component-name
   ```