Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào
tài liệu Apigee X. thông tin
Các hướng dẫn sau đây giải thích cách triển khai các ứng dụng Node.js lên Edge bằng Hosted Targets (Mục tiêu được lưu trữ), một môi trường thời gian chạy Node.js gốc do Apigee lưu trữ.
Các hướng dẫn này sẽ hướng dẫn bạn thực hiện những việc sau:
- Triển khai ứng dụng Node.js lên Hosted Targets bằng giao diện người dùng Edge.
- Triển khai ứng dụng Node.js vào Hosted Targets từ máy phát triển cục bộ.
- Di chuyển một proxy hiện có bằng triển khai mục tiêu Edge Node.js truyền thống sang Hosted Targets.
Triển khai ứng dụng Node.js lên Hosted Targets bằng giao diện người dùng Edge
Trong hướng dẫn này, bạn sẽ triển khai một ứng dụng Node.js đơn giản vào Hosted Targets bằng giao diện người dùng Edge. Khi hoàn tất hướng dẫn này, bạn sẽ hiểu được cấu trúc và nội dung cơ bản của một proxy Hosted Targets cũng như cách truy cập vào các tệp nhật ký triển khai và bản dựng.
Đăng nhập
- Truy cập vào: apigee.com/edge
- Nhập thông tin đăng nhập Apigee để đăng nhập.
Tạo một proxy mới
- Trong trình đơn điều hướng bên, hãy chọn Phát triển > API Proxy.
- Nhấp vào + Proxy.
- Trong trang Create Proxy (Tạo proxy), hãy chọn Hosted Target (Mục tiêu được lưu trữ).
- Nhấp vào Tiếp theo.
- Trong trường Tên proxy, hãy nhập
hello-hosted-targets. - Nhớ chọn Mẫu"Hello World".
- Nhấp vào Tiếp theo.
- Trong trang Bảo mật, hãy chọn Truyền qua (không có) cho phần Uỷ quyền.
- Nhấp vào Tiếp theo.
- Nhấp vào Tiếp theo.
- Trong trang Bản dựng, hãy nhớ chọn môi trường thử nghiệm. Lưu ý rằng Loại proxy là Mục tiêu được lưu trữ.
- Nhấp vào Build and Deploy (Tạo và triển khai). Quá trình triển khai proxy có thể mất vài phút.
- Sau khi triển khai thành công proxy, hãy nhấp vào Xem proxy hello-hosted-targets ở cuối trang.
- Gọi proxy API. Cách dễ nhất để thực hiện việc này là chuyển đến thẻ Trace (Dấu vết), bắt đầu một phiên Trace (Dấu vết) rồi nhấp vào Send (Gửi). Bạn sẽ nhận được trạng thái 200 kèm theo phản hồi sau:
{"date":"2018-09-26T14:23:04.550Z","msg":"Hello, World!"}
Kiểm tra proxy
- Trong giao diện người dùng Edge, hãy nhấp vào thẻ Phát triển.
- Trong Trình điều hướng, hãy chọn default trong Target Endpoints (Điểm cuối mục tiêu).
- Trong trình chỉnh sửa mã, hãy lưu ý rằng có một phần tử con
<HostedTarget/>trống bên dưới phần tử<TargetEndpoint>. Bạn phải có thẻ trống này. Nó cho Edge biết rằng mục tiêu của proxy là một ứng dụng được triển khai cho môi trường Hosted Targets.
- Trong Trình điều hướng, hãy lưu ý nội dung trong phần Scripts (Tập lệnh). Các tệp ứng dụng Node.js được liệt kê trong nhãn được lưu trữ.

