Barındırılan Hedefler eğitimleri

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

Aşağıdaki eğiticilerde, Apigee tarafından barındırılan yerel bir Node.js çalışma ortamı olan Barındırılan Hedefler kullanılarak Node.js uygulamalarının Edge'e nasıl dağıtılacağı açıklanmaktadır.

Eğiticiler aşağıdaki görevlerde size yol gösterir:

  • Edge kullanıcı arayüzünü kullanarak bir Node.js uygulamasını barındırılan hedeflere dağıtma.
  • Yerel geliştirme makinenizden barındırılan hedeflere Node.js uygulaması dağıtma.
  • Geleneksel Edge Node.js hedef uygulamasına sahip mevcut bir proxy'yi Barındırılan Hedefler'e taşıma.

Edge kullanıcı arayüzünü kullanarak bir Node.js uygulamasını barındırılan hedeflere dağıtma

Bu eğitimde, Edge kullanıcı arayüzünü kullanarak basit bir Node.js uygulamasını barındırılan hedeflere dağıtacaksınız. Eğitimi tamamladığınızda, barındırılan hedefler proxy'sinin temel yapısını ve içeriğini, dağıtıma ve derleme günlük dosyalarına nasıl erişeceğinizi anlayacaksınız.

Oturum aç

  1. apigee.com/edge adresine gidin.
  2. Oturum açmak için Apigee giriş kimlik bilgilerinizi girin.

Yeni bir proxy oluşturma

  1. Yan gezinme menüsünde Geliştir > API Proxy'leri seçeneğini belirleyin.
  2. + Proxy'yi tıklayın.
  3. Proxy Oluştur sayfasında, Barındırılan Hedef'i seçin.
  4. İleri'yi tıklayın.
  5. Proxy Adı alanına hello-hosted-targets yazın.
  6. "Hello World" Sample'ın seçili olduğundan emin olun.
  7. İleri'yi tıklayın.
  8. Security (Güvenlik) sayfasında, Yetkilendirme için Pass via (none) (Geçiş) seçeneğini belirleyin.
  9. İleri'yi tıklayın.
  10. İleri'yi tıklayın.
  11. Derleme sayfasında test ortamının seçildiğinden emin olun. Proxy Türünün Barındırılan Hedefler olduğuna dikkat edin.
  12. Build and Deploy (Derleme ve Dağıt) seçeneğini tıklayın. Proxy dağıtımının tamamlanması birkaç dakika sürebilir.
  13. Proxy başarıyla dağıtıldıktan sonra sayfanın en altında hello-hosted-targets proxy'yi görüntüle seçeneğini tıklayın.
  14. API proxy'sini çağırın. Bunu yapmanın en kolay yolu Trace sekmesine gidip bir Trace oturumu başlatmak ve Gönder'i tıklamaktır. Aşağıdaki yanıtı içeren 200 durumu alırsınız:
    {"date":"2018-09-26T14:23:04.550Z","msg":"Hello, World!"}

Proxy'yi inceleyin

  1. Edge kullanıcı arayüzünde Develop (Geliştirme) sekmesini tıklayın.
  2. Navigator'da Hedef Uç Noktaları altında varsayılan'ı seçin.
  3. Kod düzenleyicide, <TargetEndpoint> öğesinin altında boş bir <HostedTarget/> alt öğesi olduğuna dikkat edin. Bu boş etiket zorunludur. Edge'e, proxy hedefinin Barındırılan Hedefler ortamına dağıtılan bir uygulama olduğunu bildirir.

  4. Gezinme Aracı'nda Komut Dosyaları bölümündeki içeriklere dikkat edin. Node.js uygulama dosyaları, barındırılan etiketi altında listelenir.

  5. Edge kullanıcı arayüzünde, Komut Dosyaları'ndaki Barındırılan dosyaların altında listelenen dosyaları inceleyin:
    • app.yaml dosyası yapılandırma bilgilerini içerir. Örneğin, çalışma zamanında Node.js uygulamasında kullanılabilecek ortam değişkenleri ekleyebilirsiniz. Bu örnek için bu dosyayı değiştirmeniz gerekmez.
    • index.js dosyası, Node.js uygulamasının ana dosyasıdır.
    • Uygulamanızda modül bağımlılıkları varsa bunlar package.json dosyasında listelenmelidir.

