Ekspor aliran data ke AWS Cloud (CLI) - AWS IoT Greengrass

AWS IoT Greengrass Version 1 memasuki fase umur panjang pada 30 Juni 2023. Untuk informasi selengkapnya, lihat kebijakan AWS IoT Greengrass V1 pemeliharaan. Setelah tanggal ini, tidak AWS IoT Greengrass V1 akan merilis pembaruan yang menyediakan fitur, penyempurnaan, perbaikan bug, atau patch keamanan. Perangkat yang berjalan AWS IoT Greengrass V1 tidak akan terganggu dan akan terus beroperasi dan terhubung ke cloud. Kami sangat menyarankan Anda bermigrasi ke AWS IoT Greengrass Version 2, yang menambahkan fitur baru yang signifikan dan dukungan untuk platform tambahan.

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

Ekspor aliran data ke AWS Cloud (CLI)

Tutorial ini menunjukkan bagaiman menggunakan AWS CLI untuk mengonfigurasi dan men-deploy AWS IoT Greengrass dengan pengelola pengaliran yang diaktifkan. Grup ini berisi fungsi Lambda yang ditetapkan pengguna yang menulis ke pengaliran di pengelola pengaliran, yang kemudian diekspor secara otomatis ke AWS Cloud.

Pengelola pengaliran membuat penyerapan, pemrosesan, dan ekspor pengaliran data volume tinggi menjadi lebih efisien dan andal. Dalam tutorial ini, Anda membuat TransferStream fungsi Lambda yang mengonsumsi data IoT. Fungsi Lambda menggunakan AWS IoT Greengrass Core SDK untuk membuat pengaliran di pengelola pengaliran lalu membaca dan menulis untuk itu. Pengelola pengaliran kemudian mengekspor pengaliran ke Kinesis Data Streams. Diagram berikut menunjukkan alur kerja ini.

Diagram alur kerja manajemen pengaliran.

Fokus dari tutorial ini adalah untuk menunjukkan cara fungsi Lambda yang ditetapkan pengguna menggunakan objek StreamManagerClient dalam AWS IoT Greengrass Core SDK untuk berinteraksi dengan pengelola pengaliran. Untuk mempermudah, fungsi Lambda Python yang Anda buat untuk tutorial ini menghasilkan data perangkat simulasi.

Saat Anda menggunakan AWS IoT Greengrass API, yang mencakup perintah Greengrass di AWS CLI, untuk membuat grup, pengelola aliran dinonaktifkan secara default. Untuk mengaktifkan pengelola pengaliran di core, Anda membuat versi definisi fungsi yang mencakup sistem GGStreamManager fungsi Lambda dan versi grup yang referensi versi definisi fungsi baru. Kemudian Anda men-deploy grup.

Prasyarat

