Xây dựng và triển khai lên Google Cloud bằng Antigravity

1. Giới thiệu

fca14bb9f4bb74f4.png

Trong lớp học lập trình này, bạn sẽ tìm hiểu cách sử dụng Google Antigravity để thiết kế, xây dựng và triển khai một ứng dụng không máy chủ lên Google Cloud. Chúng ta sẽ xây dựng một quy trình xử lý tài liệu dựa trên sự kiện và không cần máy chủ, quy trình này sẽ nhập tệp từ Google Cloud Storage (GCS), xử lý tệp bằng Cloud Run và Gemini, đồng thời truyền siêu dữ liệu của tệp vào BigQuery.

Kiến thức bạn sẽ học được

  • Cách sử dụng Antigravity để lập kế hoạch và thiết kế kiến trúc.
  • Tạo cơ sở hạ tầng dưới dạng mã (tập lệnh shell) bằng một tác nhân AI.
  • Tạo và triển khai một dịch vụ Cloud Run dựa trên Python.
  • Tích hợp Gemini trên Vertex AI để phân tích tài liệu đa phương thức.
  • Xác minh quy trình hai đầu bằng cấu phần phần mềm Hướng dẫn của Antigravity.

Bạn cần có

  • Đã cài đặt Google Antigravity.
  • Một Dự án trên Google Cloud đã bật tính năng thanh toán.
  • Đã cài đặt và xác thực gcloud CLI.

2. Tổng quan về ứng dụng

Trước khi bắt tay vào thiết kế và triển khai ứng dụng bằng Antigravity, trước tiên, hãy phác thảo ứng dụng mà chúng ta muốn tự xây dựng.

Chúng tôi muốn xây dựng một quy trình xử lý tài liệu dựa trên sự kiện và không cần máy chủ, quy trình này sẽ nhận tệp từ Google Cloud Storage (GCS), xử lý tệp bằng Cloud Run và Gemini, đồng thời truyền siêu dữ liệu của tệp vào BigQuery.

Sơ đồ kiến trúc cấp cao cho ứng dụng này có thể có dạng như sau:

3bd519cfab38258d.png

Bạn không cần phải cung cấp thông tin chính xác. Antigravity có thể giúp chúng ta tìm ra thông tin chi tiết về cấu trúc trong quá trình thực hiện. Tuy nhiên, bạn nên có ý tưởng về những gì mình muốn xây dựng. Bạn càng cung cấp nhiều thông tin chi tiết, thì bạn sẽ nhận được kết quả càng tốt từ Antigravity về mặt cấu trúc và mã.

3. Lập kế hoạch cho cấu trúc

Chúng ta đã sẵn sàng bắt đầu lên kế hoạch chi tiết về kiến trúc bằng Antigravity!

Antigravity có khả năng lập kế hoạch cho các hệ thống phức tạp. Thay vì viết mã ngay lập tức, chúng ta có thể bắt đầu bằng cách xác định cấu trúc cấp cao và sử dụng một trong các tính năng để giúp Antigravity đánh giá yêu cầu của chúng ta, đặt câu hỏi nối tiếp cho chúng ta rồi tiến hành lập kế hoạch và triển khai.

Giả sử bạn đã chạy Antigravity, chúng ta sẽ tạo một Dự án mới cho lớp học lập trình này.

Nhấp vào biểu tượng dự án mới bên cạnh phòng thí nghiệm Projects rồi nhấp vào New Project như minh hoạ dưới đây:

949cd615a1ce8dc3.png

Thao tác này sẽ mở ra lựa chọn Add Folder như minh hoạ dưới đây:

ee8ff88b71c10e9f.png

Nhấp vào nút Add Folder (Thêm thư mục) để thêm một thư mục vào dự án. Trên máy của mình, tôi đã tạo một thư mục google-cloud-serverless-app và thêm thư mục đó vào dự án này.

Thao tác này sẽ mở một cuộc trò chuyện trong dự án google-cloud-serverless-app.

