API ব্যবহার করে API প্রক্সি স্থাপন করুন

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান
তথ্য

প্রতিটি সংস্থার একটি অনন্য সফ্টওয়্যার বিকাশ জীবনচক্র (SDLC) রয়েছে। ব্যাকএন্ড পরিষেবাগুলির জন্য ব্যবহৃত প্রক্রিয়াগুলির সাথে API প্রক্সি স্থাপনার সিঙ্ক্রোনাইজ এবং সারিবদ্ধ করা প্রায়শই প্রয়োজনীয়।

এই বিষয়ে প্রদর্শিত এজ এপিআই পদ্ধতিগুলি আপনার প্রতিষ্ঠানের SDLC-তে API প্রক্সি ব্যবস্থাপনাকে একীভূত করতে ব্যবহার করা যেতে পারে। এই API-এর একটি সাধারণ ব্যবহার হল স্ক্রিপ্ট বা কোড লেখা যা API প্রক্সি স্থাপন করে, অথবা যেগুলি API প্রক্সিগুলিকে এক পরিবেশ থেকে অন্য পরিবেশে স্থানান্তরিত করে, একটি বৃহত্তর স্বয়ংক্রিয় প্রক্রিয়ার অংশ হিসাবে যা অন্যান্য অ্যাপ্লিকেশনগুলিকে স্থাপন বা স্থানান্তরিত করে।

এজ এপিআই আপনার SDLC (অথবা অন্য কারও, সেই বিষয়ে) সম্পর্কে কোনও অনুমান করে না। বরং, এটি পারমাণবিক ফাংশনগুলিকে প্রকাশ করে যা আপনার এপিআই বিকাশের জীবনচক্রকে স্বয়ংক্রিয় এবং অপ্টিমাইজ করতে আপনার ডেভেলপমেন্ট টিম দ্বারা সমন্বিত হতে পারে।

সম্পূর্ণ তথ্যের জন্য, এজ এপিআই দেখুন।

এজ এপিআই ব্যবহার করতে, আপনাকে অবশ্যই আপনার কলগুলিতে নিজেকে প্রমাণীকরণ করতে হবে। আপনি নিম্নলিখিত পদ্ধতিগুলির মধ্যে একটি দিয়ে এটি করতে পারেন:

  • OAuth2 (শুধুমাত্র পাবলিক ক্লাউড)
  • SAML (পাবলিক এবং প্রাইভেট ক্লাউড)
  • মৌলিক প্রমাণীকরণ (প্রস্তাবিত নয়; সর্বজনীন এবং ব্যক্তিগত ক্লাউড)

এই বিষয়টি API-এর সেটের উপর ফোকাস করে যেগুলি API প্রক্সিগুলি পরিচালনার জন্য।

ভিডিও: একটি API কিভাবে স্থাপন করতে হয় তা জানতে এই ছোট ভিডিওটি দেখুন।

API এর সাথে ইন্টারঅ্যাক্ট করা

নিম্নলিখিত পদক্ষেপগুলি আপনাকে API-এর সাথে সহজ ইন্টারঅ্যাকশনের মাধ্যমে নিয়ে যায়।

আপনার প্রতিষ্ঠানের API তালিকা করুন

