How to create Processer group in apache-nifi? - apache-nifi

I want to create processer-group in Nifi.from somewhere I will get the tenant name Based on tenant I want to make processer-group, is it possible through programmatically? Please reply

As #daggett pointed out in the comments, the Apache NiFi REST API provides documentation on the expected input and response of every API method. To discover the correct method(s) to perform a task, it is often easiest to use the NiFi UI with your browser's developer tools open. The NiFi UI is a reference implementation of an API client, as all UI activities are performed using the API. Simply execute the desired task (i.e. drag a process group onto the canvas and enter a name) and watch the resulting requests fire in the developer tools window.

Related

How to create a dashboard in Appdynamics based on specific REST URLs of one endpoint

I have a Spring application monitored by Appdynamics. This application has a Service Endpoint recognized by Appdynamics, named lets say: /general/endpoint
Now within the application there are multiple endpoints like:
/general/endpoint/do-something-1
/general/endpoint/do-something-2
Now back to Appdynamics: Within the Service Endpoints menu I can find my /general/endpoint and click on it. Then I see a table with the actual REST API calls, their respective execution time, the specific URL (like /general/endpoint/do-something-1) and some more information.
If I am interested in monitoring the requests for a specific URL I can do the following:
Select Filters
Add Criteria > HTTP Request > URL
Click on the added Criteria and enter the actual URL (/general/endpoint/do-something-1)
Apply
Now I see what I want, all the requests and their potential problems for a specific URL inside my application.
Now comes my actual question:
How can I achieve the same for Dashboards?
I was only able to create a dashboard with the Calls per Minute for the /general/endpoint but not for a specific URL like /general/endpoint/do-something-1. Is there a way to apply the more fine grade filter for dashboards as well?
The only way I could see to be able to get the ability to cut up your Service Endpoint data within a Custom Dashboard would be to use Analytics with a Custom Schema.
Steps to implement would be:
Export Service Endpoint Data using API -> https://docs.appdynamics.com/21.9/en/extend-appdynamics/appdynamics-apis/metric-and-snapshot-api
Import the data into a Custom Analytics Schema -> https://docs.appdynamics.com/21.9/en/analytics/adql-reference/adql-data/analytics-custom-events-data
Then you will be able to use ADQL queries to write SQL-like queries against the data -> https://docs.appdynamics.com/21.9/en/analytics/adql-reference/adql-queries
Using these within Analytics Widgets in a Custom Dashboard will then give you what you need -> https://docs.appdynamics.com/21.9/en/analytics/using-analytics-data/visualize-analytics-data
For this you would need Analytics Licensing in addition to your APM licensing.

Wakanda Progress Indicator from Angular client

Looking for client side details / documentation on how to access the Wakanda server side progressIndicator details from an Angular application.
I find the latest server side docs on progressIndicator, but nothing on how to access these from the client.
In the old days of WAF, the communication was handled via the widget. I'm rewriting clients and do not find any documentation on the client side.
Thanks
In V1, WAF offers a widget to periodically connecting to the server using the name of progress indicator as the reference.
In V2, the progressIndicator is available in REST API via rest/$info/ProgressInfo.
The call to {ServerIP}/rest/$info/ProgressInfo will return an array of current progress indicators on the server side. Each object represents an active progress indicator containing information like value, max, start time, etc.
Below is a quick example of calling rest/$info/ProgressInfo with the example code from Wakanda doc. The two calls are about 5 seconds apart:
Notice the fValue has been updated on the server. The developer can check for the updated value periodically and present it in customized progress bar, tag or progress bar from libraries like Angular Material.
Hope this helps.
Updated Requirements for $info:
When Wakanda server is in Controlled Admin Access Mode, $info is only available to users in Admin group, this requires the user log in and have an active session that belongs to admin group. This is documented in $info doc page.
The Controlled Admin Access Mode is not implemented in 4D Web server so $info will always work when sent directly to 4D. But this is highly not recommended because you will not be able to manage sessions and each REST call will consume a new client license.
In order to use progress indicator via $info in your Wakanda app, I would recommend considering disabling Controlled Admin Access Mode by implementing custom authentication using login listeners.Or, use getProgressIndicator() in RPC/Dataclass methods to implement a new REST access to display progress indicator to all users.