Nhấp vào biểu tượng cài đặt chính ⚙️ ở dưới cùng bên trái màn hình rồi chuyển đến phần Cài đặt dành riêng cho dự án. Nếu bạn không thấy dự án google-cloud-serverless-app trong danh sách, hãy chỉ cần có một cuộc trò chuyện rồi quay lại phần Cài đặt dự án.

Đặt Agent Settings / Security Preset (Cài đặt tác nhân/Chế độ bảo mật đặt sẵn) thành Default (Mặc định) và Agent Behaviour / Artifact Review Policy (Hành vi của tác nhân/Chính sách đánh giá hiện vật) thành Always Ask (Luôn hỏi), như minh hoạ dưới đây:

b28e175be64f4390.png

Điều này sẽ đảm bảo rằng ở mỗi bước, bạn sẽ xem xét và phê duyệt kế hoạch trước khi nhân viên hỗ trợ thực hiện.

Câu lệnh

Giờ đây, chúng ta đã sẵn sàng đưa ra câu lệnh đầu tiên cho Antigravity. Chúng ta sẽ sử dụng lệnh dấu gạch chéo /grill-me để đánh giá yêu cầu của mình.

Nhập /grill-me rồi nhập câu lệnh sau và nhấp vào nút gửi:

/grill-me 

I want to build a serverless event-driven document processing pipeline on Google Cloud.
Architecture:
- Ingestion: Users upload files to a Cloud Storage bucket.
- Trigger: File uploads trigger a Pub/Sub message.
- Processor: A Python-based Cloud Run service receives the message, processes the file (simulated OCR), and extracts metadata.
- Storage: Stream the metadata (filename, date, tags, word_count) into a BigQuery dataset. 

Lệnh /grill-me sẽ đặt một số câu hỏi nối tiếp mà bạn có thể cố gắng trả lời theo những gì bạn biết. Tính năng này cũng đề xuất Câu trả lời được đề xuất và bạn có thể chọn câu trả lời đó nếu muốn.

Dưới đây là ví dụ về một lần chạy lệnh /grill-me của tôi:

How would you like the Cloud Run service to receive events from Cloud Storage and Pub/Sub?
(Recommended) Cloud Storage Pub/Sub Notification with a Pub/Sub Push Subscription (HTTP POST to Cloud Run)

How should access to the Cloud Run service endpoint be secured for Pub/Sub push requests?
Publicly accessible Cloud Run service without authentication (for prototyping/quick testing only)

How should the Python processor handle file inspection and the simulated OCR logic?
(Recommended) Download file from GCS: if plain text/utf-8, extract actual words and tags; if binary/image/PDF, simulate OCR processing (mock latency, generate synthetic text & tags, count words)

How should the processor write metadata to BigQuery and handle table/schema provisioning?
(Recommended) Use BigQuery Streaming Inserts (`insert_rows_json`) with auto-creation of the dataset and table if they do not exist

How should the Cloud Run service handle processing failures and retries from Pub/Sub?
(Recommended) Return HTTP 500 on transient errors for Pub/Sub automatic retry; return HTTP 200/204 on non-retryable errors (e.g., file not found, bad event format) to avoid poison pill loops

Which web framework would you prefer for the Python Cloud Run service?
Flask with Gunicorn: minimal, classic lightweight standard for GCP microservices

How would you like the cloud infrastructure (Bucket, Pub/Sub, Cloud Run, BigQuery) to be provisioned and deployed?
(Recommended) Provide both: automated `gcloud` CLI setup/deploy scripts for quick manual rollout AND Terraform manifests for reproducible IaC

How would you like to handle local testing and development before deploying to Google Cloud?
(Recommended) Include a local mock test suite and script (`test_local.py`) that can simulate Pub/Sub push envelopes and test processing with both mocked GCP clients and actual files

