

Pemberitahuan akhir dukungan: Pada 7 Oktober 2026, AWS akan menghentikan dukungan untuk. AWS IoT Greengrass Version 1 Setelah 7 Oktober 2026, Anda tidak akan lagi dapat mengakses sumber daya. AWS IoT Greengrass V1 Untuk informasi lebih lanjut, silakan kunjungi [Migrasi dari AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

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

# Cara mengkonfigurasi akses sumber daya lokal menggunakan Konsol Manajemen AWS
<a name="lra-console"></a>

Fitur ini tersedia untuk AWS IoT Greengrass Core v1.3 dan yang lebih baru.

Anda dapat mengonfigurasi fungsi Lambda agar aman mengakses sumber daya lokal pada host perangkat core Greengrass. *Sumber daya lokal* merujuk ke bus dan periferal yang ada secara fisik pada host, atau volume sistem file pada OS host. Untuk informasi lebih lanjut, termasuk persyaratan dan kendala, lihat [Akses sumber daya lokal dengan fungsi dan konektor Lambda](access-local-resources.md).

Tutorial ini menjelaskan cara menggunakan Konsol Manajemen AWS untuk mengkonfigurasi akses ke sumber daya lokal yang ada pada perangkat AWS IoT Greengrass inti. Itu berisi langkah-langkah tingkat tinggi berikut:

1. [Buat paket deployment fungsi Lambda](#lra-console-create-package)

1. [Buat dan publikasi fungsi Lambda](#lra-console-create-function)

1. [Menambahkan fungsi Lambda ke grup](#lra-console-add-function)

1. [Menambahkan sumber daya lokal ke grup](#lra-console-create-resource)

1. [Menambahkan langganan ke grup](#lra-console-add-subscription)

1. [Men-deploy grup](#lra-console-deploy-group)

Untuk tutorial yang menggunakan AWS Command Line Interface, lihat[Cara mengkonfigurasi akses sumber daya lokal menggunakan antarmuka baris AWS perintah](lra-cli.md).

## Prasyarat
<a name="lra-console-prerequisites"></a>

Untuk menyelesaikan tutorial ini, Anda memerlukan:
+ Sebuah grup Greengrass dan core Greengrass (v1.3 atau lebih baru). Untuk membuat grup Greengrass atau core, lihat [Memulai dengan AWS IoT Greengrass](gg-gs.md).
+ Direktori berikut ada pada perangkat core Greengrass:
  + /src/ LRAtest
  + /takdir/LRAtest

  Grup pemilik direktori ini harus memiliki akses baca dan tulis ke direktori. Anda dapat menggunakan perintah berikut untuk memberikan akses:

  ```
  sudo chmod 0775 /src/LRAtest
  ```

## Langkah 1: Buat paket deployment fungsi Lambda
<a name="lra-console-create-package"></a>

Pada langkah ini, Anda membuat paket deployment fungsi Lambda, yang merupakan file ZIP yang berisi kode fungsi dan dependensi. Anda juga mengunduh AWS IoT Greengrass Core SDK untuk disertakan dalam paket sebagai dependensi.

1. Pada komputer Anda, salin skrip Python berikut ke file lokal bernama `lraTest.py`. Ini adalah logika aplikasi untuk fungsi Lambda.

   ```
   # Demonstrates a simple use case of local resource access.
   # This Lambda function writes a file test to a volume mounted inside
   # the Lambda environment under destLRAtest. Then it reads the file and 
   # publishes the content to the AWS IoT LRAtest topic. 
   
   import sys
   import greengrasssdk
   import platform
   import os
   import logging
   
   # Setup logging to stdout
   logger = logging.getLogger(__name__)
   logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)
   
   # Create a Greengrass Core SDK client.
   client = greengrasssdk.client('iot-data')
   volumePath = '/dest/LRAtest'
   
   def function_handler(event, context):
       try:
           client.publish(topic='LRA/test', payload='Sent from AWS IoT Greengrass Core.')
           volumeInfo = os.stat(volumePath)
           client.publish(topic='LRA/test', payload=str(volumeInfo))
           with open(volumePath + '/test', 'a') as output:
               output.write('Successfully write to a file.')
           with open(volumePath + '/test', 'r') as myfile:
               data = myfile.read()
           client.publish(topic='LRA/test', payload=data)
       except Exception as e:
           logger.error('Failed to publish message: ' + repr(e))
       return
   ```

1. <a name="download-ggc-sdk"></a> Dari halaman unduhan [AWS IoT Greengrass Core SDK](what-is-gg.md#gg-core-sdk-download), unduh AWS IoT Greengrass Core SDK untuk Python ke komputer Anda.

1. <a name="unzip-ggc-sdk"></a>Unzip paket yang diunduh untuk mendapatkan SDK. SDK adalah `greengrasssdk` folder.

1. Zip item berikut ke dalam file bernama `lraTestLambda.zip`:
   + `lraTest.py`. Logika aplikasi.
   + `greengrasssdk`. Diperlukan perpustakaan untuk semua fungsi Python Lambda.

   File `lraTestLambda.zip` adalah paket deployment fungsi Lambda Anda. Sekarang Anda siap untuk membuat fungsi Lambda dan mengunggah paket deployment.

## Langkah 2: Buat dan publikasi Fungsi Lambda
<a name="lra-console-create-function"></a>

Pada langkah ini, Anda menggunakan AWS Lambda konsol untuk membuat fungsi Lambda dan mengonfigurasinya untuk menggunakan paket penerapan Anda. Kemudian, Anda mempublikasikan versi fungsi dan membuat alias.

Pertama, buat fungsi Lambda.

1. Di Konsol Manajemen AWS, pilih **Layanan**, dan buka AWS Lambda konsol.

1. Pilih **Fungsi**.

1. <a name="lambda-console-create-function"></a>Pilih **Buat fungsi** dan kemudian pilih **Tulis dari awal**.

1. Di bagian **Informasi dasar** tersebut, gunakan nilai-nilai berikut.

   1. Untuk **Nama fungsi**, masukkan **TestLRA**.

   1. Untuk **Waktu pengoperasian**, pilih **Python 3.7**.

   1. Untuk **Izin**, pertahankan pengaturan default. Hal ini menciptakan peran eksekusi yang memberikan izin Lambda basic. Peran ini tidak digunakan oleh AWS IoT Greengrass

1. Pilih **Buat fungsi**.  
![\[Halaman Buat fungsi dengan Buat fungsi disorot.\]](http://docs.aws.amazon.com/id_id/greengrass/v1/developerguide/images/lra-console/create-function.png)

    

1. Unggah paket deployment fungsi Lambda Anda dan daftarkan handler-nya.

   1. <a name="lambda-console-upload"></a>Pada tab **Kode** tersebut, di bawah **Sumber kode**, pilih **Unggah dari**. Dari dropdown, pilih **file .zip**.  
![\[Unggah dari dropdown dengan file .zip disorot.\]](http://docs.aws.amazon.com/id_id/greengrass/v1/developerguide/images/lra-console/upload-deployment-package.png)

   1. Pilih **Unggah**, lalu pilih paket deployment `lraTestLambda.zip` Anda. Lalu, pilih **Simpan**.

   1. <a name="lambda-console-runtime-settings-para"></a>Pada tab **Kode** fungsi, di bawah **Pengaturan waktu aktif**, pilih **Edit**, dan kemudian masukkan nilai-nilai berikut.
      + Untuk **Waktu aktif**, pilih **Python 3.7**.
      + Untuk **Handler**, memasukkan **lraTest.function\$1Handler**.

   1. <a name="lambda-console-save-config"></a>Pilih **Simpan**.
**catatan**  
Tombol **Uji** di AWS Lambda konsol tidak berfungsi dengan fungsi ini. AWS IoT Greengrass Core SDK tidak berisi modul yang diperlukan untuk menjalankan fungsi Greengrass Lambda Anda secara independen di konsol. AWS Lambda Modul-modul ini (misalnya, `greengrass_common`) dipasok ke fungsi setelah mereka di-deploy ke core Greengrass Anda.

   Selanjutnya, mempublikasikan versi pertama fungsi Lambda Anda. Kemudian, buat [alias untuk versi](https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html).

   Grup Greengrass dapat mereferensi fungsi Lambda dengan alias (direkomendasikan) atau dengan versi. Menggunakan alias membuatnya lebih mudah untuk mengelola pembaruan kode karena Anda tidak perlu mengubah tabel langganan atau definisi grup ketika kode fungsi diperbarui. Sebaliknya, Anda hanya mengarahkan alias ke versi fungsi baru.

1. Dari **Tindakan**, pilih **Terbitkan versi baru**.

1. Untuk **Deskripsi versi**, memasukkan **First version**, lalu pilih **Publikasikan**.

1. Pada halama konfigurasi **TestLRA: 1** tersebut, dari **Tindakan**, pilih **Buat alias**.

1. Pada halaman **Buat alias**, untuk **Nama**, masukkan**test**. Untuk **Versi**, masukkan **1**. 
**catatan**  
AWS IoT Greengrass **tidak mendukung alias Lambda untuk versi \$1LATEST.**

1. Pilih **Buat**.  
![\[Halaman Buat alias baru dengan Buat disorot.\]](http://docs.aws.amazon.com/id_id/greengrass/v1/developerguide/images/lra-console/create-alias.png)

   Anda sekarang dapat menambahkan fungsi Lambda ke grup Greengrass Anda.

## Langkah 3: Tambahkan fungsi Lambda ke grup Greengrass
<a name="lra-console-add-function"></a>

Pada langkah ini, Anda menambahkan fungsi ke grup Anda dan mengonfigurasi siklus hidup fungsi.

Pertama, tambahkan fungsi Lambda ke grup Greengrass Anda.

1. **Di panel navigasi AWS IoT konsol, di bawah **Kelola**, perluas perangkat **Greengrass**, lalu pilih Grup (V1).**

1. Pilih grup Greengrass di mana Anda ingin menambahkan fungsi Lambda.

1. Pada halaman konfigurasi grup, pilih tab **fungsi Lambda**.

1. **Di bawah bagian **Fungsi Lambda Saya**, pilih Tambah.**

1. **Pada halaman **fungsi Add Lambda, pilih fungsi** Lambda.** Pilih **TestLRA**.

1. Pilih versi **fungsi Lambda**.

1. Di bagian **konfigurasi fungsi Lambda**, pilih **Pengguna dan grup sistem dan** kontainerisasi fungsi **Lambda**.

    

   Selanjutnya, konfigurasikan siklus hidup fungsi Lambda.

1. Untuk **Timeout**, pilih **30 detik**.
**penting**  
Fungsi Lambda yang menggunakan sumber daya lokal (seperti yang dijelaskan dalam prosedur ini) harus berjalan dalam kontainer Greengrass. Jika tidak, deployment gagal jika Anda mencoba untuk men-deploy fungsi. Untuk informasi lebih lanjut, lihat [Kontainerisasi](lambda-group-config.md#lambda-function-containerization).

1. Di bagian bawah halaman, pilih **Tambahkan fungsi Lambda**.

## Langkah 4: Tambahkan sumber daya lokal ke grup Greengrass
<a name="lra-console-create-resource"></a>

Pada langkah ini, Anda menambahkan sumber daya volume lokal untuk grup Greengrass dan memberikan fungsi akses membaca dan menulis ke sumber daya. Sumber daya lokal memiliki lingkup grup-tingkat. Anda dapat memberikan izin untuk setiap fungsi Lambda dalam grup untuk mengakses sumber daya.

1. Pada halaman konfigurasi grup, pilih tab **Sumber Daya**.

1. Di bawah bagian **Sumber daya lokal**, pilih **Tambah**.

1. Pada halaman **Tambahkan sumber daya lokal**, gunakan nilai berikut.

   1. Untuk **Nama sumber daya**, memasukkan **testDirectory**.

   1. Untuk **Jenis sumber daya**, pilih **Volume**.

   1. Untuk **jalur perangkat lokal**, masukkan**/src/LRAtest**. Jalur ini harus ada pada OS host. 

      Jalur perangkat lokal adalah jalur absolut lokal dari sumber daya pada sistem file perangkat inti. Lokasi ini berada di luar [Kontainer](lambda-group-config.md#lambda-function-containerization) di mana fungsi berjalan. Jalur tidak dapat dimulai dengan `/sys`.

   1. Untuk **Jalur tujuan**, masukkan **/dest/LRAtest**. Jalur ini harus ada pada OS host.

      Jalur tujuan adalah jalur absolut dari sumber daya di namespace Lambda. Lokasi ini adalah di dalam kontainer di mana fungsi berjalan.

   1. Di bawah **Pemilik grup sistem dan izin akses file**, pilih **Secara otomatis menambahkan izin sistem file dari grup sistem yang memiliki sumber daya**.

      Opsi **pemilik grup sistem dan izin akses file** memungkinkan Anda memberikan izin akses file tambahan ke proses Lambda. Untuk informasi selengkapnya, lihat [Izin akses file pemilik grup](access-local-resources.md#lra-group-owner).

1. Pilih **Tambahkan sumber daya**. Halaman **Sumber Daya** menampilkan sumber daya testDirectory baru.

## Langkah 5: Tambahkan langganan ke grup Greengrass
<a name="lra-console-add-subscription"></a>

Pada langkah ini, Anda akan menambahkan dua langganan ke grup Greengrass. Langganan ini memungkinkan komunikasi dua arah antara fungsi Lambda dan. AWS IoT

Pertama, buat langganan untuk fungsi Lambda agar mengirim pesan ke AWS IoT.

1. Pada halaman konfigurasi grup, pilih tab **Langganan**.

1. Pilih **Tambahkan**.

1. Pada halaman **Buat langganan**, konfigurasikan sumber dan target, sebagai berikut:

   1. **Untuk **tipe Sumber**, pilih **fungsi Lambda**, lalu pilih TestLra.**

   1. Untuk **jenis Target**, pilih **Layanan**, lalu pilih **IoT Cloud**.

   1. Untuk **filter Topik****LRA/test**, masukkan, lalu pilih **Buat langganan**.

1. Halaman **Berlangganan** menampilkan langganan baru.

    

   Selanjutnya, konfigurasikan langganan yang memanggil fungsi dari AWS IoT.

1. Di halaman **Langganan** tersebut, pilih **Tambahkan langganan**.

1. Pada halaman **Pilih sumber dan target** tersebut, mengonfigurasi sumber dan target, sebagai berikut:

   1. **Untuk **jenis Sumber**, pilih **fungsi Lambda**, lalu pilih IoT Cloud.**

   1. Untuk **jenis Target**, pilih **Layanan**, lalu pilih **TestLra**.

   1. Pilih **Berikutnya**.

1. Pada halaman **Filter data Anda dengan topik** ini, di **Filter topik**, masukkan **invoke/LRAFunction**, lalu pilih **Selanjutnya**.

1. Pilih **Selesai**. Halaman **Berlangganan** menampilkan kedua langganan.

## Langkah 6: Menyebarkan grup AWS IoT Greengrass
<a name="lra-console-deploy-group"></a>

Pada langkah ini, Anda men-deploy versi definisi grup.

1. Pastikan AWS IoT Greengrass inti sedang berjalan. Jalankan perintah berikut di terminal Raspberry Pi Anda, sesuai kebutuhan.

   1. Untuk memeriksa apakah daemon sedang berjalan:

      ```
      ps aux | grep -E 'greengrass.*daemon'
      ```

      Jika outputnya berisi entri `root` untuk `/greengrass/ggc/packages/1.11.6/bin/daemon`, maka daemon sedang berjalan.
**catatan**  
Versi di jalur tergantung pada versi perangkat lunak AWS IoT Greengrass Core yang diinstal pada perangkat inti Anda.

   1. Untuk memulai daemon:

      ```
      cd /greengrass/ggc/core/
      sudo ./greengrassd start
      ```

1. Pada halaman konfigurasi grup, pilih **Deploy**.
**catatan**  
Deployment gagal jika Anda menjalankan fungsi Lambda Anda tanpa kontainerisasi dan mencoba untuk mengakses sumber daya lokal terlampir.

1. **Jika diminta, pada tab Fungsi **Lambda**, di bawah fungsi **Sistem Lambda**, **pilih detektor IP**, **lalu Edit, lalu** Deteksi secara otomatis.**

   Hal ini mengaktifkan perangkat untuk secara otomatis memperoleh informasi konektivitas untuk core, seperti alamat IP, DNS, dan nomor port. Deteksi otomatis direkomendasikan, tetapi AWS IoT Greengrass juga mendukung titik akhir yang ditentukan secara manual. Anda hanya diminta untuk metode penemuan pertama kalinya bahwa grup di-deploy.
**catatan**  
Jika diminta, berikan izin untuk membuat peran layanan [Greengrass dan kaitkan dengan peran layanan](service-role.md) Anda saat ini. Akun AWS Wilayah AWS Peran ini memungkinkan AWS IoT Greengrass untuk mengakses sumber daya Anda dalam AWS layanan.

   Halaman **Deployment** menampilkan timestamp deployment, ID versi, dan status. Setelah selesai, status penerapan **Selesai**.

   Untuk bantuan penyelesaian masalah, lihat [Pemecahan masalah AWS IoT Greengrass](gg-troubleshooting.md).

## Uji akses sumber daya lokal
<a name="lra-console-test-results"></a>

Sekarang Anda dapat memverifikasi apakah akses sumber daya lokal dikonfigurasi dengan benar. Untuk menguji, Anda berlangganan topik `LRA/test` dan mempublikasikan ke `invoke/LRAFunction` topik. Pengujian berhasil jika fungsi Lambda mengirimkan muatan yang diharapkan ke. AWS IoT

1. Dari menu navigasi AWS IoT konsol, di bawah **Uji**, pilih klien pengujian **MQTT**.

1. Di bawah **Berlangganan topik**, untuk **filter Topik**, masukkan**LRA/test**.

1. Di bawah **Informasi tambahan**, untuk tampilan **payload MQTT, pilih **Tampilkan** muatan** sebagai string.

1. Pilih **Langganan**. Fungsi Lambda Anda mempublikasikan ke topik. LRA/test   
![\[Halaman Langganan dengan Berlangganan ke topik disorot.\]](http://docs.aws.amazon.com/id_id/greengrass/v1/developerguide/images/lra-console/test-subscribe.png)

1. Di bawah **Publikasikan ke topik**, masukkan **nama Topik****invoke/LRAFunction**, lalu pilih **Publikasikan** untuk menjalankan fungsi Lambda Anda. Tes ini berhasil jika halaman menampilkan muatan tiga pesan fungsi.  
![\[Halaman Langganan dengan invoke/LRAFunction topik dan Publikasikan ke topik disorot, dan hasil pengujian dengan data pesan.\]](http://docs.aws.amazon.com/id_id/greengrass/v1/developerguide/images/lra-console/test-publish.png)

File tes yang dibuat oleh fungsi Lambda ada di direktori `/src/LRAtest` pada perangkat core Greengrass. Meskipun fungsi Lambda menulis ke file dalam direktori `/dest/LRAtest` tersebut, file tersebut terlihat hanya di namespace Lambda. Anda tidak dapat melihatnya di namespace Linux biasa. Setiap perubahan ke jalur tujuan tercermin dalam jalur sumber pada sistem file.

Untuk bantuan penyelesaian masalah, lihat [Pemecahan masalah AWS IoT Greengrass](gg-troubleshooting.md).