Microsoft Flow integration

I read an article about Microsoft Flow. I was wondering if it is possible to trigger events using this in an external website.
For instance, supposing a post is made on Yammer for some approval flow based application. If an authorized user comments saying "Approved", this must trigger an action in my external website.
Is this feasible using Flow?
You can also make your own custom connectors if your website has a RESTful API. https://learn.microsoft.com/en-us/flow/register-custom-api
There is an event for Yammer in Microsoft flow. I have something set up similar for my company and Twitter. When our company is mentioned it sends a message off to our social director.
I have several such flows for things like Yelp, Twitter, Facebook.
You need your Yammer account.
The events that you can trigger from and then include a trigger word or phrase are:
Get All messages
Get Messages in a group
Get Messages from my Following Feed
Post Message
Once you have that trigger its simple enough to look for the key word within a condition step.
Chances are good there is already a template for this in Microsoft Flow. Just look at the ones for Yelp, Facebook, etc. and modify for your needs
Just as AJAX mentioned, you can apply your own Custom Connector for a case like this. A Connector is the "plugin" used with a Flow, such as Yammer.
It's a bit late since November 28th (practically a 30-day late response here), but PowerApps allows you to create your own Custom Connector applying Microsoft's API. You'd be able to plug into your website (GET, POST, etc) directly with this when you create a trigger (the condition met true) that would launch an action. If you created your own API, Microsoft would have to validate if it's met standards pertaining to security.
By applying PowerApps, you'd be able to create your own actions and triggers. From this, you can integrate your own web based process' based on documentation that was observed: https://powerapps.microsoft.com/en-us/blog/brand-new-custom-api-experience-in-powerapps/. From here, you'd be able to customize it was needed.
JSON is required for some circumstances, however Postman would be a great IDE to consider as it also applies a pre-approved API by Micrsoft.

Microsoft teams add custom text handlers

Is there a way to add custom text handlers in Microsoft Teams? For example when I Type # in chat then I can pick from users. Similarly want to bind a key to another option when I can lookup something from our web service and add it to the chat window. Following documentation describes how to write connectors for Microsoft Teams but doesn't say anything about what I am looking for.
https://msdn.microsoft.com/en-us/microsoft-teams/connectors
mayank, the closest direct thing to what you want is what we call compose extensions. That feature is in preview and is available here. That will let you call a web service and interactively show results from a search in a popup list, not unlike our Giphy integration.
Under the covers, it's a special kind of bot as mark-lafleur-msft described. With a bot, the difference is that the results from the web service don't appear in a popup window.
Last but not least, the simplest way of all, if all you want to do is execute commands from within a channel and return information, is to create a "Custom Bot" (similar to an "Outgoing webhook" in Slack). Details here.
Hope that helps.
What you're describing here is what Bots in Teams are intended for. Once built, you simply reference the bot by #botname and your query: #botname look up something from web service.

Use Application Insights to view all REST API requests per user

We are developing a WebApi2 application. Users can use the REST API using their specific API key. I am investigating how to setup Application Insights to be able to see the usage of the REST API endpoints per user.
I have been experimenting with using telemetryclient.TrackPageview(endpoint-ID) and telemetryclient.TrackEvent(endpoint-ID), but I am not sure if this is the right way to go. And how should I pass the user-ID (API-key) in the tracking call? As telemetryclient.Context.User.Id? Or using properties or some other way? I would like to be able to use the user-ID to aggregate/segment the pageviews/events that were registered for that particular user. Any ideas are welcome!
I'd suggest using the built in properties, like context.user.id whenever possible, and then custom properties after that.
Currently in the portal, from the search view you can then find an item for any user, then use the "related items" to view "all telemetry for this user" to see all of the items.
Then can use the App Analytics portal to do queries (click the "analytics" button toolbar in the overview blade for your resource azure portal to go to the AA site for that resource), and that service lets you write much richer queries.
in those queries, it's easiest to group/filter on the "built in" properties, for custom properties you have to write a little bit more complicated queries to parse the values out of custom code.

Resources