Günlük dosyalarını görüntüleme

Uygulama günlük dosyaları, derleme aşamasında ve çalışma zamanında ortaya çıkan sorunların hata ayıklamasında yararlı olabilir.

  1. Edge kullanıcı arayüzünde Geliştir sekmesini tıklayın.
  2. Derleme günlüğünü görmek için Derleme Günlükleri'ni tıklayın.
  3. Dağıtım günlüğünü görmek için Çalışma Zamanı Günlükleri'ni tıklayın.

    Günlük dosyalarına erişme başlıklı makaleyi de inceleyin.

Özet

  • Barındırılan Hedefler ortamına basit bir Node.js uygulamasını dağıttınız ve bu uygulamayı Edge kullanıcı arayüzünde test ettiniz.
  • Barındırılan Hedefler proxy'sinin, Hedef Uç Noktasında <HostedTarget/> adlı özel bir boş etiket gerektirdiğini öğrendiniz.
  • Edge'in modül bağımlılıklarını sizin için otomatik olarak yüklediğini ve bağımlılıkların package.json dosyasında listelenmesi gerektiğini öğrendiniz.
  • Ayrıca derleme ve çalışma zamanı günlük dosyalarını nasıl kontrol edeceğinizi öğrendiniz.

Node.js&#39;yi sisteminizden Edge&#39;e dağıtma

Bu bölümde, apigeetool aracını kullanarak yerel sisteminizden Barındırılan Hedeflere bağımsız bir Node.js uygulamasını nasıl dağıtacağınız açıklanmaktadır. apigeetool yardımcı programı, Node.js uygulamasını yeni bir Barındırılan Hedefler proxy'sinde paketler ve Edge'e dağıtır.

apigeetool'u yükleme

Geliştiricilerin Edge'e proxy kodunu dağıtmaları için apigeetool uygulamasını kullanmanız önerilir. apigeetool'u yüklemek için aşağıdaki NPM komutunu çalıştırın:

npm install -g apigeetool

Node.js uygulamasını oluşturma

İşinizi kolaylaştırmak için basit bir Node.js uygulamasının kodu sizin için sağlanmıştır.

  1. Node.js uygulaması için bir dizin oluşturun. Dizini node-hosted-express olarak adlandırın.
  2. Yeni dizine cd komutunu kullanarak gidin.
  3. index.js adlı bir dosya oluşturun ve bu kodu içine kopyalayın.
  4. var express = require('express')
    var app = express()
    
    app.get('/', function(req, res) {
        res.json({
            hello: "Hello World!"
        })
    })
    
    app.get('/hello/:name', function(req, res) {
        var name = req.params.name
        res.json({
            hello: "hello " + name
        })
    })
    
    var server = app.listen(process.env.PORT || 9000, function() {
        console.log('Listening on port %d', server.address().port)
    })
    
  5. package.json adlı bir dosya oluşturun ve bu kodu içine kopyalayın. Ekspres modülün bir bağımlılık olarak listelendiğine dikkat edin.
  6. {
        "name": "hello-world",
        "version": "1.0.0",
        "main": "index.js",
        "scripts": {
            "start": "node index.js --use_strict"
        },
        "author": "",
        "license": "",
        "dependencies": {
            "express": "^4.16.0"
        }
    }
    
  7. app.yaml adında bir dosya oluşturun ve bu kodu dosyaya kopyalayın:
  8. runtime: node
    runtimeVersion: 8
    application: my-express-app
    env:
      - name: NODE_ENV
        value: production
      - name: LOG_LEVEL
        value: 3
    
  9. Dizininiz şu şekilde görünmelidir:
    ls
    app.yaml index.js package.json
    

Uygulama kodu için gerekli dizin yapısının incelenmesi

