Publikasikan komponen untuk diterapkan ke perangkat inti Anda - AWS IoT Greengrass

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

Publikasikan komponen untuk diterapkan ke perangkat inti Anda

Setelah Anda membangun atau menyelesaikan versi komponen, Anda dapat mempublikasikannya ke AWS IoT Greengrass layanan. Kemudian, Anda dapat menerapkannya ke perangkat inti Greengrass.

Jika Anda menggunakan Greengrass Development CLI Kit GDK CLI () untuk mengembangkan dan membangun komponen, Anda dapat menggunakan untuk mempublikasikan komponen GDK CLI ke. AWS Cloud Jika tidak, gunakan perintah shell bawaan dan AWS CLI untuk mempublikasikan komponen.

Anda juga dapat menggunakan AWS CloudFormation untuk membuat komponen dan AWS sumber daya lainnya dari template. Untuk informasi lebih lanjut, lihat Apa itu AWS CloudFormation? dan AWS::GreengrassV2::ComponentVersiondalam Panduan AWS CloudFormation Pengguna.

Publikasikan komponen (GDKCLI)

Ikuti petunjuk di bagian ini untuk mempublikasikan komponen menggunakan GDKCLI. GDKCLIUnggahan membangun artefak ke bucket S3, memperbarui artefak URIs dalam resep, dan membuat komponen dari resep. Anda menentukan bucket S3 dan Region yang akan digunakan dalam file GDK CLI konfigurasi.

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 namanya, where bucket-region-accountId bucket and region adalah nilai yang Anda tentukangdk-config.json, dan accountId adalah Akun AWS ID Anda. GDKCLIMembuat ember jika tidak ada.

penting

Peran perangkat inti tidak mengizinkan akses ke bucket S3 secara default. Jika ini pertama kalinya Anda menggunakan bucket S3, Anda harus menambahkan izin ke peran untuk mengizinkan perangkat inti mengambil artefak komponen dari bucket S3 ini. Untuk informasi selengkapnya, lihat Izinkan akses ke bucket S3 untuk artefak komponen.

Untuk mempublikasikan komponen Greengrass () GDK CLI
  1. Buka folder komponen di prompt perintah atau terminal.

  2. Jika Anda belum melakukannya, buat komponen Greengrass. Perintah build komponen menghasilkan resep dan artefak di greengrass-build folder di folder komponen. Jalankan perintah berikut.

    gdk component build
  3. Publikasikan komponen ke AWS Cloud. Perintah component publish mengunggah artefak komponen ke Amazon S3 dan memperbarui resep komponen dengan masing-masing artefak. URI Kemudian, itu menciptakan komponen dalam AWS IoT Greengrass layanan.

    catatan

    AWS IoT Greengrass menghitung intisari setiap artefak saat Anda membuat komponen. Ini berarti bahwa Anda tidak dapat memodifikasi file artefak dalam bucket S3 Anda setelah Anda membuat komponen. Jika Anda melakukannya, deployment yang mencakup komponen ini akan gagal, karena file digest tidak cocok. Jika Anda mengubah file artefak, Anda harus membuat versi baru komponen.

    Jika Anda menentukan NEXT_PATCH untuk versi komponen dalam file GDK CLI konfigurasi, akan GDK CLI menggunakan versi patch berikutnya yang belum ada dalam AWS IoT Greengrass layanan.

    Jalankan perintah berikut.

    gdk component publish

    Output memberitahu Anda versi komponen yang GDK CLI dibuat.

    Setelah mempublikasikan komponen, Anda dapat menerapkan komponen ke perangkat inti. Untuk informasi selengkapnya, lihat Deploy komponen AWS IoT Greengrass ke perangkat.

Publikasikan komponen (perintah shell)

Gunakan prosedur berikut untuk mempublikasikan komponen menggunakan perintah shell dan AWS Command Line Interface (AWS CLI). Ketika Anda mempublikasikan komponen, Anda melakukan hal berikut:

  1. Publikasikan artefak komponen ke bucket S3.

  2. Tambahkan Amazon URI S3 setiap artefak ke resep komponen.

  3. Buat versi komponen AWS IoT Greengrass dari resep komponen.

catatan

Setiap versi komponen yang Anda upload harus unik. Pastikan Anda mengunggah versi komponen yang benar, karena Anda tidak dapat mengeditnya setelah mengunggahnya.

Anda dapat mengikuti langkah-langkah ini untuk mempublikasikan komponen dari komputer pengembangan Anda atau perangkat inti Greengrass Anda.

