Membuat komponen aplikasi klien - Amazon Lookout for Vision

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

Membuat komponen aplikasi klien

Anda dapat membuat komponen aplikasi klien setelah Anda membuat rintisan gRPC Anda dan Anda memiliki kode aplikasi klien Anda siap. Komponen yang Anda buat adalah komponen khusus yang Anda gunakan untuk perangkat AWS IoT Greengrass Version 2 inti. AWS IoT Greengrass V2 Resep yang Anda buat menjelaskan komponen kustom Anda. Resepnya mencakup dependensi apa pun yang juga perlu diterapkan. Dalam hal ini, Anda menentukan komponen model yang Anda buatMengemas model Amazon Lookout for Vision Anda. Untuk informasi selengkapnya tentang resep komponen, lihat referensi resep AWS IoT Greengrass Version 2 komponen.

Prosedur pada topik ini menunjukkan cara membuat komponen aplikasi klien dari file resep dan mempublikasikannya sebagai komponen AWS IoT Greengrass V2 khusus. Anda dapat menggunakan AWS IoT Greengrass V2 konsol atau AWS SDK untuk mempublikasikan komponen.

Untuk informasi rinci tentang membuat komponen kustom, lihat berikut ini dalam AWS IoT Greengrass V2dokumentasi.

Izin IAM untuk menerbitkan komponen aplikasi klien

Untuk membuat dan mempublikasikan komponen aplikasi klien Anda, Anda memerlukan izin IAM berikut:

  • greengrass:CreateComponentVersion

  • greengrass:DescribeComponent

  • s3:PutObject

Membuat resep

Dalam prosedur ini, Anda membuat resep untuk komponen aplikasi klien sederhana. Kode dalam lookoutvision_edge_agent_example.py daftar model yang diterapkan ke perangkat dan secara otomatis dijalankan setelah Anda menyebarkan komponen ke perangkat inti. Untuk melihat output, periksa log komponen setelah Anda menerapkan komponen. Untuk informasi selengkapnya, lihat Menerapkan komponen Anda ke perangkat. Ketika Anda siap, gunakan prosedur ini untuk membuat resep untuk kode yang mengimplementasikan logika bisnis Anda.

Anda membuat resep sebagai file format JSON atau YAMB. Anda juga mengunggah kode aplikasi klien ke bucket Amazon S3.

