Barındırılan Hedefler eğitimleri

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

Aşağıdaki eğiticilerde Node.js uygulamalarının Edge'e nasıl dağıtılacağı açıklanmaktadır Barındırılan Hedefler Apigee tarafından barındırılan yerel bir Node.js çalışma zamanı ortamına sahip olmanız gerekir.

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

Bu eğiticide, Edge'i kullanarak Barındırılan Hedeflere basit bir Node.js uygulaması dağıtacaksınız. Kullanıcı arayüzü. Eğiticiyi tamamladığınızda, Barındırılan hedefler proxy'si hakkında bilgi edinin ve dağıtıma erişme ve günlük dosyaları derleme hakkında bilgi edinin.

Oturum açma

  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 bölümüne bakın.
  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" Örnek seçilir.
  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. Bildirim Proxy türünün Barındırılan Hedefler olduğundan emin olun.
  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 hello-hosted-targets proxy'sini görüntüle seçeneğini tıklayın. tıklayın.
  14. API proxy'sini çağırın. Bunu yapmanın en kolay yolu Trace'e gitmektir sekmesinde, bir İzleme başlatın oturumunu seçin ve Gönder'i tıklayın. Aşağıdaki özelliklere sahip bir 200 durumu alırsınız: yanıt:
    {"date":"2018-09-26T14:23:04.550Z","msg":"Hello, World!"}

Proxy'yi inceleme

  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 boş bir <HostedTarget/> alt öğesi olduğuna dikkat edin öğesini <TargetEndpoint> öğesinin altında bulabilirsiniz. Bu boş etiket gereklidir. Edge'e proxy'nin hedefinin Barındırılan Hedefler ortamı.

  4. Gezinme Aracı'nda Komut Dosyaları bölümündeki içeriklere dikkat edin. İlgili içeriği oluşturmak için kullanılan 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, Node.js uygulamasında kullanılabilecek ortam değişkenlerini belirler. Bu örnekte, söz konusu dosyayı değiştirmeniz gerekmez.
    • index.js dosyası, Node.js uygulamasının ana dosyasıdır.
    • Uygulamanızda modül varsa bu bağımlılıkların package.json dosyasında listelenmesi gerekir.

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

Uygulama günlük dosyaları, derleme aşamasında ortaya çıkan hataları ayıklamak için yararlı olabilir hem de çalışma zamanında.

  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.

    Şu kaynakları da inceleyin Günlük dosyalarına erişme.

Özet

  • Barındırılan Hedefler ortamına basit bir Node.js uygulamasını dağıttınız ve bunu Edge kullanıcı arayüzünde yapabilirsiniz.
  • Barındırılan Hedefler proxy'sinin, Hedef bölümünde özel boş bir etiket gerektirdiğini öğrendiniz. <HostedTarget/> adlı uç nokta.
  • Edge'in modül bağımlılıklarını sizin için otomatik olarak yüklediğini ve bu bağımlılıkların package.json dosyasında listelenmelidir.
  • Derleme ve çalışma zamanı günlük dosyalarını nasıl kontrol edeceğinizi de öğrendiniz.

Node.js'yi sisteminizden Edge'e dağıtma

Bu bölümde, yerel sisteminizden bağımsız bir Node.js uygulamasını Apigeetool aracını kullanarak Barındırılan Hedefler'i kullanabilirsiniz. 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 proxy dağıtması için önerilen yöntem Apigeetool'u kullanmaktır olarak ayarlayın. Apigeetool öğesini yüklemek için aşağıdaki NPM komutunu çalıştırın:

npm install -g apigeetool

Node.js uygulamasını oluşturma

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

  1. Node.js uygulaması için bir dizin oluşturun. node-hosted-express dizinini çağırın.
  2. cd dosyasını yeni dizine kopyalayın.
  3. index.js adlı bir dosya oluşturun ve bu kodu dosyaya 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 adında bir dosya oluşturun ve bu kodu dosyaya kopyalayın. Not: ekspres modülü bir bağımlılık olarak listelenir.
  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. Dizininizin aşağıdaki gibi göründüğünden emin olun:
    ls
    app.yaml index.js package.json
    

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

Node.js uygulamanızda standart bir Node.js uygulamasıyla aynı yapıda çalışır. Ancak, şu politikalara uyduğunuzdan emin olun: gereksinimleri: apigeetool ile Edge'e dağıtmadan önce:

  • app.yaml manifest dosyası zorunludur ve kök dizinde bulunmalıdır. dizinini oluşturur. Bu dosya hakkında daha fazla bilgi edinmek için manifest dosyasına bakın.
  • package.json dosyası gereklidir. Projenizin yürütmesi gereken pek çok yolu vardır.
  • 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. Gider package.json dosyasından bağımlılıkları. Böyle bir durumda açıkça node_modules işlevinde, mevcut olmayan özel modülleriniz varsa npm ile ayarlayın.

Proxy'yi dağıtma

  1. Bir terminal penceresine cd komutunu Node.js uygulamanızın kök dizinine ekleyin.
  2. deployhostedtarget komutuyla Apigeetool uygulamasını yürütme:
  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. Benzersiz olmalıdır kurum içinde tutmaktır. Adda kullanmanıza izin verilen karakterler yalnızca şu: 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 Edge kullanıcı arayüzünde test edebilirsiniz izin verilenler listesine eklenir. Aşağıda, örnek bir 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ılması ve derlenmesiyle ilgili çıkışları gösterir. 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 çıkışları gösterir. Çalışma zamanı günlükleri ortamın kapsamına alınır ve şu anda dağıtılmış olan 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, proxy'nizi Edge kullanıcı arayüzü.

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

Bu bölümde, geleneksel Barındırılan Hedeflere Node.js hedefinin uygulanması. Ayrıca, proxy'nin nasıl dağıtılacağını da taşıma adımlarını uyguladınız.

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

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 dağıtıldıysa uygulamayı indirmeniz gerekir inceleyin. Geleneksel yapılandırmada ve Edge proxy'si "bundle" bu dosya yapısına uyar. 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ı dizin. Adında yeni bir dizin oluşturun. kaynaklar/barındırılan ve resources/node içeriğini taşıyın inceleyeceğiz. Ardından, resources/node dizinini silebilirsiniz.

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

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

app.yaml adlı bir manifest dosyası oluşturun ve bunu apiproxy/resources/hosted dizini ekleyin.

Aşağıda, örnek bir app.yaml dosyası gösterilmektedir. Çalışma zamanının Node.js (gerekli). Ayrıca yürütme ortamında bir ortam değişkeni oluşturur (Node.js uygulaması tarafından erişilebilen bir değişken). 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 örnek, Barındırılan Hedefler dağıtımı için proxy:

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ıdır. Ancak, Barındırılan Hedefler için apiproxy/resources/hosted dizininde bir tane sağlamanız gerekir. Emin olun kullanın.

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

Geleneksel bir Node.js proxy'si, <ScriptTarget> adlı bir etiketin hedef uç nokta dosyasında bulunmalıdır (genellikle /apiproxy/targets/default.xml). Barındırılan Hedefler için &lt;HostedTarget/&gt; adlı boş bir etiket eklemeniz gerekir. Dosyada ScriptTarget etiketi varsa bu etiketi 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 bu 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ıyla ilgili daha fazla bilgi için şu sayfayı inceleyin: https://github.com/apigee/apigeetool-node/blob/master/README.md.

Proxy'yi test etme

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

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