komponen - AWS IoT Greengrass

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.

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.

JSON
{ ... "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}" } } ] }
YAML
--- ... 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.

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

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 bucket-region-accountId adalah nilai yang Anda tentukangdk-config.json, dan accountID 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 bucket dan region bucket-region-accountId adalah nilai yang Anda tentukangdk-config.json, dan accountID 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 formatname-language. Misalnya, diHelloWorld-python, nama template adalah HelloWorld 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