Statistics Collector ポリシーのデプロイエラーのトラブルシューティング

UnsupportedDatatype

エラー メッセージ

Edge UI または Edge 管理 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 プロキシのデプロイに失敗します。

サポートされるデータ型は、stringintegerfloatlongdoubleboolean です。

たとえば、Statistics Collector ポリシーの <Statistic> 要素で変数の型が char として指定されている場合、API プロキシのデプロイに失敗します。

診断

  1. 特定の API プロキシで、エラーが発生した Statistics Collector ポリシーを確認します。
  2. Statistics Collector ポリシーで、サポートされていないデータ型を確認します。この情報はエラー メッセージで確認できます。たとえば、次のエラー メッセージの場合、サポートされていないデータ型は char です。

        StatisticsCollection char: Datatype Revision:1;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is unsupported . Context {2}.
        
  3. エラーが発生した 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&quot type="char">defaultStatValue</Statistic>
          </Statistics>
        </StatisticsCollector>
        
  4. 型属性がサポートされていないデータ型の場合、これがエラーの原因です。

    上の例の 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 UI または Edge 管理 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 プロキシのデプロイに失敗します。

システム定義の変数としては organizationenvironment などがあります。

たとえば、Statistics Collector ポリシーの <Statistic> 要素で name 属性に organization が指定されている場合、API プロキシのデプロイに失敗します。

診断

  1. エラーが発生した Statistics Collector ポリシーと、システム定義変数を競合する <Statistic> 要素の名前を特定します。いずれもエラー メッセージで確認できます。たとえば、次のエラー メッセージでは、StatCollector がポリシー名、organization がシステム定義変数と競合する <Statistic> 要素の名前です。

    StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.
        
  2. エラーが発生した 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>
        
  3. <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

エラー メッセージ

Edge UI または Edge 管理 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 プロキシのデプロイに失敗します。

診断

  1. 特定の API プロキシで、エラーが発生した Statistics Collector ポリシーを確認します。
  2. エラーが発生した 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> 要素に type 属性がありません。このため、API プロキシのデプロイが失敗します。

解決策

Statistics Collector ポリシーの <Statistic> 要素の ref 属性に指定する変数には必ず、サポートされるデータ型を type 属性に指定します。

サポートされるデータ型は、stringintegerfloatlongdoubleboolean です。

例:

    <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>