Untuk menyelesaikan tutorial ini, Anda memerlukan:

  • Sebuah grup Greengrass dan core Greengrass (v1.10 atau yang lebih baru). Untuk informasi tentang cara membuat grup Greengrass dan core, lihat Memulai dengan AWS IoT Greengrass. Tutorial Memulai juga mencakup langkah-langkah untuk menginstal AWS IoT Greengrass perangkat lunak Core.

    catatan

    Pengelola pengelola pengelola tidak didukung OpenWrt distribusi.

  • Waktu aktif Java 8 (JDK 8) dipasang pada perangkat core.

    • Untuk distribusi berbasis Debian (termasuk Raspbian) atau distribusi berbasis Ubuntu, jalankan perintah berikut:

      sudo apt install openjdk-8-jdk
    • Untuk distribusi berbasis Red Hat (termasuk Amazon Linux), jalankan perintah berikut:

      sudo yum install java-1.8.0-openjdk

      Untuk informasi lebih lanjut, lihat Cara mengunduh dan menginstal paket OpenJDK prebuilt dalam dokumentasi OpenJDK.

  • AWS IoT Greengrass Core SDK for Python v1.5.0 atau yang lebih baru. Untuk menggunakan StreamManagerClient dalam AWS IoT Greengrass Core SDK for Python, Anda harus:

    • Instal Python 3.7 atau yang lebih baru pada perangkat core.

    • Sertakan SDK dan dependensinya dalam paket deployment fungsi Lambda Anda. Instruksi disediakan pada tutorial ini.

    Tip

    Anda dapat menggunakan StreamManagerClient dengan Java atau NodeJS. Untuk kode sampel, lihatAWS IoT GreengrassCore SDK for JavadanAWS IoT GreengrassCore SDK for Node.jsdi atas GitHub.

  • Pengaliran tujuan bernama MyKinesisStream dibuat di Amazon Kinesis Data Streams dalam hal yang sama Wilayah AWS sebagai grup Greengrass Anda. Untuk informasi lebih lanjut, lihat Buat aliran dalam Panduan Developer Amazon Kinesis.

    catatan

    Dalam tutorial ini, pengelola pengaliran mengekspor data ke Kinesis Data Streams, yang mengakibatkan biaya ke Akun AWS. Untuk informasi lebih lanjut tentang harga, lihat Harga Kinesis Data Streams.

    Untuk menghindari timbulnya biaya, Anda dapat menjalankan tutorial ini tanpa membuat Kinesis data stream. Dalam kasus ini, Anda memeriksa catatan untuk melihat pengelola pengaliran tersebut berusaha mengekspor pengaliran ke Kinesis Data Streams.

  • Kebijakan IAM ditambahkan ke Peran grup Greengrass yang mengizinkan tindakan kinesis:PutRecords pada aliran data target, seperti yang ditunjukkan dalam contoh berikut:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesis:PutRecords" ], "Resource": [ "arn:aws:kinesis:region:account-id:stream/MyKinesisStream" ] } ] }
  • Menginstal AWS CLI dan mengonfigurasi ke komputer Anda. Untuk informasi lebih lanjut, lihat Menginstal AWS Command Line Interface dan Mengonfigurasi AWS CLI di AWS Command Line Interface Panduan Pengguna.

     

    Contoh perintah dalam tutorial ini ditulis untuk Linux dan sistem berbasis UNIX lainnya. Jika Anda menggunakan Windows, lihat Menentukan nilai parameter untuk AWS antarmuka baris perintah untuk informasi lebih lanjut tentang perbedaan dalam sintaks.

    Jika perintah berisi string JSON, tutorial memberikan contoh yang memiliki JSON pada satu baris. Pada beberapa sistem, mungkin lebih efisien untuk mengedit dan menjalankan perintah menggunakan format ini.

 

Tutorial berisi langkah-langkah tingkat tinggi berikut:

Tutorial harus memerlukan waktu sekitar 30 menit untuk menyelesaikannya.

Langkah 1: Buat paket deployment fungsi Lambda

Dalam langkah ini, Anda membuat paket deployment fungsi Lambda yang berisi kode fungsi Python dan dependensi. Anda mengunggah paket ini nanti ketika Anda membuat fungsi Lambda dalam AWS Lambda. Fungsi Lambda menggunakan AWS IoT Greengrass Core SDK untuk membuat dan berinteraksi dengan pengaliran lokal.

catatan

