Bağımsız bir Node.js uygulamasını dağıtma

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Bu konuda, yerel sisteminizdeki bir Node.js uygulamasının Apigee Edge'e nasıl dağıtılacağı açıklanmaktadır. Bu konuda, Node.js uygulamalarını Apigee Edge'e dağıtmak için apigeetool adlı bir komut satırı aracının nasıl kullanılacağını ele alacağız.

Node.js kodunu Apigee Edge'e dağıtma hakkında

apigeetool adlı bir komut satırı yardımcı programını kullanarak yerel sisteminizden Apigee Edge'e bağımlı tüm Node.js modülleri de dahil olmak üzere mevcut bir Node.js API uygulamasını dağıtabilirsiniz. Yardımcı program, uygulamayı ve bağımlılıklarını otomatik olarak bir API proxy'sinde paketler ve Edge'e dağıtır.

Örneğin, Node.js'de bir web uygulaması oluşturmak için Express'i kullandığınızı varsayalım. Uygulama, HTTP isteklerini dinleyen, bu istekleri işleyen, veri döndüren vb. bir HTTP sunucusu olarak çalışır. Edge'e bir Node.js uygulaması dağıtmak için apigeetool'ü kullandığınızda uygulama bir proxy'ye sarmalanır ve Edge platformu bağlamında yürütülür. Ardından, uygulamanızı yeni proxy URL'si üzerinden çağırabilir ve OAuth güvenliği, kota politikaları, tehdit koruma politikaları, koşullu akışlar, önbelleğe alma ve daha birçok standart Edge özelliğiyle "donatarak" uygulamanıza değer katabilirsiniz.

apigeetool ne işe yarar?

apigeetool yardımcı programını deploynodeapp seçeneğiyle çalıştırdığınızda:

  • Node.js uygulamasını barındırmak için bir API proxy yapılandırma paketi oluşturur.
  • Node.js uygulamasını, NPM (Node Paketlenmiş Modülleri) ile yüklenen tüm Node.js paketleriyle paketler.
  • Edge management API'yi kullanarak API proxy yapılandırma paketini Apigee Edge'de belirtilen kuruluşa aktarır.
  • API proxy'sini bir ortama dağıtır.
  • Node.js uygulamasını Apigee Edge'de çalıştırır ve ağ üzerinden kullanılabilir hale getirir.

Apigeetool'u kullanmaya hazırlanma

Başlamadan önce apigeetool yardımcı programını yüklemeniz gerekir.

apigeetool'u npm üzerinden veya GitHub'dan kodu klonlayıp bağlayarak yükleyebilirsiniz.

npm'den yükleme

apigeetool modülü ve bağımlılıkları Node.js için tasarlanmıştır ve aşağıdaki komut kullanılarak npm üzerinden kullanılabilir:

$ sudo npm install -g apigeetool

-g seçeneği genellikle modülleri şuraya yerleştirir: /usr/local/lib/node_modules/apigeetool *nix tabanlı makinelerde.

GitHub'dan yükleme

GitHub'dan API Platform Araçları'nı indirin veya klonlayın. Yükleme talimatları için deponun kök dizinindeki README dosyasına bakın.

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

Yüklemeyi tamamladığınızda apigeetool yürütülebilir dosyasının Yolunuzda olduğundan emin olun. Şu ifadeleri yazarak test edebilirsiniz:

$ apigeetool -h

apigeetool ile Node.js uygulamasını Edge'e dağıtma

Not: Dağıtım yapmadan önce Apigee Edge kuruluş adınızı, kullanıcı adınızı ve Apigee Edge hesabınızın şifresini bilmeniz gerekir. apigeetool komutunu doğru şekilde oluşturmak için bu bilgilere ihtiyacınız vardır.

apigeetool kullanarak bir Node.js uygulaması dağıtmak için:

  1. Bir terminal penceresinde Node.js uygulamanızın kök dizinini cd.
  2. apigeetool yardımcı programını deploynodeapp komutuyla yürütün:

    $ 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}
    
    Örneğin:

    $ apigeetool deploynodeapp -n myNodeApp -d . -m server.js -o myorg -e test -b /myNodeApp -u ntesla -p myPassword
    
  3. Terminal pencerenizdeki çıkışı kontrol edin. Şuna benzer bir görünüme sahiptir:

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

    "Durum: dağıtıldı" ifadesini görüyorsanız işlem tamamlanmıştır. Her şey yolunda gitti. Node.js uygulamanız bir API proxy'sine sarmalanmış, Edge'e dağıtılmış, çalışıyor ve istekleri işlemeyi bekliyor. Test edilmeye hazırdır.

  4. Proxy'nizi test edin. Örneğin:

    $ curl http://myorg-test.apigee.net/myNodeApp
    Hello, My Node App!
    
  5. İsterseniz Apigee Edge hesabınıza giriş yapın ve yönetim kullanıcı arayüzünün API Proxy'leri sayfasına gidin. Yeni proxy'nizi burada listelenir.

