একটি স্বতন্ত্র Node.js অ্যাপ স্থাপন করা হচ্ছে

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

এই টপিকে ব্যাখ্যা করা হয়েছে কিভাবে আপনার লোকাল সিস্টেম থেকে Apigee Edge-এ একটি Node.js অ্যাপ্লিকেশন ডেপ্লয় করতে হয়। এই টপিকে, আমরা আলোচনা করব কিভাবে apigeetool নামক একটি কমান্ড-লাইন টুল ব্যবহার করে Apigee Edge-এ Node.js অ্যাপ্লিকেশন ডেপ্লয় করা যায়।

Apigee Edge-এ Node.js কোড ডেপ্লয় করা সম্পর্কে

আপনি apigeetool নামক একটি কমান্ড-লাইন ইউটিলিটি ব্যবহার করে আপনার লোকাল সিস্টেম থেকে Apigee Edge-এ যেকোনো নির্ভরশীল Node.js মডিউলসহ একটি বিদ্যমান Node.js API অ্যাপ্লিকেশন ডেপ্লয় করতে পারেন। এই ইউটিলিটিটি স্বয়ংক্রিয়ভাবে অ্যাপ্লিকেশন এবং এর নির্ভরতাগুলোকে একটি API প্রক্সিতে বান্ডল করে এবং Edge-এ ডেপ্লয় করে।

উদাহরণস্বরূপ, ধরা যাক আপনি Node.js-এ একটি ওয়েব অ্যাপ্লিকেশন তৈরি করতে Express ব্যবহার করেছেন। অ্যাপ্লিকেশনটি একটি HTTP সার্ভার হিসেবে চলে যা HTTP অনুরোধ শোনে, সেই অনুরোধগুলো প্রসেস করে, ডেটা ফেরত দেয়, ইত্যাদি। যখন আপনি Edge-এ একটি Node.js অ্যাপ্লিকেশন ডেপ্লয় করতে apigeetool ব্যবহার করেন, তখন এটি একটি প্রক্সির মধ্যে মোড়ানো থাকে এবং Edge প্ল্যাটফর্মের প্রেক্ষাপটে চলে। এরপর আপনি এর নতুন প্রক্সি URL-এর মাধ্যমে আপনার অ্যাপ্লিকেশনটিকে কল করতে পারেন, এবং OAuth নিরাপত্তা, কোটা নীতি, হুমকি সুরক্ষা নীতি, শর্তসাপেক্ষ ফ্লো, ক্যাশিং এবং আরও অনেক কিছুর মতো Edge-এর সাধারণ বৈশিষ্ট্যগুলো দিয়ে এটিকে সাজিয়ে এর মান আরও বাড়িয়ে তুলতে পারেন।

apigeetool কী কাজ করে?

যখন আপনি deploynodeapp অপশন সহ apigeetool ইউটিলিটিটি চালান, তখন এটি:

  • Node.js অ্যাপ্লিকেশনটি রাখার জন্য একটি এপিআই প্রক্সি কনফিগারেশন বান্ডেল তৈরি করে।
  • NPM (নোড প্যাকেজড মডিউলস) দিয়ে ইনস্টল করা যেকোনো Node.js প্যাকেজের সাথে Node.js অ্যাপ্লিকেশনটিকে প্যাকেজ করে।
  • এজ ম্যানেজমেন্ট এপিআই ব্যবহার করে Apigee Edge-এর নির্দিষ্ট অর্গানাইজেশনে এপিআই প্রক্সি কনফিগারেশন বান্ডেলটি ইম্পোর্ট করে।
  • একটি পরিবেশে এপিআই প্রক্সি স্থাপন করে।
  • Apigee Edge-এ Node.js অ্যাপ্লিকেশনটি চালানো হয় এবং এটিকে নেটওয়ার্কে উপলব্ধ করা হয়।

এপিজিটুল ব্যবহারের প্রস্তুতি