Fungsi Lambda yang ditetapkan pengguna milik Anda harus menggunakan AWS IoT Greengrass Core SDK untuk berinteraksi dengan pengelola pengaliran. Untuk informasi lebih lanjut tentang persyaratan untuk Greengrass pengelola pengaliran, lihat Persyaratan pengelola pengaliran Greengrass.

  1. Unduh AWS IoT Greengrass Core SDK for Python v1.5.0 atau yang lebih baru.

  2. Unzip paket unduhan untuk mendapatkan SDK. SDK adalah folder greengrasssdk ini.

  3. Instal paket dependensi untuk menyertakan dengan SDK dalam paket deployment fungsi Lambda Anda.

    1. Arahkan ke direktori SDK yang berisi file requirements.txt ini. File ini berisi daftar dependensi.

    2. Instal dependensi SDK. Sebagai contoh, jalankan perintah pip berikut untuk menginstalnya di direktori saat ini:

      pip install --target . -r requirements.txt
  4. Simpan fungsi kode Python berikut dalam sebuah file lokal bernama transfer_stream.py.

    Tip

    Misalnya kode yang menggunakan Java dan NodeJS, lihatAWS IoT GreengrassCore SDK for JavadanAWS IoT GreengrassCore SDK for Node.jsdi atas GitHub.

    import asyncio import logging import random import time from greengrasssdk.stream_manager import ( ExportDefinition, KinesisConfig, MessageStreamDefinition, ReadMessagesOptions, ResourceNotFoundException, StrategyOnFull, StreamManagerClient, ) # This example creates a local stream named "SomeStream". # It starts writing data into that stream and then stream manager automatically exports # the data to a customer-created Kinesis data stream named "MyKinesisStream". # This example runs forever until the program is stopped. # The size of the local stream on disk will not exceed the default (which is 256 MB). # Any data appended after the stream reaches the size limit continues to be appended, and # stream manager deletes the oldest data until the total stream size is back under 256 MB. # The Kinesis data stream in the cloud has no such bound, so all the data from this script is # uploaded to Kinesis and you will be charged for that usage. def main(logger): try: stream_name = "SomeStream" kinesis_stream_name = "MyKinesisStream" # Create a client for the StreamManager client = StreamManagerClient() # Try deleting the stream (if it exists) so that we have a fresh start try: client.delete_message_stream(stream_name=stream_name) except ResourceNotFoundException: pass exports = ExportDefinition( kinesis=[KinesisConfig(identifier="KinesisExport" + stream_name, kinesis_stream_name=kinesis_stream_name)] ) client.create_message_stream( MessageStreamDefinition( name=stream_name, strategy_on_full=StrategyOnFull.OverwriteOldestData, export_definition=exports ) ) # Append two messages and print their sequence numbers logger.info( "Successfully appended message to stream with sequence number %d", client.append_message(stream_name, "ABCDEFGHIJKLMNO".encode("utf-8")), ) logger.info( "Successfully appended message to stream with sequence number %d", client.append_message(stream_name, "PQRSTUVWXYZ".encode("utf-8")), ) # Try reading the two messages we just appended and print them out logger.info( "Successfully read 2 messages: %s", client.read_messages(stream_name, ReadMessagesOptions(min_message_count=2, read_timeout_millis=1000)), ) logger.info("Now going to start writing random integers between 0 and 1000 to the stream") # Now start putting in random data between 0 and 1000 to emulate device sensor input while True: logger.debug("Appending new random integer to stream") client.append_message(stream_name, random.randint(0, 1000).to_bytes(length=4, signed=True, byteorder="big")) time.sleep(1) except asyncio.TimeoutError: logger.exception("Timed out while executing") except Exception: logger.exception("Exception while running") def function_handler(event, context): return logging.basicConfig(level=logging.INFO) # Start up this sample code main(logger=logging.getLogger())
  5. Zip item berikut ke dalam file bernama transfer_stream_python.zip. Ini adalah paket deployment fungsi Lambda Anda.

    • transfer_stream.py. Logika aplikasi.

    • greengrasssdk. Diperlukan perpustakaan fungsi Python Greengrass Lambda yang menerbitkankan pesan MQTT.

      Operasi pengelola pengaliran tersedia dalam versi 1.5.0 atau yang lebih baru dari AWS IoT Greengrass Core SDK for Python.

    • Dependensi yang Anda instal untuk AWS IoT Greengrass Core SDK for Python (sebagai contoh, direktori cbor2 ini).

    Ketika Anda membuat file zip ini, termasuk hanya item ini, bukan folder yang berisi.

Langkah 2: Buat fungsi Lambda

  1. Buat IAM role sehingga Anda dapat lulus di dalam peran ARN ketika Anda membuat fungsi.

    JSON Expanded
    aws iam create-role --role-name Lambda_empty --assume-role-policy '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'
    JSON Single-line
    aws iam create-role --role-name Lambda_empty --assume-role-policy '{"Version": "2012-10-17", "Statement": [{"Effect": "Allow", "Principal": {"Service": "lambda.amazonaws.com"},"Action": "sts:AssumeRole"}]}'
    catatan

    AWS IoT Greengrass tidak menggunakan peran ini karena izin untuk fungsi Lambda Greengrass ditentukan di dalam peran grup Greengrass. Untuk tutorial ini, Anda membuat peran kosong.

  2. Salin Arn dari output.

  3. Gunakan AWS Lambda API untuk membuat TransferStream fungsi. Perintah berikut mengasumsikan bahwa file zip ada di dalam direktori saat ini.

    • Ganti role-arn dengan Arn yang Anda salin.

    aws lambda create-function \ --function-name TransferStream \ --zip-file fileb://transfer_stream_python.zip \ --role role-arn \ --handler transfer_stream.function_handler \ --runtime python3.7
  4. Mempublikasikan versi fungsi.

    aws lambda publish-version --function-name TransferStream --description 'First version'
  5. Buat alias untuk versi yang dipublikasikan.

    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.

    aws lambda create-alias --function-name TransferStream --name GG_TransferStream --function-version 1
    catatan

    AWS IoT Greengrass tidak mendukung alias Lambda untuk versi $TERBARU ini.

  6. Salin AliasArn dari output. Anda menggunakan nilai ini ketika Anda mengonfigurasi fungsi untuk AWS IoT Greengrass.

