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

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

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

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

รับการแก้ไข API

_เวอร์ชัน_ API (เช่น api.company.com/v1) ควรเปลี่ยนแปลงไม่บ่อย นัก เมื่อเพิ่มเวอร์ชัน API นักพัฒนาแอปจะทราบว่ามีการเปลี่ยนแปลงที่สำคัญในลายเซ็นของอินเทอร์เฟซภายนอกที่ API แสดง

_การแก้ไข_พร็อกซี API คือหมายเลขที่เพิ่มขึ้นซึ่งเชื่อมโยงกับการกำหนดค่า พร็อกซี API API Services จะเก็บการแก้ไขการกำหนดค่าไว้เพื่อให้คุณย้อนกลับการกำหนดค่าได้เมื่อเกิดข้อผิดพลาด โดยค่าเริ่มต้น การแก้ไขของพร็อกซี API จะเพิ่มขึ้นโดยอัตโนมัติ ทุกครั้งที่คุณนำเข้าพร็อกซี API โดยใช้ API สำหรับนำเข้าพร็อกซี API หากไม่ต้องการเพิ่มการแก้ไขของพร็อกซี API ให้ใช้ Update API สำหรับอัปเดตการแก้ไขพร็อกซี API หากใช้ Maven เพื่อทำให้ใช้งานได้ ให้ใช้ตัวเลือก clean หรือ update ตามที่อธิบายไว้ในไฟล์ readme ของ ปลั๊กอิน Maven

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

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 ในสภาพแวดล้อมการทดสอบมากกว่า เนื่องจากคุณจะทำซ้ำในสภาพแวดล้อม prod น้อยกว่ามาก

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

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

ทุกองค์กรใน Apigee Edge มีสภาพแวดล้อมอย่างน้อย 2 รายการ ได้แก่ test และ prod ความแตกต่างนี้เป็นไปโดยพลการ เป้าหมายคือการจัดเตรียมพื้นที่ให้คุณยืนยันว่าพร็อกซี API ทำงานอย่างถูกต้องก่อนที่จะเปิดให้นักพัฒนาแอปภายนอกใช้งาน

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

นอกจากนี้ สภาพแวดล้อมยังช่วยแยกข้อมูลและทรัพยากรด้วย เช่น คุณสามารถตั้งค่า แคชที่แตกต่างกันใน test และ prod ซึ่งพร็อกซี API ที่ทำงานในสภาพแวดล้อมนั้นๆ เท่านั้นที่จะเข้าถึงได้

ดูสภาพแวดล้อมในองค์กร

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

ตัวอย่างการตอบกลับ

[ "test", "prod" ]

สำรวจการทำให้ใช้งานได้

การทำให้ใช้งานได้คือการแก้ไขพร็อกซี API ที่ทำให้ใช้งานได้ในสภาพแวดล้อม พร็อกซี API ที่อยู่ในสถานะ ทำให้ใช้งานได้จะเข้าถึงได้ผ่านเครือข่ายที่อยู่ที่กำหนดไว้ในองค์ประกอบ <VirtualHost> สำหรับสภาพแวดล้อมนั้น

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

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

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

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

ก่อนอื่นให้ยกเลิกการทำให้การแก้ไขที่มีอยู่ใช้งานได้ ระบุชื่อสภาพแวดล้อมและหมายเลขการแก้ไขของ พร็อกซี 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 ทั้ง 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 Object Notation (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 Services เป็นผู้ดูแล
  • APIProxy name: ชื่อที่ไม่ซ้ำของพร็อกซี API
  • ConfigurationVersion: เวอร์ชัน API Services ที่การกำหนดค่าพร็อกซี 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 มีสคริปต์เชลล์ที่ครอบคลุมเครื่องมือทำให้ใช้งานได้ของ 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 ที่จะนำเข้าการตั้งค่าเหล่านั้นและใช้การตั้งค่าเหล่านั้นเพื่อเรียกใช้เครื่องมือทำให้ใช้งานได้ (ดูตัวอย่างได้ที่ ตัวอย่างแพลตฟอร์ม 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 โดยตรง

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

สคริปต์ด้านล่างจะเรียกใช้ Management 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