Buat subdeployments - AWS IoT Greengrass

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

Buat subdeployments

catatan

Fitur subdeployment tersedia di Greengrass nucleus versi 2.9.0 dan yang lebih baru. Tidak mungkin untuk menerapkan konfigurasi ke subdeployment dengan versi komponen inti Greengrass sebelumnya.

Subdeployment adalah penerapan yang menargetkan subset perangkat yang lebih kecil dalam penerapan induk. Anda dapat menggunakan subdeployments untuk menerapkan konfigurasi ke subset perangkat yang lebih kecil. Anda juga dapat membuat subdeployment untuk mencoba kembali penerapan induk yang gagal ketika satu atau beberapa perangkat dalam penerapan induk tersebut gagal. Dengan fitur ini, Anda dapat memilih perangkat yang gagal dalam penerapan induk tersebut dan membuat subdeployment untuk menguji konfigurasi hingga subdeployment berhasil. Setelah subdeployment berhasil, Anda dapat menerapkan ulang konfigurasi tersebut ke penerapan induk.

Ikuti langkah-langkah di bagian ini untuk membuat subdeployment dan memeriksa statusnya. Untuk informasi selengkapnya tentang cara membuat penerapan, lihat Membuat penerapan.

Untuk membuat subdeployment () AWS CLI
  1. Jalankan perintah berikut untuk mengambil penerapan terbaru untuk grup sesuatu. Ganti ARN dalam perintah tersebut dengan ARN dari grup objek untuk kueri. Setel --history-filter LATEST_ONLY untuk melihat penerapan terbaru dari grup benda itu.

    aws greengrassv2 list-deployments --target-arn arn:aws:iot:region:account-id:thinggroup/thingGroupName --history-filter LATEST_ONLY
  2. Salin deploymentId dari respons ke list-deployments perintah untuk digunakan pada langkah berikutnya.

  3. Jalankan perintah berikut untuk mengambil status deployment. Ganti deploymentId dengan ID penyebaran untuk kueri.

    aws greengrassv2 get-deployment --deployment-id deploymentId
  4. Salin iotJobId dari respons ke get-deployment perintah yang akan digunakan pada langkah berikut.

  5. Jalankan perintah berikut untuk mengambil daftar eksekusi pekerjaan untuk pekerjaan yang ditentukan. Ganti JoBid dengan iotJobId dari langkah sebelumnya. Ganti status dengan status yang ingin Anda filter. Anda dapat memfilter hasil dengan status berikut:

    • QUEUED

    • IN_PROGRESS

    • SUCCEEDED

    • FAILED

    • TIMED_OUT

    • REJECTED

    • REMOVED

    • CANCELED

    aws iot list-job-executions-for-job --job-id jobID --status status
  6. Buat grup AWS IoT hal baru, atau gunakan grup hal yang sudah ada, untuk subdeployment Anda. Kemudian, tambahkan AWS IoT sesuatu ke grup benda ini. Anda menggunakan grup objek untuk mengelola armada perangkat inti Greengrass. Saat menerapkan komponen perangkat lunak ke perangkat, Anda dapat menargetkan perangkat individual atau grup perangkat. Anda dapat menambahkan perangkat ke grup benda dengan penerapan Greengrass aktif. Setelah ditambahkan, Anda kemudian dapat menyebarkan komponen perangkat lunak grup benda itu ke perangkat itu.

    Untuk membuat grup hal baru dan menambahkan perangkat Anda ke dalamnya, lakukan hal berikut:

    1. Buat grup AWS IoT hal. Ganti MyGreengrassCoreGroupdengan nama untuk grup hal baru. Anda tidak dapat menggunakan titik dua (:) dalam nama grup benda.

      catatan

      Jika grup benda untuk subdeployment digunakan dengan satuparentTargetArn, itu tidak dapat digunakan kembali dengan armada induk yang berbeda. Jika grup sesuatu telah digunakan untuk membuat subdeployment untuk armada lain, API akan mengembalikan kesalahan.

      aws iot create-thing-group --thing-group-name MyGreengrassCoreGroup

      Jika permintaan berhasil, responsnya terlihat mirip dengan contoh berikut:

      { "thingGroupName": "MyGreengrassCoreGroup", "thingGroupArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup", "thingGroupId": "4df721e1-ff9f-4f97-92dd-02db4e3f03aa" }
    2. Tambahkan inti Greengrass yang disediakan ke grup hal Anda. Jalankan perintah berikut dengan parameter ini:

      • Ganti MyGreengrassCoredengan nama inti Greengrass yang Anda sediakan.

      • Ganti MyGreengrassCoreGroupdengan nama grup barang Anda.

      aws iot add-thing-to-thing-group --thing-name MyGreengrassCore --thing-group-name MyGreengrassCoreGroup

      Perintah tersebut tidak memiliki output apa pun jika permintaan berhasil.

  7. Buat file bernama deployment.json, lalu salin objek JSON berikut ke dalam file. Ganti targetArn dengan ARN dari grup hal yang akan ditargetkan AWS IoT untuk subdeployment. Target subdeployment hanya bisa berupa grup benda. ARN grup benda memiliki format berikut:

    • Kelompok halarn:aws:iot:region:account-id:thinggroup/thingGroupName

    { "targetArn": "targetArn" }
  8. Jalankan perintah berikut lagi untuk mendapatkan detail penerapan asli. Detail ini mencakup metadata, komponen, dan konfigurasi pekerjaan. Ganti DeploymentID dengan ID dari. Tahap 1 Anda dapat menggunakan konfigurasi penerapan ini untuk mengonfigurasi subdeployment dan membuat perubahan sesuai kebutuhan.

    aws greengrassv2 get-deployment --deployment-id deploymentId

    Tanggapan berisi detail deployment. Salin salah satu pasangan kunci-nilai berikut dari respons get-deployment perintah ke dalam. deployment.json Anda dapat mengubah nilai-nilai ini untuk subdeployment. Untuk informasi selengkapnya tentang detail perintah ini, lihat GetDeployment.

    • components— Komponen penyebaran. Untuk menghapus komponen, hapus dari objek ini.

    • deploymentName— Nama penyebaran.

    • deploymentPolicies— Kebijakan penyebaran.

    • iotJobConfiguration— Konfigurasi pekerjaan penerapan.

    • parentTargetArn— Target penyebaran induk.

    • tags— Tag penyebaran.

  9. Jalankan perintah berikut untuk membuat subdeployment dari. deployment.json Ganti subDeploymentName dengan nama untuk subdeployment.

    aws greengrassv2 create-deployment --deployment-name subdeploymentName --cli-input-json file://deployment.json

    Responsnya mencakup a deploymentId yang mengidentifikasi subdeployment ini. Anda dapat menggunakan ID deployment untuk memeriksa status deployment. Untuk informasi selengkapnya, lihat Memeriksa status penerapan.

  10. Jika subdeployment berhasil, Anda dapat menggunakan konfigurasinya untuk merevisi penerapan induk. Salin deployment.json yang Anda gunakan pada langkah sebelumnya. Ganti targetArn dalam file JSON dengan ARN penerapan induk dan jalankan perintah berikut untuk membuat penyebaran induk menggunakan konfigurasi baru ini.

    catatan

    Jika Anda membuat revisi penerapan baru dari armada induk, ini akan menggantikan semua revisi penerapan dan subdeployment untuk penerapan induk tersebut. Untuk informasi selengkapnya, lihat Merevisi penerapan.

    aws greengrassv2 create-deployment --cli-input-json file://deployment.json

    Tanggapan meliputi deploymentId yang menentukan deployment ini. Anda dapat menggunakan ID deployment untuk memeriksa status deployment. Lihat informasi yang lebih lengkap di Periksa status deployment.