Sekarang Anda siap untuk mengonfigurasi fungsi untuk AWS IoT Greengrass.

Langkah 3: Buat definisi fungsi dan versi

Langkah ini menciptakan versi definisi fungsi yang mereferensi fungsi Lambda GGStreamManager sistem dan fungsi Lambda TransferStream yang ditetapkan pengguna Anda. Untuk mengaktifkan pengelola pengaliran ketika Anda menggunakan AWS IoT Greengrass API, versi definisi fungsi Anda harus menyertakan fungsi GGStreamManager ini.

  1. Buat definisi fungsi dengan versi awal yang berisi sistem dan fungsi Lambda yang ditetapkan pengguna.

    Versi definisi berikut mengizinkan pengelola pengaliran dengan default pengaturan parameter. Untuk mengonfigurasi pengaturan kustom, Anda harus menentukan variabel lingkungan untuk parameter pengelola pengaliran yang sesuai. Sebagai contoh, lihat Untuk mengaktifkan, menonaktifkan, atau mengonfigurasi pengelola pengaliran (CLI). AWS IoT Greengrass menggunakan pengaturan default untuk parameter yang dihilangkan. MemorySize setidaknya harus 128000. Pinned harus diatur ke true.

    catatan

    Fungsi Lambda berumur panjang (atau disematkan) memulai secara otomatis setelah AWS IoT Greengrass dimulai dan terus berjalan dalam kontainernya sendiri. Hal ini berbeda dengan fungsi Lambda sesuai permintaan ini, yang dimulai ketika diaktifkan dan berhenti ketika tidak ada tugas yang tersisa untuk dijalankan. Untuk informasi selengkapnya, lihat Konfigurasi siklus hidup untuk fungsi Greengrass Lambda.

    • Gantiarbitrary-function-iddengan nama untuk fungsi, sepertistream-manager.

    • Ganti alias-arn dengan AliasArn yang Anda salin ketika Anda membuat alias untuk TransferStream fungsi Lambda.

     

    JSON expanded
    aws greengrass create-function-definition --name MyGreengrassFunctions --initial-version '{ "Functions": [ { "Id": "arbitrary-function-id", "FunctionArn": "arn:aws:lambda:::function:GGStreamManager:1", "FunctionConfiguration": { "MemorySize": 128000, "Pinned": true, "Timeout": 3 } }, { "Id": "TransferStreamFunction", "FunctionArn": "alias-arn", "FunctionConfiguration": { "Executable": "transfer_stream.function_handler", "MemorySize": 16000, "Pinned": true, "Timeout": 5 } } ] }'
    JSON single
    aws greengrass create-function-definition \ --name MyGreengrassFunctions \ --initial-version '{"Functions": [{"Id": "arbitrary-function-id","FunctionArn": "arn:aws:lambda:::function:GGStreamManager:1", "FunctionConfiguration": {"Environment": {"Variables":{"STREAM_MANAGER_STORE_ROOT_DIR": "/data","STREAM_MANAGER_SERVER_PORT": "1234","STREAM_MANAGER_EXPORTER_MAX_BANDWIDTH": "20000"}},"MemorySize": 128000,"Pinned": true,"Timeout": 3}},{"Id": "TransferStreamFunction", "FunctionArn": "alias-arn", "FunctionConfiguration": {"Executable": "transfer_stream.function_handler", "MemorySize": 16000,"Pinned": true,"Timeout": 5}}]}'
    catatan

    Timeout diperlukan oleh versi definisi fungsi, tetapi GGStreamManager tidak menggunakannya. Untuk informasi lebih lanjut tentang Timeout dan pengaturan tingkat grup lainnya, lihat Mengontrol eksekusi fungsi Greengrass Lambda dengan menggunakan konfigurasi grup khusus.

  2. Salin LatestVersionArn dari output. Anda menggunakan nilai ini untuk menambahkan versi definisi fungsi untuk versi grup yang Anda terapkan ke inti.