আপনি আপনার প্রতিষ্ঠানের সমস্ত API প্রক্সি তালিকাবদ্ধ করে শুরু করতে পারেন। ( EMAIL:PASSWORD এবং ORG_NAME এর জন্য এন্ট্রিগুলি প্রতিস্থাপন করতে মনে রাখবেন। নির্দেশাবলীর জন্য, এজ API ব্যবহার করুন দেখুন।

curl -u EMAIL:PASSWORD \
  https://api.enterprise.apigee.com/v1/o/ORG_NAME/apis

নমুনা প্রতিক্রিয়া:

[ "weatherapi" ]

একটি API পান

আপনি আপনার প্রতিষ্ঠানের যেকোনো API প্রক্সিতে GET পদ্ধতিতে কল করতে পারেন। এই কলটি API প্রক্সির সমস্ত উপলব্ধ সংশোধনগুলির একটি তালিকা প্রদান করে৷

curl -u EMAIL:PASSWORD -H "Accept: application/json" \
  https://api.enterprise.apigee.com/v1/o/ORG_NAME/apis/weatherapi

নমুনা প্রতিক্রিয়া:

{
  "name" : "weatherapi",
  "revision" : [ "1" ]
}

এই পদ্ধতির দ্বারা প্রত্যাবর্তিত একমাত্র বিশদটি হল API প্রক্সির নাম এবং সংশ্লিষ্ট পুনর্বিবেচনা , যার একটি সংশ্লিষ্ট নম্বর রয়েছে। API প্রক্সিগুলি কনফিগারেশন ফাইলগুলির একটি বান্ডিল নিয়ে গঠিত। আপনি পুনরাবৃত্তি করার সাথে সাথে আপনার কনফিগারেশনের আপডেটগুলি পরিচালনা করার জন্য সংশোধনগুলি একটি হালকা পদ্ধতি প্রদান করে। সংশোধনগুলি ক্রমানুসারে সংখ্যাযুক্ত, আপনাকে আপনার API প্রক্সির পূর্ববর্তী সংশোধন স্থাপন করে একটি পরিবর্তন ফিরিয়ে আনতে সক্ষম করে৷ এছাড়াও, পরীক্ষার পরিবেশে সেই API প্রক্সির নতুন সংশোধনগুলি তৈরি করার সময় আপনি প্রোড পরিবেশে একটি API প্রক্সির একটি সংশোধন স্থাপন করতে পারেন। আপনি প্রস্তুত হলে, আপনি প্রোড পরিবেশে API প্রক্সির পূর্ববর্তী সংশোধনের তুলনায় পরীক্ষার পরিবেশ থেকে আপনার API প্রক্সির উচ্চতর সংশোধন প্রচার করতে পারেন।

এই উদাহরণে, শুধুমাত্র একটি সংশোধন আছে কারণ API প্রক্সিটি সবেমাত্র তৈরি করা হয়েছে। যেহেতু একটি API প্রক্সি পুনরাবৃত্ত কনফিগারেশন এবং স্থাপনার জীবনচক্রের মধ্য দিয়ে চলে, পূর্ণসংখ্যা দ্বারা সংশোধন সংখ্যা বৃদ্ধি পায়। স্থাপন করার জন্য সরাসরি API কল ব্যবহার করে, আপনি ঐচ্ছিকভাবে API প্রক্সির সংশোধন নম্বর বৃদ্ধি করতে পারেন। কখনও কখনও আপনি যখন ছোটখাটো পরিবর্তন করেন, আপনি হয়ত সংশোধনটি বৃদ্ধি করতে চান না।

API রিভিশন পান

API সংস্করণ (উদাহরণস্বরূপ, api.company.com/v1 ) খুব কমই পরিবর্তন করা উচিত। আপনি যখন API সংস্করণ বৃদ্ধি করেন, তখন এটি বিকাশকারীদের বোঝায় যে API দ্বারা প্রকাশিত বহিরাগত ইন্টারফেসের স্বাক্ষরে একটি উল্লেখযোগ্য পরিবর্তন হয়েছে।

এপিআই প্রক্সি রিভিশন হল একটি এপিআই প্রক্সি কনফিগারেশনের সাথে যুক্ত একটি বর্ধিত সংখ্যা। API পরিষেবাগুলি আপনার কনফিগারেশনগুলির সংশোধনগুলি বজায় রাখে যাতে কিছু ভুল হয়ে গেলে আপনি একটি কনফিগারেশন ফিরিয়ে আনতে পারেন৷ ডিফল্টরূপে, একটি API প্রক্সির সংশোধন স্বয়ংক্রিয়ভাবে বৃদ্ধি করা হয় প্রতিবার যখন আপনি একটি API প্রক্সি আমদানি করেন একটি API প্রক্সি API ব্যবহার করে আমদানি করুন৷ আপনি যদি একটি API প্রক্সির পুনর্বিবেচনা বৃদ্ধি করতে না চান, Update API proxy revision API ব্যবহার করুন৷ আপনি যদি স্থাপন করার জন্য Maven ব্যবহার করছেন, Maven প্লাগইন readme- এ বর্ণিত, clean বা update বিকল্পগুলি ব্যবহার করুন।

উদাহরণস্বরূপ, আপনি বিস্তারিত ভিউ পেতে API প্রক্সি রিভিশন 1-এ GET পদ্ধতিতে কল করতে পারেন।

curl -u EMAIL:PASSWORD -H "Accept:application/json" \
  https://api.enterprise.apigee.com/v1/o/ORG_NAME/apis/weatherapi/revisions/1

নমুনা প্রতিক্রিয়া

{
  "configurationVersion" : {
    "majorVersion" : 4,
    "minorVersion" : 0
  },
  "contextInfo" : "Revision 1 of application weatherapi, in organization {org_name}",
  "createdAt" : 1343178905169,
  "createdBy" : "andrew@apigee.com",
  "lastModifiedAt" : 1343178905169,
  "lastModifiedBy" : "andrew@apigee.com",
  "name" : "weatherapi",
  "policies" : [ ],
  "proxyEndpoints" : [ ],
  "resources" : [ ],
  "revision" : "1",
  "targetEndpoints" : [ ],
  "targetServers" : [ ],
  "type" : "Application"
}

এই API প্রক্সি কনফিগারেশন উপাদানগুলি API প্রক্সি কনফিগারেশন রেফারেন্সে বিস্তারিতভাবে নথিভুক্ত করা হয়েছে।

একটি পরিবেশে একটি API স্থাপন করা হচ্ছে

একবার আপনার API প্রক্সি সঠিকভাবে অনুরোধগুলি গ্রহণ এবং ফরওয়ার্ড করার জন্য কনফিগার করা হলে, আপনি এটি এক বা একাধিক পরিবেশে স্থাপন করতে পারেন। সাধারণত, আপনি test API প্রক্সিগুলিতে পুনরাবৃত্তি করেন এবং তারপরে, প্রস্তুত হলে, আপনি API প্রক্সি সংশোধনকে prodপ্রচার করেন । প্রায়শই, আপনি দেখতে পাবেন যে পরীক্ষার পরিবেশে আপনার কাছে API প্রক্সির আরও অনেকগুলি সংশোধন রয়েছে, প্রাথমিকভাবে কারণ আপনি প্রোড পরিবেশে অনেক কম পুনরাবৃত্তি করবেন।

একটি পরিবেশে স্থাপন করা না হওয়া পর্যন্ত একটি API প্রক্সি আহ্বান করা যাবে না। একবার আপনি প্রোড-এ API প্রক্সি রিভিশন স্থাপন করলে, তারপরে আপনি prod ইউআরএলটি বহিরাগত ডেভেলপারদের কাছে প্রকাশ করতে পারেন।

পরিবেশ তালিকা কিভাবে

Apigee Edge-এর প্রতিটি প্রতিষ্ঠানের কমপক্ষে দুটি পরিবেশ রয়েছে: test এবং prod । পার্থক্য নির্বিচারে। লক্ষ্য হল আপনাকে বাইরের ডেভেলপারদের কাছে খোলার আগে আপনার API প্রক্সি সঠিকভাবে কাজ করছে কিনা তা যাচাই করার জন্য আপনাকে একটি এলাকা প্রদান করা।

প্রতিটি পরিবেশ সত্যিই একটি নেটওয়ার্ক ঠিকানা, যা আপনাকে API প্রক্সিগুলির মধ্যে ট্র্যাফিক আলাদা করতে সক্ষম করে যা আপনি কাজ করছেন এবং যেগুলি রানটাইমে অ্যাপস দ্বারা অ্যাক্সেস করা হচ্ছে।

পরিবেশগুলি ডেটা এবং সংস্থানগুলির পৃথকীকরণও প্রদান করে। আপনি উদাহরণস্বরূপ, পরীক্ষা এবং প্রোড-এ বিভিন্ন ক্যাশে সেট আপ করতে পারেন, যা শুধুমাত্র সেই পরিবেশে চালানো API প্রক্সি দ্বারা অ্যাক্সেস করা যেতে পারে।

একটি প্রতিষ্ঠানের পরিবেশ দেখুন

curl -u EMAIL:PASSWORD \
  https://api.enterprise.apigee.com/v1/o/ORG_NAME/environments

নমুনা প্রতিক্রিয়া

[ "test", "prod" ]

স্থাপনা অন্বেষণ

একটি স্থাপনা হল একটি API প্রক্সির একটি সংশোধন যা একটি পরিবেশে স্থাপন করা হয়েছে। একটি API প্রক্সি যেটি স্থাপন করা অবস্থায় রয়েছে সেটি নেটওয়ার্কের মাধ্যমে অ্যাক্সেসযোগ্য, সেই পরিবেশের জন্য <VirtualHost> উপাদানে সংজ্ঞায়িত ঠিকানাগুলিতে।

এপিআই প্রক্সি স্থাপন করা হচ্ছে

এপিআই প্রক্সিগুলি মোতায়েন না হওয়া পর্যন্ত আহ্বান করা যাবে না। API পরিষেবাগুলি RESTful APIগুলিকে প্রকাশ করে যা স্থাপনা প্রক্রিয়ার উপর নিয়ন্ত্রণ প্রদান করে৷

একটি API প্রক্সির শুধুমাত্র একটি সংশোধন একটি নির্দিষ্ট সময়ে একটি পরিবেশে স্থাপন করা যেতে পারে। কাজেই নিয়োজিত রিভিশনকে আনডিপ্লোয়েড করা দরকার। আপনি নিয়ন্ত্রণ করতে পারেন যে নতুন বান্ডেলটি একটি নতুন পুনর্বিবেচনা হিসাবে স্থাপন করা হবে বা এটি বিদ্যমান সংশোধনকে ওভাররাইট করবে কিনা।

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান
তথ্য

প্রথমে বিদ্যমান রিভিশনটি আনডিপ্লয় করুন। পরিবেশের নাম এবং API প্রক্সিটির পুনর্বিবেচনা নম্বর উল্লেখ করুন যা আপনি আনডিপ্লয় করতে চান:

curl -X DELETE \
  https://api.enterprise.apigee.com/v1/o/ORG_NAME/environments/ENV_NAME/apis/API_NAME/revisions/REVISION_NUMBER/deployments \
  -u EMAIL:PASSWORD

তারপর নতুন সংশোধন স্থাপন করুন. API প্রক্সির নতুন সংশোধন ইতিমধ্যেই বিদ্যমান থাকতে হবে:

curl -X POST -H "Content-type:application/x-www-form-urlencoded" \
  https://api.enterprise.apigee.com/v1/o/ORG_NAME/environments/ENV_NAME/apis/API_NAME/revisions/REVISION_NUMBER/deployments \
  -u EMAIL:PASSWORD

বিরামহীন স্থাপনা (শূন্য ডাউনটাইম)

স্থাপনার সময় ডাউনটাইমের সম্ভাব্যতা কমাতে, স্থাপনার পদ্ধতিতে override প্যারামিটার ব্যবহার করুন এবং এটিকে true সেট করুন।

আপনি একটি API প্রক্সির একটি সংশোধন অন্যটির উপরে স্থাপন করতে পারবেন না। প্রথমটি সর্বদা আনডিপ্লোড হতে হবে। override true সেট করে, আপনি ইঙ্গিত করেন যে একটি API প্রক্সির একটি সংশোধন বর্তমানে স্থাপন করা সংশোধনের উপর স্থাপন করা উচিত। ফলাফল হল যে স্থাপনার ক্রমটি বিপরীত হয়--নতুন সংশোধন স্থাপন করা হয়, এবং একবার স্থাপনা সম্পূর্ণ হলে, ইতিমধ্যেই স্থাপন করা পুনর্বিন্যাসের কাজটি বাতিল করা হয়।

নিম্নলিখিত উদাহরণটি একটি ফর্ম প্যারামিটার হিসাবে পাস করে override মান সেট করে:

curl -X POST -H "Content-type:application/x-www-form-urlencoded" \
  https://api.enterprise.apigee.com/v1/o/ORG_NAME/e/ENV_NAME/apis/API_NAME/revisions/REVISION_NUMBER/deployments" \
  -d "override=true" \
  -u EMAIL:PASSWORD

আপনি delay পরামিতি সেট করে স্থাপনাকে আরও অপ্টিমাইজ করতে পারেন। delay পরামিতি একটি সময় ব্যবধান নির্দিষ্ট করে, সেকেন্ডে, যার আগে পূর্ববর্তী পুনর্বিন্যাসটি আনডিপ্লোয় করা উচিত। প্রভাবটি হল যে ফ্লাইট লেনদেনের একটি সময় ব্যবধান থাকে যার মধ্যে API প্রক্সি প্রক্রিয়াকরণের আগে তাদের লেনদেন নিষ্ক্রিয় করা হয়। override=true এবং delay পরামিতি সেটের সাথে যা ঘটে তা নিম্নরূপ:

  • রিভিশন 1 অনুরোধগুলি পরিচালনা করছে।
  • রিভিশন 2 সমান্তরালভাবে স্থাপন করা হচ্ছে।
  • যখন রিভিশন 2 সম্পূর্ণরূপে স্থাপন করা হয়, তখন নতুন ট্রাফিক রিভিশন 2 এ পাঠানো হয়। রিভিশন 1 এ কোন নতুন ট্রাফিক পাঠানো হয় না।
  • যাইহোক, রিভিশন 1 এখনও বিদ্যমান লেনদেন প্রক্রিয়াকরণ করতে পারে। delay প্যারামিটার সেট করে (উদাহরণস্বরূপ, 15 সেকেন্ড), আপনি বিদ্যমান লেনদেন প্রক্রিয়াকরণ শেষ করতে রিভিশন 1 15 সেকেন্ড দেন।
  • বিলম্বের ব্যবধানের পরে, পুনর্বিবেচনা 1 আনডিপ্লোয়ড করা হয়েছে।
curl -X POST -H "Content-type:application/x-www-form-urlencoded" \
  https://api.enterprise.apigee.com/v1/o/ORG_NAME/e/ENV_NAME/apis/API_NAME/revisions/REVISION_NUMBER/deployments?delay=15" \
  -d "override=true" \
  -u EMAIL:PASSWORD
ক্যোয়ারী প্যারামিটার বর্ণনা
override

ডিফল্ট false (স্বাভাবিক স্থাপনা আচরণ: বিদ্যমান পুনর্বিবেচনা স্থগিত করা হয়, তারপর নতুন সংশোধন স্থাপন করা হয়)।

স্বাভাবিক স্থাপনার আচরণ ওভাররাইড করতে এবং নির্বিঘ্ন স্থাপনা প্রদান করতে true সেট করুন। বিদ্যমান পুনর্বিবেচনা বহাল থাকবে এবং নতুন সংশোধনও স্থাপন করা হচ্ছে। যখন নতুন রিভিশন স্থাপন করা হয়, তখন পুরানো রিভিশন আনডিপ্লোয় করা হয়। যখন আনডিপ্লয়মেন্ট ঘটে তখন নিয়ন্ত্রণ করতে delay প্যারামিটারের সাথে ব্যবহার করুন।

delay

লেনদেন প্রক্রিয়াকরণ বিদ্যমান পুনর্বিবেচনার আগে এটি সম্পূর্ণ করার অনুমতি দিতে - এবং 502 Bad Gateway বা 504 Gateway Timeout errors সম্ভাবনা দূর করুন - এই প্যারামিটারটি সেট করুন যত সেকেন্ড আপনি আনডিপ্লোয়মেন্ট বিলম্বিত করতে চান। আপনি সেট করতে পারেন সেকেন্ডের সংখ্যার কোন সীমা নেই, এবং সেকেন্ডের একটি বড় সংখ্যক সেট করার জন্য কোন কর্মক্ষমতা সীমাবদ্ধতা নেই। বিলম্বের সময়, পুরানো রিভিশনে নতুন ট্রাফিক পাঠানো হয় না।

ডিফল্ট 0 (শূন্য) সেকেন্ড। যখন override সত্যে সেট করা হয় এবং delay 0 হয়, তখন নতুন সংশোধন স্থাপনের সাথে সাথেই বিদ্যমান সংশোধন বাতিল করা হয়। নেতিবাচক মান 0 (শূন্য) সেকেন্ড হিসাবে ধরা হয়।

যখন override=true একটি delay সাথে ব্যবহার করা হয়, তখন স্থাপনার সময় HTTP 5XX প্রতিক্রিয়া বাদ দেওয়া যেতে পারে। এর কারণ হল উভয় API প্রক্সি সংশোধন একই সাথে স্থাপন করা হবে, বিলম্বের পরে পুরানো পুনর্বিন্যাসের সাথে মোতায়েন করা হবে।

একটি API রিভিশনের সমস্ত স্থাপনা দেখুন

কখনও কখনও এটি একটি API প্রক্সির বর্তমানে স্থাপন করা সমস্ত সংশোধনগুলির একটি তালিকা আনার প্রয়োজন হয়৷

curl https://api.enterprise.apigee.com/v1/o/ORG_NAME/apis/weatherapi/revisions/1/deployments \
  -u EMAIL:PASSWORD
{
  "aPIProxy" : "weatherapi",
  "environment" : [ {
    "configuration" : {
      "basePath" : "",
      "steps" : [ ]
    },
    "name" : "test",
    "server" : [ {
      "status" : "deployed",
      "type" : [ "message-processor" ],
      "uUID" : "90096dd1-1019-406b-9f42-fbb80cd01200"
    }, {
      "status" : "deployed",
      "type" : [ "message-processor" ],
      "uUID" : "7d6e2eb1-581a-4db0-8045-20d9c3306549"
    }, {
      "status" : "deployed",
      "type" : [ "router" ],
      "uUID" : "1619e2d7-c822-45e0-9f97-63882fb6a805"
    }, {
      "status" : "deployed",
      "type" : [ "router" ],
      "uUID" : "8a5f3d5f-46f8-4e99-b4cc-955875c8a8c8"
    } ],
    "state" : "deployed"
  } ],
  "name" : "1",
  "organization" : "org_name"
}

উপরের প্রতিক্রিয়াটিতে Apigee Edge-এর অভ্যন্তরীণ অবকাঠামোর জন্য নির্দিষ্ট অনেক বৈশিষ্ট্য রয়েছে। আপনি Apigee Edge অন-প্রিমিস ব্যবহার না করলে, আপনি এই সেটিংস পরিবর্তন করতে পারবেন না।

প্রতিক্রিয়ার মধ্যে থাকা গুরুত্বপূর্ণ বৈশিষ্ট্যগুলি হল organization , environment , aPIProxy , name এবং state । এই সম্পত্তি মান পর্যালোচনা করে, আপনি নিশ্চিত করতে পারেন যে একটি API প্রক্সির একটি নির্দিষ্ট সংশোধন একটি পরিবেশে স্থাপন করা হয়েছে।

পরীক্ষার পরিবেশে সমস্ত স্থাপনা দেখুন

আপনি নিম্নলিখিত কলটি ব্যবহার করে একটি নির্দিষ্ট পরিবেশের জন্য (বর্তমানে নিয়োজিত API প্রক্সির সংশোধন নম্বর সহ) স্থাপনার স্থিতি পুনরুদ্ধার করতে পারেন:

curl -u EMAIL:PASSWORD
  https://api.enterprise.apigee.com/v1/o/ORG_NAME/environments/test/deployments

এটি পরীক্ষার পরিবেশে স্থাপন করা প্রতিটি API-এর জন্য উপরের মত একই ফলাফল প্রদান করে

আপনার প্রতিষ্ঠানের সমস্ত স্থাপনা দেখুন

সমস্ত পরিবেশে সমস্ত API প্রক্সিগুলির বর্তমানে স্থাপন করা সমস্ত সংশোধনগুলির একটি তালিকা আনতে, নিম্নলিখিত API পদ্ধতিটি ব্যবহার করুন:

curl https://api.enterprise.apigee.com/v1/o/ORG_NAME/deployments \
  -u EMAIL:PASSWORD

এটি সমস্ত পরিবেশে স্থাপন করা সমস্ত API প্রক্সিগুলির জন্য উপরের মত একই ফলাফল প্রদান করে।

যেহেতু APIটি আরামদায়ক, তাই আপনি একটি API প্রক্সি তৈরি করতে একই সংস্থানের বিপরীতে JSON বা XML পেলোড সহ POST পদ্ধতি ব্যবহার করতে পারেন।

আপনার API প্রক্সির জন্য একটি প্রোফাইল তৈরি করা হয়েছে৷ একটি API প্রক্সির ডিফল্ট উপস্থাপনা জাভাস্ক্রিপ্ট অবজেক্ট নোটেশনে (JSON)। নীচে উপরে POST অনুরোধের ডিফল্ট JSON প্রতিক্রিয়া, যা weatherapi নামে একটি API প্রক্সি তৈরি করেছে। প্রোফাইলে প্রতিটি উপাদানের একটি বিবরণ নিম্নরূপ:

{
  "configurationVersion" : {
    "majorVersion" : 4,
    "minorVersion" : 0
  },
  "contextInfo" : "Revision 1 of application weatherapi, in organization {org_name}",
  "createdAt" : 1357172145444,
  "createdBy" : "you@yourcompany.com",
  "displayName" : "weatherapi",
  "lastModifiedAt" : 1357172145444,
  "lastModifiedBy" : "you@yourcompany.com",
  "name" : "weatherapi",
  "policies" : [ ],
  "proxyEndpoints" : [ ],
  "resources" : [ ],
  "revision" : "1",
  "targetEndpoints" : [ ],
  "targetServers" : [ ],
  "type" : "Application"
}

যে API প্রক্সি প্রোফাইল তৈরি করা হয়েছে তা একটি API প্রক্সির সম্পূর্ণ কাঠামো প্রদর্শন করে:

  • APIProxy revision : API প্রক্সি কনফিগারেশনের ক্রমানুসারে সংখ্যাযুক্ত পুনরাবৃত্তি, যেমন API পরিষেবাগুলি দ্বারা রক্ষণাবেক্ষণ করা হয়
  • APIProxy name : API প্রক্সির অনন্য নাম
  • ConfigurationVersion : API পরিষেবার সংস্করণ যার সাথে API প্রক্সি কনফিগারেশন মেনে চলে
  • CreatedAt : সময় যখন API প্রক্সি তৈরি হয়েছিল, UNIX সময়ে ফর্ম্যাট করা হয়েছিল
  • CreatedBy : Apigee Edge ব্যবহারকারীর ইমেল ঠিকানা যিনি API প্রক্সি তৈরি করেছেন
  • DisplayName : API প্রক্সির জন্য একটি ব্যবহারকারী-বান্ধব নাম
  • LastModifiedAt : সময় যখন API প্রক্সি তৈরি হয়েছিল, UNIX সময়ে ফর্ম্যাট করা হয়েছিল
  • LastModifiedBy : Apigee Edge ব্যবহারকারীর ইমেল ঠিকানা যিনি API প্রক্সি তৈরি করেছেন
  • Policies : এই API প্রক্সিতে যোগ করা নীতিগুলির একটি তালিকা৷
  • ProxyEndpoints : নামযুক্ত প্রক্সিএন্ডপয়েন্টের একটি তালিকা
  • Resources : এই API প্রক্সিতে চালানোর জন্য উপলব্ধ সংস্থানগুলির একটি তালিকা (জাভাস্ক্রিপ্ট, পাইথন, জাভা, XSLT)
  • TargetServers : লোড ব্যালেন্সিং উদ্দেশ্যে উন্নত কনফিগারেশনে ব্যবহৃত টার্গেট সার্ভারের একটি তালিকা (যা ব্যবস্থাপনা API ব্যবহার করে তৈরি করা যেতে পারে)
  • TargetEndpoints : নামযুক্ত টার্গেটএন্ডপয়েন্টের একটি তালিকা

উল্লেখ্য যে উপরের সহজ POST পদ্ধতি ব্যবহার করে তৈরি করা API প্রক্সি কনফিগারেশনের অনেক উপাদানই খালি। নিম্নলিখিত বিষয়গুলিতে, আপনি শিখবেন কিভাবে একটি API প্রক্সির মূল উপাদানগুলি যোগ এবং কনফিগার করতে হয়।

আপনি API প্রক্সি কনফিগারেশন রেফারেন্সে এই কনফিগারেশন উপাদানগুলি সম্পর্কেও পড়তে পারেন।

API-এর বিরুদ্ধে স্ক্রিপ্টিং

GitHub-এ উপলব্ধ নমুনা API প্রক্সিগুলি ব্যবহার করে শেল স্ক্রিপ্টগুলি প্রদান করে যা Apigee ডিপ্লয় টুলকে মোড়ানো হয়। যদি কোনো কারণে আপনি পাইথন ডিপ্লোয় টুল ব্যবহার করতে না পারেন, তাহলে আপনি সরাসরি API কল করতে পারেন। উভয় পন্থা নীচের নমুনা স্ক্রিপ্টগুলিতে প্রদর্শিত হয়।

ডিপ্লোয় টুল মোড়ানো

প্রথমে, নিশ্চিত করুন যে পাইথন ডিপ্লয় টুল আপনার স্থানীয় পরিবেশে উপলব্ধ।

তারপরে আপনার শংসাপত্রগুলি ধরে রাখার জন্য একটি ফাইল তৈরি করুন। আপনি যে স্থাপনার স্ক্রিপ্টগুলি লিখবেন সেগুলি এই সেটিংসগুলিকে আমদানি করবে, আপনাকে আপনার অ্যাকাউন্টের জন্য কেন্দ্রীয়ভাবে শংসাপত্রগুলি পরিচালনা করতে সহায়তা করবে৷ API প্ল্যাটফর্ম নমুনায়, এই ফাইলটিকে setenv.sh বলা হয়।

#!/bin/bash

org="Your ORG on enterprise.apigee.com"
username="Your USERNAME on enterprise.apigee.com"

# While testing, it's not necessary to change the setting below
env="test"
# Change the value below only if you have an on-premise deployment
url="https://api.enterprise.apigee.com"
# Change the value below only if you have a custom domain
api_domain="apigee.net"

export org=$org
export username=$username
export env=$env
export url=$url
export api_domain=$api_domain

উপরের ফাইলটি আপনার সমস্ত সেটিংস শেল স্ক্রিপ্টগুলিতে উপলব্ধ করে যা স্থাপনার সরঞ্জামটি মোড়ানো হয়।

এখন একটি শেল স্ক্রিপ্ট তৈরি করুন যা সেই সেটিংস আমদানি করে এবং স্থাপনার টুল কল করতে ব্যবহার করে। (উদাহরণস্বরূপ Apigee API প্ল্যাটফর্মের নমুনাগুলি দেখুন।)

#!/bin/bash

source path/to/setenv.sh

echo "Enter your password for the Apigee Enterprise organization $org, followed by [ENTER]:"

read -s password

echo Deploying $proxy to $env on $url using $username and $org

path/to/deploy.py -n {api_name} -u $username:$password -o $org -h $url -e $env -p / -d path/to/apiproxy

আপনার জীবনকে সত্যিই সহজ করতে, এপিআই আহ্বান ও পরীক্ষা করার জন্য একটি স্ক্রিপ্ট তৈরি করুন, নিম্নরূপ:

#!/bin/bash

echo Using org and environment configured in /setup/setenv.sh

source /path/to/setenv.sh

set -x

curl "http://$org-$env.apigee.net/{api_basepath}"

সরাসরি এপিআই আহ্বান করা হচ্ছে

এটি সহজ শেল স্ক্রিপ্টগুলি লিখতে কার্যকর হতে পারে যা API প্রক্সিগুলি আপলোড এবং স্থাপন করার প্রক্রিয়াটিকে স্বয়ংক্রিয় করে।

নীচের স্ক্রিপ্ট সরাসরি ব্যবস্থাপনা API আহ্বান করে। এটি আপনি যে API প্রক্সিটি আপডেট করছেন তার বিদ্যমান রিভিশনটি আনডিপ্লোয় করে, আপনার প্রক্সি কনফিগারেশন ফাইল সমন্বিত /apiproxy ডিরেক্টরি থেকে একটি ZIP ফাইল তৈরি করে এবং তারপর কনফিগারেশন আপলোড, আমদানি এবং স্থাপন করে।

#!/bin/bash

#This sets the name of the API proxy and the basepath where the API will be available
api=api

source /path/to/setenv.sh

echo Delete the DS_store file on OSX

echo find . -name .DS_Store -print0 | xargs -0 rm -rf
find . -name .DS_Store -print0 | xargs -0 rm -rf

echo "Enter your password for the Apigee Enterprise organization $org, followed by [ENTER]:"

read -s password

echo Undeploy and delete the previous revision

# Note that you need to explicitly update the revision to be undeployed.
# One benefit of the Python deploy tool is that it manages this for you.

curl -k -u $username:$password "$url/v1/o/$org/e/$env/apis/$api/revisions/1/deployments" -X DELETE

curl -k -u $username:$password -X DELETE "$url/v1/o/$org/apis/$api/revisions/1"

rm -rf $api.zip

echo Create the API proxy bundle and deploy

zip -r $api.zip apiproxy

echo Import the new revision to $env environment 

curl -k -v -u $username:$password "$url/v1/o/$org/apis?action=import&name=$api" -T $api.zip -H "Content-Type: application/octet-stream" -X POST

echo Deploy the new revision to $env environment 

curl -k -u $username:$password "$url/v1/o/$org/e/$env/apis/$api/revisions/1/deployments" -X POST