Triển khai một ứng dụng Node.js độc lập

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Chủ đề này giải thích cách triển khai ứng dụng Node.js từ hệ thống cục bộ cho Apigee Edge. Trong chủ đề này, chúng ta sẽ thảo luận về cách sử dụng công cụ dòng lệnh có tên apigeetool để triển khai ứng dụng Node.js cho Apigee Edge.

Giới thiệu về việc triển khai mã Node.js cho Apigee Edge

Bạn có thể triển khai một ứng dụng API Node.js hiện có, bao gồm mọi mô-đun Node.js phụ thuộc, từ hệ thống cục bộ của bạn cho Apigee Edge bằng cách sử dụng một tiện ích dòng lệnh có tên là apigeetool. Tiện ích này tự động gói ứng dụng và các phần phụ thuộc của ứng dụng đó vào một proxy API rồi triển khai ứng dụng đó trên Edge.

Ví dụ: giả sử bạn sử dụng Express để tạo một ứng dụng web trong Node.js. Ứng dụng chạy như một máy chủ HTTP giúp theo dõi các yêu cầu HTTP, xử lý các yêu cầu đó, trả về dữ liệu, v.v. Khi bạn sử dụng apigeetool để triển khai ứng dụng Node.js cho Edge, ứng dụng đó sẽ được gói trong một proxy và thực thi trong ngữ cảnh của nền tảng Edge. Sau đó, bạn có thể gọi ứng dụng thông qua URL proxy mới và tăng thêm giá trị cho ứng dụng bằng cách "tuỳ chỉnh trang" bằng các tính năng tiêu chuẩn của Edge như bảo mật OAuth, chính sách hạn mức, chính sách bảo vệ khỏi các mối đe doạ, luồng có điều kiện, lưu vào bộ nhớ đệm và nhiều tính năng khác.

API apigeetool có chức năng gì?

Khi bạn chạy tiện ích apigeetool với tuỳ chọn deploynodeapp, tiện ích đó:

  • Tạo gói cấu hình proxy API để chứa ứng dụng Node.js.
  • Đóng gói ứng dụng Node.js với bất kỳ gói Node.js nào được cài đặt bằng xử lý bằng SSID (Mô-đun đóng gói nút).
  • Nhập gói cấu hình proxy API vào tổ chức đã chỉ định trên Apigee Edge bằng API Quản lý Edge.
  • Triển khai proxy API cho một môi trường.
  • Thực thi ứng dụng Node.js trên Apigee Edge và cung cấp ứng dụng đó qua mạng.

Chuẩn bị sử dụng apigeetool

Trước khi bắt đầu, bạn cần cài đặt tiện ích apigeetool.

Bạn có thể cài đặt apigeetool thông qua npm hoặc bằng cách sao chép và liên kết mã từ GitHub.

Cài đặt từ npm

Mô-đun apigeetool và các phần phụ thuộc của mô-đun được thiết kế cho Node.js và có sẵn thông qua npm bằng cách sử dụng lệnh sau:

$ sudo npm install -g apigeetool

Thông thường, tuỳ chọn -g sẽ đặt các mô-đun trong: /usr/local/lib/node_modules/apigeetool trên các máy dựa trên *nix.

Cài đặt từ GitHub

Tải xuống hoặc sao chép Công cụ nền tảng API từ GitHub. Hãy xem tệp README trong thư mục gốc của kho lưu trữ để biết hướng dẫn cài đặt.

$ git clone https://github.com/apigee/apigeetool-node.git

Khi đã cài đặt xong, hãy đảm bảo rằng tệp thực thi apigeetool nằm trong Đường dẫn của bạn. Bạn có thể kiểm tra bằng cách nhập:

$ apigeetool -h

Triển khai ứng dụng Node.js cho Edge bằng apigeetool

Lưu ý: Trước khi triển khai, bạn cần biết tên tổ chức, tên người dùng và mật khẩu của tổ chức Apigee Edge Apigee Edge. Bạn cần thông tin này để tạo lệnh apigeetool một cách chính xác.

Cách triển khai ứng dụng Node.js bằng apigeetool:

  1. Trong cửa sổ dòng lệnh, cd thư mục gốc của ứng dụng Node.js.
  2. Thực thi tiện ích apigeetool bằng lệnh deploynodeapp:

    $ apigeetool deploynodeapp -n {A name for your new proxy} -d {The root directory of your Node.js app} -m {The name of the main Node.js file} -o {Your org name on Edge} -e {The environment to deploy to} -b {The base URL for your proxy} -u {Your Edge email address} -p {Your Edge password}
    
    Ví dụ:

    $ apigeetool deploynodeapp -n myNodeApp -d . -m server.js -o myorg -e test -b /myNodeApp -u ntesla -p myPassword
    
  3. Kiểm tra dữ liệu đầu ra trong cửa sổ dòng lệnh. Ứng dụng sẽ có dạng như sau:

    Importing new application myNodeApp
    Imported new app revision 1
    Deploying revision 1
      Deployed.
    Proxy: "myNodeApp" Revision 1
      Environment: test BasePath: /myNodeApp
      Status: deployed
    

    Nếu bạn thấy thông báo "Trạng thái: đã triển khai", vậy là xong. Mọi việc đều diễn ra suôn sẻ. Ứng dụng Node.js của bạn được bao bọc trong một proxy API, được triển khai cho Edge và đang chạy và chờ xử lý các yêu cầu. Mã đã sẵn sàng để bạn kiểm tra.

  4. Kiểm tra proxy của bạn. Ví dụ:

    $ curl http://myorg-test.apigee.net/myNodeApp
    Hello, My Node App!
    
  5. Nếu bạn muốn, hãy đăng nhập vào tài khoản Apigee Edge và truy cập vào trang API Proxies trong giao diện quản lý. Bạn sẽ thấy proxy mới của mình được liệt kê ở đó.

