Rest API call using Azure Web Jobs - azure

I have implemented Rest API call using HttpTrigger based Azure functions, now customer has asked to implement the same using Azure Web Jobs instead of Azure Functions (owing to cost).
Are there any options available, please provide some reference how to achieve it in Azure web jobs
Thanks! in advance

No, that is not what WebJobs are for. You might be lookin into building an ASP.NET Web API and hosting it in an App Service Plan.
WebJobs is a feature of Azure App Service that enables you to run a program or script in the same context as a web app, API app, or mobile app. There is no additional cost to use WebJobs.
Taken from Run Background tasks with WebJobs in Azure App Service
Also, WebJobs do NOT support the HttpTrigger. The triggers that are supported by WebJobs:
Timer
Azure Storage queues and blobs
Azure Service Bus queues and topics
Azure Cosmos DB
Azure Event Hubs
File system
Source: What are Microsoft Flow, Logic Apps, Functions, and WebJobs? - Comparison table
EDIT:
As far as your solution goes: Either run it in a Function or in an App Service. If it's just one HttpTriggered call and (minor) startup times after some inactivity of the API aren't an issue: go for the Function implementation.
When retrieving a 'huge amount' of records (what is a huge amount?), as long as your Functions don't have any state and you pass in all information to determine the records to receive, there shouldn't be any issues. The Function app timeout duration in a consumption plan is 5 minutes by default.

Related

Can I monitor a Logic App application with Azure App Insights?

Is there a way to monitor a Logic App application with Azure App Insights ?
NO, Unfortunately, there is no built-in support for Azure Logic Apps. One workaround you can do is to create an Azure Function to log events in your Azure Function subscription, and adding those actions in the key places you want to instrument for your logic app.

Multi-Tenant Azure Service Bus

We are building multi-tenant microservices based platform on Azure and we are using service bus for integration between micro-services.
We are receiving input pipeline message from batch and real-time and I want to ensure all tenant message process with equal priority.
pipeline looks like
Note: we are using Azure function to process service-bus messages
below line I got from Microsoft documentation
This fully managed service is available in multi or single tenant
configurations with no servers to manage or licenses to buy.
Can anyone suggest, How to use service bus in multi-tenant scenario? do you think I really need to care if I'm using azure function (azure function will auto scale)?
I want to give equal priority to all tenant.
Thanks #Mikhail, I confused by below statement
This fully managed service is available in multi or single tenant
configurations with no servers to manage or licenses to buy.
Azure ServiceBus Standard run under shared resources while premium runs a dedicated instance of Service Bus.
Check here for more details

Integrating Azure platform with other cloud providers

I am trying to integrate my azure solution with different cloud providers. I need to pull data from different cloud providers. They will expose the data via Rest services. I need to pull the data and publish it to my Azure platform. I am thinking of using the Azure Service Bus to pull the data and publish to an Azure Event Hub. Do you think this is better approach or any other good way to connect to a different cloud from Azure.
If the cloud providers you're trying to integrate with made data available via a RESTful API, I don't think Service Bus is going to help you. To make use of Service Bus, the third party cloud providers would need to enqueue data to a Service Bus Queue or Topic.
If you're trying to consume data periodically from RESTful APIs, how about using an Azure WebJob that calls those third party RESTful APIs on an interval, then processes the data?

Set up an azure botframework application to be 'always on'

When I configure a new azure bot service application on Azure, it creates it as a consumption pricing tier application. This seems to possibly be causing issues on cold starts where the application takes quite a long time (in comparison to a running application) to respond.
I would like to configure the application to use a resource group that is on an basic plan so that I can make it 'always on'.
Is there a setting I am missing or is this just not possible at this time?
Edit: I am OK with paying for the ability to enable "Always On" like I can with the typical Azure Function/web apps. At this point I do not see a way to configure a bot application to allow it to be anything but a consumption based application.
Edit2: clarified that this is an azure bot service application
Are you creating an SDK bot, or an Azure Bot Service bot? SDK bots are just web applications, and can be in any consumption pricing plan (including Always On): https://learn.microsoft.com/en-us/azure/app-service-web/web-sites-configure
Azure Bot Service bots are function applications. They should also be provisional within an App Service plan: https://learn.microsoft.com/en-us/azure/azure-functions/functions-scale
Edit:
From above documentation: you will need to setup a VM to host an Azure Function as Always On.
App Service plan
In the App Service plan, your function apps run on dedicated VMs on
Basic, Standard, and Premium SKUs, similar to Web Apps. Dedicated VMs
are allocated to your App Service apps, which means the functions host
is always running. Consider an App Service plan in the following
cases: You have existing, underutilized VMs that are already running
other App Service instances. You expect your function apps to run
continuously, or nearly continuously. You need more CPU or memory
options than what is provided on the Consumption plan. You need to run
longer than the maximum execution time allowed on the Consumption
plan. A VM decouples cost from both runtime and memory size. As a
result, you won't pay more than the cost of the VM instance that you
allocate. For details about how the App Service plan works, see the
Azure App Service plans in-depth overview.

Azure Cloud Services and Web Jobs

I have an Azure cloud service in which there are multiple background processing tasks which I would like to turn into WebJobs. I've read all I could find on the subject but it seems that WebJobs are tightly related to Web Apps and not Cloud services. I managed to create a web job in my cloud service solution and it seems it deployed correctly but I can't find a way to see it or its output on the new Azure portal (I couldn't see it in the classic management portal either)
Can one have a set of WebJobs running with a cloud service?
Web Jobs is a feature specific to Azure Web Apps. You'd need to create a Web App (in an App Service Plan) to create your Web Jobs. These are unrelated to Cloud Services (web/worker roles).

Resources