Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
komponen
Gunakan component
perintah di AWS IoT Greengrass Development Kit Command-Line Interface (GDK CLI) untuk membuat, membangun, dan menerbitkan komponen Greengrass kustom.
Subperintah
inisialisasi
Menginisialisasi folder komponen Greengrass dari template komponen atau komponen komunitas.
CLI GDK mengambil komponen komunitas dari Katalog Perangkat Lunak Greengrass dan templat komponen dari repositori Template Komponen pada. AWS IoT Greengrass GitHub
catatan
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.
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, 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 adalahHelloWorld
, 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.
- 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.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.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
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-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 danBuat deployment.
-
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. Lihat informasi yang lebih lengkap di Antarmuka Baris Perintah Greengrass dan Uji AWS IoT Greengrass komponen dengan penerapan lokal. Saat Anda membuat penyebaran lokal, tentukan
greengrass-build/recipes
sebagai folder resep dangreengrass-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
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-config.json
Anda harus menjalankan perintah ini di folder yang sama di mana gdk-config.json
file itu ada.
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, di mana
bucket dan region
adalah nilai yang Anda tentukanbucket
-region
-accountId
gdk-config.json
, danaccountID
adalah ID 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, lihatFile konfigurasi CLI Kit Pengembangan Greengrass.
Saat Anda menjalankan perintah ini, CLI GDK menerbitkan komponen dengan versi yang Anda tentukan dalam resep. Jika Anda menentukanNEXT_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
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 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.Jika Anda tidak menentukan argumen ini, CLI GDK akan mengunggah ke bucket S3 yang namanya, di
mana
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.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
Ambil daftar template komponen dan komponen komunitas yang tersedia.
CLI GDK mengambil komponen komunitas dari Katalog Perangkat Lunak Greengrass dan templat komponen dari repositori Template Komponen pada. AWS IoT Greengrass GitHub
Anda dapat meneruskan output dari perintah ini ke perintah 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
. Misalnya, diname
-language
HelloWorld-python
, nama template adalahHelloWorld
dan bahasanyapython
. -
-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