Node.js uygulamanız standart bir Node.js uygulamasıyla aynı yapıya sahip olmalıdır. Ancak Edge'e apigeetool ile dağıtmadan önce aşağıdaki şartlara uyduğunuzdan emin olun:

  • app.yaml manifest dosyası gereklidir ve uygulamanızın kök dizininde bulunmalıdır. Bu dosya hakkında daha fazla bilgi edinmek için manifest dosyası başlıklı makaleyi inceleyin.
  • package.json dosyası gereklidir. Uygulamanızın ihtiyaç duyduğu tüm bağımlılıklarını listelemelidir.
  • node_modules klasörü gerekli değildir. Edge, Node.js uygulaması dağıtıldığında sizin için npm install komutunu çalıştırır. Bağımlılıkları package.json dosyasından alır. node_modules parametresini açıkça belirtmeniz gereken tek durum, npm üzerinden kullanılamayan özel modülleriniz varsa

Proxy'yi dağıtma

  1. Bir terminal penceresine cd komutunu Node.js uygulamanızın kök dizinine ekleyin.
  2. apigeetool'u deployhostedtarget komutuyla çalıştırın:
  3. apigeetool deployhostedtarget -o org -e env -n proxy-name -b /node-hosted-express -u username

    Burada -n, yeni proxy'ye vermek istediğiniz addır. Kuruluş içinde benzersiz olmalıdır. Adda kullanabileceğiniz karakterler şu şekilde kısıtlanmıştır: a-z0-9._\-$%

    Örneğin:

    apigeetool deployhostedtarget -o myorg -e test -n node-hosted-express -b /node-hosted-express -u jdoe@apigee.com

    apigeetool aracını kullanma hakkında daha fazla bilgi için bkz. https://github.com/apigee/apigeetool-node.

Proxy'yi test etme

Proxy'yi cURL komutuyla, Postman gibi bir REST istemcisiyle veya İzleme aracındaki Edge kullanıcı arayüzünde test edebilirsiniz. Aşağıda bir örnek cURL komutu verilmiştir.

curl http://myorg-test.apigee.net/node-hosted-express
     {"date":1506992197427,"msg":"hello-world"}

Derleme günlüklerini alma

Derleme günlükleri, Node.js uygulamasının dağıtımı ve oluşturulmasıyla ilgili çıkışlarınızı gösterir. Ayrıca Günlük dosyaları başlıklı makaleyi de inceleyin.

apigeetool getlogs -u username -o org -e env --hosted-build -n proxy-name

Örneğin:

apigeetool getlogs -u jdoe@apigee.com -o myorg -e test --hosted-build -n node-hosted-express

Çalışma Zamanı Günlüklerini Alma

Çalışma zamanı günlükleri, çalışan uygulamayla ilgili çıktıları gösterir. Çalışma zamanı günlükleri, ortama göre belirlenir ve şu anda dağıtılan proxy düzeltmesi için günlükleri döndürür. Günlük dosyaları başlıklı makaleyi de inceleyin.

apigeetool getlogs -u username -o org -e env --hosted-runtime -n proxy-name

Örneğin:

apigeetool getlogs -u jdoe@apigee.com -o myorg -e test --hosted-runtime -n node-hosted-express

Proxy'yi Edge kullanıcı arayüzünde görüntüleme

Başarılı bir dağıtımdan sonra Edge kullanıcı arayüzünün API Proxy'leri bölümünde proxy'nizi görüntüleyebilir ve düzenleyebilirsiniz.

Mevcut bir Node.js proxy'sini Barındırılan Hedefler proxy'sine taşıma

Bu bölümde, geleneksel Node.js hedef uygulamasını kullanan mevcut bir Edge API proxy'sinin Barındırılan Hedeflere nasıl manuel olarak taşınacağı açıklanmaktadır. Ayrıca, taşıma adımlarını gerçekleştirdikten sonra proxy'yi nasıl dağıtacağınız da açıklanmaktadır.

Taşıma adımları, API proxy yapısını, politikaları, akışları ve diğer yapılandırma öğelerini korur. Taşıma işlemini aşağıda açıklandığı gibi dört adımda gerçekleştirebilir ve ardından taşınan proxy'yi apigeetool ile dağıtabilirsiniz.

1. Adım: Proxy dosya yapısını ayarlayın

