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ı Apigee Edge'e nasıl dağıtacağınız açıklanmaktadır. Bu konuda, Node.js uygulamalarını Apigee Edge'e dağıtmak için apigeetool adlı komut satırı aracının nasıl kullanılacağı açıklanmaktadır.

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

Bağımlı Node.js modülleri de dahil olmak üzere mevcut bir Node.js API uygulamasını, apigeetool adlı bir komut satırı yardımcı programını kullanarak yerel sisteminizden Apigee Edge'e dağıtabilirsiniz. Bu yardımcı program, uygulamayı ve bağımlılıklarını otomatik olarak bir API proxy'sinde paketleyip 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. Node.js uygulamasını Edge'e 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 ve önbelleğe alma gibi standart Edge özellikleriyle "giydirerek" 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 Packaged Modules) ile yüklenen tüm Node.js paketleriyle birlikte paketler.
  • Edge Management API'yi kullanarak API proxy yapılandırma paketini Apigee Edge'deki belirtilen kuruluşa aktarır.
  • API proxy'sini bir ortama dağıtır.
  • Node.js uygulamasını Apigee Edge'de yürütü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'daki 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

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

GitHub'dan yükleme

API Platform Tools'u GitHub'dan indirin veya kopyalayın. Yükleme talimatları için depo kök dizinindeki README dosyasını inceleyin.

$ 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. Şunu yazarak test edebilirsiniz:

$ apigeetool -h

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

Not: Dağıtım yapmadan önce Apigee Edge kuruluşunuzun adını, 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. Terminal penceresinde, Node.js uygulamanızın kök dizinine cd.
  2. apigeetool yardımcı programını deploynodeapp komutuyla çalıştırı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 şey görürsünüz:

    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 Proxies (API Proxyleri) sayfasına gidin. Yeni vekil sunucunuzu burada listelenmiş olarak görürsünüz.

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 bu modülleri işler. Başka bir işlem yapmanız gerekmez. Ek kaynak kodu içeren dizinler için de aynı durum geçerlidir. apigeetool yardımcı programı bunları zip'leyip paketle birlikte dağıtır.

Bu sıkıştırılmış dizinlerdeki dosyaları Edge yönetim kullanıcı arayüzünün düzenleyicisinde düzenleyemezsiniz. Bunları değiştirmeniz gerekirse 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 içe aktararak yeniden dağıtabilirsiniz. "Node.js koduyla proxy dışa ve içe aktarma" başlıklı makaleyi de inceleyin.

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 bir diğer yolu da proxy'yi oluştururken uygulamayı eklemektir. Bu işlemi tamamen yönetim kullanıcı arayüzü ve Yeni API Proxy'si iletişim kutusu üzerinden yapabilirsiniz.

  1. API proxy'si özet sayfasında +API Proxy'yi tıklayın.
  2. Yeni API proxy'si iletişim kutusunda Mevcut Node.js'yi 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 işlevi hellonode olarak adlandırıyoruz.
  5. /v1 sürümünü Proje Temel Yolu'na ekleyin. API'nizi sürümlemek en iyi uygulamalardan biridir.
  6. Build'ı (Derle) tıklayın.
  7. Geliştirme görünümüne girmek için Geliştir'i 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ı ekleme ve çağırma

Node.js kodunu bir proxy'ye eklemenin bir diğer yolu da kodu doğrudan eklemektir. Bunu kullanıcı arayüzü üzerinden veya yerel dosya sisteminizden yükleyerek yapabilirsiniz. Ayrıca, proxy dağıtıldığında Edge'in çağırdığı dosya olan ana Node.js dosyasını da belirtebilirsiniz.

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. İlk olarak, bu işlemi kullanıcı arayüzünden nasıl yapacağımı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. Add Script (Komut Dosyası Ekle) iletişim kutusunda Node dosya türünü seçin ve komut dosyasına ad verin.
  3. Ekle'yi tıklayın.

Yeni ve 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

Dosya sisteminizden proxy'ye bir Node.js dosyası içe aktarmak 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 bir 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ı doğrudan ç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. Hangi dosyanın ana Node.js dosyası olduğunu belirtmek için aşağıdakileri yapın:

  1. Gezgin'deki Hedef Uç Noktalar bölümünde hedef uç noktanın adını (genellikle varsayılan olarak adlandırılır) tıklayın.
  2. Kod düzenleyicide, <ScriptTarget> öğesini düzenleyin. Bunu yaparken <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 yoluyla çağırabilirsiniz. Örneğin, temel yolun v1/hellobelirtildiği Hello World! (Merhaba Dünya!) örneğini inceledik. Ancak, Proxy Endpoint'i düzenleyerek temel yolu değiştirebilirsiniz.

  1. Gezgin'deki Proxy Endpoints (Proxy Uç Noktaları) bölümünde proxy uç noktasının adını (genellikle varsayılan olarak adlandırılır) tıklayın.
  2. Kod düzenleyicide, <BasePath> öğesini istediğiniz adla değiştirerek <HttpProxyConnection> öğesini düzenleyin. Ö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. Yeni temel yolu kullanarak proxy'yi aşağıdaki gibi çağırın:

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

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

Node.js kodu içeren bir proxy'yi Edge'e dağıttıktan sonra, proxy'yi her 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 en çok tercih edilen yöntemdir.

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

Aynı menüden Import Into New Revision'ı (Yeni düzeltmeye aktar) seçerek proxy paketini Edge'e tekrar aktarabilirsiniz.

Proxy dağıtmak için de API'yi kullanabilirsiniz. Ayrıntılar için Proxy'leri komut satırından dağıtma başlıklı makaleyi inceleyin.

Sonraki Adımlar

Bir sonraki konu olan Mevcut bir API proxy'sine Node.js ekleme bölümünde, dosya sisteminizdeki mevcut bir proxy'ye Node.js uygulamasının nasıl ekleneceği ve bu uygulamanın Edge'e nasıl dağıtılacağı açıklanmaktadır.