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 dalam AWS IoT Greengrass Development Kit Command-Line Interface (GDKCLI) untuk membuat, membangun, dan menerbitkan komponen Greengrass kustom.

inisialisasi

Menginisialisasi folder komponen Greengrass dari template komponen atau komponen komunitas.

Komponen komunitas GDK CLI diambil dari Katalog Perangkat Lunak Greengrass dan template komponen dari repositori Component Templates pada.AWS IoT Greengrass GitHub

catatan

Jika Anda menggunakan GDK CLI v1.0.0, Anda harus menjalankan perintah ini di folder kosong. GDKCLIDownload 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 GDK CLI download template atau komponen komunitas. Jika Anda menggunakan argumen ini, tentukan folder yang tidak ada. GDKCLIMembuat folder untuk Anda. Jika Anda tidak menentukan argumen ini, GDK CLI menggunakan folder saat ini, yang harus kosong.

Jika komponen menggunakan sistem pembuatan zip, GDK CLI zip file tertentu di folder komponen ke dalam file zip dengan nama yang sama dengan folder komponen. Misalnya, jika nama folder komponen adalahHelloWorld, GDK CLI membuat file zip bernamaHelloWorld.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 akan 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 GDK CLI menginisialisasi komponen. Tentukan folder yang tidak ada. GDKCLIMembuat 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 GDK CLI menginisialisasi komponen. Tentukan folder yang tidak ada. GDKCLIMembuat 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. GDKCLIMenjalankan sistem build yang Anda tentukan dalam file GDK CLI konfigurasi,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, GDK CLI membuat resep dan artefak di greengrass-build folder di folder komponen. GDKCLIMenyimpan resep di greengrass-build/recipes folder dan menyimpan artefak di greengrass-build/artifacts/componentName/componentVersion folder.

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 Anda membangun komponen, Anda dapat melakukan salah satu hal berikut untuk mengujinya pada 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 penyebaran lokal, gunakan CLI Greengrass. Untuk informasi selengkapnya, silakan lihat 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 artefak URI dalam resep, dan membuat versi baru komponen dari resep. GDKCLIMenggunakan bucket S3 dan AWS Region yang Anda tentukan dalam file GDK CLI konfigurasi,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 versi lebih baru, Anda dapat menentukan --bucket argumen untuk menentukan bucket S3 tempat GDK CLI mengunggah artefak komponen. Jika Anda tidak menentukan argumen ini, GDK CLI upload ke bucket S3 yang namanyabucket-region-accountId, di mana bucket dan region merupakan nilai yang Anda tentukangdk-config.json, dan accountId merupakan ID Anda Akun AWS . GDKCLIMembuat ember jika tidak ada.

Jika Anda menggunakan GDK CLI v1.2.0 atau yang lebih baru, Anda dapat mengganti yang Wilayah AWS ditentukan dalam file GDK CLI konfigurasi menggunakan parameter. --region Anda juga dapat menentukan opsi tambahan menggunakan --options parameter. Untuk daftar opsi yang tersedia, lihatFile konfigurasi CLI Kit Pengembangan Greengrass.

Ketika Anda menjalankan perintah ini, GDK CLI menerbitkan komponen dengan versi yang Anda tentukan dalam resep. Jika Anda menentukanNEXT_PATCH, GDK CLI menggunakan versi patch berikutnya yang belum ada. Versi semantik menggunakan mayor. kecil. sistem penomoran tambalan. Untuk informasi lebih lanjut, lihat spesifikasi versi semantik.

catatan

Jika Anda menggunakan GDK CLI v1.1.0 atau yang lebih baru, ketika Anda menjalankan perintah ini, GDK CLI memeriksa apakah komponen dibangun. Jika komponen tidak dibangun, komponen GDK CLI akan dibuat sebelum menerbitkan komponen.

Sinopsis
$ gdk component publish [--bucket] [--region] [--options]
Argumen
  • -b, --bucket — (Opsional) Tentukan nama bucket S3 tempat GDK CLI menerbitkan artefak komponen.

    Jika Anda tidak menentukan argumen ini, GDK CLI upload ke bucket S3 yang namanyabucket-region-accountId, di mana bucket dan region merupakan nilai yang Anda tentukangdk-config.json, dan accountId merupakan ID Anda Akun AWS . GDKCLIMembuat ember jika tidak ada.

    GDKCLIMembuat ember 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 Region dalam konfigurasi. GDK CLI

    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 JSON string yang valid atau path file ke JSON file yang berisi opsi penerbitan. Argumen ini mengesampingkan opsi dalam konfigurasi. GDK CLI

    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.

Komponen komunitas GDK CLI diambil dari Katalog Perangkat Lunak Greengrass dan template komponen dari repositori Component Templates 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