Dosya yapısını ayarlamak için API proxy'sinin yerel dosya sisteminizde olması gerekir. Proxy, Edge'de dağıtılmışsa devam etmeden önce indirmeniz gerekir. Geleneksel yapılandırmada ve Node.js kodunu içeren Edge proxy "paketi" bu dosya yapısını izler. Node.js uygulama kodu resources/node dizinine yerleştirilir:

apiproxy/
    policies/
    proxies/
    targets/
    resources/
      node/
        Your application code


Barındırılan hedefler için Node.js uygulamanızın kök dizinini resources/hosted adlı bir dizinin altına yerleştirmeniz gerekir. resources/hosted adlı yeni bir dizin oluşturup resources/node içeriğini bu dizin içine taşımanız yeterlidir. Ardından resources/node dizinini silebilirsiniz.

apiproxy/
     policies/
     proxies/
     targets/
     resources/
       hosted/
         Your application code

2. Adım: Manifest dosyasını ekleyin

app.yaml adında bir manifest dosyası oluşturun ve bunu apiproxy/resources/hosted dizinine yerleştirin.

Aşağıda, örnek bir app.yaml dosyası gösterilmektedir. Çalışma zamanının Node.js olduğunu belirtir (zorunlu). Ayrıca, yürütme ortamında bir ortam değişkeni (Node.js uygulaması tarafından erişilebilen bir değişken) oluşturur. Ortam değişkeni isteğe bağlıdır ve burada yalnızca örnek olarak gösterilmektedir. Daha fazla ayrıntı ve örnek için Manifest dosyası bölümüne bakın.

runtime: node
  env:
    - name: NODE_ENV
      value: production


Aşağıdaki örnekte, barındırılan hedefler dağıtımı için proxy'de doğru konumda bulunan bir Node.js proje yapısı gösterilmektedir:

apiproxy/
   resources/
      hosted/
        index.js
        node_modules/
        app.yaml
        package.json

3. Adım: package.json dosyanızın bulunduğundan emin olun

Geleneksel Edge Node.js proxy'lerinde package.json isteğe bağlıydı. Ancak, Barındırılan Hedefler için apiproxy/resources/hosted dizininde bir tane sağlamanız gerekir. Bu dosyada, uygulamanız için gerekli tüm bağımlılıkları belirttiğinizden emin olun.

4. Adım: Proxy'nin hedef uç noktasını değiştirin

Geleneksel Node.js proxy'si, hedef uç nokta dosyasında <ScriptTarget> adlı bir etiketin (genellikle /apiproxy/targets/default.xml) bulunmasını gerektirir. Barındırılan Hedefler için &lt;HostedTarget/&gt; adlı boş bir etiket eklemeniz gerekir. Dosyada ScriptTarget etiketi varsa bunu kaldırmanız yeterlidir. Örneğin:

    <?xml version="1.0" encoding="UTF-8"?>
    <TargetEndpoint name="default">
       <Description />
       <FaultRules />
       <PreFlow name="PreFlow">
          <Request />
          <Response />
       </PreFlow>
       <PostFlow name="PostFlow">
          <Request />
          <Response />
       </PostFlow>
       <Flows />
       <HostedTarget />
    </TargetEndpoint>
    

Proxy'yi dağıtma

Artık apigeetool deployproxy komutunu kullanarak proxy'yi dağıtabilirsiniz.

  1. cd'yi proxy'nizin kök dizinine kopyalayın: /apiproxy
  2. Proxy'yi dağıtmak için şu komutu kullanın:
  3. apigeetool deployproxy -u username -o org -e env -n proxy-name -d .

    Örneğin:

    apigeetool deployproxy -u jdoe -o docs -e test -n hello-world -d .

apigeetool kullanımı hakkında daha fazla bilgi için: https://github.com/apigee/apigeetool-node/blob/master/README.md adresine bakın.

Proxy'yi test etme

Proxy'yi cURL komutuyla, Postman gibi bir REST istemcisiyle veya İzleme aracındaki Edge kullanıcı arayüzünde test edebilirsiniz. Aşağıda örnek bir cURL komutu verilmiştir:

curl http://myorg-test.apigee.net/hello-world
Hello,World!