শুরু করার আগে, আপনাকে apigeetool ইউটিলিটিটি ইনস্টল করতে হবে।

আপনি npm-এর মাধ্যমে অথবা GitHub থেকে কোড ক্লোন ও লিঙ্ক করে apigeetool ইনস্টল করতে পারেন।

npm থেকে ইনস্টলেশন

apigeetool মডিউল এবং এর নির্ভরতাগুলো Node.js-এর জন্য ডিজাইন করা হয়েছে এবং নিম্নলিখিত কমান্ড ব্যবহার করে npm-এর মাধ্যমে এটি পাওয়া যায়:

$ sudo npm install -g apigeetool

সাধারণত, *nix-ভিত্তিক মেশিনগুলিতে -g অপশনটি মডিউলগুলিকে /usr/local/lib/node_modules/apigeetool এ স্থাপন করে।

গিটহাব থেকে ইনস্টলেশন

গিটহাব থেকে এপিআই প্ল্যাটফর্ম টুলস ডাউনলোড বা ক্লোন করুন। ইনস্টলেশন নির্দেশাবলীর জন্য রিপোজিটরি রুট ডিরেক্টরিতে থাকা README ফাইলটি দেখুন।

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

ইনস্টলেশন সম্পন্ন হলে, নিশ্চিত করুন যে apigeetool এক্সিকিউটেবলটি আপনার Path-এ আছে। আপনি এটি পরীক্ষা করতে টাইপ করতে পারেন:

$ apigeetool -h

apigeetool ব্যবহার করে Edge-এ একটি Node.js অ্যাপ্লিকেশন ডেপ্লয় করা

দ্রষ্টব্য: ডেপ্লয় করার আগে, আপনাকে আপনার Apigee Edge অর্গানাইজেশনের নাম, ইউজার নেম এবং আপনার Apigee Edge অ্যাকাউন্টের পাসওয়ার্ড জানতে হবে। apigeetool কমান্ডটি সঠিকভাবে তৈরি করার জন্য আপনার এই তথ্যগুলো প্রয়োজন।

