Hi all, A small addition to the above mail.
For the above graph, I just need to get the count(APPLICATION_ID) and CREATED_TIME from AM_APPLICATION table which will be filtered using AM_API, AM_SUBSCRIBER, AM_SUBSCRIPTION tables. *AM_API (API_ID int,API_PROVIDER string,API_NAME string,API_VERSION string,CONTEXT string,CONTEXT_TEMPLATE string,API_TIER string,CREATED_BY string,CREATED_TIME string,UPDATED_BY string,UPDATED_TIME string)* *AM_APPLICATION (APPLICATION_ID int,NAME string,SUBSCRIBER_ID int,APPLICATION_TIER string,CALLBACK_URL string,DESCRIPTION string,APPLICATION_STATUS string,GROUP_ID string,CREATED_BY string,CREATED_TIME string,UPDATED_BY string,UPDATED_TIME string,UUID string,TOKEN_TYPE string)* *AM_SUBSCRIPTION (SUBSCRIPTION_ID int,TIER_ID string,API_ID int,LAST_ACCESSED string,APPLICATION_ID int,SUB_STATUS string,SUBS_CREATE_STATE string,CREATED_BY string,CREATED_TIME string,UPDATED_BY string,UPDATED_TIME string,UUID string)* *AM_SUBSCRIBER (SUBSCRIBER_ID int,USER_ID string,TENANT_ID int,EMAIL_ADDRESS string,DATE_SUBSCRIBED string,CREATED_BY string,CREATED_TIME string,UPDATED_BY string,UPDATED_TIME string)* Thanks. On Thu, Nov 15, 2018 at 8:36 AM Sandalu Kalpanee <[email protected]> wrote: > Hi All, > > I came up with an issue while working on my publisher dashboard widgets > creation. > > *Issue:* No option to join tables in siddhi queries. > *Widget:* Applications Created Over Time + (Other widgets which will > consume AM_DB data) > *Data source:* I am using Siddhi store data provider with the shared > AM_DB. (In the deployment.yaml file I have added a data source > referring the AM_DB at APIM side.) > > ************ sample providerConfig in widgetConf.json **************** > "type": "SiddhiStoreDataProvider", > "config": { > "siddhiApp": "@App:name('App Name') @primaryKey('Primary Key') > @store(type=\"rdbms\" , datasource=\"AM_DB\") define table TableName (Column > Headings with Types) ;", > "queryData": { > "query": "Query" > }, > > * **************************************************************************** > > *Required Widget View: * > > According to the below figure the first combo(All APIs or My APIs) will > provide the user an option to filter the API list in the third combo. API > list inside the third combo will be populated by AM_API table using a > separate query in the widgetConf.json. The second combo will list down the > APP creators which will be populated by AM_subscriber table using another > query. And according to the selected options in these combos the data will > be filtered from AM_APPLICATION table. > > [image: App-Registrations.png] > > *Query used to generate the graph in APIM 2.6 version: * > https://github.com/wso2/carbon-apimgt/blob/v6.4.50/components/apimgt/org.wso2.carbon.apimgt.usage/org.wso2.carbon.apimgt.usage.client/src/main/java/org/wso2/carbon/apimgt/usage/client/UsageClient.java#L331 > > Ex: If a user has selected options other than 'All' for both second and > third combos, the data should be filtered from AM_APPLICATION table joining > with 3 other tables AM_API, AM_SUBSCRIBER, and AM_SUBSCRIPTION. > > But as there is no way to join tables using siddhi queries (And as RDBMS > batch data provider will not be OK with changing DB types), there will be > an issue to generate widgets which consumes data from AM_DB (This issue > doesn't count for the widgets generated by STAT_DB since the data will be > extracted from a single table). > > Highly appreciated if you can suggest any solution for this. Thanks in > advance. > > Best Regards, > *Sandalu Kalpanee* > *Software Engineer - Intern* > *WSO2* > -- *Sandalu Kalpanee* *Software Engineer - Intern* *WSO2*
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