Langkah 4: Buat definisi pencatat dan versi

Konfigurasi pengaturan pencatatan grup. Untuk tutorial ini, Anda mengonfigurasi AWS IoT Greengrass komponen sistem dan fungsi Lambda yang ditentukan pengguna untuk menulis log ke sistem file perangkat inti. Anda dapat menggunakan catatan untuk memecahkan masalah yang mungkin Anda alami. Untuk informasi selengkapnya, lihat Pemantauan dengan AWS IoT Greengrass log.

  1. Membuat definisi pencatat yang mencakup versi awal.

    JSON Expanded
    aws greengrass create-logger-definition --name "LoggingConfigs" --initial-version '{ "Loggers": [ { "Id": "1", "Component": "GreengrassSystem", "Level": "INFO", "Space": 10240, "Type": "FileSystem" }, { "Id": "2", "Component": "Lambda", "Level": "INFO", "Space": 10240, "Type": "FileSystem" } ] }'
    JSON Single-line
    aws greengrass create-logger-definition \ --name "LoggingConfigs" \ --initial-version '{"Loggers":[{"Id":"1","Component":"GreengrassSystem","Level":"INFO","Space":10240,"Type":"FileSystem"},{"Id":"2","Component":"Lambda","Level":"INFO","Space":10240,"Type":"FileSystem"}]}'
  2. Salin LatestVersionArn dari definisi pencatat dari output. Anda menggunakan nilai ini untuk menambahkan versi definisi pencatat ke versi grup yang Anda men-deploy ke core.

Langkah 5: Dapatkan ARN versi definisi core Anda

Dapatkan ARN versi definisi core untuk ditambahkan ke versi grup baru Anda. Untuk men-deploy versi grup, hal itu harus mereferensi versi definisi core yang berisi tepat satu core.

  1. Dapatkan ID dari grup Greengrass target dan versi grup. Prosedur ini mengasumsikan bahwa ini adalah versi grup dan grup terbaru. Query berikut mengembalikan grup yang paling baru dibuat.

    aws greengrass list-groups --query "reverse(sort_by(Groups, &CreationTimestamp))[0]"

    Atau, Anda dapat melakukan query berdasarkan nama. Nama grup tidak perlu unik, sehingga beberapa grup mungkin ditampilkan.

    aws greengrass list-groups --query "Groups[?Name=='MyGroup']"
    catatan

    Anda juga dapat menemukan nilai-nilai ini di konsol AWS IoT tersebut. ID grup ditampilkan pada halaman Pengaturan grup. ID versi grup ditampilkan pada grupDeploymentTab.

  2. Salin Id dari grup target dari output. Anda menggunakan ini untuk mendapatkan versi definisi core dan ketika Anda men-deploy grup.

  3. Salin LatestVersion dari output, yang merupakan ID dari versi terakhir ditambahkan ke grup. Anda menggunakan ini untuk mendapatkan versi definisi core.

  4. Dapatkan ARN dari versi definisi core:

    1. Dapatkan versi grup.

      • Ganti id-grup dengan Id yang Anda salin untuk grup.

      • Gantigroup-version-iddenganLatestVersionyang Anda salin untuk grup.

      aws greengrass get-group-version \ --group-id group-id \ --group-version-id group-version-id
    2. Salin CoreDefinitionVersionArn dari output. Anda menggunakan nilai ini untuk menambahkan versi definisi core untuk versi grup yang Anda men-deploy ke core.

Langkah 6: Buat versi grup

Sekarang, Anda siap untuk membuat versi grup yang berisi entitas yang ingin Anda gunakan. Anda melakukannya dengan membuat versi grup yang mereferensi versi target dari setiap tipe komponen. Untuk tutorial ini, Anda menyertakan versi definisi core, versi definisi fungsi, dan versi definisi logger.

  1. Buat versi grup.

    • Ganti grup-id dengan Id yang Anda salin untuk grup.

    • Ganticore-definition-version-arndenganCoreDefinitionVersionArnyang Anda salin untuk versi definisi core.

    • Gantifunction-definition-version-arndenganLatestVersionArnyang Anda salin untuk versi definisi fungsi baru Anda.

    • Gantilogger-definition-version-arndenganLatestVersionArnyang Anda salin untuk versi definisi logger baru Anda.

    aws greengrass create-group-version \ --group-id group-id \ --core-definition-version-arn core-definition-version-arn \ --function-definition-version-arn function-definition-version-arn \ --logger-definition-version-arn logger-definition-version-arn
  2. Salin Version dari output. Ini adalah ID dari versi grup baru.

