คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ
Apigee X info
เมื่อวันอังคารที่ 30 สิงหาคม 2016 เราได้เปิดตัว Apigee Edge สำหรับ Public Cloud เวอร์ชันใหม่
ฟีเจอร์และการอัปเดตใหม่ๆ
ฟีเจอร์ใหม่และการอัปเดตในรุ่นนี้มีดังนี้
เพย์โหลด JSON ใน Assign Message และ Raise Fault
การปรับปรุงนี้ช่วยให้ไม่ต้องใช้การแก้ปัญหาเฉพาะหน้าเพื่อให้มั่นใจว่าข้อความ JSON มีการจัดรูปแบบที่เหมาะสม และสามารถระบุตัวแปรโดยใช้เครื่องหมายปีกกาได้โดยไม่ต้องสร้าง JSON ที่ไม่ถูกต้อง ตัวอย่างเช่น คำสั่งต่อไปนี้จะแทรกค่าของ message.content ในข้อความ JSON
<Payload contentType="application/json">{"message" : "{message.content}"}</Payload>
หากคุณใช้วิธีแก้ปัญหา โค้ดจะยังคงทำงานได้ตามเดิม นอกจากนี้ คุณยังใช้ variablePrefix และ variableSuffix แทนเครื่องหมายปีกกาเพื่อระบุตัวแปรได้ด้วย
ดูองค์ประกอบ <Set><Payload> ในเอกสารอ้างอิงนโยบาย Assign Message และ นโยบาย Raise Fault (APIRT-1160)
การปรับปรุงนโยบาย XML เป็น JSON
เราได้ปรับปรุงนโยบาย XML เป็น JSON ด้วยความสามารถต่อไปนี้ คุณสามารถกำหนดค่านโยบายให้ทำสิ่งต่อไปนี้ได้
- ถือว่าองค์ประกอบ XML บางอย่างเป็นอาร์เรย์ระหว่างการแปลง ซึ่งจะใส่ค่าในวงเล็บเหลี่ยม "[ ]" ในเอกสาร JSON
- ลบระดับของลำดับชั้นเอกสาร XML ในเอกสาร JSON สุดท้าย
ดูข้อมูลเพิ่มเติมได้ที่นโยบาย XML เป็น JSON (APIRT-1144)
ไวลด์การ์ดหลายรายการในเส้นทางทรัพยากรผลิตภัณฑ์ API
เมื่อกำหนดเส้นทางทรัพยากรใน API Product คุณสามารถใส่ไวลด์การ์ดในหลายตำแหน่งในเส้นทางทรัพยากรได้ เช่น /team/*/invoices/** อนุญาตการเรียก API ที่มีค่าใดก็ได้
หลังจาก /team และเส้นทางทรัพยากรใดก็ได้
หลังจาก invoices/ URI ที่อนุญาตในการเรียก API จะเป็น
proxyBasePath/team/finance/invoices/company/a
หากหลังจากรุ่นนี้ เส้นทางทรัพยากรผลิตภัณฑ์ API ที่มีอยู่หยุดทำงานตามที่คาดไว้ ให้ตั้งค่าพร็อพเพอร์ตี้ต่อไปนี้ในองค์กรเพื่อกลับไปใช้ลักษณะการทำงานก่อนหน้าfeatures.enableStandardWildCardMatchForAPIProductResources = true
(MGMT-3273)
ฟังก์ชัน Crypto ใน JavaScript
ชุดฟังก์ชัน JavaScript crypto ประสิทธิภาพสูงชุดใหม่พร้อมให้ใช้งานแล้ว
สำหรับการสร้าง รับ และอัปเดตออบเจ็กต์แฮชต่อไปนี้ MD5, SHA-1, SHA256, SHA512
ออบเจ็กต์ crypto ยังช่วยให้คุณรับวันที่ในรูปแบบต่างๆ ได้ด้วย
ดูข้อมูลเพิ่มเติมได้ที่โมเดลออบเจ็กต์ JavaScript
(APIRT-2886)
การตรวจสอบเวอร์ชัน JAR ของ Java Callout
เมื่ออัปโหลดทรัพยากร Java JAR ไปยังพร็อกซี API ระบบจะแสดงรหัสสถานะ HTTP 400 (แทนที่จะเป็น 500) หากเวอร์ชันของทรัพยากร Java ไม่เข้ากันกับเวอร์ชัน Java ที่ Edge รองรับ ซึ่งระบุไว้ในซอฟต์แวร์ที่รองรับและ เวอร์ชันที่รองรับ (MGMT-3420)
การตรวจสอบความถูกต้องของทรัพยากรพร็อกซี API
เมื่อคุณมีไฟล์ทรัพยากรพร็อกซี API (เช่น JavaScript หรือ JAR ของ Java) ที่จัดเก็บไว้ในขอบเขตสภาพแวดล้อมหรือองค์กร เฟรมเวิร์กการตรวจสอบจะไม่กำหนดให้คุณต้องรวมทรัพยากรเหล่านั้นที่ระดับพร็อกซี API ในชุดพร็อกซีสำหรับการนำเข้าเพื่อผ่านการตรวจสอบอีกต่อไป ตอนนี้การตรวจสอบความถูกต้องของทรัพยากรจะเกิดขึ้นในเวลาที่ทำการติดตั้งใช้งาน ไม่ใช่เวลาที่นำเข้า (MGMT-1430)
กำหนดค่าการหมดเวลา สำหรับพร็อกซี API แต่ละรายการ
คุณกำหนดค่าพร็อกซี API ให้หมดเวลาหลังจากเวลาที่ระบุได้ (มีสถานะ 504 Gateway Timeout
) กรณีการใช้งานหลักคือสำหรับลูกค้า Private Cloud ที่มีพร็อกซี API ซึ่งใช้เวลานานกว่าในการดำเนินการ
เช่น สมมติว่าคุณต้องการให้พร็อกซีบางรายการหมดเวลาที่ 3 นาที คุณสามารถ
ใช้พร็อพเพอร์ตี้ api.timeout ใหม่ในการกำหนดค่าสำหรับพร็อกซี API โดยทำดังนี้
ตัวอย่าง 3 นาที
- ก่อนอื่น ให้กำหนดค่าตัวจัดสรรภาระงาน เราเตอร์ และตัวประมวลผลข้อความให้หมดเวลา หลังจากผ่านไป 3 นาที
- จากนั้นกำหนดค่าพร็อกซีที่เกี่ยวข้องให้หมดเวลาที่ 3 นาที ระบุค่าเป็นมิลลิวินาที เช่น
<ProxyEndpoint name="default"> <HTTPProxyConnection> <BasePath>/v1/weather</BasePath> <Properties> <!-- api.timeout is in milliseconeds --> <Property name="api.timeout">180000</Property> </Properties> ... - อย่างไรก็ตาม โปรดทราบว่าการเพิ่มระยะหมดเวลาของระบบอาจส่งผลให้เกิดปัญหาด้านประสิทธิภาพ เนื่องจาก
พร็อกซีทั้งหมดที่ไม่มีการตั้งค่า api.timeout จะใช้ระยะหมดเวลาใหม่ที่สูงขึ้นของตัวจัดสรรภาระงาน เราเตอร์ และ
ตัวประมวลผลข้อความ ดังนั้น ให้กำหนดค่าพร็อกซี API อื่นๆ ที่ไม่จำเป็นต้องมีระยะหมดเวลาที่นานขึ้น
ให้ใช้ระยะหมดเวลาที่สั้นลง เช่น ชุดคำสั่งต่อไปนี้จะตั้งค่าพร็อกซี API ให้หมดเวลาหลังจากผ่านไป 1
นาที
<Property name="api.timeout">60000</Property>
ลูกค้าแบบคลาวด์ที่ไม่สามารถแก้ไขระยะหมดเวลาของ Edge ยังกำหนดค่าระยะหมดเวลาของพร็อกซี API ได้ด้วย ตราบใดที่ระยะหมดเวลานั้นสั้นกว่าระยะหมดเวลาของตัวประมวลผลข้อความ Edge มาตรฐานที่ 57 วินาที
คุณไม่สามารถป้อนค่าด้วยตัวแปรได้ พร็อพเพอร์ตี้นี้ครอบคลุมอยู่ในการอ้างอิงพร็อพเพอร์ตี้ของปลายทาง (APIRT-1778)
นโยบาย TLS/SSL สำหรับการบันทึกข้อความ
<KeyStore> และ <TrustStore> สามารถตั้งค่าได้ใน
การกำหนดค่า SSLInfo ในนโยบายการบันทึกข้อความ
ซึ่งอนุญาตให้ใช้ TLS/SSL แบบทางเดียวและสองทางกับบริการบันทึก คุณกำหนดค่า SSLInfo ในนโยบายการบันทึกข้อความในลักษณะเดียวกับที่ทำใน
TargetEndpoint ของพร็อกซี อย่างไรก็ตาม TLS/SSL การบันทึกข้อความรองรับเฉพาะโปรโตคอล TCP
(APIRT-1858)
แก้ไขข้อบกพร่องแล้ว
เราได้แก้ไขข้อบกพร่องต่อไปนี้ในรุ่นนี้ โดยหลักแล้ว รายการนี้มีไว้สำหรับผู้ใช้ที่ต้องการตรวจสอบว่า คำขอรับการสนับสนุนได้รับการแก้ไขแล้วหรือไม่ แต่ไม่ได้ออกแบบมาเพื่อให้ข้อมูลโดยละเอียดแก่ผู้ใช้ทุกคน
| รหัสปัญหา | คำอธิบาย |
|---|---|
| SECENG-609 | การเรียกใช้รันไทม์ไม่ล้มเหลวในระหว่างการลบ Truststore ที่เชื่อมโยงหรือ เมื่อมีการลบใบรับรองที่ถูกต้องใน Truststore |
| MGMT-3404 | การดู/ดึงข้อมูลบันทึก Node.js และการทำให้พร็อกซีใช้งานได้ช้ามาก |
| MGMT-3400 | การเรียก API การจัดการ /userroles จะล้มเหลวหากผู้ใช้ที่ทำการเรียกมีเครื่องหมาย "+" ในชื่อ |
| MGMT-3368 | java.lang.ArrayIndexOutOfBoundsException: 1 เมื่อนำเข้าชุด API Proxy ที่มีไดเรกทอรี resources/node/resources |
| MGMT-3364 | OAuthV2: redirect_uri check |
| MGMT-3319 | รายการในห้องนิรภัยที่มีค่าเป็น Null ในรายการใดรายการหนึ่งจะใช้ไม่ได้ สำหรับองค์กร (CPS และที่ไม่ใช่ CPS) |
| MGMT-3226 | การค้นหาระดับองค์กร/สภาพแวดล้อมไม่ควรดึงข้อมูลทั้งหมดซึ่งทำให้ API ทำงานไม่สำเร็จ รุ่น 160302 มีข้อบกพร่องที่ทำให้การแสดงทรัพยากรที่ระดับองค์กร/สภาพแวดล้อม ล้มเหลวหากขนาดสะสมของทรัพยากรสูงกว่า 16 MB การแก้ไขนี้จะจัดการกับ ข้อบกพร่องดังกล่าว |
| AXAPP-2429 | Analytics API ที่ใช้ response_status_code จะแสดงข้อผิดพลาดในการเข้าถึงข้อมูล |
| AXAPP-2386 | แก้ไขเนื้อหารายงานที่ว่างเปล่าในรายงานอีเมลรายวันของข้อมูลวิเคราะห์ |
| AXAPP-2347 | ไม่ได้รับอีเมลสรุปข้อมูลวิเคราะห์รายวัน |
| APIRT-3141 | Java Callout ล้มเหลวเมื่อเรียกใช้ new ExecutionResult() เนื่องจากมีการตั้งค่าตัวสร้าง ให้เป็นแบบส่วนตัว |
| APIRT-3140 | นโยบาย ServiceCallout ไม่ทํางานในการเรียก API ของ HEAD |
| APIRT-3131 | แสดง createdBy ไม่ถูกต้องสำหรับพร็อกซี API เมื่อใช้การสร้างรายได้กับ ผู้ให้บริการตรวจสอบสิทธิ์ภายนอก |
| APIRT-3121 | การเปลี่ยนแปลงไฟล์ทรัพยากรขององค์กรอาจไม่ทำงาน 100% |
| APIRT-3117 | MP มีการใช้งาน CPU ถึง 100% และหยุดแสดงการรับส่งข้อมูล |
| APIRT-3016 | ข้อผิดพลาด "การเรียกหมดเวลา" ของเราเตอร์ในการติดตั้งใช้งาน |
| APIRT-2975 | อัปโหลดชุดใบรับรองไม่สำเร็จ |
| APIRT-2955 | มาสก์แอตทริบิวต์บางอย่างของข้อมูลการตอบกลับ JSON สำหรับส่วนหัว Content-Type ที่เป็นไปตาม FHIR "application/json+fhir" ไม่ได้ |
| APIRT-2946 | นโยบาย OAuthV2-RefreshToken ไม่ซ่อนแอตทริบิวต์แม้ว่าจะตั้งค่าการแสดงเป็น false |
| APIRT-2908 | ต้องบังคับใช้ TLS1.2 สำหรับการเรียก API ภายในหลังการอัปเดต TLS1.2 ใน virtualhost |
| APIRT-2901 | การตอบกลับที่บีบอัดด้วย Gzip ซึ่งส่งคืนจากแคชจะได้รับการบีบอัดซ้ำ |
| APIRT-2873 | MP จะส่ง NullPointerException ที่เกี่ยวข้องกับ VerifyAPIKey หลังจากลบ products/developers/proxies |
| APIRT-2871 | นโยบาย IOIntensive ปรากฏ 2 ครั้งใน Trace |
| APIRT-2825 | ข้อผิดพลาดด้านไวยากรณ์ในการตอบกลับข้อผิดพลาดของโทเค็นเพื่อการเข้าถึง |
| APIRT-2750 | การเข้าชมล้มเหลวสูงในองค์กรที่เฉพาะเจาะจง |
| APIRT-2685 | การเข้าชมไม่สามารถไหลได้เนื่องจากเกิดข้อผิดพลาดที่ไม่รู้จัก |
| APIRT-2647 | ข้อผิดพลาด"Underlying input stream returned zero bytes" ที่มี nonprod/dev |
| APIRT-2630 | ปัญหาเป็นครั้งคราวเมื่อพยายามอ่านค่าจากแคช |
| APIRT-2620 | Thread Pool แยกต่างหากสำหรับขั้นตอนการบล็อกบางอย่าง |
| APIRT-2610 | java.lang.ClassCastException ที่มีนโยบายแคชการตอบกลับ |
| APIRT-2608 | ข้อผิดพลาดในการแยกวิเคราะห์ส่วนหัว Last-Modified ในนโยบายแคชการตอบกลับ |
| APIRT-2605 | ไม่ควรอนุญาตให้เขียนทับตัวแปร"organization" และ "environment" ผ่านนโยบาย |
| APIRT-2566 | นโยบาย OAuthV2 แสดงส่วนหัว WWW-Authenticate ที่มีรูปแบบไม่ถูกต้อง |
| APIRT-2491 | อัปเดต TargetServer ไม่สำเร็จเนื่องจาก RPC หมดเวลาการเชื่อมต่อระหว่างการจัดการกับ mps |
| APIRT-2386 | สร้างขอบเขตสตริงว่างในผลิตภัณฑ์ API ที่มีขอบเขต OAuth ที่อนุญาตว่าง |
| APIRT-2383 | ดูเหมือนว่านโยบายการแปลง XSL จะไม่บันทึกข้อมูลใดๆ เมื่อเกิดข้อผิดพลาด |
| APIRT-2364 | ตัวแปรโฟลว์ข้อผิดพลาดของ OAuth ไม่ได้รับการอัปเดตเมื่อเกิดข้อผิดพลาด |
| APIRT-2216 | เหตุการณ์ที่เซิร์ฟเวอร์ส่ง - สตรีมเหตุการณ์มีปัญหาในสภาพแวดล้อมการผลิต |
| APIRT-2079 | การเรียกใช้ cURL ในโหมดแก้ไขข้อบกพร่องไม่หยุดหลังจากที่การหมดเวลาของเซสชันที่สร้างขึ้นหมดอายุ |
| APIRT-1495 | การป้องกันภัยคุกคาม XML ไม่ตรวจพบ Content-Type ของ FHIR |
| APIRT-347 | นโยบาย XSL ไม่ได้รับการตรวจสอบอย่างถูกต้องเมื่อนำเข้า (ไม่ได้กำหนดผลลัพธ์ ให้กับตัวแปรเอาต์พุตตามที่บันทึกไว้) |