apigeetool, bağımlı dosyaları ve modülleri nasıl işler?

Node.js uygulamanız yüklü modüllere bağlıysa Apigeetool, node_modules klasörünü sıkıştırıp proxy paketine ekleyerek bunları işler. Başka bir işlem yapmanız gerekmez. Aynı durum, ek kaynak kodu içeren tüm dizinler için de geçerlidir. apigeetool yardımcı programı bunları ZIP'ler ve paketle birlikte dağıtır.

Edge yönetim arayüzünün düzenleyicisindeki bu sıkıştırılmış dizinlerdeki dosyaları düzenleyemezsiniz. Bunları değiştirmeniz gerekiyorsa projenizi dışa aktarabilir, dosyaları yerel olarak düzenleyebilir ve ardından apigeetool'u kullanarak veya dışa aktarılan projeyi yönetim kullanıcı arayüzünü kullanarak yeniden dağıtabilirsiniz. Ayrıca bkz. "Node.js koduyla proxy'yi dışa ve içe aktarma".

apigeetool için temel kullanım bilgileri

apigeetool yardımcı programının giriş parametreleriyle ilgili temel kullanım bilgileri için şunu girin:

$ 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

Mevcut Node.js dosyalarıyla yeni bir proxy oluşturma

Mevcut bir Node.js uygulamasını API proxy'sine entegre etmenin diğer bir yolu, uygulamayı proxy oluştururken eklemektir. Bu işlemi tamamen yönetim kullanıcı arayüzü ve Yeni API Proxy iletişim kutusu üzerinden yapabilirsiniz.

  1. API proxy özeti sayfasından +API Proxy'yi tıklayın.
  2. Yeni API Proxy iletişim kutusunda Mevcut Node.js'i seçin.
  3. İçe aktarılacak bir veya daha fazla Node.js dosyası seçmek için Dosya Seç düğmesini kullanın.
  4. Proxy'ye bir ad verin. Bu örnekte, bu değişkene hellonode adını veriyoruz.
  5. /v1 sürümünü proje temel yoluna ekleyin. API'nize sürüm belirlemek en iyi uygulamalardan biridir.
  6. Oluştur'u tıklayın.
  7. Geliştirme görünümüne girmek için Geliştirme'yi tıklayın.
  8. TargetEndpoint dosyasını kod düzenleyicide açın.
  9. <ScriptTarget> öğesinin ana Node.js dosyasını aşağıdaki gibi belirttiğinden emin olun:


    <ScriptTarget>
            <ResourceURL>node://server.js</ResourceURL>
            <Properties/>
    </ScriptTarget>
    
  10. Kaydet'i tıklayın.

Yeni Node.js kaynak dosyalarını ekleme ve çağırma

Node.js kodunu bir proxy'ye eklemenin diğer bir yolu, kullanıcı arayüzü üzerinden veya yerel dosya sisteminizden yükleyerek doğrudan eklemektir. Ayrıca, hangi Node.js dosyasının ana dosya olduğunu da belirtebilirsiniz. Bu dosya, Edge proxy dağıtıldığında çağrılan dosyadır.

Kullanıcı arayüzü üzerinden yeni Node.js dosyaları ekleme

Yönetim kullanıcı arayüzü, Edge platformundaki bir proxy'ye ek Node.js kaynak dosyaları eklemenize olanak tanır. Bunları doğrudan kullanıcı arayüzünde oluşturabilir veya dosya sisteminizden içe aktarabilirsiniz. Öncelikle, bu işlemi kullanıcı arayüzünden nasıl yapacağınıza bakalım.

Yeni bir Node.js kaynak dosyası oluşturmak için:

  1. Geliştirme görünümünde, Yeni menüsünden Yeni Komut Dosyası'nı seçin.
  2. Komut Dosyası Ekle iletişim kutusunda, dosya türünü Düğüm olarak seçin ve komut dosyasına bir ad verin.
  3. Ekle'yi tıklayın.

Yeni, boş Node.js dosyası düzenleyicide açılır. Kodunuzu kesip dosyaya yapıştırabilirsiniz. Dosya, Gezgin'in Komut Dosyaları bölümünde de görünür.

