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, bir Node.js uygulamasını yerel sisteminizden Apigee Edge'e nasıl dağıtacağınız açıklanmaktadır. Bu bölümde, Node.js uygulamalarını Apigee Edge'e dağıtmak için apigeetool adlı 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, tüm bağımlı Node.js modülleri dahil 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'de 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 ve benzeri işlemleri yapan bir HTTP sunucusu olarak çalışır. Node.js uygulamasını Edge'e dağıtmak için apigeetool kullandığınızda bu uygulama bir proxy içine sarmalanır ve Edge platformu bağlamında yürütülür. Bunun ardından, uygulamanızı yeni proxy URL'si aracılığıyla çağırabilir ve OAuth güvenliği, kota politikaları, tehdit koruması politikaları, koşullu akışlar, önbelleğe alma ve diğer pek çok standart Edge özelliklerini kullanarak uygulamaya 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 (Düğüm Paketli Modüller) ile yüklü tüm Node.js paketleriyle paketler.
  • Edge Management API'yi kullanarak API proxy yapılandırma paketini Apigee Edge'de belirtilen kuruluşa içe aktarır.
  • API proxy'sini bir ortama dağıtır.
  • Apigee Edge'de Node.js uygulamasını yürütür ve ağ üzerinde kullanılabilir hale getirir.

Apigeetool'u kullanmaya hazırlanma

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

Apigeetool'u npm aracılığıyla 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 *nix tabanlı makinelerde /usr/local/lib/node_modules/apigeetool konumuna yerleştirir.

GitHub'dan yükleme

API Platformu Araçlarını GitHub'dan indirin veya klonlayın. Yükleme talimatları için kod deposu 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 bulunduğundan emin olun. Aşağıdakileri yazarak test edebilirsiniz:

$ apigeetool -h

Apigeetool kullanarak Node.js uygulamasını Edge'e dağıtma

Not: Dağıtımdan önce Apigee Edge kuruluşunuzun adını, kullanıcı adını 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 Node.js uygulamasını 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 ç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. Bağlantı şuna benzer:

    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ürseniz bu kadardır. Her şey yolunda gitti. Node.js uygulamanız bir API proxy'sine sarılmış, Edge'e dağıtılmış ve çalışıyor ve istekleri ele almayı bekliyor. Test edilmeye hazır.

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

    $ curl http://myorg-test.apigee.net/myNodeApp
    Hello, My Node App!
    
  5. Dilerseniz Apigee Edge hesabınıza giriş yapıp yönetim kullanıcı arayüzünün API Proxy'leri sayfasına gidin. Yeni proxy'niz 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ı ele alır. Başka bir işlem yapılmasına gerek yoktur. Aynı durum, ek kaynak kodu içeren tüm dizinler için de geçerlidir. Apigeetool yardımcı programı bunları sıkıştırır ve paket ile birlikte dağıtır.

Bu sıkıştırılmış dizinlerdeki dosyaları Edge yönetim kullanıcı arayüzü düzenleyicisinde düzenleyemezsiniz. Bunları değiştirmeniz gerekirse projenizi dışa aktarabilir, dosyaları yerel olarak düzenleyebilir ve ardından Apigeetool kullanarak veya yönetim kullanıcı arayüzünden dışa aktarılan projeyi içe aktararak yeniden dağıtabilirsiniz. Ayrıca bkz. "Node.js kodu içeren bir 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şturduğunuzda eklemektir. Bu işlemi tamamen yönetim kullanıcı arayüzünden ve Yeni API Proxy iletişim kutusundan yapabilirsiniz.

  1. API proxy'si özet sayfasında +API Proxy'yi tıklayın.
  2. Yeni API Proxy iletişim kutusunda Mevcut Node.js'yi seçin.
  3. İçe aktarmak üzere 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 şablona hellonode diyoruz.
  5. /v1 sürümünü Project Base Path'e ekleyin. En iyi uygulama, API'nizin sürümünü oluşturmaktır.
  6. Oluştur'u 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 şekilde 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, kodu 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, yani Edge'in proxy dağıtıldığında çağırdığı dosya olduğunu da belirtebilirsiniz.

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

Yönetim kullanıcı arayüzü, Edge platformunda bulunan bir proxy'ye ek Node.js kaynak dosyalarını ekleyebilmenizi sağlar. Bunları doğrudan kullanıcı arayüzünde oluşturabilir veya dosya sisteminizden içe aktarabilirsiniz. Öncelikle bunun kullanıcı arayüzünden nasıl yapılacağına 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, Düğüm dosya türünü seçin ve komut dosyasına 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"}}]]

Node.js dosyalarını dosya sisteminizden 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 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 isterseniz 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ı yalnızca ç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, <ResourceURL> öğesini ana Node.js dosyası olmasını istediğiniz dosyanın adını yansıtacak şekilde değiştirerek <ScriptTarget> öğesini düzenleyin. Örneğin, ana dosya olarak hello-world.js adlı bir dosyanın kullanılmasını isterseniz ResourceURL öğesine node://hello-world.js girilir.
  3. Kaydet'i tıklayın.

Bu noktada, dosyayı daha önce kullandığınız proxy yoluyla çağırabilirsiniz. Örneğin, v1/hello temel yolunun belirtildiği Hello World! örneğine bakıyoruz. Ancak Proxy Uç Noktası'nı düzenleyerek temel yolu değiştirebilirsiniz.

  1. Gezgin'de Proxy Uç Noktaları altında, proxy uç noktasının adını (genellikle varsayılan olarak adlandırılır) tıklayın.
  2. Kod düzenleyicide <BasePath> kısmını istediğiniz adla değiştirerek <HttpProxyConnection> öğesini düzenleyin. Örneğin, geçerli <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 şu şekilde çağırın:

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

Node.js kodu içeren bir proxy'yi dışa ve içe aktarma

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

  1. API proxy özeti sayfasından Geliştir'i tıklayın.
  2. Geliştirme sayfasında, Mevcut Düzeltmeyi İndir'i seçin.
  3. Sisteminize indirilen dosyayı açın.

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

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

Sonraki adımlar

Bir sonraki konu olan Mevcut API proxy'sine Node.js ekleme'de, dosya sisteminizdeki mevcut bir proxy'ye Node.js uygulamasının nasıl ekleneceğini ve Edge'e nasıl dağıtılacağını açıklanmaktadır.