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

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

UnsupportedDatatype

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

การติดตั้งใช้งานพร็อกซี API ผ่าน UI ของ Edge หรือ 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 ตั้งค่าเป็น 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 ผ่าน UI ของ Edge หรือ 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 ผ่าน UI ของ Edge หรือ 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>