Untuk membuat resep komponen aplikasi klien
  1. Jika Anda belum melakukannya, buat file rintisan gRPC. Untuk informasi selengkapnya, lihat Menyiapkan gRPC.

  2. Simpan kode berikut ke file bernama lookoutvision_edge_agent_example.py

    import grpc from edge_agent_pb2_grpc import EdgeAgentStub import edge_agent_pb2 as pb2 # Creating stub. with grpc.insecure_channel("unix:///tmp/aws.iot.lookoutvision.EdgeAgent.sock") as channel: stub = EdgeAgentStub(channel) # Add additional code that works with Edge Agent in this block to prevent resources leakage models_list_response = stub.ListModels( pb2.ListModelsRequest() ) for model in models_list_response.models: print(f"Model Details {model}")
  3. Buat bucket Amazon S3 (atau gunakan bucket yang sudah ada) untuk menyimpan file sumber komponen aplikasi klien Anda. Bucket harus ada di AWS akun Anda dan di AWS Wilayah yang sama dengan tempat Anda menggunakan AWS IoT Greengrass Version 2 dan Amazon Lookout for Vision.

  4. Unggahlookoutvision_edge_agent_example.py, edge_agent_pb2_grpc.py and edge_agent_pb2.py ke bucket Amazon S3 yang Anda buat di langkah sebelumnya. Perhatikan jalur Amazon S3 dari setiap file. Anda menciptakan edge_agent_pb2_grpc.py dan edge_agent_pb2.py masukMenyiapkan gRPC.

  5. Dalam editor membuat file resep JSON atau YAMAL berikut.

    • model_componentuntuk nama komponen model Anda. Untuk informasi selengkapnya, lihat Pengaturan komponen.

    • Ubah entri URI ke jalur S3 darilookoutvision_edge_agent_example.py,edge_agent_pb2_grpc.py, and. edge_agent_pb2.py

    JSON
    { "RecipeFormatVersion": "2020-01-25", "ComponentName": "com.lookoutvision.EdgeAgentPythonExample", "ComponentVersion": "1.0.0", "ComponentType": "aws.greengrass.generic", "ComponentDescription": "Lookout for Vision Edge Agent Sample Application", "ComponentPublisher": "Sample App Publisher", "ComponentDependencies": { "model_component": { "VersionRequirement": ">=1.0.0", "DependencyType": "HARD" } }, "Manifests": [ { "Platform": { "os": "linux" }, "Lifecycle": { "install": "pip3 install grpcio grpcio-tools protobuf Pillow", "run": { "script": "python3 {artifacts:path}/lookoutvision_edge_agent_example.py" } }, "Artifacts": [ { "Uri": "S3 path to lookoutvision_edge_agent_example.py" }, { "Uri": "S3 path to edge_agent_pb2_grpc.py" }, { "Uri": "S3 path to edge_agent_pb2.py" } ] } ], "Lifecycle": {} }
    YAML
    --- RecipeFormatVersion: 2020-01-25 ComponentName: com.lookoutvison.EdgeAgentPythonExample ComponentVersion: 1.0.0 ComponentDescription: Lookout for Vision Edge Agent Sample Application ComponentPublisher: Sample App Publisher ComponentDependencies: model_component: VersionRequirement: '>=1.0.0' DependencyType: HARD Manifests: - Platform: os: linux Lifecycle: install: |- pip3 install grpcio pip3 install grpcio-tools pip3 install protobuf pip3 install Pillow run: script: |- python3 {artifacts:path}/lookout_vision_agent_example.py Artifacts: - URI: S3 path to lookoutvision_edge_agent_example.py - URI: S3 path to edge_agent_pb2_grpc.py - URI: S3 path to edge_agent_pb2.py
  6. Simpan file JSON atau YAMB ke komputer Anda.

  7. Buat komponen aplikasi klien dengan melakukan salah satu hal berikut:

Menerbitkan komponen aplikasi klien (Konsol)

Anda dapat menggunakan AWS IoT Greengrass V2 konsol untuk mempublikasikan komponen aplikasi klien.

Untuk mempublikasikan komponen aplikasi klien
  1. Jika Anda belum melakukannya, buat resep untuk komponen aplikasi klien Anda dengan melakukan. Membuat resep

  2. Buka AWS IoT Greengrass konsol di https://console.aws.amazon.com/iot/

  3. Di panel navigasi kiri, di bawah Greengrass pilih Komponen.

  4. Di bawah Komponen saya pilih Buat komponen.

  5. Pada halaman Create component pilih Enter recipe as JSON jika Anda ingin menggunakan resep format JSON. Pilih Masukkan resep sebagai YAMAL jika Anda ingin menggunakan resep format YAMAL.

  6. Di bawah Resep ganti resep yang ada dengan resep JSON atau YAMAL yang Anda buat. Membuat resep

  7. Pilih Buat komponen.

  8. Selanjutnya, terapkan komponen aplikasi klien Anda.

Menerbitkan komponen aplikasi klien (SDK)

Anda dapat mempublikasikan komponen aplikasi klien dengan menggunakan CreateComponentVersionAPI.

Untuk mempublikasikan komponen aplikasi klien (SDK)
  1. Jika Anda belum melakukannya, buat resep untuk komponen aplikasi klien Anda dengan melakukan. Membuat resep

  2. Pada prompt perintah, masukkan perintah berikut untuk membuat komponen aplikasi klien. Ganti recipe-file dengan nama file resep yang Anda buatMembuat resep.

    aws greengrassv2 create-component-version --inline-recipe fileb://recipe-file

    Perhatikan ARN komponen dalam respons. Anda membutuhkannya di langkah berikutnya.

  3. Gunakan perintah berikut untuk mendapatkan status komponen aplikasi klien. Ganti component-arn dengan ARN yang Anda catat di langkah sebelumnya. Komponen aplikasi klien siap jika nilainya componentState adalahDEPLOYABLE.

    aws greengrassv2 describe-component --arn component-arn
  4. Selanjutnya, terapkan komponen aplikasi klien Anda.