การแก้ปัญหาข้อผิดพลาดในการทำให้นโยบายเครื่องมือรวบรวมสถิติใช้งานได้

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

UnsupportedDatatype

ข้อความแสดงข้อผิดพลาด

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Deploying Revision [revision_number]
StatisticsCollection [datatype]: Datatype Revision:[revision_number];APIProxy:[api_proxy];Organization:[org_name];Environment:[env_name] is unsupported . Context [context].

ตัวอย่างข้อความแสดงข้อผิดพลาด

Error Saving Revision 1
StatisticsCollection char: Datatype Revision:1;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is unsupported . Context {2}.

ภาพหน้าจอตัวอย่าง

สาเหตุ

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

ประเภทข้อมูลที่รองรับ ได้แก่ string, integer, float, long, double และ boolean

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

การวินิจฉัย

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

    StatisticsCollection char: Datatype Revision:1;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is unsupported . Context {2}.
    
  3. ยืนยันว่าแอตทริบิวต์ประเภทที่ใช้ในนโยบายเครื่องมือรวบรวมสถิติที่ล้มเหลวตรงกับประเภทข้อมูลที่ระบุในข้อความแสดงข้อผิดพลาด (ขั้นตอนที่ 2 ด้านบน) ตัวอย่างเช่น นโยบายต่อไปนี้ระบุประเภทข้อมูลเป็น char ซึ่งตรงกับสิ่งที่อยู่ในข้อความแสดงข้อผิดพลาด

    <StatisticsCollector async="false" continueOnError="false" enabled="true" name="Statistics-Collector-1">
      <DisplayName>Statistics Collector 1</DisplayName>
      <Statistics>
          <Statistic name="statName" ref="varName" type="char">defaultStatValue</Statistic>
      </Statistics>
    </StatisticsCollector>
    
  4. หากแอตทริบิวต์ type ไม่ใช่ประเภทข้อมูลที่รองรับ แสดงว่าเป็นสาเหตุของข้อผิดพลาด

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

    StatisticsCollection char: Datatype Revision:1;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is unsupported . Context {2}.
    

ความละเอียด

ตรวจสอบว่าประเภทข้อมูลตัวแปรที่ระบุโดยแอตทริบิวต์ ref ในองค์ประกอบ <Statistic> ของนโยบายเครื่องมือรวบรวมสถิติมีการสนับสนุนและถูกต้อง เช่น

<StatisticsCollector async="false" continueOnError="false" enabled="true" name="Statistics-Collector-1">
    <DisplayName>Statistics Collector 1</DisplayName>
    <Statistics>
        <Statistic name="statName" ref="varName" type="string">defaultStatValue</Statistic>
    </Statistics>
</StatisticsCollector>

InvalidName

ข้อความแสดงข้อผิดพลาด

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Deploying Revision [revision_number]
StatisticsCollection: Name: [name] conflicts with system defined variables. Context policy: [policy_name]

ตัวอย่างข้อความแสดงข้อผิดพลาด

Error Saving Revision 1
StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.

ภาพหน้าจอตัวอย่าง

สาเหตุ

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

ตัวแปรที่กำหนดโดยระบบที่รู้จักบางรายการคือ organization และ environment

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

การวินิจฉัย

  1. ระบุนโยบายเครื่องมือรวบรวมสถิติที่เกิดข้อผิดพลาดและชื่อขององค์ประกอบ <Statistic> ที่ขัดแย้งกับตัวแปรที่ระบบกำหนด คุณจะพบทั้ง 2 รายการนี้ในข้อความแสดงข้อผิดพลาด ตัวอย่างเช่น ในข้อผิดพลาดต่อไปนี้ ชื่อนโยบายคือ StatCollector ชื่อองค์ประกอบ <Statistic> ที่ขัดแย้งกับตัวแปรที่ระบบกำหนดคือ organization

    StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.
    
  2. ยืนยันว่าชื่อองค์ประกอบ <Statistic> ที่ใช้ใน XML ของนโยบายเครื่องมือรวบรวมข้อมูลสถิติที่ล้มเหลวตรงกับชื่อที่ระบุในข้อความแสดงข้อผิดพลาด (ขั้นตอนที่ 1 ด้านบน) เช่น นโยบายต่อไปนี้ระบุชื่อเป็น organization ในองค์ประกอบ <Statistic> ซึ่งตรงกับสิ่งที่อยู่ในข้อความแสดงข้อผิดพลาด

    <StatisticsCollector name="StatCollector">
      <Statistics>
          <Statistic name="organization" ref="organization" type="string">myorg</Statistic>
          <Statistic name="traffic" ref="traffic" type="string">999999</Statistic>
      </Statistics>
    </StatisticsCollector>
    
  3. ตรวจสอบคำจำกัดความของแต่ละองค์ประกอบ <Statistic> หากมีองค์ประกอบ <Statistic> ที่แอตทริบิวต์ name ขัดแย้งกับตัวแปรระบบ ก็จะกลายเป็นสาเหตุของข้อผิดพลาด

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

StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.

ความละเอียด

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

<StatisticsCollector name="StatCollector">
    <Statistics>
        <Statistic name="org" ref="org" type="string">myorg</Statistic>
        <Statistic name="traffic" ref="traffic" type="string">999999</Statistic>
    </Statistics>
</StatisticsCollector>

DatatypeMissing

ข้อความแสดงข้อผิดพลาด

การติดตั้งใช้งานพร็อกซี API ผ่าน Edge UI หรือ Edge Management API ล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดนี้

Error Deploying Revision [revision_number]
StatisticsCollection [ref]: Datatype of Revision:[revision_number];APIProxy:[api_proxy];Organization:[org_name];Environment:[env_name] is missing . Context [context].

ตัวอย่างข้อความแสดงข้อผิดพลาด

Error Deploying Revision 2 to test
StatisticsCollection product.id: Datatype of Revision:2;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is missing. Context {2}.

ภาพหน้าจอตัวอย่าง

สาเหตุ

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

การวินิจฉัย

  1. ระบุนโยบายเครื่องมือรวบรวมสถิติในพร็อกซี API เฉพาะที่เกิดข้อผิดพลาด
  2. ตรวจสอบคำจำกัดความของแต่ละองค์ประกอบ <Statistic> ใน XML ของนโยบายเครื่องมือเก็บข้อมูลสถิติที่ล้มเหลว หากมีองค์ประกอบ <Statistic> ที่ไม่มีแอตทริบิวต์ประเภท นั่นเป็นสาเหตุของข้อผิดพลาด

ตัวอย่างนโยบายเครื่องมือเก็บข้อมูลสถิติมีดังนี้

  <StatisticsCollector name="publishPurchaseDetails"
      <Statistics>
          <Statistic name="productID" ref="product.id">999999</Statistic>
          <Statistic name="price" ref="product.price" type="string">1000</Statistic>
      </Statistics>
  </StatisticsCollector>
  

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

ความละเอียด

ตรวจสอบว่ามีการระบุแอตทริบิวต์ประเภทของตัวแปรที่ระบุโดยแอตทริบิวต์ ref ในองค์ประกอบ <Statistic> ของนโยบายเครื่องมือรวบรวมสถิติอยู่เสมอและเป็นประเภทข้อมูลที่รองรับ

ประเภทข้อมูลที่รองรับ ได้แก่ string, integer, float, long, double และ boolean

เช่น

<StatisticsCollector name="publishPurchaseDetails">
    <Statistics>
        <Statistic name="productID" ref="product.id" type="string">999999</Statistic>
        <Statistic name="price" ref="product.price"  type="string">1000</Statistic>
    </Statistics>
</StatisticsCollector>