Can I use Azure Functions V3 Azure static web API - azure

When creating an Azure Static Site using the Blazor settings, you get an option to configure an API. My repository has an Azure Functions V3 API, and I want to use that. After making all the definitions, the build and deploy workflow fails. When I eliminate the api_location setting, the workflow succeeds.
I am pretty sure that the workflow expects a V2 Azure Functions application.
Can I supply a custom build command to build the V3 application?
Will role management work OK with V3?
Thanks!

According to this, a managed API can only use .NET Core 3.1, while V3 is .Net 5 based, so that is probably why the build failed.
Having said that, this document is from May 2020, so this maybe changing soon, hopefully...
Update: After discussing the matter with a Microsoft employee involved with the matter, they informed me that (a) the document is indeed up to date and (b) static apps API will .NET 6 support sometime in November...

Related

Deploying an WebAPI project (including swagger) into Azure Function

I know that the Azure function supports HTTP trigger and we can write a function that can be exposed like an API. I'm looking for an option to host a complete C# WebAPI project (multiple Rest endpoints including swagger definition) into a single Azure function.
Is this feasible? and supported? I see this scenario is completely supported in AWS Lambda. Where we can deploy a whole WebAPI project into a single lambda. Here is the demo of
the same.
I have watched the provided Video and I observed the same functionality is also available in Azure Functions.
As Direct way is not available like publishing the Web API to the Functions but migration of Web API to Functions is possible if the Web API is authenticated with any option like Open API, etc and using the APIM Service we can manage all the operations in it.
And as per the Microsoft Update, Startup.csand program.cs is unified to the program.cs file. So, I have added the required swagger configuration code in the file program.cs and tested it, working successful locally.
Another approach is you can call the Web APIs from Azure Functions securely, here is one of my approaches along with few other ways to do it.
Refer to #VovaBilyachat alternative solution on publishing .NET Core Web API to Azure that provides the glimpse of using Containers instead Functions.

Automate updates from Azure Function App to API Management

Given that Azure Functions can be imported to API Management as described here, how do we keep the API up to date when Azure Functions change? For example, if the Function signature changes or a function is added or removed. How can this process be automated, so once the Azure Functions change, the changes are reflected in the API?
Microsoft's API Management team has a proposed solution here, but it's not clear to me how this solution can be applied with Azure Function App as the backed-end for the API.
Yes, you need to make it as part of your release process. After publishing the new version of Azure Functions, you'll import the new specification into API Management.
https://marketplace.visualstudio.com/items?itemName=stephane-eyskens.apim
Once you import and publish an API in APIM it will not be updated automatically. So, even though the developers released a new build, the consumers would still consume the older version of the API published in APIM.
Try to use Azure DevOps pipelines for continuous delivery of APIs to Azure API Management Service.
Add a create/update task, which will create or update the API in APIM based on the Swagger file and also set different API policies. This task will also update the API in APIM in case the Dev guy will create new API methods or remove API methods.

How to add a custom culture (en-cn) to Azure AppService (WebApp)?

I have a task to add a new custom culture (en-cn). There isn't a problem from coding side and I used CultureAndRegionInfoBuilder for this but I can't create this culture on the Azure AppService, Register method throws an exception and requires extra-permissions.
Have you met something similar?
According to your description, I think you want to make your app globalization and localization via CultureAndRegionInfoBuilder Class in .NET Framework. However, as the figure below, it requires sysglobl.dll which is a system call that can not be used in Azure App Service (WebApp).
The reason is Win32k.sys (User32/GDI32) Restrictions said in Azure Web App sandbox, as below.
To fix it, you can consider to use other solution to support internationalization (i18n) in your ASP.NET website. Please refer to the blog Understanding Globalization and Localization in .NET to realize it.

Azure API Mangagement & Web API best practices

We are going to develop Web API using Asp.net core 2.2
Now we want to use it as serverless, so decided to use API Management (APIM) for the same.
When we started looking into how to deploy API in APIM, it seems, we 1st need to deploy API in App Service and then configure it in APIM.
As in this case, we are not going with serverless architecture (i.e. paying only for calls) and we are paying for both i.e. App Service and APIM (to have under VNet, £1500 more)
Is this the right approach?
While going thru more on this, i found that we also can write Azure functions using Visual Studio code OR Visual Studio 2017. Hopefully it will be similar kind of development experience as we have with Web API.
So with Azure Functions, it will be serverless architecture.
Only issue is that AzureFunctions#Edge is not available as of now and we need to use 3rd party CDN like CloudFlare for the same.

Deploy Azure Package from my own WPF App

I am creating a little utility app for some of my Azure work and i would love to make it possible to deploy a azure package from within my tool.
I have a package that have been created from Visual studio and i can manual deploy it or deploy it from within VS 2012.
Anyone who know a guide or can tell me how i would deploy it from my own application?
Yes, you can do that. Everything you see as far as deployment is concerned in VS is backed by a REST API. So you could essentially write a WPF application which is a wrapper over these REST API. There're two things you would need to do:
Upload Package files to blob storage: This would be the 1st thing you would need to do. You could make use of storage client library or implement REST API for uploading package files to blob storage.
Implement "Create Deployment" Service Management API function: Take a look at the functionality here: http://msdn.microsoft.com/en-us/library/windowsazure/ee460813.aspx. Once you have uploaded the package file in blob storage (and got the blob URI), you could invoke this functionality.
As far as I know there is no API wrapper / SDK available that covers full functionality on managing Storage Accounts, Deployments etc. yet. You can use the Windows Azure Management REST API though.
In order to use this API you need to have a valid management certificate in the subscription you want to manage and sign all REST calls to the Management API with it. There should be sufficient information about how to do so in the link above.
HTH

Resources