Cách apigeetool xử lý các tệp và mô-đun phụ thuộc

Nếu ứng dụng Node.js của bạn phụ thuộc vào các mô-đun đã cài đặt, thì apigeetool sẽ xử lý các mô-đun đó bằng cách nén thư mục node_modules và thêm thư mục đó vào gói proxy. Bạn không cần làm gì thêm. Điều này cũng đúng với mọi thư mục chứa mã nguồn bổ sung. Tiện ích apigeetool sẽ nén các tệp này và triển khai chúng bằng gói.

Bạn không thể chỉnh sửa tệp trong các thư mục nén này trên trình chỉnh sửa của giao diện người dùng Quản lý Edge. Nếu cần thay đổi các tệp này, bạn có thể xuất dự án, chỉnh sửa các tệp cục bộ, sau đó triển khai lại bằng apigeetool hoặc bằng cách nhập dự án đã xuất qua giao diện người dùng quản lý. Hãy xem thêm phần "Xuất và nhập proxy bằng mã Node.js".

Thông tin cơ bản về cách sử dụng API apigeetool

Để biết thông tin cơ bản về cách sử dụng đối với các tham số đầu vào của tiện ích apigeetool, hãy nhập:

$ apigeetool deploynodeapp -h

  Usage: deploynodeapp -n [name] -o [organization] -e [environment]
  -d [directory name] -m [main script file]
  -u [username] -p [password]
  -b [base path] -l [apigee API url] -z [zip file] -i -h
  -o Apigee organization name
  -e Apigee environment name
  -n Apigee proxy name
  -d Apigee proxy directory
  -m Main script name: Should be at the top level of the directory
  -u Apigee user name
  -p Apigee password
  -b Base path (optional, defaults to /)
  -L Apigee API URL (optional, defaults to https://api.enterprise.apigee.com)
  -z ZIP file to save (optional for debugging)
  -i import only, do not deploy
  -R Resolve Node.js modules on Apigee Edge. Equivalent to running npm install on your project. 
  -U Uploads Node.js modules to Apigee Edge. 
  -h Print this message

Tạo proxy mới bằng các tệp Node.js hiện có

Một cách khác để tích hợp ứng dụng Node.js hiện có vào proxy API là thêm ứng dụng khi bạn tạo proxy. Bạn có thể thực hiện việc này hoàn toàn thông qua giao diện người dùng quản lý và hộp thoại Proxy API mới.

  1. Trên trang tóm tắt proxy API, hãy nhấp vào + Proxy API.
  2. Trong hộp thoại Proxy API mới, hãy chọn Node.js hiện tại.
  3. Sử dụng nút Chọn tệp để chọn một hoặc nhiều tệp Node.js cần nhập.
  4. Đặt tên cho proxy. Trong ví dụ này, chúng tôi gọi nó là hellonode.
  5. Thêm phiên bản /v1 vào Project Base Path (Đường dẫn cơ sở của dự án). Tạo phiên bản cho API của bạn là phương pháp hay nhất.
  6. Nhấp vào Build (Bản dựng).
  7. Nhấp vào Phát triển để chuyển sang chế độ xem Phát triển.
  8. Mở tệp TargetEndpoint trong trình soạn thảo mã.
  9. Đảm bảo phần tử <ScriptTarget> chỉ định tệp Node.js chính như sau:


    <ScriptTarget>
            <ResourceURL>node://server.js</ResourceURL>
            <Properties/>
    </ScriptTarget>
    
  10. Nhấp vào Lưu.

Thêm và gọi tệp tài nguyên Node.js mới

Một cách khác để thêm mã Node.js vào một proxy là trực tiếp thêm mã đó thông qua giao diện người dùng hoặc tải mã lên từ hệ thống tệp cục bộ của bạn. Bạn cũng có thể chỉ định tệp Node.js nào là tệp chính, đó là tệp mà Edge gọi khi proxy được triển khai.

Thêm tệp Node.js mới thông qua giao diện người dùng

Giao diện người dùng quản lý cho phép bạn thêm các tệp nguồn Node.js bổ sung vào một proxy trên nền tảng Edge. Bạn có thể tạo các tập lệnh này trực tiếp trong giao diện người dùng hoặc nhập chúng từ hệ thống tệp của mình. Trước tiên, hãy xem cách thực hiện việc này từ giao diện người dùng.

Cách tạo tệp tài nguyên Node.js mới:

  1. Trong khung hiển thị Phát triển, hãy chọn Tập lệnh mới trên trình đơn Mới.
  2. Trong hộp thoại Thêm tập lệnh, hãy chọn loại tệp là Nút và đặt tên cho tập lệnh.
  3. Nhấp vào Thêm.

Tệp Node.js mới, trống sẽ mở trong trình chỉnh sửa. Bạn có thể cắt và dán mã vào tệp này. Tệp cũng xuất hiện trong mục tập lệnh của Trình điều hướng.

[[{"type":"media","view_mode":"media_large","fun":"2431","attribute="#alt":"","class":"media-image","height":"312","typeof":"foaf:Hình ảnh","width":"417"}}]]

Nhập tệp Node.js từ hệ thống tệp của bạn

Để import tệp Node.js từ hệ thống tệp của bạn vào proxy:

  1. Trong khung hiển thị Phát triển, hãy chọn Tập lệnh mới trên trình đơn Mới.
  2. Trong hộp thoại Thêm tập lệnh, hãy nhấp vào Nhập tập lệnh.
  3. Sử dụng công cụ tệp để chọn tệp Node.js.
  4. Tên của tệp được thêm vào hộp thoại, nhưng bạn có thể thay đổi tên nếu muốn.
  5. Nhấp vào Thêm. Tệp xuất hiện trong phần tập lệnh của Trình điều hướng và mở trong trình chỉnh sửa.
  6. Nhấp vào Lưu.

Nếu muốn gọi tệp đã nhập, bạn cần thực hiện thêm một bước, như được giải thích trong phần tiếp theo.

Gọi tệp Node.js đã nhập

Bạn không thể gọi một tệp Node.js mới nhập hoặc được tạo. Lý do là Edge yêu cầu một tệp Node.js là tệp chính. Tệp chính được chỉ định trong phần tử <ScriptTarget> của phần định nghĩa Điểm cuối mục tiêu. Để chỉ định tệp nào là tệp Node.js chính, hãy làm như sau:

  1. Trong phần Điểm cuối mục tiêu trong Trình điều hướng, hãy nhấp vào tên của điểm cuối đích (thường được gọi là mặc định).
  2. Trong Trình soạn thảo mã, hãy chỉnh sửa phần tử <ScriptTarget> bằng cách thay đổi <ResourceURL> để phản ánh tên của tệp mà bạn muốn làm tệp Node.js chính. Ví dụ: nếu muốn một tệp có tên là hello-world.js là tệp chính, bạn nên nhập: node://hello-world.js vào phần tử ResourceURL.
  3. Nhấp vào Lưu.

Tại thời điểm này, bạn có thể gọi tệp bằng bất kỳ đường dẫn proxy nào mà bạn đã sử dụng trước đó. Ví dụ: chúng tôi đang xem xét ví dụ Hello World! (Xin chào thế giới!), trong đó đường dẫn cơ sở v1/hello được chỉ định. Tuy nhiên, bạn có thể thay đổi đường dẫn cơ sở bằng cách chỉnh sửa Điểm cuối proxy.

  1. Trong phần Điểm cuối proxy trong Trình điều hướng, hãy nhấp vào tên của điểm cuối proxy (thường được gọi là mặc định).
  2. Trong Trình soạn thảo mã, hãy chỉnh sửa phần tử <HttpProxyConnection> bằng cách thay đổi <BasePath> thành bất kỳ tên nào bạn muốn. Ví dụ: nếu <BasePath> hiện tại là v1/hello và bạn muốn nó là v1/my-node-file, hãy thay đổi phần tử <BasePath> như sau:

    <BasePath>/v1/my-node-file</BasePath>
  3. Nhấp vào Lưu.
  4. Gọi proxy bằng đường dẫn cơ sở mới như sau:

    $ curl http://myorg-test.apigee.net/v1/my-node-file
    Hello, World!
    

Xuất và nhập proxy có mã Node.js

Sau khi triển khai một proxy chứa mã Node.js cho Edge, bạn luôn có thể xuất proxy trở lại hệ thống của mình, thực hiện trên đó, sau đó nhập lại proxy vào Edge bằng giao diện người dùng quản lý. Loại kỹ thuật phát triển khứ hồi này thường được sử dụng.

  1. Trên trang tóm tắt proxy API, nhấp vào Phát triển.
  2. Trong trang Phát triển, hãy chọn Tải bản sửa đổi hiện tại xuống.
  3. Giải nén tệp đã tải xuống trên hệ thống của bạn.

Bạn có thể nhập lại gói proxy vào Edge bằng cách chọn Import vào New bản sửa đổi (Import vào bản sửa đổi mới) trên trình đơn đó.

Bạn cũng có thể sử dụng API để triển khai proxy. Hãy xem phần Triển khai proxy từ dòng lệnh để biết thông tin chi tiết.

Các bước tiếp theo

Trong chủ đề tiếp theo, Thêm Node.js vào một proxy API hiện có, chúng tôi sẽ giải thích cách thêm ứng dụng Node.js vào một proxy hiện có trong hệ thống tệp của bạn và triển khai ứng dụng đó cho Edge.