استقرار یک برنامه مستقل Node.js

شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید .
اطلاعات

این مبحث نحوه استقرار یک برنامه Node.js را از سیستم محلی خود در Apigee Edge توضیح می دهد. در این مبحث، نحوه استفاده از ابزار خط فرمان به نام apigeetool برای استقرار برنامه های Node.js در Apigee Edge را مورد بحث قرار خواهیم داد.

درباره استقرار کد Node.js در Apigee Edge

می‌توانید یک برنامه Node.js API موجود، از جمله هر ماژول Node.js وابسته، را از سیستم محلی خود به Apigee Edge با استفاده از یک ابزار خط فرمان به نام apigeetool استقرار دهید. این ابزار به طور خودکار برنامه و وابستگی های آن را در یک پروکسی API دسته بندی می کند و آن را در Edge مستقر می کند.

به عنوان مثال، فرض کنید از Express برای ایجاد یک برنامه وب در Node.js استفاده کرده اید. برنامه به عنوان یک سرور HTTP اجرا می شود که به درخواست های HTTP گوش می دهد، آن درخواست ها را پردازش می کند، داده ها را برمی گرداند و غیره. هنگامی که apigeetool برای استقرار یک برنامه Node.js در Edge استفاده می کنید، در یک پروکسی پیچیده می شود و در زمینه پلتفرم Edge اجرا می شود. سپس می‌توانید برنامه‌تان را از طریق URL پراکسی جدید آن فراخوانی کنید و می‌توانید با «پوشاندن آن» با ویژگی‌های استاندارد Edge مانند امنیت OAuth، خط‌مشی‌های سهمیه، خط‌مشی‌های حفاظت از تهدید، جریان‌های شرطی، ذخیره‌سازی و بسیاری موارد دیگر، ارزش بیشتری به آن اضافه کنید.

apigeetool چه کاری انجام می دهد؟

هنگامی که ابزار apigeetool با گزینه deploynodeapp اجرا می کنید، این موارد:

  • یک بسته پیکربندی پروکسی API برای قرار دادن برنامه Node.js ایجاد می کند.
  • برنامه Node.js را با هر بسته Node.js نصب شده با NPM (Node Packaged Modules) بسته بندی می کند.
  • بسته پیکربندی پروکسی API را با استفاده از API مدیریت Edge به سازمان مشخص شده در Apigee Edge وارد می‌کند.
  • پروکسی API را در یک محیط مستقر می کند.
  • برنامه Node.js را در Apigee Edge اجرا می کند و آن را از طریق شبکه در دسترس قرار می دهد.

آماده شدن برای استفاده از apigeetool

قبل از شروع، باید ابزار apigeetool نصب کنید.

می توانید apigeetool را از طریق npm یا با شبیه سازی و پیوند دادن کد از GitHub نصب کنید.

نصب از npm

ماژول apigeetool و وابستگی های آن برای Node.js طراحی شده اند و با استفاده از دستور زیر از طریق npm در دسترس هستند:

$ sudo npm install -g apigeetool

به طور معمول، گزینه -g ماژول ها را در /usr/local/lib/node_modules/apigeetool در ماشین های مبتنی بر *nix قرار می دهد.

نصب از GitHub

ابزارهای پلتفرم API را از GitHub دانلود یا شبیه سازی کنید. برای دستورالعمل‌های نصب، فایل README را در فهرست ریشه مخزن ببینید.

$ git clone https://github.com/apigee/apigeetool-node.git

وقتی نصب را کامل کردید، مطمئن شوید که ابزار اجرایی apigeetool در مسیر شما قرار دارد. می توانید آن را با تایپ کردن آزمایش کنید:

$ apigeetool -h

استقرار یک برنامه Node.js در Edge با apigeetool

توجه: قبل از استقرار، باید نام سازمان Apigee Edge، نام کاربری و رمز عبور حساب Apigee Edge خود را بدانید. برای تشکیل صحیح دستور apigeetool به این اطلاعات نیاز دارید.

برای استقرار یک برنامه Node.js با استفاده از apigeetool :

  1. در یک پنجره ترمینال، دایرکتوری ریشه برنامه Node.js خود cd .
  2. ابزار apigeetool با دستور deploynodeapp اجرا کنید:

    $ 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}
    
    به عنوان مثال:

    $ apigeetool deploynodeapp -n myNodeApp -d . -m server.js -o myorg -e test -b /myNodeApp -u ntesla -p myPassword
    
  3. خروجی پنجره ترمینال خود را بررسی کنید. چیزی شبیه به این خواهد بود:

    Importing new application myNodeApp
    Imported new app revision 1
    Deploying revision 1
      Deployed.
    Proxy: "myNodeApp" Revision 1
      Environment: test BasePath: /myNodeApp
      Status: deployed
    

    اگر "وضعیت: مستقر" را می بینید، تمام است. همه چیز به آرامی پیش رفت. برنامه Node.js شما در یک پروکسی API پیچیده شده است، در Edge مستقر شده است، و در حال اجرا است و منتظر رسیدگی به درخواست‌ها است. آماده آزمایش است.

  4. پروکسی خود را تست کنید به عنوان مثال:

    $ curl http://myorg-test.apigee.net/myNodeApp
    Hello, My Node App!
    
  5. در صورت تمایل، وارد حساب Apigee Edge خود شوید و به صفحه API Proxies رابط کاربری مدیریت بروید. پروکسی جدید خود را در آنجا خواهید دید.

