<ph type="x-smartling-placeholder"></ph>
您正在查看 Apigee Edge 文档。
转到
Apigee X 文档。 信息
UnsupportedDatatype
错误消息
通过 Edge 界面或 Edge Management API 部署 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}.
示例屏幕截图
原因
如果 Statistics Collector 政策的 <Statistic>
元素中的 ref
属性指定的变量类型不受支持,则 API 代理的部署将失败。
支持的数据类型有 string
、integer
、float
、long
、double
和 boolean
。
例如,如果在 Statistics Collector 政策的 <Statistic>
元素中将变量类型指定为 char
,则 API 代理的部署将失败。
诊断
- 标识出现故障的特定 API 代理中的 Statistics Collector 政策。
标识 Statistics Collector 政策中使用的不受支持的数据类型。您可以从错误消息中找到此信息。例如,在以下错误中,不受支持的数据类型是
char
:StatisticsCollection char: Datatype Revision:1;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is unsupported . Context {2}.
验证失败的 Statistics Collector 政策中使用的类型属性与错误消息中指定(上面的第 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>
如果类型属性不是受支持的数据类型,则会导致错误。
在上面所示的 Statistics Collector 政策示例中,回想一下,
type
属性被设置为不受支持的char
属性。因此,API 代理的部署失败并显示以下错误:StatisticsCollection char: Datatype Revision:1;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is unsupported . Context {2}.
解决方法
确保在 Statistics Collector 政策的 <Statistic>
元素中的 ref 属性指定的变量的数据类型受支持且有效。例如:
<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 界面或 Edge Management API 部署 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.
示例屏幕截图
原因
如果用于引用为在 Statistics Collector 政策的 <Statistic>
元素中定义的指定变量收集的数据的名称与系统定义的变量冲突,则 API 代理的部署将失败。
一些已知的系统定义的变量有 organization
和 environment
。
例如,如果在 Statistics Collector 政策的 <Statistic>
元素中将名称属性指定为 organization
,则 API 代理的部署将失败。
诊断
标识发生错误的 Statistics Collector 政策,以及与系统定义的变量冲突的
<Statistic>
元素名称。您可以在错误消息中找到这两项。例如,在以下错误中,政策名称为StatCollector
,与系统定义的变量冲突的<Statistic>
元素的名称为organization
:StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.
验证失败的 Statistics Collector 政策 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
属性与系统变量冲突,则会导致错误。
在上面所示的 Statistics Collector 政策示例中,回想一下,使用的 <Statistic>
的名称属性是 organization
,这恰巧是系统变量名称。因此,API 代理的部署失败并显示以下错误:
StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.
解决方法
确保用于引用为 Statistics Collector 政策的 <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 界面或 Edge Management API 部署 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}.
示例屏幕截图
原因
如果缺少 Statistics Collector 政策的 <Statistic>
元素中的 ref
属性指定的变量类型,则 API 代理的部署将失败。
诊断
- 标识出现故障的特定 API 代理中的 Statistics Collector 政策。
- 检查 Statistics Collector 政策 XML 中每个
<Statistic>
元素的定义。如果存在缺少类型属性的任何<Statistic>
元素,则会导致错误。
下面是一个 Statistics Collector 政策示例:
<StatisticsCollector name="publishPurchaseDetails" <Statistics> <Statistic name="productID" ref="product.id">999999</Statistic> <Statistic name="price" ref="product.price" type="string">1000</Statistic> </Statistics> </StatisticsCollector>
在上面所示的 Statistics Collector 政策示例中,请注意两个 <Statistic>
元素缺少类型属性。因此,API 代理的部署会失败。
分辨率
确保 Statistics Collector 政策的 <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>