Apigee Edge belgelerini görüntülüyorsunuz.
.
Git:
Apigee X belgeleri. bilgi
Ortam değişkeni sınırları
Barındırılan Hedefler, ortam değişkenlerinin boyutunu ve sayısını sınırlar Barındırılan Hedefler çalışma zamanı ortamında ayarlayabileceğiniz ayardır.
- 1000: Tek bir ortam değişkeninin maksimum uzunluğu.
- 100: Ayarlayabileceğiniz maksimum ortam değişkeni sayısı.
Ortam değişkenlerini ayarlama hakkında bilgi edinmek için Manifest dosyası.
Uygulama çalışma zamanında ayarlanan ortam değişkenleri
Bir Barındırılan Hedefler uygulamasını dağıttığınızda, aşağıdaki ortam değişkenleri ayarlanır ve uygulamanız için kullanılabilir:
APIGEE_ENVIRONMENT
: Barındırılan Hedef proxy'nin dağıtıldığı ortam.APIGEE_ORGANIZATION
- Barındırılan Hedef proxy'nin dağıtıldığı kuruluş.PORT
: Barındırılan Hedef uygulamasının dinlemesi gereken bağlantı noktası.
Sistem kaynağı ayırma
Her Barındırılan Hedefler örneği aşağıdaki kaynakları alır:
- 256 MB bellek
- 1,2 GHz CPU
Ölçeklendirme
Bu bölümde, Barındırılan Hedefler uygulamalarının, Edge hesabının türüne bağlı olarak nasıl ölçeklendirildiği açıklanmaktadır yükseltmeye çalışıyor.- Apigee Edge'in Deneme sürümü, proxy başına bir Barındırılan Hedefler örneğiyle sınırlıdır.
- Ücretli Apigee Edge hesapları; istek hızına, yanıt gecikmelerine,
ve diğer uygulama metriklerini görebilirsiniz.
- Apigee Edge'in hem ücretli hem de deneme sürümlerine dağıtılan Barındırılan Hedefler uygulamaları, işlem yapılmadığında sıfıra ölçeklenir. Bu durumda, kısa bir süreliğine yanıt sürelerinin daha yavaş olduğunu fark edebilirsiniz. Şu kaynakları da inceleyin Bilinen sorunlar
Manifest dosyası
Barındırılan uygulamayı derlemek ve dağıtmak için çalışma zamanı bilgilerini toplamak amacıyla Edge resources/hosted dizininde app.yaml adlı bir manifest dosyası oluşturun. Bu dosya, Barındırılan Hedefler uygulamasını oluşturmak ve dağıtmak için gereken bilgileri içerir.
Manfiest dosyası söz dizimi
runtime: node runtimeVersion: version_number command: command_name args: argument_array env: - name: variable_name value: literal_value - name: variable_name valueRef: name: kvm_name key: kvm_value
Manifest dosyası öğeleri
app.yaml manifest dosyaları aşağıdaki öğeleri içerir:
- runtime (çalışma zamanı) - (Zorunlu) Dağıttığınız uygulamanın türünü belirtir.
node
belirtmelisiniz. - runtimeVersion - (İsteğe bağlı) Çalışma zamanının, bazı işaretler bulabilirsiniz. Varsayılan: Node.js LTS (v10.x). Düğüm için resmi Docker deposu'na göz atın diğer seçenekler için.
- command - (İsteğe bağlı) Şu komuttan farklı çalıştırılacak bir komut belirtmenizi sağlar:
uygulamanızı başlatmak için kullanılan varsayılan komuttur. Varsayılan:
Node.js=npm
- bağımsız değişken - (İsteğe bağlı)
uygulaması (standart YAML dizisi söz diziminde belirtilir). Bunlar genellikle varsayılan komuta eklenir.
Varsayılan değer start'tır. Örneğin, varsayılan olarak Node.js uygulamasına
npm start
- env - (İsteğe bağlı) Ortam değişkenleri dizisi (ad/değer çiftleri) Barındırılan Hedefler çalışma zamanı ortamında ayarlanır. Bu değişkenler, Barındırılan Hedefler uygulaması.
- ad: Değişken adı.
- değer | valueRef - İki seçeneğiniz vardır. Değişmez değer ayarlayabilirsiniz
veya Anahtar/Değer Eşleme'de depolanan bir değere başvurun. Anahtar/Değer Eşlemesi,
Edge ortamınızda zaten mevcut. Bkz. Anahtar/Değer Eşlemeleriyle çalışma
- value kullanıyorsanız
name
değişkenini ve bir değişmez değervalue
belirtin. Örneğin:runtime: node env: - name: NODE_ENV value: production
- valueRef kullanırsanız
daha önce Edge'de oluşturduğunuz bir Anahtar Değer Eşlemesi (KVM) adını ve bir anahtarı sağlamanız gerekir.
Örneğin:
runtime: node env: - name: DB_ENV value: production - name: DB_PASSWORD valueRef: name: hosted-kvm key: db-password
- value kullanıyorsanız
- Apigeetool -- Bir komut satırı aracını kullanın.
- get_token - Apigeetool tarafından zorunlu kılınan bir yetkilendirme jetonunu elde etmek için kullanılan komut satırı aracı.
- Tarayıcıda https://github.com/apigee/api-platform-samples adresine gidin.
- Klonla veya indir'i tıklayın ve aşağıdakileri kullanarak depoyu yerel sisteminize çekin: tercih ettiğiniz yöntemi seçin.
- cd'yi <your install dir>/api-platform-samples/doc-samples/hosted-targets adresine gönderin
- Depo indirildikten sonra örnek dizinlerden istediğiniz cd'ye gidip Edge'e örnek proxy dağıtmak için BENİOKU talimatları. Dağıtma komutu aşağıda gösterilmektedir. Simply belirtilen parametreleri Apigee hesabınız için olan parametrelerle değiştirin:
- Ağ Gecikmeleri - Node.js uygulaması artık çalışmadığından artık MP'deki MP ve dağıtım arasında bir ağ geçişi bulunmaktadır. Tabii ki bunun bir maliyeti vardır ancak ilk karşılaştırmalar bunun makul bir tutar dahilinde olduğunu gösteriyor
- Yavaş API Yanıtları: Uygulamalarınızı çalıştıran altyapı ihtiyaca göre otomatik olarak ölçeklendirilir. Bu, uygulamanızın gerçekte 2003'e kadar sıfır örnektir. Bu durumda bir sonraki API isteğinin tamamlanması altyapı, örnek işlemeye hızlı bir şekilde odaklanıyor. Bunun nedeni, istek.
- Dağıtım hatası - Bir Barındırılan Hedefler proxy'si varsa proxy'yi yeniden dağıtmayı deneyin. Bazı durumlarda dağıtım zaman aşımına uğrayabilir ve yeniden dağıtım yaparsanız sorun kendi kendine çözülür.
Örnek manifest dosyaları
Bu bölümde, Node.js için örnek manifest dosyaları yer alır
izin verir. Barındırılan hedefler uygulamasını dağıtmak için manifest dosyası gereklidir ve dosyanın konumu olmalıdır.
apiproxy/resources/hosted
dizininde yer almalı ve dosya adı app.yaml
olmalıdır.
Aşağıda, Node.js uygulamalarına ait örnek app.yaml
(manifest) dosyaları verilmiştir.
Değişmez ortam değişkenini belirten örnek:
runtime: node
env:
- name: NODE_ENV
value: production
Başlat komutu, komut satırı bağımsız değişkenleri ve ortam değişkeni içeren örnek.
runtime: node
command: ./node_modules/pm2/bin/pm2
env:
- name: NODE_ENV
value: production
args:
- app.js
Anahtar/Değer Eşleme (KVM) referansını belirten örnek:
KVM erişimi hakkında daha fazla bilgi için Manifest dosyasını inceleyin.
runtime: node env: - name: DB_ENV value: production - name: DB_PASSWORD valueRef: name: hosted-kvm key: db-password
GitHub'daki Sample Hosted Target uygulamaları
Apigee, GitHub'da yazılmış Barındırılan Hedefler uygulamalarıyla örnek proxy'ler sağlar. Node.js'de görünür. Bu depoyu klonlayıp README talimatlarını uygulayarak proxy'leri dağıtabilirsiniz.
Ön koşullar
Örnekleri dağıtmak için sisteminizde iki araç yüklü olmalıdır:
Örnekleri yerel olarak test etmek istiyorsanız Node.js'nin yüklü olması gerekir.
Örnek depo edinme
get_token && apigeetool deployproxy \ -o YOUR_ORGANIZATION \ -e YOUR_ENVIRONMENT \ --json \ --token "$(< ~/.sso-cli/valid_token.dat)"\ --api NAME_OF_THE_PROXY \ --directory .
Örnek: Örnek uygulama yürütme
Örnek deposunu klonlama
cd ~/myhome
git clone https://github.com/apigee/api-platform-samples.git
cd ~/myhome/api-platform-samples/doc-samples/hosted-targets
cd node-hosted-hello
Uygulamayı yerel olarak test etme
Bu yerel testi yapabilmek için Node.js yüklü olmalıdır.
PORT=8081 node apiproxy/resources/hosted/index.js
curl http://localhost:8081
Örnek çıkış:
{"date":"2018-03-12T21:45:22.161Z","msg":"Hello, World!"}
Proxy'yi dağıtma
get_token && apigeetool deployproxy \ -o myorg \ -e test \ --json \ --token "$(< ~/.sso-cli/valid_token.dat)"\ --api node-hosted-hello \ --directory .
Dağıtımı test etme
Dağıtımın tamamlanması birkaç dakika sürebilir. Dağıtım hatası alırsanız komutu tekrarlamanız gerekir.
curl http://myorg-test.apigee.net/node-hosted-hello
Örnek çıkış:
{"date":"2018-03-23T18:59:18.668Z","msg":"Hello, World!"