[[{"type":"media","view_mode":"media_large","fid":"2431","attributes":{"alt":"","class":"media-image","height":"312","typeof":"foaf:Image","width":"417"}}]]

Dosya sisteminizden Node.js dosyalarını içe aktarma

Bir Node.js dosyasını dosya sisteminizden proxy'ye import için:

  1. Geliştirme görünümünde, Yeni menüsünden Yeni Komut Dosyası'nı seçin.
  2. Komut Dosyası Ekle iletişim kutusunda Komut Dosyasını İçe Aktar'ı tıklayın.
  3. Node.js dosyanızı seçmek için dosya aracını kullanın.
  4. Dosyanın adı iletişim kutusuna eklenir, ancak isterseniz bu adı değiştirebilirsiniz.
  5. Ekle'yi tıklayın. Dosya, Gezgin'in Komut Dosyaları bölümünde görünür ve düzenleyicide açılır.
  6. Kaydet'i tıklayın.

İçe aktarılan dosyayı çağırmak istiyorsanız sonraki bölümde açıklandığı gibi ek bir adım gerekir.

İçe aktarılan bir Node.js dosyasını çağırma

Yeni içe aktarılan veya oluşturulan bir Node.js dosyasını çağıramazsınız. Bunun nedeni, Edge'in bir Node.js dosyasının ana dosya olmasını gerektirmesidir. Ana dosya, hedef uç nokta tanımının <ScriptTarget> öğesinde belirtilir. Ana Node.js dosyasının hangisi olduğunu belirtmek için aşağıdakileri yapın:

  1. Navigator'daki Hedef Uç Noktalar altında hedef uç noktanın adını tıklayın (genellikle default olarak adlandırılır).
  2. Kod düzenleyicide, <ScriptTarget> öğesini düzenleyin. Bunun için <ResourceURL> öğesini, ana Node.js dosyası olmasını istediğiniz dosyanın adını yansıtacak şekilde değiştirin. Örneğin, hello-world.js adlı bir dosyanın ana dosya olmasını istiyorsanız ResourceURL öğesine node://hello-world.js değerini girersiniz.
  3. Kaydet'i tıklayın.

Bu noktada, dosyayı daha önce kullandığınız proxy yolunda çağırabilirsiniz. Örneğin, temel yolun v1/hellobelirtildiği Merhaba Dünya! örneğine bakıyoruz. Ancak, proxy uç noktasını düzenleyerek taban yolu değiştirebilirsiniz.

  1. Navigator'daki Proxy Uç Noktaları altında proxy uç noktasının adını tıklayın (genellikle default olarak adlandırılır).
  2. Kod düzenleyicide <HttpProxyConnection> öğesini düzenleyerek <BasePath> bölümünü istediğiniz adla değiştirin. Örneğin, mevcut <BasePath> v1/hello ise ve v1/my-node-file olmasını istiyorsanız <BasePath> öğesini şu şekilde değiştirin:

    <BasePath>/v1/my-node-file</BasePath>
  3. Kaydet'i tıklayın.
  4. Proxy'yi yeni temel yolu kullanarak çağırın. Örneğin:

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

Node.js koduyla proxy'yi dışa ve içe aktarma

Edge'e Node.js kodu içeren bir proxy dağıttıktan sonra proxy'yi dilediğiniz zaman sisteminize geri aktarabilir, üzerinde çalışabilir ve ardından yönetim kullanıcı arayüzünü kullanarak Edge'e yeniden aktarabilirsiniz. Bu tür bir gidiş dönüş geliştirme tekniği yaygın olarak kullanılır.

  1. API proxy özet sayfasında Geliştir'i tıklayın.
  2. Geliştirme sayfasında Mevcut Düzeltmeyi İndir'i seçin.
  3. İndirilen dosyanın sıkıştırmasını sisteminizde açın.

Aynı menüden Yeni Düzeltmeye İçe Aktar'ı seçerek proxy paketini Edge'e geri aktarabilirsiniz.

API'yi proxy dağıtmak için de kullanabilirsiniz. Ayrıntılar için Komut satırından proxy dağıtma bölümüne bakın.

Sonraki Adımlar

Sonraki konuda, Mevcut bir API proxy'sine Node.js ekleme başlıklı makalede, dosya sisteminizde mevcut bir proxy'ye Node.js uygulamasının nasıl ekleneceği ve Edge'e nasıl dağıtılacağı açıklanmaktadır.