Publikasikan komponen yang akan di-deploy 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 yang akan di-deploy ke perangkat inti Anda

Setelah membuat atau menyelesaikan versi komponen, Anda dapat mempublikasikannya keAWS IoT Greengrass layanan. Kemudian, Anda dapat men-deploy-nya ke perangkat inti Greengrass.

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

Anda juga dapat menggunakanAWS CloudFormation untuk membuat komponen danAWS sumber daya lainnya dari template. Untuk informasi lebih lanjut, lihat Apa yang dimaksud denganAWS CloudFormation? dan AWS::GreengrassV2::ComponentVersiondi AWS CloudFormationUser Guide.

Publikasikan komponen (GDK CLI)

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

Jika Anda menggunakan GDK CLI v1.1.0 atau yang 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 mengunggah ke bucket S3 yang namanyabucket-region-accountId, di mana bucket dan region adalah nilai yang Anda tentukangdk-config.json, dan accountId adalahAkun AWS ID Anda. GDK CLI membuat bucket 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 belum, buat komponen Greengrass. Perintah build komponen menghasilkan resep dan artefak dalamgreengrass-build folder di folder komponen. Jalankan perintah berikut.

    gdk component build
  3. Publikasikan komponen keAWS Cloud. Perintah publikasi komponen mengunggah artefak komponen ke Amazon S3 dan memperbarui resep komponen dengan URI masing-masing artefak. Kemudian, ia membuat komponen dalamAWS IoT Greengrass layanan.

    catatan

    AWS IoT Greengrass menghitung digest dari setiap artefak ketika 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 menentukanNEXT_PATCH untuk versi komponen dalam file konfigurasi GDK CLI, GDK CLI menggunakan versi patch berikutnya yang belum ada diAWS IoT Greengrass layanan.

    Jalankan perintah berikut.

    gdk component publish

    Output memberi tahu Anda versi komponen yang dibuat oleh GDK CLI.

    Setelah memublikasikan komponen, Anda dapat men-deploy 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 danAWS Command Line Interface (AWS CLI). Saat memublikasikan komponen, Anda melakukan hal berikut:

  1. Publikasikan artefak komponen ke bucket S3.

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

  3. Buat versi komponen di 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 memublikasikan komponen dari komputer pengembangan atau perangkat inti Greengrass Anda.

Untuk mempublikasikan komponen (perintah shell)
  1. Jika komponen tersebut menggunakan versi yang ada di layanan AWS IoT Greengrass, maka Anda harus mengubah versi komponen itu. 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 perangkatAkun 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 DOC-EXAMPLE-BUCKET dengan nama bucket, lalu ganti artefak. HelloWorld/1.0.0/artifact.py dengan path ke file artefak.

      aws s3 cp artifacts/com.example.HelloWorld/1.0.0/artifact.py s3://DOC-EXAMPLE-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 URI artefak yang ada. URI Amazon S3 terdiri atas nama bucket dan path ke objek artefak dalam bucket. URI Amazon S3 artefak Anda akan terlihat serupa dengan contoh berikut.

      s3://DOC-EXAMPLE-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://DOC-EXAMPLE-BUCKET/artifacts/MyGreengrassComponent/1.0.0/artifact.py", "Unarchive": "NONE" } ] } ] }
    catatan

    Anda dapat menambahkan pilihan "Unarchive": "ZIP" untuk artefak ZIP untuk mengonfigurasi perangkat lunak inti AWS IoT Greengrass untuk meng-unzip artefak ketika komponen di-deploy.

    YAML
    ... Manifests: - Lifecycle: ... Artifacts: - URI: s3://DOC-EXAMPLE-BUCKET/artifacts/MyGreengrassComponent/1.0.0/artifact.py Unarchive: NONE
    catatan

    Anda dapat menggunakanUnarchive: ZIP pilihan untuk mengonfigurasi perangkat lunakAWS IoT Greengrass inti untuk meng-unzip artefak ZIP ketika komponen di-deploy. Untuk informasi selengkapnya tentang cara menggunakan artefak ZIP dalam sebuah komponen, lihat variabel resep artifacts:decompressedPath.

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

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

    Jalankan perintah berikut untuk membuat komponen dari file resep. Perintah ini menciptakan komponen dan menerbitkannya sebagai komponen AWS IoT Greengrass privat di Akun AWS Anda. Ganti path/to/recipeFile dengan jalur menuju 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 digest dari setiap artefak ketika 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 layanan AWS IoT Greengrass memiliki keadaan. Jalankan perintah berikut untuk mengonfirmasi status versi komponen yang Anda publikasikan dalam prosedur ini. Ganti com.example. HelloWorlddan 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.