Я застрял в создании пользовательских отчетов, используя Collect Collector.apigee statistic collector/custom reports not working
Мой сценарий,
У меня есть Баас DB с коллекцией под названием «icustomer», который имеет несколько имя/значение пары.
Я создал прокси (icustomer), чтобы отобразить конкретного клиента (Resource name specificCust) в зависимости от уникального «cust_id».
Для конкретного клиента я «извлекал переменную и назначал политики переменных», которая работает нормально.
Теперь, чтобы получить пользовательские отчеты, я снова добавил политику Извлечь переменную, чтобы извлечь cust_id из JSON Path, а затем добавил и Statistic Collector для получения статистики.
Затем я создал новый отчет от Analytics и сохранил его. Но отчеты не генерируются. Все, что я получаю, это отчет «NO_ID».
Где я ошибся?
Proxy Endpoint Код
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ProxyEndpoint name="default">
<Description/>
<PreFlow name="PreFlow">
<Request/>
<Response/>
</PreFlow>
<Flows>
<Flow name="specficcust">
<Description/>
<Request/>
<Response/>
<Condition>(proxy.pathsuffix MatchesPath "/{cust_id}") and (request.verb = "GET")</Condition>
</Flow>
</Flows>
<PostFlow name="PostFlow">
<Request/>
<Response/>
</PostFlow>
<HTTPProxyConnection>
<BasePath>/icustomer</BasePath>
<VirtualHost>default</VirtualHost>
<VirtualHost>secure</VirtualHost>
</HTTPProxyConnection>
<RouteRule name="default">
<TargetEndpoint>default</TargetEndpoint>
</RouteRule>
</ProxyEndpoint>
Target Endpoint Код
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<TargetEndpoint name="default">
<Description/>
<PreFlow name="PreFlow">
<Request/>
<Response/>
</PreFlow>
<Flows>
<Flow name="specficcust">
<Description/>
<Request>
<Step>
<FaultRules/>
<Name>Extract-Variables-1</Name>
</Step>
<Step>
<FaultRules/>
<Name>Assign-Message-1</Name>
</Step>
</Request>
<Condition>(proxy.pathsuffix MatchesPath "/{cust_id}") and (request.verb = "GET")</Condition>
<Response/>
</Flow>
</Flows>
<PostFlow name="PostFlow">
<Response>
<Step>
<FaultRules/>
<Name>Extracting-for-Stats</Name>
</Step>
<Step>
<FaultRules/>
<Name>Statistics-Collector-1</Name>
</Step>
</Response>
<Request/>
</PostFlow>
<HTTPTargetConnection>
<URL>https://api.usergrid.com/siddharth1/sandbox/icustomer</URL>
</HTTPTargetConnection>
</TargetEndpoint>
Распаковка для Статистика code-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ExtractVariables async="false" continueOnError="false" enabled="true" name="Extracting-for-Stats">
<DisplayName>Extracting for Stats</DisplayName>
<FaultRules/>
<Properties/>
<IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
<JSONPayload>
<Variable name="customer_id">
<JSONPath>$.entities[0].cust_id</JSONPath>
</Variable>
</JSONPayload>
<Source clearPayload="false">response</Source>
<VariablePrefix>apigee</VariablePrefix>
</ExtractVariables>
Статистика Collector code-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<StatisticsCollector async="false" continueOnError="false" enabled="true" name="Statistics-Collector-1">
<DisplayName>Statistics Collector 1</DisplayName>
<FaultRules/>
<Properties/>
<Statistics>
<Statistic name="test_cust_id" ref="customer_id" type="STRING">NO_ID</Statistic>
</Statistics>
</StatisticsCollector>
Я попытался «apigee.customer_id» все еще я получаю по умолчанию «NO_ID» в пользовательских отчетах. Я даже пробовал только «customer_id», который дает «не установлен» в пользовательских отчетах. –
Я прокомментировал VariablePrefix и отчеты работают. Я получаю отчеты, но из 10 отчетов несколько отчетов отображаются как «не установлены». –
Если по какой-либо причине ваш вызов 'https: // api.usergrid.com/siddharth1/sandbox/icustomer' не работает, вы будете прыгать к FaultRules вместо продолжения с PostFlow, и вы никогда не достигнете своей политики StatisticsCollector. Политики StatisticCollector можно применять в своих прокси-серверах и в целевых правилах сбоев, чтобы убедиться, что они всегда попадают, если хотите. –