Apigee X のドキュメントを表示中です。
Apigee Edge のドキュメントを表示する。
UnsupportedDatatype
エラー メッセージ
Apigee UI または 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 ポリシーで使用されている 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>
型属性がサポートされていないデータ型の場合、これがエラーの原因です。
上記の 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
エラー メッセージ
Apigee UI または 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>
要素で name 属性に 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>
要素の定義を確認します。name
属性がシステム変数と競合している<Statistic>
要素がある場合、それがエラーの原因です。
上記の Statistics Collector ポリシーの例では、使用されている <Statistic>
の name 属性は 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
エラー メッセージ
Apigee UI または 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>
要素の各定義を調べます。type 属性のない<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
属性に指定する変数には必ず、サポートされるデータ型を type 属性に指定します。
サポートされているデータ型は 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>