ทำให้พร็อกซี 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 ก่อนหน้าในสภาพแวดล้อมผลิตภัณฑ์

ในตัวอย่างนี้ มีการแก้ไขเพียง 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

ค่าเริ่มต้นคือ false (ลักษณะการทำให้ใช้งานได้ปกติ: ยกเลิกการทำให้การแก้ไขที่มีอยู่ใช้งานได้ จากนั้นจะมีการทำให้การแก้ไขใหม่ใช้งานได้)

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

delay

หากต้องการอนุญาตให้การประมวลผลธุรกรรมเสร็จสมบูรณ์ในการแก้ไขที่มีอยู่ก่อนที่จะยกเลิกการทำให้ใช้งานได้ และลดความเป็นไปได้ในการใช้ 502 Bad Gateway หรือ 504 Gateway Timeout errors ให้ตั้งค่าพารามิเตอร์นี้เป็นจำนวนวินาทีที่ต้องการให้เกิดความล่าช้าในการยกเลิกการติดตั้งใช้งาน ไม่มีขีดจำกัดสำหรับจำนวนวินาทีที่คุณกำหนดได้ และไม่มีผลกระทบด้านประสิทธิภาพสำหรับการตั้งค่าจำนวนวินาทีที่เป็นจำนวนมาก ในระหว่างความล่าช้า จะไม่มีการส่งการรับส่งข้อมูลใหม่ไปยังการแก้ไขเก่า

ค่าเริ่มต้นคือ 0 (ศูนย์) วินาที เมื่อตั้งค่า override เป็น "จริง" และ delay เป็น 0 ระบบจะยกเลิกการทำให้การแก้ไขที่มีอยู่ใช้งานได้ทันทีหลังจากทำให้การแก้ไขใหม่ใช้งานได้ ค่าลบจะถือเป็น 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: ชื่อที่ไม่ซ้ำกันของพร็อกซี 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 ที่มีชื่อ (สร้างโดยใช้ 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