There is https://github.com/Azure/Azurite as the official emulator from Microsoft is windows platform only.
I have azurite running in a docker container, however I cannot see any properties in the azure storage starter to override the service it connects to.
Does anyone have a work around?
Related
We have a Restify API running in Azure App Service on Linux for a while now. Suddenly this app (both test and prod, they run as seperate apps) stopped working. Based on the logs the error is related to a package we are using node-highcharts-exporting which is dependent on PhantomJS. App Service is using Node 8.1.
We tried re-deploying the code, upgrading node version to 8.12 (do not want to use latest version with out testing) but still no luck.
Deployment Logs: (This part is successful. This is just for reference)
Container logs: (Startup fails here)
Tried to replicate the same environment on-prem and everything works fine. Created a new App Service which is also running into same issue. Any help is much appreciated.
Update 1:
I think I figured out what is happening. This is related to font libraries on linux https://github.com/ariya/phantomjs/issues/10904
I need to install libfontconfig but this is not supported on Azure App Service.
Yes, it is due to sandbox restriction on a App Service. Just to highlight, the standard/native Azure Web Apps run in a secure environment called a sandbox. Each app runs inside its own sandbox, isolating its execution from other instances on the same machine as well as providing an additional degree of security and privacy which would otherwise not be available.
Not supported scenarios on standard App Service - PhantomJS (/Selenium): tries to connect to local address, and also uses GDI+.Known issue for all PDF generators based on wkhtmltopdf or phantomjs: custom fonts are not rendered (system-installed font is used instead) because of sandbox GDI API limitations.See App Service GitHub sandbox page.
Based on your requirement, however you could use a custom container in App Service (You can use a custom Docker image) that lets you make OS changes that your app needs.
Checkout these document for more details on this topic:
Run a custom Linux container in Azure App Service (You can use a custom Docker image): https://learn.microsoft.com/azure/app-service/containers/quickstart-docker
Run a custom Windows container in Azure (Preview):
https://learn.microsoft.com/azure/app-service/app-service-web-get-started-windows-container
is there a way I can run a CosmosDB emulator on a Linux machine? I need to setup a development environment for Azure Functions projects. There is a solution for storage (Azurite), I wonder I can find the same for CosmosDB.
(Running a virtual machine is not an option for this case)
The short answer: Today you need a Windows VM to run the Emulator on Linux or any non-Windows platform. We publish a docker image which runs in Windows containers and they aren’t supported on Linux. We’re actively looking at the possibility of a port but that work is at an early stage.
I have a WorkerRole running as a Cloud Service. I want to debug it because when I call the service on Azure the calling application hangs.
I tried attaching the debugger to the remote service but it times out after 90 minutes of doing nothing. So, my next step is to run the service locally with the emulator, which I am now doing.
I have the emulator running but I have no idea how to connect to this local service and what the endpoint is. Can someone help?
To be able to debug your Azure cloud service (running in the cloud), you first need to make sure it is built with the Debug configuration and that the remote debugger feature is enabled, then you'll be able to attach to the role from Visual Studio as if you were running it locally.
To do the debugging locally, with the Azure Emulator, all you need to do is to run your cloud service project (F5 (if it is the default project) or right click -> Debug -> Start new instance).
You can follow these steps to enable the debugger and attach to the service (both locally and in the cloud): https://msdn.microsoft.com/en-us/library/azure/ff683670.aspx
I was debugging a cloud service and was using azure storage and compute emulator. Suddenly I noticed I began receiving SEHException when accessing a cloud table, and the emulator icon is not there anymore in the notification area.
I remember I checked don't show this window again sort of option, so that the annoying window of loading the emulator is not displayed.
I restarted my computer and ran VS2013 as admin with no luck.
I followed this article: http://msdn.microsoft.com/en-us/library/azure/hh403989.aspx
You just need to go to start -> search: Windows Azure Storage Emulator
This will run the storage emulator only, but you can run the compute emulator through the notification area icon which displays when you start the storage emulator.
Edit:
The above mentioned solution did not actually solve my problem, I found later that I have to set the cloud service as the startup project, not the web role.
Edit 2:
It can be also because of running a BitTorrent client. windows azure development storage blob service not starting
Is it possible to port existing node.js applications to Windows Azure platform? I currently develop on my Mac but will need to deploy the application to Windows Azure in a near future.
You may also want to check a video on Channle 9.
node.js on Azure : http://channel9.msdn.com/Events/Patterns-Practices-Symposium-Online/Patterns-Practices-Symposium-Online-2012/node-js-on-Azure
Yes it is very much possible. You may also need to consider to make changes to use Azure Blob storage where your node.js code is using local file system (if required). The deployment is very similar to any other Windows Azure App and one you have Azure SDK for node.js you can use powershell cmdlets to make your job easy.
Download Node.js SDK for Azure
https://www.windowsazure.com/en-us/develop/nodejs/
Here you can learn the basics to deploy node.js app to Azure:
https://www.windowsazure.com/en-us/develop/nodejs/tutorials/getting-started/
Porting node.js apps to Azure is possible but not yet a yes/no answer.
You can run your Node apps in Azure but you need to look at the modules you're using to make sure you aren't depending on a tool or command or other facility that isn't yet available on Azure. For example, are you using a database like redis or couchDB or mysql? These don't exist natively in Azure so you may or may not be able to port that layer -- you'll have to check.
Since you're on a Mac, there isn't yet a native OS X deployment tool. Microsoft and the Cloud9 folks have been showing a way for Macs to deploy from the Cloud9 IDE which works but the Mac story will most assuredly improve over time. I work on a Mac but I keep a Windows VM open (Parallels) and if I deploy from the desktop I've been using the Powershell cmdlets in the Windows Azure SDK for Node.js which makes things fairly turnkey from Windows.
You will want to follow a couple of repos and their contributors: Azure SDK for Node, which allows native access to Azure Storage via npm install azure and iisnode (on Github) which is a component that assists your node app running under IIS (the Windows Web Server) on Azure.
It's been great to see the Node story on Azure evolve; it's still just a little early but they seem to be making great progress quickly.