Lưu ý rằng tôi đã yêu cầu Antigravity thực hiện:

  • Một tập lệnh gcloud CLI đơn giản để cung cấp tài nguyên
  • Thông báo Pub/Sub của Cloud Storage gốc + Gói thuê bao đẩy Pub/Sub đến Cloud Run
  • Sử dụng Flask (với Gunicorn) cho khung
  • Chỉ cần sử dụng mô phỏng cục bộ với một tệp văn bản cho dữ liệu thay vì dữ liệu OCR trực tiếp
  • Sử dụng BigQuery table.insert_rows() để chèn các hàng vào BigQuery
  • Triển khai Cloud Run chưa được xác thực

và các lựa chọn đề xuất khác.

Kế hoạch triển khai và danh sách việc cần làm

Antigravity sẽ bắt đầu hoạt động và tạo ra một Kế hoạch triển khai. Thao tác này sẽ đưa yêu cầu lên để bạn xem xét bằng cách gửi cho bạn một thông báo tương tự như thông báo dưới đây:

3cc503e352eee935.png

Bạn có thể nhấp vào nút bật/tắt Auxiliary Pane (Ngăn phụ) ở cửa sổ trên cùng bên phải và xem các Artifact (Hiện vật) đã tạo. Tại thời điểm này, hiện vật chỉ là Implementation Plan (Kế hoạch triển khai).

883adedf0157a073.png

Kế hoạch này nêu rõ:

  • Cơ sở hạ tầng: Nhóm GCS, Chủ đề Pub/Sub, Tập dữ liệu BigQuery.
  • Bộ xử lý: Ứng dụng Python/Flask, Dockerfile, Yêu cầu.
  • Tích hợp: Thông báo của GCS → Pub/Sub → Cloud Run.

Bạn sẽ thấy nội dung tương tự như sau. Dưới đây là danh sách một phần của kế hoạch triển khai trên máy của chúng tôi:

5fb0baef49bdb8b1.png

Hãy đọc kỹ. Đây là cơ hội để bạn đưa ra ý kiến phản hồi về việc triển khai. Bạn có thể nhấp vào bất kỳ phần nào trong kế hoạch triển khai và thêm nhận xét. Sau khi thêm một số nhận xét, hãy nhớ gửi mọi thay đổi mà bạn muốn xem xét, đặc biệt là về việc đặt tên, mã dự án trên Google Cloud, khu vực, v.v.

Sau khi kiểm tra và thấy mọi thứ đều ổn, hãy nhấp vào nút Proceed để cấp cho nhân viên hỗ trợ quyền tiếp tục thực hiện kế hoạch triển khai.

4. Tạo ứng dụng

Sau khi kế hoạch được phê duyệt, Antigravity sẽ bắt đầu tạo các tệp cần thiết cho ứng dụng, từ tập lệnh cung cấp đến mã xử lý ứng dụng.

Antigravity sẽ tạo một thư mục và bắt đầu tạo các tệp cần thiết cho dự án. Nếu kiểm tra Artifacts (Cấu phần phần mềm), bạn sẽ thấy một số tệp (mã nguồn, tệp kịch bản, v.v.) được tạo.

f6f4e4473fb2a8b3.png

Sau khi hoàn tất công việc, công cụ này sẽ đề cập đến việc đó và tạo một tài liệu Hướng dẫn để bạn có thể xem. Dưới đây là một ví dụ về kết quả đầu ra:

752ebdb9767a82c9.png

Tài liệu Hướng dẫn đề cập đến những nội dung đã được triển khai, các tập lệnh đã được tạo và quan trọng nhất là quy trình xác minh và xác thực đã được thực hiện. Dưới đây là một phần đầu ra của tài liệu Hướng dẫn, bao gồm cả quy trình xác minh và xác thực:

