Apigee Edge belgelerini görüntülüyorsunuz.
.
Git:
Apigee X belgeleri. bilgi
Node.js'nin hangi sürümü desteklenir? Apigee Edge?
Edge, şu anda Node.js 0.10.32'yi desteklemektedir.
Standart Node.js modülleri destekleniyor mu?
Aşağıdaki tablodan, hangi standart Node.js modüllerinin dahil edildi. Bazı durumlarda, dahil edilen modüller yalnızca kısmen desteklenir. Modüller .Modül | Durum | Notlar |
---|---|---|
assert |
Destekleniyor | |
buffer |
Destekleniyor | |
child_process |
Kısıtlanmış | Bir alt işlem oluşturmak için herhangi bir girişimde bulunulursa istisna olarak kabul edilir. Ancak, "çatal" alt simge oluşturmak için desteklenir. |
cluster |
Devre dışı | kümeniz.isMaster yöntemi her zaman "doğru" değerini döndürür ve diğer yöntemler uygulanmaz. Her Node.js komut dosyasının bir kopyası tüm Edge mesaj işlemcilerine dağıtılır. |
crypto |
Destekleniyor | |
dns |
Destekleniyor | |
domain |
Destekleniyor | |
dgram |
Kısıtlanmış | Apigee ortamındaki Node.js uygulamaları ağ mimarimizden dolayı UDP üzerinden İnternet'e erişemez. |
events |
Destekleniyor | |
fs |
Kısıtlanmış | Dosya sistemine erişim, komut dosyasının başlatıldığı dizinle sınırlıdır:
/resources/node dizini. Node.js komut dosyaları,
geçici bir çalışma alanı olarak gösterilebilir, ancak
ne kadar süreyle tutulacağını gösterir. |
http |
Destekleniyor | Gelen isteklerin sanal ana makinesi ve yolu API Proxy'sinde belirtilir, e-posta yazacaksınız. "http ve https için desteği anlama modüllerini konulu videomuzu izleyin. |
https |
Destekleniyor | "https" oluşturma sunucu "http" ile aynı şekilde davranır sunucu. Bkz. "http ve https modülleri için desteği anlama" daha fazlası ekleyebilirsiniz. |
module |
Destekleniyor | |
net |
Kısıtlanmış | Gelen TCP bağlantılarını dinleme denemeleri bir istisna oluşturur. |
path |
Destekleniyor | |
module |
Destekleniyor | |
process |
Kısmi destek | User-ID'yi, grup üyeliğini ve çalışma dizinini değiştirme işlevi şu şekilde değil: desteklenir. |
punycode |
Destekleniyor | |
querystring |
Destekleniyor | |
readline |
Devre dışı | Apigee Edge'de çalışan komut dosyaları için standart bir giriş yoktur. |
repl |
Devre dışı | Apigee Edge'de çalışan komut dosyaları için standart bir giriş yoktur. |
module |
Dahil | |
STDIO |
Destekleniyor |
Standart çıkış ve hata, Apigee Edge'de bir günlük dosyasına yönlendirilir geliştirmenin harika bir yoludur. Node.js Günlükleri'ni tıklayarak bu günlükleri görüntüleyebilirsiniz. düğmesini ve Apigee Edge yönetim kullanıcı arayüzünü kullanmanız gerekir. Apigee Edge'de çalışan komut dosyaları için standart bir giriş yoktur. Ancak, . Gelişmiş ScriptTarget yapılandırması bölümünü inceleyin ve daha fazla bilgi edinin. |
stream |
Destekleniyor | |
string_decoder |
Destekleniyor | |
timers |
Dahil | |
tls |
Destekleniyor | Taşıma Katmanı Güvenliği (TLS) parametreleri genel olarak normal Node.js'dir. Apigee Edge'de TLS (SSL) Node.js modülünü kullanma bölümüne bakın. inceleyebilirsiniz. |
tty |
Devre dışı | Apigee Edge'de çalışan komut dosyaları için standart bir giriş yoktur. |
url |
Destekleniyor | |
util |
Destekleniyor | |
vm |
Destekleniyor | |
zlib |
Destekleniyor |
Desteklenen diğer modüller
Bu bölümde standart Node.js'de desteklenmeyen ancak Apigee Edge üzerinde çalışan Trireme ve Trireme tarafından desteklenir. Trireme, şurada çalışan açık kaynaklı Node.js kapsayıcısıdır: Apigee Edge. Node.js komut dosyalarını Java Sanal Makinesi'nde (JVM) çalıştırmak üzere tasarlanmıştır. Tümü NPM'de bu modüller kullanılabilir.
Modül | Açıklama |
---|---|
apigee-access | Apigee Edge platformunda çalışan Node.js uygulamalarına erişim izni verir Apigee'ye özel işlevler. Bu modülü şu işlemler için kullanabilirsiniz: akışa erişmek ve akışı değiştirmek değişkenleri, güvenli depodan verileri alma ve Edge önbelleği, kota ve OAuth kullanma kullanıma sunuyoruz. Ayrıca bkz. Apigee-access modülünü kullanabilirsiniz. |
trireme-support | Node.js uygulamalarının Trireme'e özgü özelliklerden yararlanmasını sağlar. Şu anda desteklenen yalnızca bir özellik vardır: Java'da yerleşik Node.js modüllerinin yüklenmesi. Not: loadJars, Edge Cloud'da desteklenmez. |
trireme-xlsx | XLST işlemenin bir özeti sunar. Trireme için özel olarak tasarlandı Node.js uygulamaları çalışırken XSLT'nin verimli bir şekilde işlenmesini sağlayan bir platform Java. |
trireme-jdbc | Node.js'den JDBC'ye erişim sağlar. Not: Edge Cloud'da desteklenmez. Edge Gizli İçin Cloud'da JDPC JAR dosyalarını sınıf yoluna yerleştirip bu modülü kullanabilirsiniz. |
Sık kullanılan Node.js modülleri için destek
Node.js komut dosyalarındaki kısıtlamalar
Bununla birlikte, Edge'in Node.js komut dosyalarına belirli kısıtlamalar uyguladığını unutmayın: takip etmek için:
- Apigee Edge ortamındaki Node.js uygulamaları internetteki hizmetlere erişemez UDP üzerinden iletişim kurulamaz.
- Dosya sistemine erişim, Node.js komut dosyasının başlatıldığı dizinle sınırlıdır: /resources/node dizininde bulabilirsiniz. Node.js komut dosyaları, geçici bir çizik alanı olarak görebilir, ancak dosyaların ne kadar süre boyunca ısrarcı olabilir.
- Gelen TCP bağlantılarını dinleme denemeleri bir istisna oluşturur.
- User-ID'yi, grup üyeliğini ve çalışma dizinini değiştirme işlevi şu şekilde değil: desteklenir.
- Standart giriş için yalnızca ScriptTarget komutunu kullanarak bağımsız değişkenleri iletmeniz gerekir
öğesidir. Bkz. Gelişmiş
ScriptTarget yapılandırmasına göz atın.
- Standart çıkış için yalnızca Edge'deki Node.js Günlükleri düğmesini kullanabilirsiniz.
proxy'niz için yönetim arayüzü. Ayrıca, "Apigeetool getlogs" öğesini de kullanabilirsiniz. komutuna ekleyin. Daha fazla
daha fazla bilgi için
bağımsız bir Node.js uygulaması.
- Yerel koda bağlı modüller desteklenmez.
- Vaatler ve Oluşturucular gibi EcmaScript 6 özelliklerine bağlı modüller,
desteklenir.
- "harmony-proxies" gibi Node.js çalışma zamanı işaretleri desteklenmez.
IP bağlantısı kısıtlamalarını ayarlama Private Cloud için Edge'de
Edge for Private Cloud, başlangıçtan itibaren Node.js kodunun IP adreslerine erişimini kısıtlayabilir "10.", "192.168" ve localhost. Bu IP adreslerine erişmeye çalışırsanız, şu formda bir hata görürseniz:
{ [Error: connect EINVAL] message: 'connect EINVAL', code: 'EINVAL', errno: 'EINVAL', syscall: 'connect' }
conf_nodejs_connect.ranges.denied özelliğini ayarlayarak bu kısıtlamaları değiştirebilirsiniz. message-processors.properties dosyası oluşturabilirsiniz. Varsayılan olarak bu özellik şu değere sahiptir:
- Uç 4.17.05 ve öncesi: conf_nodejs_connect.ranges.denied=10.0.0.0/8,192.168.0.0/16,127.0.0.1/32
- Edge 4.17.09 ve sonraki sürümler: conf_nodejs_connect.ranges.denied= (Anlamlı kısıtlama yok)
Bu özelliği ayarlamak için:
- message-processor.properties dosyasını
yardımcı olur. Dosya mevcut değilse dosyayı oluşturun:
> vi /<inst_root>/apigee/customer/application/message-processor.properties - Tesisi istediğiniz gibi ayarlayın. Örneğin, yalnızca localhost'a erişimi reddetmek için:
conf_nodejs_connect.ranges.denied=127.0.0.1/32 - Değişikliklerinizi kaydedin.
- Özellikler dosyasının sahibi olarak 'Apigee' olduğundan emin olun kullanıcı:
> chown Apigee:Apigee /<inst_root>/ ekip/customer/application/message-processor.properties - Mesaj İşleyici'yi yeniden başlatın:
> /<inst_root>/ ekip/Apigee-service/bin/gelir-hizmeti Edge-message-processor yeniden başlat
http ve https modülleri için desteği anlama
Apigee Edge'de çalışan tüm Node.js uygulamaları http
veya
gelen istekleri dinlemek için https
modülü. Projenin gidişatı boyunca
gelen istekleri dinlemez, yalnızca yürütülür ve çıkar.
Şuradaki http
ve https
modüllerinin listen
yöntemi:
Node.js parametre olarak bir bağlantı noktası numarası alır. Örneğin:
svr.listen(process.env.PORT || 9000, function() { console.log('The server is running.'); });
Bu "bağlantı noktası" bağımsız değişkeni gerekli olsa da Apigee Edge bu parametreyi yok sayar. Bunun yerine Node.js komut dosyasının çalıştığı API proxy'si "sanal ana makineyi" belirtir YouTube'da Node.js uygulaması da diğer Apigee Edge'de olduğu gibi aynı sanal ana makineleri kullanır temsil eder.
Apigee'deki her ortamda en az bir sanal ana makine bulunur. Sanal ana makine, HTTP
ayarlarını kontrol edin. Bir ortamdaki tüm API proxy'leri
aynı sanal ana makineleri kullanın. Varsayılan olarak, her ortam için iki sanal ana makine mevcuttur:
default
ve secure
. Daha fazla bilgi için bkz.
Sanal Ana Makine ve API Alma
gözden geçirin.
apigeetool deploynodeapp
komutu, Apigee Edge proxy sarmalayıcı oluşturur
kolayca kullanabilirsiniz. Node.js uygulaması dağıtıldığında varsayılan olarak dinleme yapar
ortam için tanımlanmış sanal ana makinedir. Node.js uygulamasının URL'si her zaman
http://{org_name}-{env_name}.apigee.net
Gelen iletiler işleniyor istekler
Diğer Apigee Edge uygulamalarında olduğu gibi, proxy uygulaması
secure
sanal ana makinesinde çalışırsa HTTPS kullanarak gelen istekleri kabul eder.
Giden işlemleri işleme istekler
Apigee Edge'deki Node.js uygulamaları, gelen trafiği almanın yanı sıra
Diğer Node.js'ler gibi giden istekler yapmak için http
ve https
modülleri
bir uygulamadır. Bu modüller, Node.js içinde olduğu gibi çalışır.
Şunun için desteği anlama: tls modülü
Apigee Edge, Node.js tls modülünü destekler.
Bu modül Taşıma Katmanı Güvenliği (TLS) ve/veya Güvenli Yuva Katmanı sağlamak için OpenSSL kullanmaktadır
(SSL) şifreli akış iletişimi. Güvenli ve güvenilir uygulamalar oluşturmak için tls
modülünü kullanabilirsiniz.
Edge'de çalışan Node.js uygulamalarından arka uç hizmetlerine bağlantılar.
tls
modülünün Apigee Edge'de nasıl çalıştığını anlamak için
virtual hosts
ürününün Apigee Edge'de nasıl kullanıldığını anlıyoruz. Apigee'deki her ortam
en az bir sanal ana makineye sahip olmalıdır. Sanal ana makine,
Apigee kuruluşu. Bir ortamdaki tüm API proxy'leri aynı sanal ana makineleri paylaşır. Varsayılan olarak
Her ortamda iki sanal ana makine kullanılabilir: default
ve
secure
. Sanal ana makineler hakkında daha fazla bilgi için bkz.
Sanal Ana Makine ve API Alma
gözden geçirin.
Şimdi Apigee Edge'in gelen ve giden posta iletileri için TLS (SSL) iletişimini nasıl işlediğine bakalım. Node.js uygulamalarında istekler:
Gelen iletiler işleniyor istekler
Sanal ana makinelerin kuruluşunuz için nasıl yapılandırıldığına bağlı olarak Edge şunları sağlar: seçenekler:
- API proxy'si,
default
sanal ana makinesini dinleyecek şekilde yapılandırıldıysa HTTP üzerinden istekleri kabul eder. - API proxy'si,
secure
sanal ana makinesini dinleyecek şekilde yapılandırıldıysa HTTPS üzerinden istekleri kabul eder. URL,apigee.net
alanı ve bir*.apigee.net
için joker karakter SSL sertifikası kullanılacak. Uygulamalar her zamanapigee.net
alanına istek gönderirse SSL sertifikası doğrulanır gerekir.
Giden işlemleri işleme istekler
tls
modülüyle giden isteklerinizi olduğu gibi gönderebilirsiniz
normalde Node.js'de olur. Temel olarak istemci taraflı anahtarlar ve sertifikalar eklemeniz
(.pem
dosya) bağlayıp resources/node
dizinine yükleyin ve bu dosyaları şuraya yükleyin:
komut dosyası. tls
modülünü ve yöntemlerini kullanma hakkında bilgi edinmek için
Node.js tls modülü dokümanları.
Gelişmiş ScriptTarget Yapılandırması
<TargetEndpoint name="default"> <ScriptTarget> <ResourceURL>node://hello.js</ResourceURL> <EnvironmentVariables> <EnvironmentVariable name="NAME">VALUE</EnvironmentVariable> </EnvironmentVariables> <Arguments> <Argument>ARG</Argument> </Arguments> </ScriptTarget> </TargetEndpoint>