Azure Webjob is not connecting to the database of the connected website - azure

So I have a Azure website. It uses "code-first" entity framework for its database. It works like a champ.
I have a new console application turned webjob that I am connecting to this website and it is supposed to use the same database.
Now everything I have read points me to the direction that the webjob should share the configuration settings of the website which leads me to believe that it should be able to access the database through this sharing of info.
However...when the schedule runs I get the classic
"A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections."
error that signifies that my connection string is missing or incorrect.
In my console application for the webjob I have specifically not put in a connection string because, again, I thought they were linked somehow.
My question is simply, what am I misunderstanding here, and/or is there something else I need to do in my console application to get the web job to connect correctly?
UPDATE
So I added a traditional connection string into the app and that seems to work just fine. I suppose this is fine, but I was really hoping that I wouldn't have to change my config each time I change environments...thought we were finally passed that.
Thanks!
David

you can use the ConfigurationManager to grab your connection string...
e.g., ConfigurationManager.ConnectionStrings["YOUR_CONNECTION_STRING_NAME"]

Related

Mongo connecting to localhost although the conn string is right accross the app

So I have an Node API hosted on AWS' Beanstalk and it's connected to a DocumentDB database hosted within the same VPC, unfortunately I can't share too much info on the project since I've inherited it, but currently we have a terrible logic of creating a new db for each tenant in the system so when they sign in we create a new mongoose connection (with the proper string). Upon that there is also a global connection to a central db which is supposed to be established upon the initial start of the API - this works as expected. What doesn't work for some reason is that whenever I make a request that's supposed to go through for a certain tenant I get the following error on AWS Beanstalk logs:
ERROR IMAGE
Unfortunately, I can't fully disclose the connection strings, but I can tell you that there are no references to "locahost" within the project (noted in the picture):
PROJECT SEARCH RESULT
Has anyone encountered similar issues ?

Unable to run the angular application. Getting error No such file exists robots933456.txt

I am running the angular application in Microsoft Teams and deploying it on Azure.
But it's not running up as it is looking for the robots933456.txt route.
It wasn’t the case before today.
Please guide me on how to proceed further.
On running the app the logs shows:
The error was natively on my side nothing to do with the above but pretty much seen and raised by people so thought of sharing below:
After doing some research figured out I can safely ignore this message. /robots933456.txt is a dummy URL
the path that App Service uses to check if the container is capable of serving
requests. A 404 response simply indicates that the path doesn't exist, but
it lets App Service know that the container is healthy and ready to respond
to requests.
https://github.com/MicrosoftDocs/azure-docs/issues/32472

How to solve the error SequelizeHostNotFoundError?

Problem essence
Writing the API server in NodeJS (Express) using the PostgreSQL database (connecting to it remotely through the service ElephantSQL and work through Sequelize). Today appeared an error "SequelizeHostNotFoundError". It occurs even in the checked endpoints.
Error text
(it remains only a screenshot of the error)
My attempts to solve the problem
Tried to perform a GET request to my API not via Postman and via the browser (did not help).
Tried to create a new DB on the same service ElephantSQL (didn't help, but migrations to create new tables and relationships somehow executed and endpoints still not working).
Tried to connect to the database directly via IDE DataGrip (connection test is successful and the database is loaded with all the tables).
What could be the problem ? On stackoverflow some wrote that the problem may occur due to the lack of a paid subscription to Google Cloude Functions, but I do not seem to use it. There is an option to connect to PostgreSQL locally, but I want to understand.

Issues with a Node app deployed through elastic beanstalk

I'm deploying a node app to an ec2 instance through aws elastic beanstalk. I set up a cron job with the cron node package that, on tick, will run a sequelize query, parse the data returned, then send it in the body of an email.
When testing locally, it works fine and the email gets sent. When i deploy it using awsebcli command eb deploy, it says the deploy was successful, but I don't receive any emails.
At first I believed the npm start command wasn't working on the server, but I checked the error logs and it appears sequelize is throwing a time out error when trying to connect.
I wrote a configuration for sequelize to connect to multiple schemas at once. Three of those schemas are hosted on the same RDS, one on a seperate RDS.
I've done almost the exact same thing with another node app and it worked fine. The only thing different is the additional schema on a seperate RDS that I'm connecting to fine on my local machine.
Any thoughts or suggestions would be appreciated.
EDIT: Checked server logs and found Sequelize connection error.
Found that the issue was caused by security groups on aws preventing my instance from connecting to one of the DBs it needed.
Edit:
Specifics have been requested. Since this is a very old post and I don't have access to AWS anymore, I can venture a guess on what I did.
If my memory serves correct, the db I was blocked by was hosted in a different aws account. Changing the security group on the DB was not an option as security on that account was firmly maintained. The reason I was able to connect locally was because the facility I was working at had a whitelisted IP on the DB security groups. I eventually settled on running the script on my local machine, since my machine rarely left that location and it did not matter where the script was run, just that it ran periodically. Ideally though, I would have been able to change the security group on the db to allow incoming traffic from my server.

Unable to connect to Azure Redis Cache with SSL

Connecting to Azure Redis Cache like this, on Owin application startup...
var options = ConfigurationOptions.Parse(cacheConnectionString);
var kernel = new StandardKernel();
kernel.Bind<ConnectionMultiplexer>().ToMethod(context =>
{
return ConnectionMultiplexer.Connect(options);
}).InSingletonScope();
Which works absolutely fine for Redis running on my local machine, or for Azure Redis with SSL turned off. However, as soon as I change the connection string from:
xyz.redis.cache.windows.net,ssl=false,password=abcdefghxyz=
to
xyz.redis.cache.windows.net,ssl=true,password=abcdefghxyz=
It throws:
It was not possible to connect to the redis server(s); to create a disconnected multiplexer, disable AbortOnConnectFail. UnableToResolvePhysicalConnection on PING
I'm using StackExchange.Redis version 1.0.316.0 from NuGet. I've tried...
Creating different caches in Azure Portal. Hasn't worked over SSL with any of them :(
Connecting without using Ninject
Creating the ConfigurationOptions object manually rather than parsing a string
I'm all out of ideas for what could possibly be going wrong now though. Hopefully it's something trivial I've missed, but just can't see it!
Edit
I ran the ConnectToAzure() unit test, passing in my cache name and password and it passed. So I'm almost certainly doing something silly here.
Edit 2
It also works from a console application without any issues.
I fixed it, super-weird situation but I'll answer just in case someone else is ever sat equally as confused as I've been.
The project was previously a web role in an Azure Cloud Service, which had In-role caching enabled. We moved it to a standalone Azure Web App, but never got around to removing all the unnecessary references that were left over.
Removing Microsoft.WindowsAzure.ServiceRuntime and Microsoft.WindowsAzure.Diagnostics miraculously got it working.

Resources