چگونه apigeetool فایل ها و ماژول های وابسته را مدیریت می کند

اگر برنامه Node.js شما به ماژول های نصب شده بستگی دارد، apigeetool با فشرده سازی پوشه node_modules و افزودن آن به بسته پروکسی، آنها را مدیریت می کند. هیچ اقدام اضافی لازم نیست. همین امر برای هر دایرکتوری که حاوی کد منبع اضافی است صادق است. ابزار apigeetool آنها را زیپ کرده و با بسته نرم افزاری مستقر می کند.

نمی‌توانید فایل‌ها را در این فهرست‌های فشرده در ویرایشگر رابط کاربری Edge management ویرایش کنید. اگر نیاز به تغییر آنها دارید، می‌توانید پروژه خود را صادر کنید، فایل‌ها را به صورت محلی ویرایش کنید، و سپس با استفاده از apigeetool یا با وارد کردن پروژه صادراتی با استفاده از رابط کاربری مدیریت، مجدداً مستقر شوید. همچنین به " صادر کردن و وارد کردن پروکسی با کد Node.js " مراجعه کنید.

اطلاعات اولیه استفاده از apigeetool

برای اطلاعات اولیه استفاده از پارامترهای ورودی ابزار apigeetool ، وارد کنید:

$ 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

ایجاد یک پروکسی جدید با فایل های Node.js موجود

راه دیگر برای ادغام یک برنامه Node.js موجود در یک پراکسی API این است که هنگام ایجاد پروکسی، برنامه را اضافه کنید. شما می توانید این کار را کاملاً از طریق رابط کاربری مدیریت و گفتگوی New API Proxy انجام دهید.

  1. از صفحه خلاصه پروکسی API، روی +API Proxy کلیک کنید.
  2. در گفتگوی New API Proxy، Existing Node.js را انتخاب کنید.
  3. از دکمه Choose Files برای انتخاب یک یا چند فایل Node.js برای وارد کردن استفاده کنید.
  4. به پروکسی یک نام بدهید. در این مثال، ما آن را hellonode می نامیم.
  5. نسخه /v1 را به Project Base Path اضافه کنید. نسخه API شما بهترین روش است.
  6. روی ساخت کلیک کنید.
  7. روی Develop کلیک کنید تا وارد نمای Develop شوید.
  8. فایل TargetEndpoint را در ویرایشگر کد باز کنید.
  9. مطمئن شوید که عنصر <ScriptTarget> فایل اصلی Node.js را به شرح زیر مشخص می کند:


    <ScriptTarget>
            <ResourceURL>node://server.js</ResourceURL>
            <Properties/>
    </ScriptTarget>
    
  10. روی ذخیره کلیک کنید.

افزودن و فراخوانی فایل های منبع جدید Node.js

راه دیگر برای افزودن کد Node.js به یک پروکسی این است که آن را مستقیماً از طریق رابط کاربری یا با آپلود آن از سیستم فایل محلی خود اضافه کنید. همچنین می‌توانید مشخص کنید کدام فایل Node.js فایل اصلی باشد، یعنی فایلی که Edge هنگام استقرار پروکسی فراخوانی می‌کند.

افزودن فایل‌های Node.js جدید از طریق UI

رابط کاربری مدیریت به شما امکان می دهد فایل های منبع Node.js اضافی را به پروکسی که در پلتفرم Edge است اضافه کنید. می توانید آنها را مستقیماً در UI ایجاد کنید یا آنها را از سیستم فایل خود وارد کنید. ابتدا، بیایید نحوه انجام این کار را از رابط کاربری بررسی کنیم.

برای ایجاد یک فایل منبع Node.js جدید:

  1. در نمای Develop از منوی New New Script را انتخاب کنید.
  2. در گفتگوی افزودن اسکریپت، نوع فایل Node را انتخاب کرده و اسکریپت را نامگذاری کنید.
  3. روی افزودن کلیک کنید.

فایل جدید و خالی Node.js در ویرایشگر باز می شود. می توانید کد خود را برش داده و در فایل قرار دهید. این فایل همچنین در بخش Scripts در Navigator ظاهر می شود.

