คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X ข้อมูล
ทุกองค์กรมีวงจรการพัฒนาซอฟต์แวร์ (SDLC) ที่แตกต่างกัน เรามักจำเป็นต้องซิงค์ข้อมูลและปรับการติดตั้งใช้งานพร็อกซี API ให้สอดคล้องกับกระบวนการที่ใช้สำหรับบริการแบ็กเอนด์
เมธอด Edge API ที่แสดงในหัวข้อนี้อาจใช้เพื่อผสานรวมการจัดการพร็อกซี API เข้ากับ SDLC ขององค์กรได้ การใช้งานทั่วไปของ API นี้คือการเขียนสคริปต์หรือโค้ดที่ทำให้พร็อกซี API ใช้งานได้ หรือที่ย้ายข้อมูลพร็อกซีของ API จากสภาพแวดล้อมหนึ่งไปยังอีกสภาพแวดล้อมหนึ่ง โดยเป็นส่วนหนึ่งของกระบวนการอัตโนมัติที่ใหญ่ขึ้น ซึ่งยังทำให้แอปพลิเคชันอื่นใช้งานได้หรือย้ายแอปพลิเคชันอื่นด้วย
Edge API ไม่มีข้อสันนิษฐานเกี่ยวกับ SDLC ของคุณ (หรือของใครก็ตาม) ในเรื่องนั้น แต่จะแสดงฟังก์ชันอะตอมที่ทีมพัฒนาของคุณได้ประสานงานกันเพื่อทำให้วงจรการพัฒนา API เป็นอัตโนมัติและเพิ่มประสิทธิภาพให้กับวงจรชีวิตของคุณ
โปรดดูข้อมูลทั้งหมดที่ Edge API
หากต้องการใช้ Edge API คุณต้องตรวจสอบสิทธิ์ของตนเองในการโทร ซึ่งทำได้โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้
- OAuth2 (ระบบคลาวด์สาธารณะเท่านั้น)
- SAML (ระบบคลาวด์สาธารณะและส่วนตัว)
- การตรวจสอบสิทธิ์พื้นฐาน (ไม่แนะนำสำหรับ Public และ Private Cloud)
หัวข้อนี้มุ่งเน้นที่ชุด 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 ก่อนหน้าในสภาพแวดล้อมผลิตภัณฑ์
ในตัวอย่างนี้ มีการแก้ไขเพียง 1 รายการเนื่องจากเพิ่งสร้างพร็อกซี 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
ตัวอย่างเช่น คุณสามารถเรียกเมธอด 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 ให้รับและส่งต่อคำขออย่างถูกต้องแล้ว คุณจะทำให้พร็อกซี API ใช้งานได้ในสภาพแวดล้อมอย่างน้อย 1 รายการ โดยปกติแล้ว คุณจะทำซ้ำบนพร็อกซี API ใน test
และเมื่อพร้อมแล้ว คุณจะโปรโมตการแก้ไขพร็อกซี API เป็น prod
บ่อยครั้งที่คุณจะพบว่าคุณมีการแก้ไขพร็อกซี API มากขึ้นในสภาพแวดล้อมการทดสอบ โดยหลักๆ แล้วคือการทำซ้ำที่น้อยกว่ามากในสภาพแวดล้อมของผลิตภัณฑ์
ไม่สามารถเรียกใช้พร็อกซี API ได้จนกว่าจะทำให้ใช้งานได้กับสภาพแวดล้อม เมื่อทำให้การแก้ไขพร็อกซี API ใช้งานได้กับผลิตภัณฑ์แล้ว คุณจะเผยแพร่ URL prod
ไปยังนักพัฒนาซอฟต์แวร์ภายนอกได้
วิธีแสดงรายการสภาพแวดล้อม
ทุกองค์กรใน Apigee Edge มีสภาพแวดล้อมอย่างน้อย 2 รายการ ได้แก่ test
และ prod
ความแตกต่างนี้แตกต่างกันตามอำเภอใจ เป้าหมายคือการให้ข้อมูลพื้นที่ในการยืนยันว่าพร็อกซี API ทำงานได้อย่างถูกต้องก่อนที่คุณจะเปิดให้นักพัฒนาซอฟต์แวร์ภายนอกได้เห็น
แต่ละสภาพแวดล้อมเป็นเพียงที่อยู่เครือข่ายเท่านั้น ที่ช่วยให้คุณสามารถแยกการรับส่งข้อมูลระหว่างพร็อกซี API ที่ทำงานอยู่และที่แอปที่แอปเข้าถึงขณะรันไทม์
นอกจากนี้ สภาพแวดล้อมยังช่วยแยกข้อมูลและทรัพยากรอีกด้วย ตัวอย่างเช่น คุณอาจตั้งค่าแคชที่แตกต่างกันในการทดสอบและ Pro ซึ่งเข้าถึงได้ผ่านพร็อกซี 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 ใช้งานได้เพียงเวอร์ชันเดียวในสภาพแวดล้อมในช่วงเวลาที่กำหนด ดังนั้นจะต้องยกเลิกการทำให้การแก้ไขที่ทำให้ใช้งานได้แล้วใช้งานได้ คุณควบคุมได้ว่าจะทำให้ Bundle ใหม่ใช้งานได้เป็นการแก้ไขใหม่ หรือเขียนทับการแก้ไขที่มีอยู่
คุณกำลังดูเอกสารประกอบของ 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 เวอร์ชันหนึ่งใช้งานได้ 1 รายการทับกับอีกการแก้ไขหนึ่ง โค้ดประเภทแรกต้องไม่มีการทำให้ใช้งานได้เสมอ การตั้งค่า override
เป็น true
หมายความว่าคุณระบุว่าควรใช้งานการแก้ไขของพร็อกซี API 1 รายการแทนการแก้ไขที่ใช้งานในปัจจุบัน ผลที่ได้คือลำดับการทำให้ใช้งานได้มีการกลับด้าน กล่าวคือทำให้การแก้ไขใหม่ใช้งานได้ และเมื่อการทำให้ใช้งานได้เสร็จสมบูรณ์แล้ว การแก้ไขที่ทำให้ใช้งานได้แล้วจะถูกยกเลิกการทำให้ใช้งานได้
ตัวอย่างต่อไปนี้กำหนดค่า 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 |
ค่าเริ่มต้นคือ ตั้งค่าเป็น |
delay |
หากต้องการอนุญาตให้การประมวลผลธุรกรรมเสร็จสมบูรณ์ในการแก้ไขที่มีอยู่ก่อนที่จะยกเลิกการทำให้ใช้งานได้ และลดความเป็นไปได้ในการใช้ ค่าเริ่มต้นคือ 0 (ศูนย์) วินาที เมื่อตั้งค่า |
เมื่อใช้ override=true
ร่วมกับ delay
ระบบอาจตัดการตอบสนองของ HTTP 5XX
ออกระหว่างการทำให้ใช้งานได้ เนื่องจากระบบจะทำให้การแก้ไขพร็อกซี API ทั้ง 2 รายการใช้งานได้พร้อมกัน โดยยกเลิกการทำให้การแก้ไขเก่าใช้งานได้หลังจากความล่าช้า
ดูการทำให้ใช้งานได้ทั้งหมดของการแก้ไข 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
: ชื่อที่ไม่ซ้ำกันของพร็อกซี APIConfigurationVersion
: เวอร์ชันของบริการ API ที่สอดคล้องกับการกำหนดค่าพร็อกซี APICreatedAt
: เวลาที่สร้างพร็อกซี API ซึ่งอยู่ในรูปแบบเวลา UNIXCreatedBy
: อีเมลของผู้ใช้ Apigee Edge ที่สร้างพร็อกซี APIDisplayName
: ชื่อที่ใช้ง่ายสำหรับพร็อกซี APILastModifiedAt
: เวลาที่สร้างพร็อกซี API ซึ่งอยู่ในรูปแบบเวลา UNIXLastModifiedBy
: อีเมลของผู้ใช้ Apigee Edge ที่สร้างพร็อกซี APIPolicies
: รายการนโยบายที่เพิ่มลงในพร็อกซี API นี้ProxyEndpoints
: รายการ ProxyEndpoints ที่มีชื่อResources
: รายการทรัพยากร (JavaScript, Python, Java, XSLT) ที่พร้อมใช้งานในพร็อกซี API นี้TargetServers
: รายการ TargetServers ที่มีชื่อ (สร้างโดยใช้ 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 ที่รวมเครื่องมือทำให้ใช้งานได้
ตอนนี้ให้สร้างสคริปต์ 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