ทำให้พร็อกซี API ใช้งานได้โดยใช้ API

คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่ เอกสารประกอบเกี่ยวกับ Apigee X.
ข้อมูล

ทุกองค์กรมีวงจรการพัฒนาซอฟต์แวร์ (SDLC) ที่ไม่ซ้ำกัน มักมีความจำเป็น เพื่อซิงค์และปรับการติดตั้งใช้งานพร็อกซี API กับกระบวนการที่ใช้สำหรับบริการแบ็กเอนด์

เมธอด Edge API ที่แสดงในหัวข้อนี้สามารถใช้เพื่อผสานรวมพร็อกซี API ลงใน SDLC ขององค์กรคุณ การใช้งานทั่วไปของ API นี้คือการเขียนสคริปต์หรือโค้ด ที่ทำให้พร็อกซี API ใช้งานได้ หรือย้ายข้อมูลพร็อกซี API จากสภาพแวดล้อมหนึ่งไปยังอีกสภาพแวดล้อมหนึ่ง โดยเป็นส่วนหนึ่งของ กระบวนการอัตโนมัติที่มีขนาดใหญ่ขึ้น และยังปรับใช้หรือย้ายแอปพลิเคชันอื่นๆ ด้วย

Edge API ไม่ได้ตั้งสมมติฐานเกี่ยวกับ SDLC ของคุณ (หรือของบุคคลอื่นไม่ว่าในกรณีนั้น) แต่เป็นการนำเสนอฟังก์ชันระดับอะตอมซึ่งทีมพัฒนาของคุณประสานงานกันเพื่อทำให้เป็นระบบอัตโนมัติได้ และเพิ่มประสิทธิภาพวงจรการพัฒนา API ของคุณ

ดูข้อมูลทั้งหมดได้ที่ Edge API

หากต้องการใช้ Edge API คุณต้องตรวจสอบสิทธิ์ด้วยตนเองในการโทร คุณสามารถทำสิ่งนี้ได้ด้วย วิธีใดวิธีหนึ่งต่อไปนี้

หัวข้อนี้เน้นที่ชุด API ที่สำหรับจัดการพร็อกซี API

วิดีโอ: ดูวิดีโอสั้นๆ นี้เพื่อเรียนรู้วิธีทำให้ API ใช้งานได้

การโต้ตอบกับ API

ขั้นตอนต่อไปนี้จะแนะนำคุณเกี่ยวกับการโต้ตอบง่ายๆ กับ API

แสดงรายการ API ในองค์กร