- Trong giao diện người dùng Edge, hãy kiểm tra các tệp được liệt kê trong mục hosted (được lưu trữ) trong Scripts (Tập lệnh):
- Tệp app.yaml chứa thông tin cấu hình. Ví dụ: bạn có thể thêm các biến môi trường sẽ có sẵn cho ứng dụng Node.js tại thời gian chạy. Bạn không cần sửa đổi tệp này cho ví dụ này.
- Tệp index.js là tệp chính của ứng dụng Node.js.
- Nếu ứng dụng của bạn có bất kỳ phần phụ thuộc nào của mô-đun, thì các phần phụ thuộc đó phải được liệt kê trong package.json.
Xem tệp nhật ký
Tệp nhật ký ứng dụng có thể hữu ích cho việc gỡ lỗi các vấn đề xảy ra trong giai đoạn xây dựng và cả trong thời gian chạy.
- Trong giao diện người dùng Edge, hãy nhấp vào thẻ Phát triển.
- Để xem nhật ký bản dựng, hãy nhấp vào Build Logs (Nhật ký bản dựng).
- Để xem nhật ký triển khai, hãy nhấp vào Nhật ký thời gian chạy.
Xem thêm Truy cập vào tệp nhật ký.
Tóm tắt
- Bạn đã triển khai một ứng dụng Node.js đơn giản vào môi trường Hosted Targets và thử nghiệm ứng dụng đó trong Giao diện người dùng Edge.
- Bạn biết rằng một proxy Hosted Targets yêu cầu một thẻ trống đặc biệt trong Target Endpoint có tên là
<HostedTarget/>. - Bạn đã biết rằng Edge tự động tải các phần phụ thuộc của mô-đun cho bạn và các phần phụ thuộc phải được liệt kê trong tệp
package.json. - Bạn cũng đã tìm hiểu cách kiểm tra các tệp nhật ký bản dựng và thời gian chạy.
Triển khai Node.js từ hệ thống của bạn đến Edge
Phần này giải thích cách triển khai một ứng dụng Node.js độc lập từ hệ thống cục bộ đến Hosted Targets bằng apigeetool. Tiện ích apigeetool sẽ kết hợp ứng dụng Node.js vào một proxy Hosted Targets mới và triển khai ứng dụng đó đến Edge.
Cài đặt apigeetool
Nhà phát triển nên sử dụng apigeetool để triển khai mã proxy cho Edge. Để cài đặt apigeetool, hãy chạy lệnh NPM sau:
npm install -g apigeetool
Tạo ứng dụng Node.js
Để đơn giản hoá, chúng tôi sẽ cung cấp cho bạn mã của một ứng dụng Node.js đơn giản.
- Tạo một thư mục cho ứng dụng Node.js. Gọi thư mục node-hosted-express.
- cd đến thư mục mới.
- Tạo một tệp có tên là index.js rồi sao chép đoạn mã này vào đó.
- Tạo một tệp có tên là package.json rồi sao chép đoạn mã này vào đó. Lưu ý rằng mô-đun express được liệt kê dưới dạng một phần phụ thuộc.
- Tạo một tệp có tên là app.yaml rồi sao chép đoạn mã này vào tệp đó:
- Đảm bảo thư mục của bạn có dạng như sau:
ls app.yaml index.js package.json
var express = require('express') var app = express() app.get('/', function(req, res) { res.json({ hello: "Hello World!" }) }) app.get('/hello/:name', function(req, res) { var name = req.params.name res.json({ hello: "hello " + name }) }) var server = app.listen(process.env.PORT || 9000, function() { console.log('Listening on port %d', server.address().port) })
{
"name": "hello-world",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"start": "node index.js --use_strict"
},
"author": "",
"license": "",
"dependencies": {
"express": "^4.16.0"
}
}runtime: node runtimeVersion: 8 application: my-express-app env: - name: NODE_ENV value: production - name: LOG_LEVEL value: 3
Xem xét cấu trúc thư mục bắt buộc cho mã ứng dụng
Ứng dụng Node.js của bạn phải có cấu trúc giống như một ứng dụng Node.js tiêu chuẩn. Tuy nhiên, hãy đảm bảo rằng bạn đã tuân thủ các yêu cầu sau trước khi triển khai bằng apigeetool cho Edge:
- Bạn phải có tệp kê khai app.yaml và tệp này phải nằm trong thư mục gốc của ứng dụng. Để tìm hiểu thêm về tệp này, hãy xem tệp kê khai.
- Bạn phải có tệp package.json. Tệp này phải liệt kê mọi phần phụ thuộc mà ứng dụng của bạn yêu cầu.
- Bạn không bắt buộc phải có thư mục node_modules. Edge sẽ chạy npm install cho bạn khi ứng dụng Node.js được triển khai. Nó lấy các phần phụ thuộc từ package.json. Bạn chỉ cần cung cấp rõ ràng node_modules nếu có các mô-đun tuỳ chỉnh không có sẵn thông qua npm.
Triển khai proxy
- Trong một cửa sổ dòng lệnh, hãy dùng lệnh cd để chuyển đến thư mục gốc của ứng dụng Node.js.
- Thực thi apigeetool bằng lệnh deployhostedtarget:
apigeetool deployhostedtarget -o org -e env -n proxy-name -b /node-hosted-express -u username
trong đó -n là tên bạn muốn đặt cho proxy mới. Giá trị này phải là duy nhất trong tổ chức. Bạn chỉ được phép dùng các ký tự sau trong tên: a-z0-9._\-$%
Ví dụ:
apigeetool deployhostedtarget -o myorg -e test -n node-hosted-express -b /node-hosted-express -u jdoe@apigee.com
Để biết thêm thông tin về cách sử dụng apigeetool, hãy xem https://github.com/apigee/apigeetool-node.
Kiểm thử proxy
Bạn có thể kiểm thử proxy bằng lệnh cURL, bằng một ứng dụng REST như Postman hoặc trong giao diện người dùng Edge trong công cụ Trace. Dưới đây là một ví dụ về lệnh cURL.
curl http://myorg-test.apigee.net/node-hosted-express
{"date":1506992197427,"msg":"hello-world"}Lấy nhật ký bản dựng
Nhật ký bản dựng cho bạn biết đầu ra liên quan đến việc triển khai và tạo ứng dụng Node.js. Xem thêm Tệp nhật ký.
apigeetool getlogs -u username -o org -e env --hosted-build -n proxy-name
Ví dụ:
apigeetool getlogs -u jdoe@apigee.com -o myorg -e test --hosted-build -n node-hosted-express
Lấy nhật ký thời gian chạy
Nhật ký thời gian chạy cho thấy đầu ra liên quan đến ứng dụng đang chạy. Nhật ký thời gian chạy được giới hạn trong môi trường và trả về nhật ký cho bản sửa đổi proxy hiện đang được triển khai. Xem thêm Tệp nhật ký.
apigeetool getlogs -u username -o org -e env --hosted-runtime -n proxy-name
Ví dụ:
apigeetool getlogs -u jdoe@apigee.com -o myorg -e test --hosted-runtime -n node-hosted-express
Xem proxy trong giao diện người dùng Edge
Sau khi triển khai thành công, bạn có thể xem và chỉnh sửa proxy trong phần API Proxies (API Proxy) của giao diện người dùng Edge.
Di chuyển một proxy Node.js hiện có sang proxy Hosted Targets
Phần này giải thích cách di chuyển thủ công một proxy API Edge hiện có sử dụng triển khai mục tiêu Node.js truyền thống sang Hosted Targets. Tài liệu này cũng giải thích cách triển khai proxy sau khi bạn thực hiện các bước di chuyển.
Các bước di chuyển sẽ giữ nguyên cấu trúc, chính sách, luồng và các phần tử cấu hình khác của API proxy. Bạn có thể thực hiện quy trình di chuyển theo bốn bước như trình bày bên dưới, sau đó triển khai proxy đã di chuyển bằng apigeetool.
Bước 1: Điều chỉnh cấu trúc tệp proxy
Để điều chỉnh cấu trúc tệp, proxy API phải nằm trên hệ thống tệp cục bộ. Nếu triển khai proxy trên Edge, bạn phải tải proxy xuống trước khi tiếp tục. Trong cấu hình truyền thống, "gói" proxy Edge bao gồm mã Node.js tuân theo cấu trúc tệp này.
Mã xử lý ứng dụng Node.js được đặt trong thư mục resources/node:
apiproxy/
policies/
proxies/
targets/
resources/
node/
Your application code
Đối với Mục tiêu được lưu trữ, bạn phải đặt thư mục gốc của ứng dụng Node.js trong một thư mục có tên là resources/hosted. Chỉ cần tạo một thư mục mới có tên là resources/hosted rồi di chuyển nội dung của resources/node vào thư mục đó. Sau đó, bạn có thể xoá thư mục resources/node.
apiproxy/
policies/
proxies/
targets/
resources/
hosted/
Your application codeBước 2: Thêm tệp kê khai
Tạo một tệp kê khai có tên là app.yaml rồi đặt tệp đó vào thư mục apiproxy/resources/hosted.
Sau đây là một ví dụ về tệp app.yaml. Nền tảng này chỉ định rằng thời gian chạy là Node.js (bắt buộc). Thao tác này cũng tạo ra một biến môi trường trong môi trường thực thi (một biến mà ứng dụng Node.js có thể truy cập). Biến môi trường là không bắt buộc và chỉ xuất hiện ở đây dưới dạng ví dụ. Để biết thêm thông tin chi tiết và ví dụ, hãy xem phần Tệp kê khai.
runtime: node
env:
- name: NODE_ENV
value: production
Ví dụ sau đây cho thấy cấu trúc dự án Node.js nằm ở đúng vị trí trong proxy để triển khai Mục tiêu được lưu trữ:
apiproxy/
resources/
hosted/
index.js
node_modules/
app.yaml
package.jsonBước 3: Đảm bảo bạn có tệp package.json
Trong các proxy Edge Node.js truyền thống, package.json là không bắt buộc. Tuy nhiên, đối với Hosted Targets, bạn phải cung cấp một mục trong thư mục apiproxy/resources/hosted. Hãy nhớ chỉ định mọi phần phụ thuộc bắt buộc cho ứng dụng của bạn trong tệp này.
Bước 4: Sửa đổi điểm cuối mục tiêu của proxy
Một proxy Node.js truyền thống yêu cầu phải có thẻ <ScriptTarget> trong tệp điểm cuối đích (thường là /apiproxy/targets/default.xml). Đối với Mục tiêu được lưu trữ, bạn cần thêm một thẻ trống có tên là <HostedTarget/>. Nếu có thẻ ScriptTarget trong tệp, bạn chỉ cần xoá thẻ đó.
Ví dụ:
<?xml version="1.0" encoding="UTF-8"?>
<TargetEndpoint name="default">
<Description />
<FaultRules />
<PreFlow name="PreFlow">
<Request />
<Response />
</PreFlow>
<PostFlow name="PostFlow">
<Request />
<Response />
</PostFlow>
<Flows />
<HostedTarget />
</TargetEndpoint>
Triển khai proxy
Giờ đây, bạn có thể triển khai proxy bằng lệnh apigeetool deployproxy.
- cd đến thư mục gốc của proxy: /apiproxy
- Sử dụng lệnh này để triển khai proxy:
apigeetool deployproxy -u username -o org -e env -n proxy-name -d .
Ví dụ:
apigeetool deployproxy -u jdoe -o docs -e test -n hello-world -d .
Để biết thêm thông tin về cách sử dụng apigeetool, hãy xem:
https://github.com/apigee/apigeetool-node/blob/master/README.md.
Kiểm thử proxy
Bạn có thể kiểm thử proxy bằng lệnh cURL, bằng một ứng dụng REST như Postman hoặc trong giao diện người dùng Edge trong công cụ Trace. Dưới đây là ví dụ về lệnh cURL:
curl http://myorg-test.apigee.net/hello-world Hello,World!