3. Verification & Validation
Test Suite Execution
We ran the automated test suite using pytest:
bash
.venv/bin/pytest tests/ -v
tests/test_local.py::test_health_check PASSED                            [  9%]
tests/test_local.py::test_invalid_pubsub_envelope PASSED                 [ 18%]
tests/test_local.py::test_ignore_delete_events PASSED                    [ 27%]
tests/test_local.py::test_gcs_file_not_found PASSED                      [ 36%]
tests/test_local.py::test_successful_contract_processing PASSED          [ 45%]
tests/test_local.py::test_successful_pdf_ocr_processing PASSED           [ 54%]
tests/test_local.py::test_transient_bq_error_triggers_500_retry PASSED   [ 63%]
tests/test_processor.py::test_tag_extraction_filters_stopwords PASSED    [ 72%]
tests/test_processor.py::test_process_plain_text_document PASSED         [ 81%]
tests/test_processor.py::test_process_binary_pdf_simulated_ocr PASSED    [ 90%]
tests/test_processor.py::test_process_empty_text_document PASSED         [100%]
============================== 11 passed in 2.37s ==============================
Standalone End-to-End Simulation
We executed the standalone simulation script:
bash
.venv/bin/python tests/test_local.py
Sample Output:
=================================================================
Running Serverless Document Processing Local Simulation
=================================================================
[1] Health Check: Status=200, Payload={'service': 'document-processor', 'status': 'healthy'}
[2] Simulating GCS Event: Object Finalized 'sample_contract.txt' in 'finance-bucket'
   Response: Status=200, Body={'file_name': 'sample_contract.txt', 'ocr_status': 'EXTRACTED_TEXT', 'status': 'success', 'tags': ['provider', 'cloud', 'client', 'agreement', 'shall'], 'word_count': 181}
[3] Simulating GCS Event: Object Finalized 'sample_invoice.pdf' in 'invoices-bucket'
   Response: Status=200, Body={'file_name': 'sample_invoice.pdf', 'ocr_status': 'SIMULATED_OCR', 'status': 'success', 'tags': ['invoice', 'finance', 'billing', 'acme', 'pdf'], 'word_count': 62}
