16.08.17 - บันทึกประจำรุ่น Apigee Edge สำหรับระบบคลาวด์สาธารณะ

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

เมื่อวันอังคารที่ 30 สิงหาคม 2016 เราได้เปิดตัว Apigee Edge เวอร์ชันใหม่สำหรับระบบคลาวด์สาธารณะ

ฟีเจอร์และการอัปเดตใหม่

ต่อไปนี้คือฟีเจอร์และการอัปเดตใหม่ในรุ่นนี้

เพย์โหลด JSON ในนโยบาย Assign Message และ Raise Fault

เมื่อตั้งค่าเพย์โหลด JSON โดยใช้นโยบาย Assign Message หรือ Raise Fault บางครั้งผู้ใช้ต้องใช้วิธีแก้ปัญหาเพื่อให้แน่ใจว่าข้อความ JSON มีรูปแบบที่ถูกต้องในขณะรันไทม์ เช่น เริ่มต้นเพย์โหลดด้วยแบ็กสแลช "\" หรือระบุ variablePrefix และ variableSuffix ในองค์ประกอบเพย์โหลด แม้ว่าจะไม่มีการใช้ตัวแปรในข้อความก็ตาม

การปรับปรุงนี้ช่วยให้ไม่จำเป็นต้องใช้วิธีแก้ปัญหาเพื่อให้แน่ใจว่าข้อความ 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 คุณสามารถใส่ไวลด์การ์ดในเส้นทางทรัพยากรได้หลายตำแหน่งในa เช่น /team/*/invoices/** อนุญาตการเรียก API ที่มีค่าใดค่าหนึ่งหลัง /team และเส้นทางทรัพยากรใดก็ได้หลัง invoices/ URI ที่อนุญาตในการเรียก API จะ เป็น proxyBasePath/team/finance/invoices/company/a

หากหลังจากรุ่นนี้ เส้นทางทรัพยากรของผลิตภัณฑ์ API ที่มีอยู่หยุดทำงานตามที่คาดไว้ ให้ตั้งค่า พร็อพเพอร์ตี้ต่อไปนี้ในองค์กรเพื่อกลับไปใช้ลักษณะการทำงานก่อนหน้า features.enableStandardWildCardMatchForAPIProductResources = true

(MGMT-3273)

ฟังก์ชันการเข้ารหัสใน JavaScript

ฟังก์ชัน crypto ของ JavaScript ชุดใหม่ที่มีประสิทธิภาพสูงพร้อมให้คุณใช้งาน เพื่อสร้าง รับ และอัปเดตออบเจ็กต์แฮชต่อไปนี้ MD5, SHA-1, SHA256, SHA512 นอกจากนี้ ออบเจ็กต์ crypto ยังช่วยให้คุณรับ วันที่ในรูปแบบต่างๆ ได้ด้วย ดูข้อมูลเพิ่มเติมได้ที่ โมเดลออบเจ็กต์ JavaScript (APIRT-2886)

การตรวจสอบเวอร์ชัน JAR ของ Java Callout

เมื่ออัปโหลดทรัพยากร JAR ของ Java ไปยังพร็อกซี API ระบบจะแสดงผลรหัสสถานะ HTTP 400 (แทนที่จะเป็น 500) หากเวอร์ชันของทรัพยากร Java ไม่เข้ากันกับ Java เวอร์ชันที่ Edge รองรับ ซึ่งระบุไว้ใน ซอฟต์แวร์และ เวอร์ชันที่รองรับ (MGMT-3420)

การตรวจสอบทรัพยากรของพร็อกซี API

เมื่อคุณมีไฟล์ทรัพยากรของพร็อกซี API (เช่น JavaScript หรือ Java JAR) ที่จัดเก็บไว้ในขอบเขตสภาพแวดล้อมหรือองค์กร เฟรมเวิร์กการตรวจสอบไม่กำหนดให้คุณต้องรวมทรัพยากรเหล่านั้นไว้ที่ระดับพร็อกซี API ในชุดพร็อกซีเพื่อให้การนำเข้าผ่านการตรวจสอบอีกต่อไป การตรวจสอบทรัพยากรจะเกิดขึ้นในขณะที่ทำการติดตั้งใช้งาน ไม่ใช่ในขณะที่นำเข้า (MGMT-1430)

กำหนดค่าการหมดเวลา สำหรับพร็อกซี API แต่ละรายการ

คุณสามารถกำหนดค่าพร็อกซี API ให้หมดเวลาหลังจากผ่านไประยะเวลาที่ระบุ (โดยมีสถานะการหมดเวลาของเกตเวย์ 504 ) กรณีการใช้งานหลักคือสำหรับลูกค้า Private Cloud ที่มีพร็อกซี API ซึ่งใช้เวลานานกว่าในการดำเนินการ เช่น คุณต้องการให้พร็อกซีบางรายการหมดเวลาที่ 3 นาที คุณสามารถ ใช้พร็อพเพอร์ตี้ api.timeout ใหม่ในการกำหนดค่าสำหรับพร็อกซี API วิธีดำเนินการในตัวอย่าง 3 นาทีมีดังนี้

  1. ก่อนอื่น ให้กำหนดค่าตัวจัดสรรภาระงาน เราเตอร์ และตัวประมวลผลข้อความให้หมดเวลา หลังจากผ่านไป 3 นาที
  2. จากนั้นกำหนดค่าพร็อกซีที่เกี่ยวข้องให้หมดเวลาที่ 3 นาที ระบุค่าเป็น มิลลิวินาที ตัวอย่างเช่น
    <ProxyEndpoint name="default">
      <HTTPProxyConnection>
        <BasePath>/v1/weather</BasePath>
        <Properties>
          <!-- api.timeout is in milliseconeds -->
          <Property name="api.timeout">180000</Property>
        </Properties>
        ...
  3. อย่างไรก็ตาม โปรดทราบว่าการเพิ่มการหมดเวลาของระบบอาจทำให้เกิดปัญหาด้านประสิทธิภาพ เนื่องจาก พร็อกซีทั้งหมดที่ไม่มีการตั้งค่า api.timeout จะใช้การหมดเวลาใหม่ที่นานขึ้นของตัวจัดสรรภาระงาน เราเตอร์ และ ตัวประมวลผลข้อความ ดังนั้น ให้กำหนดค่าพร็อกซี API อื่นๆ ที่ไม่จำเป็นต้องใช้การหมดเวลาที่นานขึ้น ให้ใช้การหมดเวลาที่สั้นลง ตัวอย่างเช่น โค้ดต่อไปนี้จะตั้งค่าพร็อกซี API ให้หมดเวลาหลังจากผ่านไป 1 นาที:
    <Property name="api.timeout">60000</Property>

ลูกค้า Cloud ที่ไม่สามารถแก้ไขการหมดเวลาของ 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 ที่มีไดเรกทอรี resources/node/resources
MGMT-3364 OAuthV2: การตรวจสอบ redirect_uri
MGMT-3319 การแสดงรายการใน Vault ที่มีค่า Null ในรายการรายการหนึ่งใช้ไม่ได้ สำหรับองค์กร (CPS และที่ไม่ใช่ CPS)
MGMT-3226 การค้นหาที่ระดับองค์กร/สภาพแวดล้อมไม่ควรดึงข้อมูลทั้งหมดออกมาจนทำให้ API ล้มเหลว
Release_160302 มีข้อบกพร่องที่ทำให้การแสดงรายการทรัพยากรที่ระดับองค์กร/สภาพแวดล้อม ล้มเหลวหากขนาดสะสมของทรัพยากรเกิน 16 MB การแก้ไขนี้จะจัดการข้อบกพร่องดังกล่าว
AXAPP-2429 Analytics API ที่ใช้ response_status_code แสดงข้อผิดพลาดในการเข้าถึงข้อมูล
AXAPP-2386 แก้ไขเนื้อหารายงานที่ว่างเปล่าในรายงานอีเมลรายวันของ Analytics
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 'application/json+fhir' ที่เป็นไปตามข้อกำหนด FHIR
APIRT-2946 นโยบาย OAuthV2-RefreshToken ไม่ซ่อนแอตทริบิวต์แม้ว่าจะตั้งค่าการแสดงผลเป็น "เท็จ"
APIRT-2908 ต้องบังคับใช้ TLS1.2 สำหรับการเรียก API ภายในหลังจากการอัปเดต TLS1.2 ใน Virtual Host
APIRT-2901 การตอบกลับที่บีบอัดด้วย gzip ซึ่งแสดงผลจากแคชจะถูกบีบอัดซ้ำ
APIRT-2873 MP แสดง NullPointerException ที่เกี่ยวข้องกับ VerifyAPIKey หลังจากลบ ผลิตภัณฑ์/นักพัฒนาแอป/พร็อกซี
APIRT-2871 นโยบายที่ใช้ I/O มากปรากฏ 2 ครั้งใน Trace
APIRT-2825 ข้อผิดพลาดด้านไวยากรณ์ในการตอบกลับข้อผิดพลาดของ Access Token
APIRT-2750 การเข้าชมล้มเหลวจำนวนมากในองค์กรหนึ่งๆ
APIRT-2685 การเข้าชมไม่สามารถไหลเวียนได้เนื่องจากมีการแสดงข้อผิดพลาดที่ไม่รู้จัก
APIRT-2647 ข้อผิดพลาด"Underlying input stream returned zero bytes" กับ nonprod/dev
APIRT-2630 ปัญหาเกิดขึ้นเป็นระยะๆ เมื่อพยายามอ่านค่าจากแคช
APIRT-2620 พูลเธรดแยกต่างหากสำหรับขั้นตอนการบล็อกบางขั้นตอน
APIRT-2610 java.lang.ClassCastException กับนโยบายการแคชการตอบกลับ
APIRT-2608 ข้อผิดพลาดในการแยกวิเคราะห์ส่วนหัว Last-Modified ในนโยบายการแคชการตอบกลับ
APIRT-2605 ไม่ควรอนุญาตให้เขียนทับตัวแปร"organization" และ "environment" ผ่านนโยบาย
APIRT-2566 นโยบาย OAuthV2 แสดงผลส่วนหัว WWW-Authenticate ที่มีรูปแบบไม่ถูกต้อง
APIRT-2491 **การอัปเดต TargetServer ไม่สำเร็จเนื่องจากการหมดเวลา RPC ระหว่างการจัดการกับ MP**
APIRT-2386 ขอบเขตสตริงที่ว่างเปล่าจะถูกสร้างขึ้นในผลิตภัณฑ์ API ที่มีขอบเขต OAuth ที่อนุญาตที่ว่างเปล่า
APIRT-2383 นโยบายการแปลง XSL ไม่บันทึกข้อมูลใดๆ เมื่อเกิด ข้อผิดพลาด
APIRT-2364 ตัวแปรโฟลว์ข้อผิดพลาดของ OAuth ไม่ได้รับการอัปเดตเมื่อเกิดข้อผิดพลาด
APIRT-2216 เหตุการณ์ที่เซิร์ฟเวอร์ส่ง - สตรีมเหตุการณ์มีปัญหาในเวอร์ชันที่ใช้งานจริง
APIRT-2079 การเรียก cURL ของ DEBUG ไม่หยุดหลังจากเซสชันที่สร้างขึ้นหมดเวลา
APIRT-1495 การป้องกันภัยคุกคาม XML ไม่ตรวจพบ Content-Type ของ FHIR
APIRT-347 ระบบไม่ได้ตรวจสอบนโยบาย XSL อย่างถูกต้องเมื่อนำเข้า (ไม่ได้กำหนดผลลัพธ์ ให้กับตัวแปรเอาต์พุตตามที่ระบุไว้ในเอกสารประกอบ)