Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
File konfigurasi CLI Kit Pengembangan Greengrass
AWS IoT GreengrassDevelopment 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 untuk menginisialisasi repositori komponen dengan file konfigurasi ini.
Format file konfigurasi GDK CLI
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.
component
-
Konfigurasi untuk komponen ini.
componentName
-
author
-
Penulis atau penerbit komponen.
version
-
Versi komponen. Tentukan satu dari yang berikut ini:
-
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 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. 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.
-
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:
-
zip
— Mengemas 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
ataurecipe.yaml
) -
Membangun folder, seperti
greengrass-build
-
-
maven
— Menjalankanmvn clean package
perintah untuk membangun sumber komponen menjadi artefak. Pilih opsi ini untuk komponen yang menggunakan Maven, seperti komponen Java. Pada perangkat Windows, fitur ini tersedia untuk GDK CLI v1.1.0 dan yang lebih baru.
-
gradle
— Menjalankangradle build
perintah untuk membangun sumber komponen menjadi artefak. Pilih opsi ini untuk komponen yang menggunakan Gradle. 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
— Menjalankangradlew
perintah untuk membangun sumber komponen menjadi artefak. Pilih opsi ini untuk komponen yang menggunakan Gradle Wrapper. 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 dalamcustom_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
untukbuild_system
.penting
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.
-
Folder resep:
greengrass-build/recipes
-
Folder artefak:
greengrass-build/artifacts/
componentName
/componentVersion
Ganti
componentName
dengan nama komponen, dan ganticomponentVersion 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++, 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 componentdi GitHub
. -
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
adazip
.catatan
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 lingkunganGDK_EXCLUDES_WARN_IGNORE
ketrue
.CLI GDK selalu mengecualikan file berikut dari file zip:
-
File
gdk-config.json
-
File resep (
recipe.json
ataurecipe.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 menentukanexcludes
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
adazip
. Jika kosong, nama komponen digunakan untuk nama file zip.build_system
-
publish
-
Konfigurasi yang digunakan untuk mempublikasikan komponen ini ke AWS IoT Greengrass layanan.
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. Jika Anda tidak menentukan argumen ini, CLI GDK akan mengunggah ke bucket S3 yang namanya, dimana
bucketdan region
adalah nilai yang Anda tentukanbucket
-region
-accountId
gdk-config.json
, danaccountID
adalah ID Anda. Akun AWS CLI GDK membuat bucket jika tidak ada.Objek ini berisi informasi berikut:
bucket
-
Nama bucket S3 yang digunakan untuk meng-host artefak komponen.
region
-
Wilayah AWSTempat 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
S3Transfer
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 adalahmaven
. Pilih dari salah satu pilihan berikut: 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
. Defaultnya adalah GTF versi 1.1.0. gtf_options
-
(Opsional) Opsi konfigurasi tambahan yang digunakan selama end-to-end pengujian komponen.
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 SDKAWS. -
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
, dangenerated.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
, dangenerated.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 XMLJunit 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
Anda dapat mereferensikan contoh file konfigurasi CLI GDK berikut untuk membantu Anda mengonfigurasi lingkungan komponen Greengrass.
Halo Dunia (Python)
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)
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
Beberapa komponen komunitas dalam Katalog Perangkat Lunak Greengrass menggunakan CLI GDK. Anda dapat menjelajahi file konfigurasi CLI GDK di repositori komponen ini.
Untuk melihat file konfigurasi CLI GDK komponen komunitas
-
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
-
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