查看 Apigee Edge 說明文件。
前往
Apigee X說明文件。 資訊
UnsupportedDatatype
錯誤訊息
透過 Edge UI 或 Edge Management API 部署 API Proxy 會失敗,並顯示以下錯誤訊息:
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}.
螢幕截圖範例
原因
如果統計資料收集器政策的 <Statistic>
元素中 ref
屬性指定的變數類型不受支援,則 API Proxy 的部署會失敗。
支援的資料類型為 string
、integer
、float
、long
、double
和 boolean
。
舉例來說,如果在統計資料收集器政策的 <Statistic>
元素中將變數類型指定為 char
,則 API Proxy 部署作業就會失敗。
診斷
- 在發生失敗的特定 API Proxy 中,找出 Stats Collector 政策。
找出統計資料收集器政策中使用不支援的資料類型。你可以在錯誤訊息中找到這項資訊。舉例來說,在下列錯誤中,不支援的資料類型為
char
:StatisticsCollection char: Datatype Revision:1;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is unsupported . Context {2}.
確認失敗的統計資料收集器政策中使用的 type 屬性與錯誤訊息中指出的資料類型 (上述步驟 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>
如果 type 屬性不是支援的資料類型,就會造成錯誤。
在上方顯示的統計資料收集器政策範例中,請注意
type
屬性已設為char
,但系統不支援該屬性。因此,API Proxy 部署作業失敗並收到以下錯誤:StatisticsCollection char: Datatype Revision:1;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is unsupported . Context {2}.
解析度
針對統計資料收集器政策的 <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
錯誤訊息
透過 Edge UI 或 Edge Management API 部署 API Proxy 會失敗,並顯示以下錯誤訊息:
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 Proxy 的部署會失敗。
一些已知的系統定義變數是 organization
和 environment
。
舉例來說,如果在統計資料收集器政策的 <Statistic>
元素中將名稱屬性指定為 organization
,則 API Proxy 的部署作業就會失敗。
診斷
找出發生錯誤的統計收集器政策,以及與系統定義的變數衝突的
<Statistic>
元素名稱。你可以在錯誤訊息中找到這兩項資訊。舉例來說,在下列錯誤中,政策名稱為StatCollector
,與系統定義的變數衝突的<Statistic>
元素名稱為organization
:StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.
確認在失敗的統計資料收集器政策 XML 中使用的
<Statistic>
元素名稱與錯誤訊息 (上述步驟 #1) 中的名稱相符。舉例來說,下列政策將<Statistic>
元素中的名稱指定為organization
,與錯誤訊息顯示的內容相符:<StatisticsCollector name="StatCollector"> <Statistics> <Statistic name="organization" ref="organization" type="string">myorg</Statistic> <Statistic name="traffic" ref="traffic" type="string">999999</Statistic> </Statistics> </StatisticsCollector>
檢查每個
<Statistic>
元素的定義。如果有任何<Statistic>
元素name
屬性與系統變數發生衝突,表示這是錯誤原因。
在上方顯示的統計收集器政策範例中,請注意使用的 <Statistic>
名稱屬性為 organization
,這剛好是系統變數名稱。因此,API Proxy 部署作業失敗並收到以下錯誤:
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
錯誤訊息
透過 Edge UI 或 Edge Management API 部署 API Proxy 會失敗,並顯示以下錯誤訊息:
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}.
螢幕截圖範例
原因
如果找不到統計資料收集器政策的 <Statistic>
元素中 ref
屬性指定的變數類型,API Proxy 的部署作業就會失敗。
診斷
- 在發生失敗的特定 API Proxy 中,找出 Stats Collector 政策。
- 檢查失敗的統計資料收集器政策 XML 中每個
<Statistic>
元素的定義。如果有任何<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>
請注意,在上方顯示的 Stats Collector 政策中,兩個 <Statistic>
元素都缺少類型屬性。因此 API Proxy 的部署作業會失敗。
解析度
確認統計資料收集器政策的 <Statistic>
元素中 ref
屬性指定的變數類型屬性已指定,且其屬於支援的資料類型。
支援的資料類型為 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>