درحال مشاهده اسناد Apigee Edge هستید.
به
اسناد Apigee X بروید. اطلاعات
محدودیتهای متغیر محیط
«هدفهای میزبانیشده» اندازه و تعداد متغیرهای محیطی را که میتوانید در محیط زمان اجرای «هدفهای میزبانیشده» تنظیم کنید محدود میکند.
- ۱۰۰۰: حداکثر طول متغیر محیطی واحد.
- ۱۰۰: حداکثر تعداد متغیرهای محیطی که میتوانید تنظیم کنید.
برای کسب اطلاعات درباره تنظیم متغیرهای محیطی، به فایل مانیفست مراجعه کنید.
متغیرهای محیطی تنظیمشده در زمان اجرای برنامه
وقتی برنامه «هدفهای میزبانیشده» را مستقر میکنید، متغیرهای محیطی زیر تنظیم میشوند و در زمان اجرا برای برنامهتان دردسترس هستند:
APIGEE_ENVIRONMENT- محیطی که پراکسی «هدف میزبانیشده» در آن مستقر شده است.-
APIGEE_ORGANIZATION- سازمانی که پراکسی «هدف میزبانیشده» در آن مستقر شده است. PORT- درگاهی که برنامه «هدف میزبانیشده» باید به آن گوش دهد.
تخصیص منبع سیستم
هر نمونه «هدفهای میزبانیشده» منابع زیر را دریافت میکند:
- ۲۵۶ مگابایت حافظه
- واحد پردازش مرکزی ۱٫۲ گیگاهرتز
مقیاسگذاری
این بخش توضیح میدهد که برنامههای «هدفهای میزبانیشده» بسته به نوع حساب Edge شما چگونه مقیاسبندی میشوند.- نسخه آزمایشی Apigee Edge به یک نمونه «هدفهای میزبانیشده» در هر پراکسی محدود است.
- حسابهای پولی Apigee Edge براساس نرخ درخواست، تأخیرهای پاسخ، و
سنجههای دیگر برنامه بهازای هر پراکسی، مقیاسبندی خودکار دریافت میکنند.
- برنامههای «هدفهای میزبانیشده» که در نسخههای پولی و آزمایشی Apigee Edge مستقر شدهاند در دورههای عدم فعالیت به صفر میرسند. در این حالت، ممکن است متوجه زمان پاسخدهی کندتر برای یک دوره کوتاه شوید. همچنین ببینید مشکلات شناختهشده
فایل مانیفست
برای جمعآوری اطلاعات زمان اجرا برای ساختن و استقرار برنامه میزبانیشده، Edge بهدنبال فایل مانیفستی بهنام app.yaml در دایرکتوری resources/hosted میگردد. این فایل حاوی اطلاعات لازم برای ساختن و استقرار برنامه «هدفهای میزبانیشده» است.
نحو فایل مانیفست
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
عناصر فایل مانیفست
فایل مانیفست app.yaml شامل این عناصر است:
- زمان اجرا - (الزامی) نوع برنامهای را که مستقر میکنید مشخص میکند.
باید
nodeرا مشخص کنید. - runtimeVersion - (اختیاری) نسخه زمان اجرایی که برنامه شما استفاده میکند. پیشفرض: Node.js LTS (نسخه ۱۰.x). برای گزینههای دیگر، به مخزن رسمی Docker برای Node مراجعه کنید.
- فرمان - (اختیاری) به شما امکان میدهد فرمان دیگری را برای اجرا مشخص کنید
بهجز فرمان پیشفرضی که برای شروع برنامه استفاده میشود. پیشفرض:
Node.js=npm - args - (اختیاری) آرایه آرگومانهای خط فرمان برای ارسال به
برنامه (مشخصشده در نحو آرایه استاندارد YAML). معمولاً این موارد به فرمان پیشفرض اضافه میشوند.
پیشفرض شروع است. برای مثال، بهطور پیشفرض فرمان
npm startبه برنامه Node.js ارسال خواهد شد. - env - (اختیاری) آرایهای از متغیرهای محیطی (جفتهای نام/مقدار) برای تنظیم در محیط زمان اجرای «هدفهای میزبانیشده». این متغیرها برای برنامه «هدفهای میزبانیشده» استقراریافته شما دردسترس است.
- name - نام متغیر.
- value | valueRef - دو گزینه دارید. میتوانید مقدار واقعی
تنظیم کنید یا به مقدار ذخیرهشده در نقشه مقدار کلید ارجاع دهید. «نقشه مقدار کلید» باید ازقبل در محیط Edge شما وجود داشته باشد. به کار کردن با «نقشههای مقدار کلید» مراجعه کنید
- اگر از مقدار استفاده میکنید، باید
متغیر
nameو حرفvalueرا مشخص کنید. برای مثال:runtime: node env: - name: NODE_ENV value: production - اگر از valueRef استفاده میکنید،
باید نام نقشه مقدار کلید (KVM) را که قبلاً در Edge ایجاد کردهاید و کلید را ارائه دهید.
برای مثال:
runtime: node env: - name: DB_ENV value: production - name: DB_PASSWORD valueRef: name: hosted-kvm key: db-password
- اگر از مقدار استفاده میکنید، باید
متغیر
- apigeetool -- ابزار خط فرمان برای استقرار پراکسیهای Edge.
- get_token - ابزار خط فرمان برای دریافت نمودار اصالتسنجی موردنیاز apigeetool.
- در مرورگر، به https://github.com/apigee/api-platform-samples بروید.
- روی شبیهسازی یا بارگیری کلیک کنید و بااستفاده از روش ترجیحی خود، مخزن را به سیستم محلی خود بکشید. روش ترجیحی خود.
- به <your install dir>/api-platform-samples/doc-samples/hosted-targets cd کنید
- پساز بارگیری مخزن، میتوانید به هریک از دایرکتوریهای نمونه بروید و دستورالعملهای README را برای استقرار یک پراکسی نمونه در Edge دنبال کنید. فرمان استقرار در زیر نشان داده شده است. بهسادگی پارامترهای نشاندادهشده را با پارامترهای حساب Apigee خود جایگزین کنید:
- تأخیرهای شبکه - اکنون که برنامه Node.js دیگر در JVM «پردازشگر پیام» اجرا نمیشود، بین «پردازشگر پیام» و استقرار جهش شبکه وجود دارد. البته این کار هزینه دارد اما معیارهای سنجش اولیه نشان میدهد که هزینه آن در محدوده معقولی است
- پاسخهای کند میانای برنامهسازی کاربردی - زیرساخت اجرای برنامههای شما بهطور خودکار براساس نیاز مقیاسبندی میشود. این یعنی برنامه شما میتواند تا صفر نمونه مقیاسبندی کند و اگر اینطور باشد، درخواست بعدی میانای برنامه کاربردی کمی بیشتر از درخواستهای معمول میانای برنامه کاربردی طول میکشد زیرا زیرساخت درحال راهاندازی نمونه(های) موردنیاز برای پردازش درخواست(ها) است.
- خطای استقرار - اگر هنگام استقرار پراکسی «هدفهای میزبانیشده» خطای استقرار دریافت کردید، پراکسی را دوباره مستقر کنید. در برخی موارد، استقرار میتواند زمانبندی شود و اگر دوباره مستقر کنید، مشکل خودبهخود حل خواهد شد.
فایلهای مانیفست نمونه
این بخش حاوی فایلهای مانیفست نمونه برای برنامههای Node.js است. برای استقرار برنامه «هدفهای میزبانیشده»، فایل مانیفست لازم است و باید در
دایرکتوری apiproxy/resources/hosted قرار داشته باشد و نام فایل باید app.yaml باشد.
در زیر نمونههایی از فایلهای app.yaml (مانیفست) برای برنامههای Node.js آورده شده است.
مثالی که متغیر محیطی حرفی را مشخص میکند:
runtime: node
env:
- name: NODE_ENV
value: productionمثالی با فرمان شروع، آرگومانهای خط فرمان، و متغیر محیطی.
runtime: node
command: ./node_modules/pm2/bin/pm2
env:
- name: NODE_ENV
value: production
args:
- app.js
مثالی که مرجع «نقشه مقدار کلید» (KVM) را مشخص میکند:
برای کسب اطلاعات بیشتر درباره دسترسی KVM، به فایل مانیفست مراجعه کنید.
runtime: node env: - name: DB_ENV value: production - name: DB_PASSWORD valueRef: name: hosted-kvm key: db-password
برنامههای نمونه «هدفهای میزبانیشده» در GitHub
Apigee پراکسیهای نمونهای را در GitHub با برنامههای «هدفهای میزبانیشده» که با Node.js نوشته شدهاند ارائه میدهد. میتوانید این مخزن را شبیهسازی کنید و دستورالعملهای README را برای استقرار هریک از پراکسیها دنبال کنید.
پیشنیازها
برای استقرار نمونهها، باید دو ابزار در سیستم خود نصب داشته باشید:
اگر میخواهید نمونهها را بهصورت محلی آزمایش کنید، باید Node.js را نیز نصب کرده باشید.
درحال دریافت مخزن نمونه
get_token && apigeetool deployproxy \ -o YOUR_ORGANIZATION \ -e YOUR_ENVIRONMENT \ --json \ --token "$(< ~/.sso-cli/valid_token.dat)"\ --api NAME_OF_THE_PROXY \ --directory .
مثال: اجرای برنامه نمونه
همسانهسازی مخزن نمونهها
cd ~/myhomegit clone https://github.com/apigee/api-platform-samples.gitcd ~/myhome/api-platform-samples/doc-samples/hosted-targetscd node-hosted-hello
آزمایش کردن برنامه بهصورت محلی
برای انجام این آزمایش محلی، باید Node.js را نصب کرده باشید.
PORT=8081 node apiproxy/resources/hosted/index.jscurl http://localhost:8081
برونداد نمونه:
{"date":"2018-03-12T21:45:22.161Z","msg":"Hello, World!"}استقرار پراکسی
get_token && apigeetool deployproxy \ -o myorg \ -e test \ --json \ --token "$(< ~/.sso-cli/valid_token.dat)"\ --api node-hosted-hello \ --directory .
آزمایش کردن استقرار
ممکن است چند دقیقه طول بکشد تا استقرار تکمیل شود. اگر خطای استقرار دریافت کردید، فرمان استقرار را دوباره اجرا کنید.
curl http://myorg-test.apigee.net/node-hosted-hello
برونداد نمونه:
{"date":"2018-03-23T18:59:18.668Z","msg":"Hello, World!"