Langkah 7: Buat deployment

Men-deploy grup ke perangkat core.

  1. Pastikan bahwa core AWS IoT Greengrass 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/ggc-version/bin/daemon, maka daemon sedang berjalan.

      catatan

      Versi di jalur tergantung pada versi perangkat lunak AWS IoT Greengrass core yang diinstal pada perangkat core Anda.

    2. Untuk memulai daemon:

      cd /greengrass/ggc/core/ sudo ./greengrassd start
  2. Buat deployment.

    • Ganti grup-id dengan Id yang Anda salin untuk grup.

    • Gantigroup-version-iddenganVersionyang Anda salin untuk versi grup baru.

    aws greengrass create-deployment \ --deployment-type NewDeployment \ --group-id group-id \ --group-version-id group-version-id
  3. Salin DeploymentId dari output.

  4. Dapatkan status deployment.

    • Ganti grup-id dengan Id yang Anda salin untuk grup.

    • Ganti id-deployment dengan DeploymentId yang Anda salin untuk deployment.

    aws greengrass get-deployment-status \ --group-id group-id \ --deployment-id deployment-id

    Jika statusnya Success, deployment berhasil. Untuk langkah-langkah penyelesaian masalah, lihat Pemecahan Masalah AWS IoT Greengrass.

Langkah 8: Uji aplikasi

Fungsi Lambda TransferStream menghasilkan data perangkat yang disimulasikan. Ini menulis data ke pengaliran yang diekspor oleh pengelola pengaliran ke Kinesis data stream target.

  1. Di konsol Amazon Kinesis, di bawahKinesis data streams, pilihMyKinesisStream.

    catatan

    Jika Anda menjalankan tutorial tanpa Kinesis data streams target, periksa berkas log untuk pengelola pengaliran (GGStreamManager). Jika itu berisi export stream MyKinesisStream doesn't exist dalam pesan kesalahan, maka uji ini berhasil. Kesalahan ini berarti bahwa layanan mencoba untuk mengekspor ke pengaliran tetapi pengaliran tidak ada.

  2. PadaMyKinesisStreamhalaman, pilihPemantauan. Jika uji berhasil, Anda akan melihat data di bagan Pasang Catatan ini. Tergantung pada koneksi Anda, mungkin diperlukan waktu satu menit sebelum data ditampilkan.

    penting

    Setelah selesai melakukan pengujian, hapus Kinesis data stream agar tidak menimbulkan biaya tambahan.

    Atau, jalankan perintah berikut untuk menghentikan daemon Greengrass. Hal ini mencegah core mengirim pesan hingga Anda siap untuk melanjutkan pengujian.

    cd /greengrass/ggc/core/ sudo ./greengrassd stop
  3. HapusTransferStreamFungsi Lambda dari core.

    1. Ikuti Langkah 6: Buat versi grup untuk membuat versi grup baru. tetapi menghapus --function-definition-version-arn di dalam opsi perintah create-group-version ini. Atau, buat versi definisi fungsi yang tidak mencakupTransferStreamFungsi Lambda.

      catatan

      Dengan menghilangkan fungsi Lambda GGStreamManager sistem dari versi grup yang di-deploy, Anda menonaktifkan pengelolaan pengaliran pada core.

    2. Ikuti Langkah 7: Buat deployment untuk men-deploy versi grup baru.

Untuk melihat pencatatan informasi atau pemecahan masalah dengan aliran, periksa log untuk fungsi TransferStream dan GGStreamManager tersebut. Anda harus memiliki izin root untuk membaca catatan AWS IoT Greengrass pada sistem file.

  • TransferStream menulis entri log ke greengrass-root/ggc/var/log/user/region/account-id/TransferStream.log.

  • GGStreamManager menulis entri log ke greengrass-root/ggc/var/log/system/GGStreamManager.log.

Jika Anda memerlukan informasi pemecahan masalah lainnya, Anda dapat mengatur tingkat pencatatan Lambda ke DEBUG lalu membuat dan men-deploy versi grup baru.

Lihat juga