Chuyển tới nội dung chính

Method for Automatic APIM Swagger Update Upon K8s Pod Deployment

Tổng Quan

Hướng dẫn này giải thích cách tự động cập nhật tài liệu Swagger (OpenAPI) của API trong hệ thống APIM mỗi khi dịch vụ backend được triển khai dưới dạng pod Kubernetes. Quy trình này hữu ích trong các pipeline CI/CD để đảm bảo rằng cả Cổng thông tin Nhà phát triển và Bảng điều khiển Quản trị luôn phản ánh các thông số kỹ thuật API mới nhất.

Khái Niệm

Khi một API được triển khai lại với các định nghĩa Swagger đã cập nhật trong môi trường Kubernetes, hệ thống APIM không tự động làm mới tài liệu. Để giải quyết vấn đề này, bạn có thể kích hoạt một cách lập trình việc cập nhật Swagger bằng cách sử dụng một API tích hợp sẵn do APIM cung cấp. Điều này cho phép đồng bộ hóa tài liệu tự động giữa Cổng thông tin Nhà phát triển và Bảng điều khiển Quản trị.

Những Gì Bạn Có Thể Làm

Là một quản trị viên hoặc kỹ sư DevOps, bạn có thể:

  • Lấy api_id của API đã triển khai từ bảng điều khiển APIM
  • Gọi một API nội bộ của APIM để kích hoạt việc cập nhật Swagger
  • Xác nhận tài liệu đã được làm mới trên tất cả các cổng thông tin

Bước 1: Kiểm Tra Chi Tiết API và Lấy api_id

Để yêu cầu cập nhật tài liệu, trước tiên bạn cần api_id của API mục tiêu.

  1. Điều hướng đến: APIM > Quản lý API
  2. Nhấp vào API bạn muốn cập nhật để mở trang chi tiết của nó.
  3. Nhấp vào biểu tượng Thông tin được hiển thị với viền đỏ.

Điều này sẽ mở một cửa sổ pop-up hiển thị siêu dữ liệu API, bao gồm:

  • project_id
  • api_id
  • gateway_id

Bước 2: Kích Hoạt Cập Nhật Tài Liệu API

Sử dụng lệnh curl sau để gọi API nội bộ của APIM cập nhật tài liệu Swagger.

curl -X 'POST' 'https://<APIM Console K8s DNS>/apim/org/default/spc/all/restApi/deployV2?api_id=<your-api-id>&swagger_latest_update=true'
-H 'accept: application/json'
-H 'x-apim-key: <your-apim-key>'
-H 'Content-Type: application/json'
-d '{ "description": "APIM REST API - API Swagger Update" }'

### Các Tham Số Cần Thiết \{#required-parameters}

| Tham Số | Mô Tả |
| --- | --- |
| APIM Console K8s DNS | Địa chỉ DNS Kubernetes của bảng điều khiển APIM của bạn |
| api_id | ID của API được lấy trong Bước 1 |
| x-apim-key | Khóa API có quyền gọi đến điểm cuối nội bộ |
| description | (Tùy chọn) Một ghi chú cho thao tác cập nhật |
:::note

Hãy chắc chắn thay thế giá trị api_id trong URL bằng giá trị chính xác đã được lấy trước đó. Điều này cũng áp dụng cho địa chỉ DNS và khóa API.
:::

## Điều Gì Xảy Ra Tiếp Theo? \{#what-happens-next?}


Khi cuộc gọi API được thực hiện:

- Tài liệu Swagger của API sẽ được làm mới trong cả Cổng Thông Tin Nhà Phát Triển và Bảng Điều Khiển APIM
- Người dùng truy cập tài liệu sẽ thấy phiên bản mới nhất
- Điều này có thể được tích hợp vào quy trình CI/CD của bạn để tự động duy trì tài liệu sau mỗi lần triển khai