Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến
Tài liệu về Apigee X. thông tin
Các hướng dẫn sau giải thích cách triển khai ứng dụng Node.js cho Edge bằng Mục tiêu được lưu trữ, 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 các tác vụ sau:
- Triển khai ứng dụng Node.js cho các Mục tiêu được lưu trữ bằng giao diện người dùng Edge.
- Triển khai ứng dụng Node.js cho các Mục tiêu được lưu trữ từ máy phát triển cục bộ của bạn.
- Di chuyển proxy hiện có bằng mạng truyền thống Triển khai nhắm mục tiêu Node.js cạnh tranh đến các Mục tiêu được lưu trữ.
Triển khai ứng dụng Node.js cho các Mục tiêu được lưu trữ 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 cho các Mục tiêu được lưu trữ bằng Edge Giao diện người dùng. Khi xem xong hướng dẫn này, bạn sẽ nắm được cấu trúc và nội dung cơ bản của proxy Mục tiêu được lưu trữ và cách truy cập vào hoạt động triển khai cũng như tạo tệp nhật ký.
Đăng nhập
- Truy cập: apigee.com/edge
- Nhập thông tin đăng nhập Apigee của bạn để đăng nhập.
Tạo proxy mới
- Trong trình đơn điều hướng bên, chọn Phát triển > Proxy API.
- Nhấp vào + Proxy.
- Trong trang Tạo proxy, chọn 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
. - Hãy chắc chắn rằng "Hello World" ("Xin chào thế giới") Đã chọn Mẫu.
- Nhấp vào Tiếp theo.
- Trên trang Bảo mật, hãy chọn Pass through (không có) cho Uỷ quyền.
- Nhấp vào Tiếp theo.
- Nhấp vào Tiếp theo.
- Trên trang Xây dựng, hãy nhớ chọn môi trường thử nghiệm. Lưu ý 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-host-targets ở cuối trang.
- Gọi proxy API. Cách dễ nhất để làm việc này là truy cập vào trang Trace
tab, bắt đầu Theo dõi
phiên hoạt động rồi nhấp vào Gửi. Bạn sẽ nhận được trạng thái 200 với những thông tin sau
trả lời:
{"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ẻ Develop (Phát triển).
- Trong Trình điều hướng, hãy chọn mặc định trong phần Điểm cuối mục tiêu.
- Trong trình soạn thảo mã, hãy lưu ý rằng có một thành phần con
<HostedTarget/>
trống trong phần tử<TargetEndpoint>
. Thẻ trống này là là bắt buộc. 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 Mục tiêu được lưu trữ. - Trong Trình điều hướng, hãy chú ý đến nội dung trong phần Tập lệnh. Chiến lược phát hành đĩa đơn
Các tệp ứng dụng Node.js được liệt kê dưới nhãn được lưu trữ.
- Trong giao diện người dùng Edge, hãy kiểm tra các tệp liệt kê trong phần được lưu trữ trong 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ó mô-đun phần phụ thuộc, chúng 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 sự cố xảy ra trong giai đoạn tạo bản dựng và 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 tệp nhật ký.
Tóm tắt
- Bạn đã triển khai một ứng dụng Node.js đơn giản cho môi trường Mục tiêu được lưu trữ và kiểm thử trong giao diện người dùng Edge.
- Bạn đã biết rằng proxy Mục tiêu được lưu trữ yêu cầu một thẻ trống đặc biệt trong Mục tiêu
Điểm cuối có tên
<HostedTarget/>
. - Bạn đã biết rằng Edge sẽ 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ó trong tệp
package.json
. - Bạn cũng đã tìm hiểu cách kiểm tra 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 sang Edge
Phần này giải thích cách triển khai ứng dụng Node.js độc lập từ hệ thống cục bộ của bạn để
Các Mục tiêu được lưu trữ sử dụng apigeetool. apigeetool
tiện ích gói ứng dụng Node.js vào một proxy Mục tiêu được lưu trữ mới và triển khai ứng dụng đó cho Edge.
Cài đặt apigeetool
Các nhà phát triển nên sử dụng apigeetool để triển khai proxy mã vào Edge. Để cài đặt apigeetool, hãy chạy lệnh Trình quản lý đối tác địa phương (TLD) sau:
npm install -g apigeetool
Tạo ứng dụng Node.js
Để tạo điều kiện dễ dàng, chúng tôi cung cấp cho bạn mã cho ứng dụng Node.js đơn giản.
- Tạo thư mục cho ứng dụng Node.js. Gọi thư mục node-hosted-express.
- cd vào thư mục mới.
- Tạo một tệp có tên index.js và sao chép đoạn mã này vào tệp đó.
- Tạo một tệp có tên package.json rồi sao chép đoạn mã này vào tệp đó. Lưu ý rằng mô-đun express được liệt kê dưới dạng phần phụ thuộc.
- Tạo một tệp có tên 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ư ứng dụng Node.js chuẩn. Tuy nhiên, hãy chắc chắn rằng bạn đã làm theo
các yêu cầu tối thiểu trước khi triển khai bằng apigeetool
to Edge:
- Tệp kê khai app.yaml là bắt buộc và phải tồn tại 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 cần có tệp package.json. Tệp này phải liệt kê mọi phần phụ thuộc mà bạn ứng dụng yêu cầu.
- Thư mục node_modules không bắt buộc. Edge sẽ chạy npm install cho bạn khi ứng dụng Node.js được triển khai. Chiến dịch này nhận được các phần phụ thuộc từ package.json. Lần duy nhất bạn cần phải nêu rõ cung cấp node_modules là khi bạn có các mô-đun tuỳ chỉnh không có sẵn đến npm.
Triển khai proxy
- Trong dòng lệnh, hãy cd vào thư mục gốc của ứng dụng Node.js.
- Thực thi apigeetool bằng lệnh Deployhosttarget:
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. Mã này phải là duy nhất
trong tổ chức. Bạn chỉ được phép sử dụng các ký tự trong tên này
sau đây: 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.
Thử nghiệm proxy
Bạn có thể kiểm tra proxy bằng lệnh cURL, với ứng dụng REST như Postman hoặc trong giao diện người dùng Edge trong công cụ Theo dõi. 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"}
Tải nhật ký bản dựng
Nhật ký bản dựng cho bạn biết kết quả liên quan đến việc triển khai và xây dựng ứng dụng Node.js. Xem thêm về 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
Tải Nhật ký thời gian chạy
Nhật ký thời gian chạy cho thấy kết quả liên quan đến ứng dụng đang chạy. Nhật ký thời gian chạy nằm trong phạm vi của môi trường và trả về nhật ký của bản sửa đổi proxy hiện được triển khai. Xem thêm về 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 của mình trong phần Proxy API của Giao diện người dùng Edge.
Di chuyển proxy Node.js hiện có sang proxy Mục tiêu được lưu trữ
Phần này giải thích cách di chuyển thủ công một proxy Edge API hiện có sử dụng truyền thống Triển khai nhắm mục tiêu Node.js đến Mục tiêu được lưu trữ. 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 giúp giữ nguyên cấu trúc proxy API, chính sách, quy trình và các phần tử cấu hình khác. Bạn có thể thực hiện việc di chuyển theo bốn bước như trình bày dưới đây, sau đó triển khai proxy được 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 trong hệ thống tệp cục bộ của bạn. Nếu proxy là
được triển khai trên Edge, bạn phải tải ứng dụng này xuống
trước khi tiếp tục. Ở cấu hình truyền thống và "gói" proxy Edge có chứa mã Node.js sẽ tuân theo cấu trúc tệp này.
Mã ứ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 các 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
có tên là resources/hosted
. Chỉ cần tạo một thư mục mới có tên là
resources/được lưu trữ và di chuyển nội dung của resources/node
vào ứng dụng. Sau đó, bạn có thể xoá thư mục resources/node
.
apiproxy/ policies/ proxies/ targets/ resources/ hosted/ Your application code
Bướ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 này vào
Thư mục apiproxy/resources/hosted
.
Sau đây là ví dụ về tệp app.yaml
. Nó chỉ định rằng môi trường thời gian chạy là
Node.js (bắt buộc). Công cụ này cũng tạo một biến môi trường trong môi trường thực thi
(một biến có thể được truy cập bởi ứng dụng Node.js). Biến môi trường là không bắt buộc
và đây chỉ là một 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.json
Bước 3: Đảm bảo rằng bạn có tệp package.json
Trong các proxy Node.js truyền thống của Edge, package.json
là
không bắt buộc. Tuy nhiên, đối với các Mục tiêu được lưu trữ, bạn phải cung cấp một Mục tiêu trong thư mục apiproxy/resources/hosted
. Đảm bảo
để chỉ định mọi phần phụ thuộc bắt buộc cho ứng dụng trong tệp này.
Bước 4: Sửa đổi điểm cuối đích của proxy
Proxy Node.js truyền thống yêu cầu phải có một thẻ có tên là <ScriptTarget>
có 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 <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 vào thư mục gốc của proxy: /apiproxy
- Sử dụng lệnh sau để 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.
Thử nghiệm proxy
Bạn có thể kiểm tra proxy bằng lệnh cURL, với ứng dụng REST như Postman hoặc trong giao diện người dùng Edge trong công cụ Theo dõi. Dưới đây là ví dụ về lệnh cURL:
curl http://myorg-test.apigee.net/hello-world Hello,World!