[[{"type":"media"،"view_mode":"media_large"،"fid":"2431"، "ویژگی‌ها":{"alt":"، "class":"media-image"،" height":"312"، "typeof": "foaf:Image"، "width":"417"}}]]

در حال وارد کردن فایل های Node.js از سیستم فایل شما

برای وارد کردن یک فایل Node.js از سیستم فایل خود به پروکسی:

  1. در نمای Develop از منوی New New Script را انتخاب کنید.
  2. در گفتگوی افزودن اسکریپت، روی وارد کردن اسکریپت کلیک کنید.
  3. از ابزار file برای انتخاب فایل Node.js خود استفاده کنید.
  4. نام فایل به دیالوگ اضافه می شود، اما در صورت تمایل می توانید آن را تغییر دهید.
  5. روی افزودن کلیک کنید. فایل در بخش Scripts در Navigator ظاهر می شود و در ویرایشگر باز می شود.
  6. روی ذخیره کلیک کنید.

اگر می خواهید فایل وارد شده را فراخوانی کنید، یک مرحله اضافی لازم است، همانطور که در قسمت بعدی توضیح داده شد.

فراخوانی یک فایل Node.js وارد شده

شما نمی توانید به سادگی یک فایل Node.js را که تازه وارد یا ایجاد شده است فراخوانی کنید. دلیل آن این است که Edge نیاز دارد که یک فایل Node.js فایل اصلی باشد. فایل اصلی در عنصر <ScriptTarget> در تعریف Target Endpoint مشخص شده است. برای تعیین اینکه کدام فایل فایل اصلی Node.js باشد، موارد زیر را انجام دهید:

  1. در قسمت Target Endpoints در Navigator، روی نام نقطه پایانی هدف (معمولاً پیش فرض نامیده می شود) کلیک کنید.
  2. در ویرایشگر کد، عنصر <ScriptTarget> را با تغییر <ResourceURL> ویرایش کنید تا نام فایلی را که می‌خواهید فایل اصلی Node.js باشد، منعکس کنید. به عنوان مثال، اگر می‌خواهید فایلی به نام hello-world.js فایل اصلی باشد، باید این عبارت را در عنصر ResourceURL وارد کنید: node://hello-world.js .
  3. روی ذخیره کلیک کنید.

در این مرحله، می توانید فایل را با هر مسیر پراکسی که قبلا استفاده کرده اید فراخوانی کنید. به عنوان مثال، ما به Hello World نگاه کرده ایم! به عنوان مثال، جایی که مسیر پایه v1/hello مشخص شده است. با این حال، می توانید با ویرایش نقطه پایانی پروکسی، مسیر پایه را تغییر دهید.

  1. در قسمت Proxy Endpoints در Navigator، روی نام نقطه پایانی پروکسی (معمولاً پیش فرض نامیده می شود) کلیک کنید.
  2. در ویرایشگر کد، عنصر <HttpProxyConnection> را با تغییر <BasePath> به هر نامی که می خواهید ویرایش کنید. برای مثال، اگر <BasePath> فعلی v1/hello است و می‌خواهید v1/my-node-file باشد، عنصر <BasePath> را به این صورت تغییر دهید:

    <BasePath>/v1/my-node-file</BasePath>
  3. روی ذخیره کلیک کنید.
  4. پروکسی را با استفاده از مسیر پایه جدید فراخوانی کنید، مانند این:

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

صادرات و وارد کردن یک پروکسی با کد Node.js

پس از استقرار یک پروکسی حاوی کد Node.js در Edge، همیشه می‌توانید پراکسی را به سیستم خود صادر کنید، روی آن کار کنید و سپس با استفاده از رابط کاربری مدیریت، آن را دوباره به Edge وارد کنید. این نوع از تکنیک توسعه رفت و برگشت معمولا استفاده می شود.

  1. از صفحه خلاصه پروکسی API، روی Develop کلیک کنید.
  2. در صفحه توسعه، دانلود نسخه فعلی را انتخاب کنید.
  3. فایل دانلود شده را در سیستم خود از حالت فشرده خارج کنید.

می‌توانید با انتخاب Import Into New Revision از همان منو، بسته پروکسی را دوباره به Edge وارد کنید.

همچنین می توانید از API برای استقرار پراکسی ها استفاده کنید. برای جزئیات بیشتر به استقرار پراکسی ها از خط فرمان مراجعه کنید.

مراحل بعدی

در مبحث بعدی، اضافه کردن Node.js به یک پراکسی API موجود ، توضیح می دهیم که چگونه یک برنامه Node.js را به یک پروکسی موجود در سیستم فایل خود اضافه کنید و آن را در Edge مستقر کنید.