=================================================================
BigQuery Streamed Table Inspection (Mock Table)
=================================================================
Row #1:
 File:       sample_contract.txt (gs://finance-bucket)
 Status:     EXTRACTED_TEXT
 Words:      181
 Tags:       ['provider', 'cloud', 'client', 'agreement', 'shall']
 Processed:  2026-09-08T02:50:37.436225+00:00
Row #2:
 File:       sample_invoice.pdf (gs://invoices-bucket)
 Status:     SIMULATED_OCR
 Words:      62
 Tags:       ['invoice', 'finance', 'billing', 'acme', 'pdf']
 Processed:  2026-09-08T02:50:37.641931+00:00

Chúng ta có thể hỏi Antigravity về cách triển khai ứng dụng này lên Google Cloud không? Nó sẽ trả về đầy đủ thông tin chi tiết về cùng một nội dung như được liệt kê bên dưới. Tóm lại, yêu cầu này yêu cầu chúng ta đảm bảo rằng Google Cloud SDK được cài đặt cùng với chế độ thiết lập dự án trên đám mây của Google Cloud. Sau khi bạn hoàn tất bước này,

Bước 1: Bật các API bắt buộc của GCP

Chạy setup_gcp.sh để bật API Cloud Run, Pub/Sub, Cloud Storage, BigQuery và Cloud Build: ./scripts/setup_gcp.sh

Bước 2: Triển khai toàn bộ quy trình

Chạy deploy.sh:

export GCP_PROJECT="<YOUR_PROJECT_ID>"
export GCP_REGION="us-central1"               # or your region
./scripts/deploy.sh

Những việc mà tập lệnh này thực hiện:

  1. Tạo hình ảnh vùng chứa bằng Google Cloud Build và chuyển hình ảnh đó đến Container Registry/Artifact Registry.
  2. Triển khai dịch vụ này vào Cloud Run bằng các biến môi trường thích hợp (GCP_PROJECT, BQ_DATASET_ID, BQ_TABLE_ID).
  3. Tạo bộ chứa nhập dữ liệu Cloud Storage (gs://<PROJECT_ID>-document-ingest).
  4. Tạo chủ đề Pub/Sub (document-upload-events) và cấp quyền GCS để xuất bản vào chủ đề đó.
  5. Định cấu hình thông báo GCS (OBJECT_FINALIZE) trên bộ chứa.
  6. Tạo một gói thuê bao Pub/Sub Push nhắm đến URL dịch vụ Cloud Run với tính năng tự động lùi thời gian thử lại.

Bài viết này cũng đề xuất cách kiểm thử quy trình.

Chạy test_pipeline.sh: ./scripts/test_pipeline.sh

Thao tác này sẽ tải samples/sample_contract.txtsamples/sample_invoice.pdf lên nhóm của bạn, chờ xử lý và chạy một truy vấn SQL BigQuery cho thấy siêu dữ liệu, số lượng từ và thẻ được trích xuất.

5. Triển khai ứng dụng

Hãy triển khai ứng dụng như đã đề cập. Chúng ta có thể yêu cầu Antigravity chạy lệnh này cho chúng ta, nhưng trước khi làm như vậy, hãy đảm bảo rằng gcloud CLI đã có và được định cấu hình cho Dự án trên Google Cloud.

Chúng ta có thể đưa ra câu lệnh cho Antigravity "Triển khai ứng dụng cho tôi". Thao tác này sẽ nhắc bạn cấp nhiều quyền, sau đó tiếp tục thực thi các tệp tập lệnh.

Thao tác này sẽ bắt đầu quy trình dưới dạng một tác vụ trong nền, như được giải thích trong thông báo bên dưới:

I have initiated the deployment of the document processing pipeline to Google Cloud project PROJECT_ID in REGION.The deployment process is currently executing in the background:
Building and publishing the container image via Cloud Build.
Configuring service account IAM permissions and deploying the Cloud Run service.
Provisioning the Cloud Storage bucket (gs://PROJECT_ID-document-ingest).
Setting up the Pub/Sub topic, GCS notification, and push subscription.
I will notify you as soon as the deployment finishes!

6. Xác minh ứng dụng

Sau khi triển khai quy trình, Antigravity sẽ tiến hành xác minh rằng ứng dụng thực sự hoạt động. Hệ thống sẽ hỏi chúng ta xem có thể chạy tệp test_pipeline.sh hay không. Chúng ta có thể tiếp tục và cấp quyền cho ứng dụng.

Cuối cùng, thông tin này cho chúng ta biết những điều sau:

🚀 Deployment Successful & Verified on Google Cloud!

The application has been deployed to Google Cloud project PROJECT_ID in REGION and end-to-end event-driven processing has been verified.

Hệ thống cũng đã cập nhật cấu phần phần mềm Walkthrough để xem kết quả (dưới đây là danh sách một phần):

Tóm tắt thông tin triển khai

  • Dự án GCP: PROJECT_ID
  • Vùng: REGION
  • Dịch vụ Cloud Run: document-processor
  • Điểm cuối Cloud Run: SERVICE_URL
  • Bộ chứa Cloud Storage: gs://PROJECT_ID-document-ingest
  • Chủ đề Pub/Sub: document-upload-events
  • Gói thuê bao Pub/Sub Push: document-upload-events-push-sub
  • Mục tiêu BigQuery: PROJECT_ID.document_processing.document_metadata

Xác minh quy trình phát trực tiếp

Chúng tôi đã thực thi scripts/test_pipeline.sh trên môi trường Google Cloud thực:

  1. Đã tải sample_contract.txt và sample_invoice.pdf lên bộ chứa Cloud Storage.
  2. GCS tạo các sự kiện OBJECT_FINALIZE cho Pub/Sub.
  3. Pub/Sub đã đẩy các phong bì đến vi dịch vụ Cloud Run.
  4. Cloud Run trích xuất siêu dữ liệu, xử lý OCR mô phỏng và truyền trực tuyến các bản ghi vào BigQuery.

Đầu ra truy vấn BigQuery trực tiếp

+------------------------------+------------+----------------+---------------------------------------------------+---------------------+
|          file_name           | word_count |   ocr_status   |                       tags                        |    processed_at     |
+------------------------------+------------+----------------+---------------------------------------------------+---------------------+
| test_invoice_1788840194.pdf  |         62 | SIMULATED_OCR  | ["invoice","finance","billing","acme","pdf"]      | 2026-09-08 04:03:27 |
| test_contract_1788840194.txt |        181 | EXTRACTED_TEXT | ["provider","cloud","client","agreement","shall"] | 2026-09-08 04:03:22 |
+------------------------------+------------+----------------+---------------------------------------------------+---------------------+

Tất cả các thành phần trong quy trình đều đang hoạt động, ổn định và được xác minh trong quá trình sản xuất.

Không bắt buộc: Xác minh thủ công

Mặc dù Antigravity đã xác minh ứng dụng, nhưng bạn cũng có thể kiểm tra theo cách thủ công trong Cloud Console để đảm bảo rằng tất cả tài nguyên đều được tạo (nếu muốn) bằng cách làm theo các bước sau.

Cloud Storage

Mục tiêu: Xác minh rằng vùng chứa tồn tại và kiểm tra các tệp đã tải lên.

  1. Chuyển đến phần Cloud Storage > Bộ chứa.
  2. Tìm vùng chứa có tên PROJECT_ID-document-processing.
  3. Nhấp vào tên nhóm để duyệt xem các tệp.
  4. Xác minh: Bạn sẽ thấy các tệp đã tải lên (ví dụ: sample_contract.txt).

Pub/Sub

Mục tiêu: Xác nhận rằng chủ đề tồn tại và có một gói thuê bao thông báo đẩy.

  1. Chuyển đến Pub/Sub > Topics (Pub/Sub > Chủ đề).
  2. Tìm document-uploads-events.
  3. Nhấp vào mã nhận dạng chủ đề.
  4. Di chuyển xuống thẻ Kênh đăng ký.
  5. Xác minh: Đảm bảo rằng doc-uploads-events-push-sub có trong danh sách.

Cloud Run

Mục tiêu: Kiểm tra trạng thái dịch vụ và nhật ký.

  1. Chuyển đến Cloud Run.
  2. Nhấp vào dịch vụ document-processor.
  3. Xác minh:
  4. Tình trạng: Dấu kiểm màu xanh lục cho biết dịch vụ đang hoạt động.
  5. Nhật ký: Nhấp vào thẻ Nhật ký. Tìm các mục như "Processing document: gs://..." (Đang xử lý tài liệu: gs://...) và "Successfully streamed metadata..." (Đã truyền trực tuyến siêu dữ liệu thành công...).

BigQuery

Mục tiêu: Xác thực rằng dữ liệu thực sự được lưu trữ.

  1. Chuyển đến BigQuery > Không gian làm việc SQL.
  2. Trong ngăn Explorer (Trình khám phá), hãy mở rộng tập dữ liệu project > document_processing (dự án > xử lý tài liệu).
  3. Nhấp vào bảng document_metadata.
  4. Nhấp vào thẻ Truy vấn và truy xuất tất cả các hàng trong bảng thông qua câu lệnh SELECT *.
  5. Xác minh: Bạn sẽ thấy các hàng chứa file_name, process_at, tagsword_count.

7. Khám phá ứng dụng

Đến đây, bạn đã cung cấp và chạy ứng dụng cơ bản. Trước khi đi sâu vào việc mở rộng ứng dụng này, hãy dành chút thời gian để khám phá mã. Bạn có thể xem Artifacts (Hiện vật) và Artifacts sẽ cho bạn thấy các tệp mã được tạo.

Sau đây là nội dung tóm tắt ngắn gọn về một số tệp bạn có thể thấy:

  1. deploy.sh: Tập lệnh chính cung cấp tất cả tài nguyên trên Google Cloud và bật các API bắt buộc.
  2. main.py: Điểm truy cập chính của quy trình. Ứng dụng Python này tạo một máy chủ web nhận thông báo đẩy Pub/Sub, tải tệp xuống từ GCS, "xử lý" (mô phỏng OCR) tệp đó và truyền trực tuyến siêu dữ liệu đến BigQuery.
  3. Dockerfile: Xác định cách đóng gói ứng dụng vào một hình ảnh vùng chứa.
  4. requirements.txt: Liệt kê các phần phụ thuộc của Python.

Bạn cũng có thể thấy các tập lệnh và tệp văn bản khác cần thiết cho việc kiểm thử và xác minh.

8. Mở rộng ứng dụng

Giờ đây, khi đã có một ứng dụng cơ bản hoạt động, bạn có thể tiếp tục lặp lại và mở rộng ứng dụng. Sau đây là một số ý tưởng.

Thêm giao diện người dùng

Xây dựng một giao diện web đơn giản để xem các tài liệu đã xử lý.

Hãy thử câu lệnh sau: Create a simple Streamlit or Flask web application that connects to BigQuery. It should display a table of the processed documents (filename, upload_date, tags, word_count) and allow me to filter the results by tag

Tích hợp với AI/ML thực

Thay vì xử lý OCR mô phỏng, hãy dùng các mô hình Gemini để trích xuất, phân loại và dịch.

  1. Thay thế logic OCR giả. Gửi hình ảnh/tệp PDF cho Gemini để trích xuất văn bản và dữ liệu thực tế. Phân tích văn bản được trích xuất để phân loại loại tài liệu (hoá đơn, hợp đồng, sơ yếu lý lịch) hoặc trích xuất thực thể (ngày, tên, vị trí).
  2. Tự động phát hiện ngôn ngữ của tài liệu và dịch sang tiếng Anh trước khi lưu trữ. Bạn cũng có thể sử dụng bất kỳ ngôn ngữ nào khác.

Tăng cường lưu trữ và phân tích

Bạn có thể định cấu hình các quy tắc vòng đời trên vùng lưu trữ để di chuyển các tệp cũ sang bộ nhớ "Coldline" hoặc "Lưu trữ" để tiết kiệm chi phí.

Độ tin cậy và bảo mật

Bạn có thể tăng cường độ ổn định và tính bảo mật cho ứng dụng, chẳng hạn như:

  1. Hàng đợi thư không gửi được (DLQ): Cập nhật gói thuê bao Pub/Sub để xử lý các lỗi. Nếu dịch vụ Cloud Run không xử lý được một tệp 5 lần, hãy gửi thông báo đến một chủ đề/thùng chứa "Thư không gửi được" riêng để con người kiểm tra.
  2. Secret Manager: Nếu ứng dụng của bạn cần khoá API hoặc cấu hình nhạy cảm, hãy lưu trữ các khoá này trong Secret Manager và truy cập một cách an toàn từ Cloud Run thay vì mã hoá cứng các chuỗi.
  3. Eventarc: Nâng cấp từ Pub/Sub trực tiếp lên Eventarc để định tuyến sự kiện linh hoạt hơn, cho phép bạn kích hoạt dựa trên nhật ký kiểm tra phức tạp hoặc các sự kiện dịch vụ khác của GCP.

Tất nhiên, bạn có thể tự nghĩ ra ý tưởng và dùng Antigravity để giúp bạn triển khai ý tưởng đó!

9. Kết luận

Bạn đã tạo thành công một quy trình xử lý tài liệu dựa trên AI, không cần máy chủ và có khả năng mở rộng trong vài phút bằng Google Antigravity. Bạn đã tìm hiểu cách:

  • Lập kế hoạch kiến trúc bằng AI.
  • Hướng dẫn và quản lý Antigravity khi công cụ này hoạt động thông qua việc tạo ứng dụng từ quá trình tạo mã đến triển khai và xác thực.
  • Xác minh quá trình triển khai và xác thực bằng Hướng dẫn từng bước.

Tài liệu tham khảo