Untuk mempublikasikan komponen (perintah shell)
  1. Jika komponen menggunakan versi yang ada di AWS IoT Greengrass layanan, maka Anda harus mengubah versi komponen. Buka resep dalam editor teks, naikkan versi, dan simpan file. Pilih versi baru yang mencerminkan perubahan yang Anda buat ke komponen.

    catatan

    AWS IoT Greengrass menggunakan versi semantik untuk komponen. Versi semantik mengikuti sistem nomor mayor.minor.patch. Sebagai contoh, versi 1.0.0 merupakan rilis mayor pertama untuk sebuah komponen. Untuk informasi lebih lanjut, lihat spesifikasi versi semantik.

  2. Jika komponen Anda memiliki artefak, lakukan hal berikut:

    1. Publikasikan artefak komponen ke bucket S3 di file Anda. Akun AWS

      Tip

      Kami merekomendasikan agar Anda menyertakan nama komponen dan versi di jalur artefak di bucket S3. Skema penamaan ini dapat membantu Anda mempertahankan artefak yang digunakan oleh versi komponen sebelumnya, sehingga Anda dapat terus mendukung versi komponen sebelumnya.

      Jalankan perintah berikut untuk mempublikasikan file artefak ke bucket S3. Ganti amzn-s3-demo-bucket dengan nama bucket, dan ganti artifacts/com.example.HelloWorld/1.0.0/artifact.py dengan jalur ke file artefak.

      aws s3 cp artifacts/com.example.HelloWorld/1.0.0/artifact.py s3://amzn-s3-demo-bucket/artifacts/com.example.HelloWorld/1.0.0/artifact.py
      penting

      Peran perangkat inti tidak mengizinkan akses ke bucket S3 secara default. Jika ini pertama kalinya Anda menggunakan bucket S3, Anda harus menambahkan izin ke peran untuk mengizinkan perangkat inti mengambil artefak komponen dari bucket S3 ini. Untuk informasi selengkapnya, lihat Izinkan akses ke bucket S3 untuk artefak komponen.

    2. Tambahkan daftar bernama Artifacts ke resep komponen jika tidak ada. Daftar Artifacts muncul di setiap manifes, yang mendefinisikan persyaratan komponen pada setiap platform yang didukungnya (atau persyaratan default komponen untuk semua platform).

    3. Tambahkan setiap artefak ke daftar artefak, atau perbarui artefak URI yang ada. Amazon S3 URI terdiri dari nama bucket dan path ke objek artefak di bucket. Amazon S3 artefak Anda akan URIs terlihat mirip dengan contoh berikut.

      s3://amzn-s3-demo-bucket/artifacts/com.example.HelloWorld/1.0.0/artifact.py

    Setelah Anda menyelesaikan langkah ini, resep Anda harus memiliki daftar Artifacts yang terlihat seperti berikut ini.

    JSON
    { ... "Manifests": [ { "Lifecycle": { ... }, "Artifacts": [ { "URI": "s3://amzn-s3-demo-bucket/artifacts/MyGreengrassComponent/1.0.0/artifact.py", "Unarchive": "NONE" } ] } ] }
    catatan

    Anda dapat menambahkan "Unarchive": "ZIP" opsi ZIP artefak untuk mengonfigurasi perangkat lunak AWS IoT Greengrass Core untuk membuka zip artefak saat komponen digunakan.

    YAML
    ... Manifests: - Lifecycle: ... Artifacts: - URI: s3://amzn-s3-demo-bucket/artifacts/MyGreengrassComponent/1.0.0/artifact.py Unarchive: NONE
    catatan

    Anda dapat menggunakan Unarchive: ZIP opsi untuk mengonfigurasi perangkat lunak AWS IoT Greengrass Core untuk membuka zip ZIP artefak saat komponen digunakan. Untuk informasi selengkapnya tentang cara menggunakan ZIP artefak dalam komponen, lihat variabel artefak: decompressedPath resep.

    Untuk informasi lebih lanjut tentang resep, lihat AWS IoT Greengrass referensi resep komponen.

  3. Gunakan AWS IoT Greengrass konsol untuk membuat komponen dari file resep.

    Jalankan perintah berikut untuk membuat komponen dari file resep. Perintah ini membuat komponen dan menerbitkannya sebagai AWS IoT Greengrass komponen pribadi di Anda Akun AWS. Ganti path/to/recipeFile dengan jalur ke file resep.

    aws greengrassv2 create-component-version --inline-recipe fileb://path/to/recipeFile

    Salin arn dari respons untuk memeriksa keadaan komponen pada langkah berikutnya.

    catatan

    AWS IoT Greengrass menghitung intisari setiap artefak saat Anda membuat komponen. Ini berarti bahwa Anda tidak dapat memodifikasi file artefak dalam bucket S3 Anda setelah Anda membuat komponen. Jika Anda melakukannya, deployment yang mencakup komponen ini akan gagal, karena file digest tidak cocok. Jika Anda mengubah file artefak, Anda harus membuat versi baru komponen.

  4. Setiap komponen dalam AWS IoT Greengrass layanan memiliki status. Jalankan perintah berikut untuk mengonfirmasi status versi komponen yang Anda terbitkan dalam prosedur ini. Ganti com.example.HelloWorld and 1.0.0 dengan versi komponen untuk kueri. Ganti arn dengan ARN dari langkah sebelumnya.

    aws greengrassv2 describe-component --arn "arn:aws:greengrass:region:account-id:components:com.example.HelloWorld:versions:1.0.0"

    Operasi ini mengembalikan respons yang berisi metadata komponen. Metadata berisi objek status yang berisi keadaan komponen dan kesalahan apa pun, jika berlaku.

    Ketika keadaan komponen adalah DEPLOYABLE, Anda dapat men-deploy komponen ke perangkat. Untuk informasi selengkapnya, lihat Deploy komponen AWS IoT Greengrass ke perangkat.