apigeetool ব্যবহার করে একটি Node.js অ্যাপ্লিকেশন ডেপ্লয় করতে:

  1. টার্মিনাল উইন্ডোতে, আপনার Node.js অ্যাপ্লিকেশনের রুট ডিরেক্টরিতে cd
  2. deploynodeapp কমান্ডের সাথে ` apigeetool ইউটিলিটিটি চালান:

    $ 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

    আপনি যদি "Status: deployed" দেখতে পান, তাহলেই হয়ে গেছে। সবকিছু মসৃণভাবে সম্পন্ন হয়েছে। আপনার Node.js অ্যাপটি একটি API প্রক্সিতে মোড়ানো হয়েছে, Edge-এ ডেপ্লয় করা হয়েছে এবং এটি চালু হয়ে রিকোয়েস্ট গ্রহণ করার জন্য অপেক্ষা করছে। এটি পরীক্ষা করার জন্য প্রস্তুত।

  4. আপনার প্রক্সি পরীক্ষা করুন। উদাহরণস্বরূপ:

    $ curl http://myorg-test.apigee.net/myNodeApp
    Hello, My Node App!
    
  5. আপনি চাইলে, আপনার Apigee Edge অ্যাকাউন্টে লগ ইন করুন এবং ম্যানেজমেন্ট UI-এর API Proxies পৃষ্ঠায় যান। সেখানে আপনার নতুন প্রক্সিটি তালিকাভুক্ত দেখতে পাবেন।

apigeetool কীভাবে নির্ভরশীল ফাইল এবং মডিউলগুলি পরিচালনা করে

আপনার Node.js অ্যাপ্লিকেশন যদি ইনস্টল করা মডিউলগুলির উপর নির্ভর করে, তাহলে apigeetool node_modules ফোল্ডারটিকে জিপ করে প্রক্সি বান্ডেলে যুক্ত করার কাজটি করে। এর জন্য কোনো অতিরিক্ত পদক্ষেপের প্রয়োজন নেই। অতিরিক্ত সোর্স কোড ধারণকারী যেকোনো ডিরেক্টরির ক্ষেত্রেও একই কথা প্রযোজ্য। apigeetool ইউটিলিটি সেগুলোকে জিপ করে বান্ডেলের সাথে ডেপ্লয় করে।

আপনি Edge ম্যানেজমেন্ট UI-এর এডিটরে এই জিপ করা ডিরেক্টরিগুলোর ভেতরের ফাইলগুলো এডিট করতে পারবেন না। যদি আপনার সেগুলো পরিবর্তন করার প্রয়োজন হয়, তাহলে আপনি আপনার প্রজেক্ট এক্সপোর্ট করে, ফাইলগুলো স্থানীয়ভাবে এডিট করতে পারেন এবং তারপর apigeetool ব্যবহার করে অথবা ম্যানেজমেন্ট UI ব্যবহার করে এক্সপোর্ট করা প্রজেক্টটি ইম্পোর্ট করে পুনরায় ডিপ্লয় করতে পারেন। আরও দেখুন " 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 অ্যাপ্লিকেশনকে এপিআই প্রক্সিতে একীভূত করার আরেকটি উপায় হলো, প্রক্সি তৈরি করার সময় অ্যাপ্লিকেশনটি যুক্ত করা। আপনি এই কাজটি সম্পূর্ণভাবে ম্যানেজমেন্ট UI এবং 'New API Proxy' ডায়ালগের মাধ্যমে করতে পারেন।

  1. এপিআই প্রক্সি সারাংশ পৃষ্ঠা থেকে, +API Proxy -তে ক্লিক করুন।
  2. নতুন এপিআই প্রক্সি ডায়ালগে, বিদ্যমান নোড.জেএস (Existing Node.js ) নির্বাচন করুন।
  3. ইম্পোর্ট করার জন্য এক বা একাধিক Node.js ফাইল নির্বাচন করতে Choose Files বাটনটি ব্যবহার করুন।
  4. প্রক্সিটির একটি নাম দিন। এই উদাহরণে, আমরা এটিকে hellonode বলছি।
  5. প্রজেক্ট বেস পাথে /v1 ভার্সনটি যোগ করুন। আপনার এপিআই-এর ভার্সনিং করা একটি উত্তম অনুশীলন।
  6. বিল্ড-এ ক্লিক করুন।
  7. ডেভেলপ ভিউতে প্রবেশ করতে ডেভেলপ-এ ক্লিক করুন।
  8. কোড এডিটরে TargetEndpoint ফাইলটি খুলুন।
  9. নিশ্চিত করুন যে <ScriptTarget> এলিমেন্টটি মূল Node.js ফাইলটিকে নিম্নোক্তভাবে নির্দিষ্ট করে:


    <ScriptTarget>
            <ResourceURL>node://server.js</ResourceURL>
            <Properties/>
    </ScriptTarget>
  10. সংরক্ষণ করুন- এ ক্লিক করুন।

নতুন Node.js রিসোর্স ফাইল যোগ করা এবং চালু করা

প্রক্সিতে Node.js কোড যোগ করার আরেকটি উপায় হলো সরাসরি যোগ করা, যা UI-এর মাধ্যমে অথবা আপনার লোকাল ফাইলসিস্টেম থেকে আপলোড করে করা যায়। আপনি কোন Node.js ফাইলটি মূল ফাইল হবে তাও নির্দিষ্ট করে দিতে পারেন; প্রক্সিটি ডেপ্লয় করার সময় Edge এই ফাইলটিকেই কল করে।

UI এর মাধ্যমে নতুন Node.js ফাইল যোগ করা

ম্যানেজমেন্ট UI আপনাকে Edge প্ল্যাটফর্মে থাকা কোনো প্রক্সিতে অতিরিক্ত Node.js সোর্স ফাইল যোগ করার সুযোগ দেয়। আপনি এগুলো সরাসরি UI-তে তৈরি করতে পারেন অথবা আপনার ফাইল সিস্টেম থেকে ইম্পোর্ট করতে পারেন। প্রথমে, চলুন দেখে নেওয়া যাক UI থেকে এটি কীভাবে করা যায়।

একটি নতুন Node.js রিসোর্স ফাইল তৈরি করতে:

  1. ডেভেলপ ভিউতে, নিউ মেনু থেকে নিউ স্ক্রিপ্ট নির্বাচন করুন।
  2. অ্যাড স্ক্রিপ্ট ডায়ালগে, ফাইল টাইপ হিসেবে নোড (Node) নির্বাচন করুন এবং স্ক্রিপ্টটির নাম দিন।
  3. যোগ করুন-এ ক্লিক করুন।

নতুন, খালি Node.js ফাইলটি এডিটরে খুলে যায়। আপনি আপনার কোড কাট করে ফাইলটিতে পেস্ট করতে পারেন। ফাইলটি নেভিগেটরের স্ক্রিপ্টস সেকশনেও দেখা যায়।

[[{"type":"media","view_mode":"media_large","fid":"2431","attributes":{"alt":"","class":"media-image","height":"312","typeof":"foaf:Image","width":"417"}}]]

আপনার ফাইলসিস্টেম থেকে Node.js ফাইল ইম্পোর্ট করা

আপনার ফাইলসিস্টেম থেকে প্রক্সিতে একটি Node.js ফাইল ইম্পোর্ট করতে:

  1. ডেভেলপ ভিউতে, নিউ মেনু থেকে নিউ স্ক্রিপ্ট নির্বাচন করুন।
  2. অ্যাড স্ক্রিপ্ট ডায়ালগে, ইমপোর্ট স্ক্রিপ্ট- এ ক্লিক করুন।
  3. আপনার Node.js ফাইলটি নির্বাচন করতে ফাইল টুলটি ব্যবহার করুন।
  4. ফাইলের নামটি ডায়ালগ বক্সে যুক্ত করা হয়, তবে আপনি চাইলে তা পরিবর্তন করতে পারেন।
  5. অ্যাড-এ ক্লিক করুন। ফাইলটি নেভিগেটরের স্ক্রিপ্টস বিভাগে প্রদর্শিত হবে এবং এডিটরে খুলে যাবে।
  6. সংরক্ষণ করুন- এ ক্লিক করুন।

আপনি যদি ইম্পোর্ট করা ফাইলটি চালু করতে চান, তাহলে একটি অতিরিক্ত ধাপের প্রয়োজন হবে, যা পরবর্তী বিভাগে ব্যাখ্যা করা হয়েছে।

আমদানি করা Node.js ফাইল কল করা

আপনি সরাসরি নতুন ইম্পোর্ট করা বা তৈরি করা কোনো Node.js ফাইল কল করতে পারবেন না। এর কারণ হলো, Edge-এর জন্য একটি Node.js ফাইলকে মূল ফাইল হিসেবে ব্যবহার করতে হয়। Target Endpoint ডেফিনিশনের <ScriptTarget> এলিমেন্টে মূল ফাইলটি নির্দিষ্ট করে দেওয়া হয়। কোন ফাইলটি মূল Node.js ফাইল হবে তা নির্দিষ্ট করতে, নিম্নলিখিত পদক্ষেপগুলো অনুসরণ করুন:

  1. নেভিগেটরের টার্গেট এন্ডপয়েন্টস-এর অধীনে, টার্গেট এন্ডপয়েন্টের নামে ক্লিক করুন (সাধারণত যার নাম ডিফল্ট )।
  2. কোড এডিটরে, <ScriptTarget> এলিমেন্টটি এডিট করুন এবং <ResourceURL> পরিবর্তন করে সেই ফাইলের নামটি লিখুন যেটিকে আপনি মূল Node.js ফাইল হিসেবে রাখতে চান। উদাহরণস্বরূপ, যদি আপনি hello-world.js নামের ফাইলটিকে মূল ফাইল হিসেবে রাখতে চান, তাহলে ResourceURL এলিমেন্টে লিখবেন: node://hello-world.js
  3. সংরক্ষণ করুন- এ ক্লিক করুন।

এই পর্যায়ে, আপনি আগে ব্যবহার করা যেকোনো প্রক্সি পাথ দিয়ে ফাইলটি চালু করতে পারেন। উদাহরণস্বরূপ, আমরা 'হ্যালো ওয়ার্ল্ড!' উদাহরণটি দেখেছি, যেখানে বেস পাথ v1/hello নির্দিষ্ট করা আছে। তবে, আপনি প্রক্সি এন্ডপয়েন্ট সম্পাদনা করে বেস পাথটি পরিবর্তন করতে পারেন।

  1. নেভিগেটরের প্রক্সি এন্ডপয়েন্টস-এর অধীনে, প্রক্সি এন্ডপয়েন্টের নামে ক্লিক করুন (সাধারণত যার নাম ডিফল্ট )।
  2. কোড এডিটরে, <HttpProxyConnection> এলিমেন্টটি এডিট করুন এবং <BasePath> পরিবর্তন করে আপনার ইচ্ছামত নাম দিন। উদাহরণস্বরূপ, যদি বর্তমান <BasePath> হয় v1/hello এবং আপনি এটিকে v1/my-node-file করতে চান, তাহলে <BasePath> এলিমেন্টটি এভাবে পরিবর্তন করুন:

    <বেসপাথ>/v1/আমার-নোড-ফাইল</বেসপাথ>
  3. সংরক্ষণ করুন- এ ক্লিক করুন।
  4. নতুন বেস পাথ ব্যবহার করে প্রক্সিটি চালু করুন, এইভাবে:

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

Node.js কোড দিয়ে প্রক্সি এক্সপোর্ট এবং ইম্পোর্ট করা

Edge-এ Node.js কোড সম্বলিত একটি প্রক্সি স্থাপন করার পরে, আপনি সর্বদা প্রক্সিটি আপনার সিস্টেমে ফিরিয়ে এক্সপোর্ট করতে পারেন, সেখানে এটি নিয়ে কাজ করতে পারেন এবং তারপরে ম্যানেজমেন্ট UI ব্যবহার করে এটিকে Edge-এ পুনরায় ইম্পোর্ট করতে পারেন। এই ধরনের রাউন্ড-ট্রিপ ডেভেলপমেন্ট কৌশলটি সাধারণত ব্যবহৃত হয়।

  1. এপিআই প্রক্সি সারাংশ পৃষ্ঠা থেকে, 'ডেভেলপ' এ ক্লিক করুন।
  2. ডেভেলপ পেজে, ডাউনলোড কারেন্ট রিভিশন নির্বাচন করুন।
  3. আপনার সিস্টেমে ডাউনলোড করা ফাইলটি আনজিপ করুন।

আপনি একই মেনু থেকে 'Import Into New Revision' নির্বাচন করে প্রক্সি বান্ডেলটি Edge-এ পুনরায় ইম্পোর্ট করতে পারেন।

আপনি প্রক্সি ডেপ্লয় করার জন্য এপিআই-ও ব্যবহার করতে পারেন। বিস্তারিত জানতে কমান্ড লাইন থেকে প্রক্সি ডেপ্লয় করা দেখুন।

পরবর্তী পদক্ষেপ

পরবর্তী বিষয়, ‘বিদ্যমান এপিআই প্রক্সিতে Node.js যোগ করা’- তে, আমরা ব্যাখ্যা করব কীভাবে আপনার ফাইলসিস্টেমে থাকা একটি প্রক্সিতে Node.js অ্যাপ যুক্ত করতে হয় এবং সেটিকে Edge-এ ডেপ্লয় করতে হয়।