Apigee Edge belgelerini görüntülüyorsunuz.
.
Git:
Apigee X belgeleri. bilgi
Giriş
Bu konuda, bir Node.js uygulamasını yerel dosyanızdaki mevcut bir proxy'ye nasıl ekleyeceğiniz açıklanmaktadır. ve proxy'nin Apigee Edge'e nasıl dağıtılacağı.
Geliştirme ortamınızı hazırlama
Bu konuda, yerel tarayıcınızda oluşturulmuş bir proxy geliştirme ortamınızın ve buna bir Node.js uygulamasını entegre etmek istediğinizi belirtmelisiniz.
Node.js uygulaması içeren bir proxy uygulamasının temel yapısı, şu kalıbı izler
aşağıda gösterildiği gibi, bir temel /apiproxy
kaynaklar, hedefler ve prox'ler için klasör ve alt klasörler oluşturun. apiproxy/resources/node klasörü, Node.js dosyalarının bulunması gereken yerdir.
yer alır. Diğer klasörlerde proxy ve hedef uç noktaları tanımlayan XML dosyaları, proxy akışını
koşullu akışlar vb. API proxy yapısının daha kapsamlı bir açıklaması için
API proxy yapılandırması referansı başlıklı makaleyi inceleyin.
Proxy'nin parçası olan tüm Node.js kodlarının /apiproxy/resources/node. İşte Edge, işte bunu bekler fark edebilirsiniz.
ScriptTarget ile Node.js hedefini belirtin.
Node.js'yi bir proxy'ye entegre etmek için kullanılan anahtar, <ScriptTarget> öğesi hedef uç noktanın XML dosyası. Bu XML dosyası, proxy dosya yapısında apiproxy/targets öğesini seçin. Varsayılan olarak dosya adı varsayılan.xml.
İçerik için bir hedef uç noktanın genellikle bir tür arka uç hizmetine işaret ettiğini düşünün. Bu durumda Apigee model hedef hizmetine ulaştık. Hedef uç nokta tanımı bu:
<TargetEndpoint name="default"> <Description/> <Flows/> <PreFlow name="PreFlow"> <Request/> <Response/> </PreFlow> <HTTPTargetConnection> <URL>http://mocktarget.apigee.net/</URL> </HTTPTargetConnection> <PostFlow name="PostFlow"> <Request/> <Response/> </PostFlow> </TargetEndpoint>
<HTTPTargetConnection> öğesi arka uç hizmetinin URL'sini belirtiyor. hedef hizmetten ibaret değildir.
Ancak Node.js'de, Node.js uygulamasının kendisi hedeftir. Bunu şununla belirtirsiniz: <ScriptTarget> apiproxy/targets/default.xml dosyasına gidin.
<HTTPTargetConnection> komutunu kullanan hedef yerine öğesi, bir bir <ScriptTarget> komutu kullanılarak doğrudan Node.js uygulamasına referans verilir. öğesini şu şekilde kullanın:
<TargetEndpoint name="default"> <ScriptTarget> <ResourceURL>node://server.js</ResourceURL> </ScriptTarget> <PreFlow name="PreFlow"> <Request/> <Response/> </PreFlow> </TargetEndpoint>
<ResourceURL> parametresinin başında her zaman node://
öneki bulunmalıdır.
ve ardından ana Node.js komut dosyasının adı gelir. Daha önce de belirtildiği gibi, Node.js kaynakları
API proxy kapsamında /apiproxy/resources/node
içinde yer alır.
ScriptTarget'ta ek parametreler ayarlayabilirsiniz. Ayrıntılar için bkz. Gelişmiş Komut Dosyası Hedefi yapılandırması.
Bu örneğin amacı doğrultusunda, ana Node.js dosyasının server.js. Bu, temel HTTP "Hello World!" değerini döndüren bir sunucu İşlem tamamlandığında:
var http = require('http'); console.log('node.js application starting...'); var svr = http.createServer(function(req, resp) { resp.end('Hello, Node!'); }); svr.listen(process.env.PORT || 9000, function() { console.log('Node HTTP server is listening'); });
Özetlemek gerekirse, ana Node.js uygulamasının bir dosyada uygulandığı
server.js
olduğunu ve uç nokta yapılandırmalarının
API Proxy'si ve her ikisi de default.xml
olarak adlandırılır ve
Node.js komut dosyası aşağıdaki yapıya sahiptir:
/apiproxy/proxyName.xml /apiproxy/proxies/default.xml /apiproxy/targets/default.xml /apiproxy/resources/node/server.js
Uygulamayı dağıtmaya hazırlanma
Çoğu Node.js uygulamasının bağımlılık dosyaları vardır ve temel dizinde bir package.json dosyası bulunur. Bu durumda en iyi npm yardımcı programını çalıştırarak üst düzey node_modules dizini doldurulur bağımlılıkları doğru bir şekilde gözden geçirin. Uzaktan çalışmaya ilişkin bağımlılıklar Node.js uygulamanız, node_modules içinde yer alır Edge'de çalışmaz.
npm yardımcı programını kullanarak tüm bağımlılıkları dosya sisteminize kolayca alabilirsiniz:
- Node.js uygulamanızın temel dizininden aşağıdaki komutu çalıştırın:
$ npm install
veya
$ npm update
Bağımlılıklar yüklendiğinde proxy'nizi Edge'e dağıtmaya hazır olursunuz.
Node.js uygulamasını Apigee Edge'e dağıtma
Dağıtımdan önce kuruluşunuzun adını, kullanıcı adını ve şifresini bilmeniz gerekir. Apigee Edge hesabınıza gidin. Bu bilgilere ihtiyacınız var komutunun doğru şekilde oluşturulması gerekir.
Komutu burada bulabilirsiniz. (-d işaretiyle) sitenizin kök dizininde olduğunuzu varsayar temsil eder. Proxy'nizin adı foo ise, menüden bu komutu girin foo dizini:
$ apigeetool deployproxy -u username -p password -o org -e test -n hellonode -d .
$ apigeetool deployproxy -h
Kısa bir özet için:
- -n Bu flag'i kullanarak uygulama dağıtıldığında oluşturulacak proxy'nin adını belirtin. Bunu görürsünüz adını gösterdik.
- -d API proxy'sinin kök dizini.
- -o, -e, -u ve -p kuruluş adını belirtir, kullanıcı adı ve şifre oluşturabilirsiniz.
Yeni API proxy'sini test etme
Mevcut bir API proxy'sine Node.js uygulamasını ekleyip proxy'yi Apigee'ye dağıttınız Kenar! Test etmek için şu cURL komutunu çalıştırın. Varsayılan temel yolun (/) kullanıldığını varsayıyoruz (temel yol proxy uç nokta yapılandırma dosyasında belirtilir). Kuruluşunuzu kullanmayı unutmayın org_name adı. Google Takvim'i cURL yüklüyse, URL'yi bir tarayıcıya girebilirsiniz.
$ curl http://org_name-test.apigee.net/
Hello, Node!
Yönetim kullanıcı arayüzündeki yeni proxy'yi görüntüle
Apigee Edge hesabınıza giriş yapın ve şuraya gidin: API Proxy'leri sayfasına gidin. "hellonode" adlı proxy'yi görürsünüz. burada listelenir.
"hellonode"u tıklayın proxy ayrıntılarını görüntüleyin. Geliştirme görünümünde politikaları ekleme, akışları düzenleme vb. işlemleri yapabilirsiniz.
Sonraki adımlar
Apigee Edge'de çalışan Node.js uygulamalarında hata ayıklama hakkında bilgi edinmek için Node.js hatalarını ayıklama ve sorun giderme bölümüne bakın proxy'ler bölümüne bakın.