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

Publikasi komponen yang akan di-deploy ke perangkat inti Anda

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

Jika Anda menggunakanKit Pengembangan Greengrass CLI (GDK CLI)kepadamengembangkan dan membangun komponen, Anda dapatmenggunakan CLIuntuk mempublikasikan komponen keAWS Cloud. Jika tidak,menggunakan perintah shell built-in danAWS CLIuntuk mempublikasikan komponen.

Anda juga dapat menggunakanAWS CloudFormationuntuk membuat komponen dan lainnyaAWSsumber daya dari template. Untuk informasi selengkapnya, lihatApaAWS CloudFormation?danAWS::GreengrassV2::ComponentVersiondi dalamAWS CloudFormationPanduan Pengguna.

Mempublikasikan komponen (GDK CLI)

Ikuti petunjuk di bagian ini untuk mempublikasikan komponen menggunakan GDK CLI. GDK CLI upload membangun artefak ke bucket S3, memperbarui URI artefak dalam resep, dan menciptakan komponen dari resep. Anda menentukan bucket S3 dan Wilayah yang akan digunakan diFile konfigurasi GDK CLI.

Jika Anda menggunakan GDK CLI atau yang lebih baru, Anda dapat menentukan--bucketargumen untuk menentukan bucket S3 di mana GDK CLI mengunggah artefak komponen. Jika Anda tidak menentukan argumen ini, maka unggahan GDK CLI ke bucket S3 yang namanyabucketPrefix-region-accountId, tempatBucketPrefixdandaerahadalah nilai yang Anda tentukan digdk-config.json, danaccountIdadalahAkun AWSID. CLI GDK 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 Anda belum melakukannya, buat komponen Greengrass. Parameterbuild komponenmenghasilkan resep dan artefak digreengrass-buildfolder dalam folder komponen. Jalankan perintah berikut.

    gdk component build
  3. Publikasikan komponen keAWS Cloud. Parametermenerbitkan komponenperintah mengunggah artefak komponen ke Amazon S3 dan memperbarui resep komponen dengan URI masing-masing artefak. Kemudian, menciptakan komponen dalamAWS IoT Greengrasslayanan.

    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_PATCHuntuk versi komponen dalam file konfigurasi GDK CLI, GDK CLI menggunakan versi patch berikutnya yang belum ada diAWS IoT Greengrasslayanan.

    Jalankan perintah berikut.

    gdk component publish

    Output memberitahu Anda versi komponen yang dibuat GDK CLI.

    Setelah mempublikasikan 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 menerbitkan komponen, Anda harus melakukan hal berikut:

  1. Publikasi 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 mempublikasikan 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. Publikasi 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 artifacts/com.example.HelloWorld/1.0.0/artifact.py dengan jalur menuju 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: ZIPpilihan untuk mengkonfigurasiAWS IoT GreengrassPerangkat lunak inti untuk unzip artefak ZIP ketika komponen menyebarkan. Untuk informasi selengkapnya tentang cara menggunakan artefak ZIP di komponen, lihatArtefak: DecompressedPath variabel resep.

    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.Helloworld dan 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.