คุณเริ่มต้นด้วยการแสดงพร็อกซี API ทั้งหมดในองค์กรได้ (อย่าลืมเปลี่ยน รายการสำหรับ EMAIL:PASSWORD และ ORG_NAME โปรดดูวิธีการที่หัวข้อ ใช้ Edge API

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

คำตอบตัวอย่าง:

[ "weatherapi" ]

รับ API

คุณสามารถเรียกใช้เมธอด GET ในพร็อกซี API ใดก็ได้ในองค์กร การเรียกนี้จะแสดงรายการ การแก้ไขพร็อกซี 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 นำเข้าพร็อกซี API หากคุณ ไม่ต้องการเพิ่มการแก้ไขของพร็อกซี API ให้ใช้พารามิเตอร์ การอัปเดต API การแก้ไขพร็อกซี API หากคุณกำลังใช้ Maven เพื่อทำให้ใช้งานได้ ให้ใช้ clean หรือ update ตัวเลือก ตามที่อธิบายไว้ในปลั๊กอิน Maven Readme

ตัวอย่างเช่น คุณสามารถเรียกใช้เมธอด GET ในพร็อกซี API การแก้ไข 1 เพื่อดูมุมมองรายละเอียด

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 ให้รับและส่งต่อคำขออย่างเหมาะสมแล้ว คุณจะทำให้พร็อกซีใช้งานได้ อย่างน้อย 1 สภาพแวดล้อม โดยปกติแล้วคุณดำเนินการซ้ำๆ บนพร็อกซี API ใน test จากนั้นเมื่อพร้อม คุณโปรโมตการแก้ไขพร็อกซี API เป็น prod บ่อยครั้งคุณจะพบว่าคุณมีผลิตภัณฑ์ แก้ไขของพร็อกซี API ในสภาพแวดล้อมการทดสอบ สาเหตุหลักคือคุณจะทำน้อยกว่ามาก ทำซ้ำในสภาพแวดล้อมที่ใช้งานจริง

ไม่สามารถเรียกใช้พร็อกซี API จนกว่าจะทำให้ใช้งานได้กับสภาพแวดล้อม เมื่อ ทำให้การแก้ไขพร็อกซี API ใช้งานได้เป็นเวอร์ชันที่ใช้งานจริง จากนั้นคุณจะเผยแพร่ URL prod ไปยังภายนอกได้

วิธีแสดงรายการสภาพแวดล้อม

ทุกองค์กรใน Apigee Edge มีสภาพแวดล้อมอย่างน้อย 2 สภาพแวดล้อม ได้แก่ 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 ใช้งานได้

ไม่สามารถเรียกใช้พร็อกซี API จนกว่าจะทำให้ใช้งานได้แล้ว บริการ API เปิดตัว RESTful API ที่ช่วยให้ควบคุมกระบวนการติดตั้งใช้งานได้

การทำให้พร็อกซี API ใช้งานได้เพียง 1 เวอร์ชันในสภาพแวดล้อมในขณะนั้น ดังนั้น การแก้ไขที่ทำให้ใช้งานได้แล้วจะต้องยกเลิกการทำให้ใช้งานได้ คุณควบคุมได้ว่าจะทำให้แพ็กเกจใหม่ใช้งานได้หรือไม่ เป็นการแก้ไขใหม่หรือเขียนทับการแก้ไขเดิม

คุณกำลังดูเอกสารประกอบของ 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 หมายความว่าคุณระบุการแก้ไข 1 รายการ ของพร็อกซี 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 เป็น RESTful คุณจึงใช้วิธี POST ร่วมกับ JSON หรือ XML ได้ เพย์โหลด ที่ทรัพยากรเดียวกันเพื่อสร้างพร็อกซี API

สร้างโปรไฟล์สำหรับพร็อกซี API แล้ว การแสดงเริ่มต้นของพร็อกซี API อยู่ใน สัญลักษณ์ออบเจ็กต์ JavaScript (JSON) ด้านล่างนี้เป็นการตอบสนอง JSON เริ่มต้นสำหรับคำขอ POST ข้างต้น ซึ่งสร้างพร็อกซี API ชื่อ weatherapi คำอธิบายของแต่ละองค์ประกอบในโปรไฟล์ ดังต่อไปนี้:

{
  "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: รายการ ProxyEndpoints ที่ชื่อ
  • Resources: รายการทรัพยากร (JavaScript, Python, Java, XSLT) ที่พร้อมให้ จะดำเนินการในพร็อกซี API นี้
  • TargetServers: รายการ TargetServers ที่ตั้งชื่อ (ซึ่งสร้างได้โดยใช้ Management API) ซึ่งใช้ในการกำหนดค่าขั้นสูงเพื่อวัตถุประสงค์ด้านการจัดสรรภาระงาน
  • TargetEndpoints: รายการ TargetEndpoints ที่มีชื่อ

โปรดทราบว่าองค์ประกอบหลายรายการของการกำหนดค่าพร็อกซี API ที่สร้างขึ้นโดยใช้ POST แบบง่าย ไม่มีวิธีการด้านบน ในหัวข้อต่อไปนี้ คุณจะได้เรียนรู้วิธีเพิ่มและกำหนดค่าคีย์ คอมโพเนนต์ของพร็อกซี API

นอกจากนี้ คุณยังอ่านเกี่ยวกับองค์ประกอบการกำหนดค่าเหล่านี้ได้ในข้อมูลอ้างอิงการกำหนดค่าพร็อกซี API

การเขียนสคริปต์กับ API

การใช้พร็อกซี API ตัวอย่าง ที่พร้อมใช้งานใน GitHub มีสคริปต์ Shell ที่รวมเครื่องมือทำให้ใช้งานได้ของ Apigee หากมีเหตุผล คุณจะใช้เครื่องมือทำให้ Python ใช้งานได้ไม่ได้ โดยคุณเรียกใช้ API ได้โดยตรง ทั้ง 2 แนวทาง ตามที่แสดงในสคริปต์ตัวอย่างด้านล่าง

การรวมเครื่องมือการทำให้ใช้งานได้

ก่อนอื่นให้ตรวจสอบว่าเครื่องมือการทำให้ Python ใช้งานได้ ที่พร้อมใช้งานในระบบของคุณ

จากนั้นสร้างไฟล์เพื่อเก็บข้อมูลเข้าสู่ระบบ ระบบจะนำเข้าสคริปต์การติดตั้งใช้งานที่คุณเขียน การตั้งค่าเหล่านี้ ซึ่งจะช่วยให้คุณจัดการข้อมูลเข้าสู่ระบบสำหรับบัญชีของคุณได้จากส่วนกลาง ใน 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

ไฟล์ข้างต้นทำให้การตั้งค่าทั้งหมดของคุณใช้ได้กับสคริปต์ Shell ที่รวมการทำให้ใช้งานได้ ของ Google

ตอนนี้ ให้สร้างสคริปต์ Shell ที่นำเข้าการตั้งค่าเหล่านั้น และใช้สคริปต์นั้นเพื่อเรียกใช้เครื่องมือทำให้ใช้งานได้ (ดูตัวอย่าง ตัวอย่างแพลตฟอร์ม 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

เพื่อให้ชีวิตของคุณง่ายขึ้น ให้สร้างสคริปต์เพื่อเรียกใช้และทดสอบ API เช่น ดังต่อไปนี้:

#!/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 โดยตรง

การเขียนสคริปต์ Shell ง่ายๆ ที่ทำให้ขั้นตอนการอัปโหลดและ การทำให้พร็อกซี API ใช้งานได้

สคริปต์ด้านล่างจะเรียกใช้ API การจัดการโดยตรง เครื่องมือนี้ตรงข้ามกับ พร็อกซี API ที่คุณกำลังอัปเดตจะสร้างไฟล์ ZIP จากไดเรกทอรี /apiproxy ที่มีไฟล์การกำหนดค่าพร็อกซี จากนั้นจะอัปโหลด นำเข้า และทำให้ การกำหนดค่า

#!/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