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

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

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

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

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

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

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

การปรับปรุงนี้ช่วยให้คุณไม่ต้องใช้วิธีแก้ปัญหาชั่วคราวเพื่อให้มั่นใจว่าข้อความ 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

เมื่ออัปโหลดทรัพยากร JAR ของ Java ไปยังพร็อกซี 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 นาที

  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>

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