Post-processing
Xử lý hậu kỳ
Lambda function cuối cùng trong quy trình xử lý ảnh được kích hoạt khi ảnh cuối cùng được hiển thị và lưu vào bộ xử lý ảnh S3 . Nó sẽ lưu thông tin object ảnh vào bảng DynamoDB và gửi thông báo đến ioT topic để ứng dụng front-end được thông báo.
Tạo hàm Lambda
- Truy cập vào Lambda
- Chọn Create function

-
Trong giao diện Create function
- Chọn Author from scatch
- Đối với Basic information, nhập theme-park-photos-postprocess
- Đối với Runtime, chọn Node.js 14.x
- Đối với Architecture, chọn x86_64
- Chọn mở rộng Change default execution role

-
Trong giao diện Change default execution role
- Chọn Use an existing role
- Chọn theme-park-backend-ThemeParkLambdaRole
- Chọn Create function

-
Hoàn thành tạo Lambda function

-
Trong trang Trigger configuration
- Chọn S3
- Bucket, chọn theme-park-backend-finalbucket
- Đối với Event Type, chọn All object create events
- Chọn Recursive invocation acknowledgement
- Chọn Add

-
Hoàn thành Add trigger S3

-
Quay lại giao diện Cloud9
- Chọn 3-postprocess/app.js
- Sao chép code của app.js

-
Thực hiện dán code của app.js vào index.js

Thêm các biến môi trường.
Hàm này sử dụng hai biến môi trường:
- IOT_DATA_ENDPOINT: ioT endpoint hostname.
- DDB_TABLE_NAME: tên bảng DynamoDB được ứng dụng sử dụng.
- Quay lại tab trình duyệt của bạn khi Cloud9 đang chạy
- Trong terminal , hãy nhập lệnh sau để truy xuất giá trị cho IOT_DATA_ENDPOINT:
aws iot describe-endpoint --endpoint-type iot:Data-ATS
- Tiếp theo, nhập lệnh sau để truy xuất giá trị cho DDB_TABLE_NAME:
aws dynamodb list-tables | grep backend

- Quay lại theme-park-photos-postprocess Lambda function.
- Chọn Configuration tab
- Chọn Environment variables
- Chọn Edit

- Nhập tên hai biến môi trường cùng với các giá trị bạn đã truy xuất trong Cloud9 (không có dấu ngoặc kép):

- Hoàn thành thêm biến môi trường.

Cập nhật Front-end
- Quay lại tab trình duyệt của bạn khi Cloud9 đang chạy
- Trong terminal , hãy chạy lệnh này để hiển thị API tải lên từ khi chương trình backend được triển khai trong mô-đun 1:
aws cloudformation describe-stacks --stack-name theme-park-backend --query "Stacks[0].Outputs[?OutputKey=='UploadApi'].OutputValue" --output text

- Sao chép URL đầu ra vào khay nhớ tạm:

-
Trong Terminal Cloud9, trong bảng điều khiển thư mục bên trái, điều hướng đến theme-park-frontend/src
-
Tìm config.js và nhấp đúp để mở trong trình chỉnh sửa. Tệp này chứa cấu hình JSON cho front-end.
-
Trong phần MODULE 3 , giữa các dấu ngoặc kép ‘’, hãy cập nhật photoUploadURL với API Endpoint URL trong khay nhớ tạm.
-
Sau đó, lưu tệp.

Push CodeCommit và triển khai qua Amplify
- Trong Terminal Cloud9, thay đổi thành thư mục front-end bằng lệnh sau:
cd ~/environment/sampleapp/theme-park-frontend/
- Commit CodeCommit bằng cách thực hiện các lệnh sau:
git commit -am "Module 3 - Photo compositing"
git push

- Sau khi commit hoàn tất, chuyển đến Amplify Console

- Trong trang All apps
- Bạn sẽ thấy một bản dựng mới đã tự động bắt đầu do kết quả của cam kết mới trong repo mã cơ bản. Quá trình xây dựng này sẽ mất vài phút cho đến khi giai đoạn Xác minh hoàn tất

- Mở URL ứng dụng đã publish trong trình duyệt.

- Nhấp vào một trong các cấu hình chuyến đi để mở trang mô tả chuyến đi. Bạn có thể thấy một nút mới đã xuất hiện - “Add ride photo”.
