Through https://devcenter.heroku.com/articles/regions I see that for heroku common runtime spaces heroku has two available regions: Europe and United States. But I couldn't find exactly in any official documentation which region exactly of United States heroku hosts the application. For example I want to know if it hosts on east, west, north, south.
Thanks
The Heroku US region is AWS's us-east-1.
EU is eu-west-1.
That makes the US region located in North Virginia, and EU in Ireland.
As the URL you posted, just follow their command in your own terminal shell:
$ heroku regions --common
ID Location Runtime
── ───────────── ──────────────
eu Europe Common Runtime
us United States Common Runtime
Then use the curl as they suggest, just change the /regions/frankfurt to the region ID you want (i.e. us)
$ curl -n -X GET https://api.heroku.com/regions/us -H "Accept: application/vnd.heroku+json; version=3"
{
"country":"United States",
"created_at":"2012-11-21T20:44:16Z",
"description":"United States",
"id":"59accabd-516d-4f0e-83e6-6e3757701145",
"locale":"Virginia",
"name":"us",
"private_capable":false,
"provider":{
"name":"amazon-web-services",
"region":"us-east-1"
},
"updated_at":"2016-08-09T22:03:28Z"
}
Here you are: "locale":"Virginia"
Damien got you the answer, I just reconfirm if there is any changes by running all those commands.
The Heroku US region is AWS's us-east-1. EU is eu-west-1.
That makes the US region located in North Virginia, and EU in Ireland.
The other answers are great, but a simpler way to view the details about the regions is to run heroku regions --common --json, which outputs pretty formatted JSON:
[
{
"country": "Ireland",
"created_at": "2013-09-19T01:29:12Z",
"description": "Europe",
"id": "ed30241c-ed8c-4bb6-9714-61953675d0b4",
"locale": "Dublin",
"name": "eu",
"private_capable": false,
"provider": {
"name": "amazon-web-services",
"region": "eu-west-1"
},
"updated_at": "2016-08-09T22:03:28Z"
},
{
"country": "United States",
"created_at": "2012-11-21T20:44:16Z",
"description": "United States",
"id": "59accabd-516d-4f0e-83e6-6e3757701145",
"locale": "Virginia",
"name": "us",
"private_capable": false,
"provider": {
"name": "amazon-web-services",
"region": "us-east-1"
},
"updated_at": "2016-08-09T22:03:28Z"
}
]
Regin EU details :
Country -> Ireland
City -> Dublin
AWS Region -> eu-west-1
Region US details :
Country -> United States
City -> Virginia
AWS Region -> us-east-1
Related
I'm attempting to pull down all the enabledhostnames associated with all of my webapps.
IE, if I had a basic webapp with the following configuration, I would want to print out test1.com and test2.com.
{
"id": "foobar",
"name": "foobar",
"type": "Microsoft.Web/sites",
"kind": "app",
"location": "East US",
"properties": {
"name": "foobar",
"state": "Running",
"hostNames": [
"test1.com",
"test2.com"
],
"webSpace": "kwiecom-EastUSwebspace",
"selfLink": "foobar",
"repositorySiteName": "foobar",
"owner": null,
"usageState": 0,
"enabled": true,
"adminEnabled": true,
"enabledHostNames": [
"test1.com",
"test2.com"
]
}
When I run the following, I just get the number of hostnames associated with each webapp.
az webapp list --resource-group resourcegroup1 --query "[?state=='Running']".{Name:enabledHostNames[*]} --output tsv
The output looks like the following
2
Appreciate any help
Removing --output tsv will result in the hostnames being displayed instead of the number of total, eg:
az webapp list --resource-group resourcegroup1 --query "[?state=='Running']".{Name:enabledHostNames[*]}
The output from this command is:
[
{
"Name": [
"test1.com",
"test2.com"
]
}
]
Not sure if this is the exact output you are looking for. Apologies if you have already considered this.
I'm trying to build a Microsoft Teams connector that I have sideloaded into my team while developing. I've set up a testing config page on S3 and have pointed my app manifest to it. When I click the save button, it stays stuck on the "Setting up your connector" spinner for a while, before saying "Unable to save connector configuration. Please try again."
The Javascript of the config page should be visible through the S3 link above; my app manifest is below. After looking at a few similar questions, you'll note that the contentUrl is included by wildcard in validDomains.
{
"$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.7/MicrosoftTeams.schema.json",
"manifestVersion": "1.7",
"version": "1.0.0",
"id": "0b73c39a-db1d-43eb-81bd-3813bef33713",
"packageName": "<redacted>",
"developer": {
"name": "Developer",
"websiteUrl": "<redacted>",
"privacyUrl": "<redacted>",
"termsOfUseUrl": "<redacted>"
},
"icons": {
"color": "color.png",
"outline": "outline.png"
},
"name": {
"short": "Test",
"full": "Test"
},
"description": {
"short": "Test notifications",
"full": "Test notifications"
},
"accentColor": "#FFFFFF",
"connectors": [
{
"connectorId": "0b73c39a-db1d-43eb-81bd-3813bef33713",
"configurationUrl": "https://wsk-teams-test.s3.amazonaws.com/teams_configure.html",
"scopes": [
"team"
]
}
],
"permissions": [
"identity",
"messageTeamMembers"
],
"validDomains": [
"wsk-teams-test.s3.amazonaws.com",
"<redacted>"
]
}
I'm not able to get any more detailed information when attempting this via the desktop Teams app, but in the browser I see this error in the console:
2020-09-02T23:05:20.879Z Received error from connectors {"seq":1599086774636,"timestamp":1599087920857,"flightSettings":{"Name":"ConnectorFrontEndSettings","AriaSDKToken":"<redacted>","SPAEnabled":true,"ClassificationFilterEnabled":true,"ClientRoutingEnabled":true,"EnableYammerGroupOption":true,"EnableFadeMessage":false,"EnableDomainBasedOwaConnectorList":false,"EnableDomainBasedTeamsConnectorList":false,"DevPortalSPAEnabled":true,"ShowHomeNavigationButtonOnConfigurationPage":false,"DisableConnectToO365InlineDeleteFeedbackPage":true},"status":500,"clientType":"SkypeSpaces","connectorType":"0b73c39a-db1d-43eb-81bd-3813bef33713","name":"handleMessageError"}
Thanks for any guidance you might have. If I can get in touch with someone from Microsoft privately, I'd be happy to provide the <redacted> information.
This issue is fixed by adding the content url in valid domains list in the Connector Developer Dashboard.
As recommended above: This issue is fixed by adding the content url in a valid domains list in the Connector Developer Dashboard.
This helped me understand the direction of the problem.
But my accidental mistake was due to the lack of the prefix https://
Be sure to add https:// prefix to your domain
TLDR
How to know what region in the cloud nearest to docker hub?
Full details
From my localhost my network is super slow to push the docker image onto docker hub.
My workaround is to use a cloud machine to do that docker image push hopefully that the internet there would be faster.
So my question is which region on the cloud is nearest to docker hub for me to choose?
My google search results little helpful
p.s. I also asked on devops sister site here
Hostname of the registry server of hub.docker.com
If you mean in your question the public server hub.docker.com, then it's registry has address registry-1.docker.io
A-records of registry.docker.io
You can find actual DNS A-records using dig or nslookup
nslookup -type=A registry.docker.io 6.66 Dur 23:22:32
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
registry.docker.io canonical name = registry-1.docker.io.
Name: registry-1.docker.io
Address: 52.206.192.146
Name: registry-1.docker.io
Address: 52.87.94.70
Name: registry-1.docker.io
Address: 52.55.198.220
Name: registry-1.docker.io
Address: 54.152.200.115
Name: registry-1.docker.io
Address: 54.164.50.37
Name: registry-1.docker.io
Address: 52.2.169.2
Name: registry-1.docker.io
Address: 52.202.253.107
Name: registry-1.docker.io
Address: 52.201.142.14
dig +short registry.docker.io A
registry-1.docker.io.
54.210.105.17
3.210.179.11
3.224.11.4
54.164.50.37
3.221.133.86
100.24.246.89
3.209.173.81
54.174.39.59
ipinfo for geolocation
There are some CLI tools for IP-geolocation, let's use ipinfo
For example, ipinfo for it's nearest Cloudflare server:
curl ipinfo.io/1.1.1.1 {
"ip": "1.1.1.1",
"hostname": "one.one.one.one",
"city": "Haymarket",
"region": "New South Wales",
"country": "AU",
"loc": "-33.8661,151.2040",
"org": "AS13335 Cloudflare, Inc.",
"postal": "2000",
"timezone": "Australia/Sydney",
"readme": "https://ipinfo.io/missingauth"
}
Extract city and hostname using jq
Since ipinfo returns answer in JSON format, we can parse it. jq is a convienient tool for such task.
curl -s ipinfo.io/54.210.105.17 | jq -r '{city:.city, host:.hostname}'
{
"city": "Virginia Beach",
"host": "ec2-54-210-105-17.compute-1.amazonaws.com"
}
Nearest city for all registry servers
Let's try to find nearest city for all resolved servers:
for addr in $(dig +short registry-1.docker.io A); do
curl -s ipinfo.io/$addr | jq -r '{city:.city, host:.hostname}';
done
{
"city": "Virginia Beach",
"host": "ec2-3-209-173-81.compute-1.amazonaws.com"
}
{
"city": "Virginia Beach",
"host": "ec2-54-210-105-17.compute-1.amazonaws.com"
}
{
"city": "Virginia Beach",
"host": "ec2-100-24-246-89.compute-1.amazonaws.com"
}
{
"city": "Virginia Beach",
"host": "ec2-3-224-11-4.compute-1.amazonaws.com"
}
{
"city": "Virginia Beach",
"host": "ec2-54-164-50-37.compute-1.amazonaws.com"
}
{
"city": "Virginia Beach",
"host": "ec2-3-221-133-86.compute-1.amazonaws.com"
}
{
"city": "Virginia Beach",
"host": "ec2-3-210-179-11.compute-1.amazonaws.com"
}
{
"city": "Virginia Beach",
"host": "ec2-54-174-39-59.compute-1.amazonaws.com"
}
Quoted from John Humphreys - w00te 's answer in DevOps the sister stackoverflow site
From cloud instance, just go push to docker hub; you will be routed to the best location automatically.
I have been trying to host bot which works on local to the Azure Hosting.
I'm trying to connect hosted bot with local emulator gives connection error (emulator :Cannot post activity. Unauthorized).
My .bot file:
{
"name": "production",
"description": "",
"services": [
{
"type": "endpoint",
"appId": "********************",
"appPassword": "*************",
"endpoint": "intermediatorbotsample2019.azurewebsites.net/api/messages",
"name": "AzureAccountLive",
"id": "178"
}
],
"padlock": "",
"version": "2.0",
"path": "D:\\Architecture\IntermediatorBot\\production.bot",
"overrides": null
}
I took a look at your bot file in your comment. The problem is that you have "name": "AzureAccountLive" in your services section. This name MUST be "production". The outer level "name" has to match the name of the bot (in this case, it's probably intermediatorbotsample2019). It's the Name:Production, Type:Endpoint combination that ABS looks for. If you update your botfile to match what I have below, your bot should work as expected.
{
"name": "YOURBOTNAMEHERE",
"description": "",
"services": [
{
"type": "endpoint",
"appId": "********************",
"appPassword": "*************",
"endpoint": "http://intermediatorbotsample2019.azurewebsites.net/api/messages",
"name": "production",
"id": "178"
}
],
"padlock": "",
"version": "2.0",
"path": "D:\\Architecture\IntermediatorBot\\production.bot",
"overrides": null
}
Re genreted AppId and secret from https://dev.botframework.com/.
Previously was using AzureBotProject replaced it with AzureBotChannelProject instead.
I am new to creating Compose Extensions in Teams and am facing an issue when I add it to my Teams.
All the configurations are in place, from registering the Bot to hosting it as a Bot Service on Azure and handling the compose extension query in the code. I have shared the Bot Id in the manifest and given the bot hosted URL with /api/messages appended to the endpoint URL.
The bot as a standalone application works locally as well as on the Azure Porta. I have successfully remote debugged it as well. However, as soon as I sideload it in Teams as a messaging extension, the query is not firing appropriately.
While typing, it stops and shows "Something went wrong with this app. Try Again".
Moreover, when we load the Compose Extension it should make an initial hit to the hosted bot application, I have the debuggers in place and it neither hits the Constructor nor the Post method.
I am getting a 404 error saying V3 agent not found and a failed POST request.
Anyone who might have faced a similar issue and has recovered from it, or may know where I may be going wrong kindly provide your advice. Highly appreciated.
{
"$schema": "https://statics.teams.microsoft.com/sdk/v1.2/manifest/MicrosoftTeams.schema.json",
"manifestVersion": "1.2",
"version": "1.0.0",
"id": "f3c14e30-0af2-4f96-b714-5d258edcab47",
"packageName": "net.azurewebsites.fetchassistant",
"developer": {
"name": "abc",
"websiteUrl": "https://fetchassistant.azurewebsites.net",
"privacyUrl": "https://fetchassistant.azurewebsites.net",
"termsOfUseUrl": "https://fetchassistant.azurewebsites.net"
},
"icons": {
"color": "color.png",
"outline": "outline.png"
},
"name": {
"short": "FetchAssistant",
"full": "Fetch Assistant"
},
"description": {
"short": "abc",
"full": "xyz"
},
"accentColor": "#235EA5",
"composeExtensions": [
{
"botId": "Microsoft App/Bot Id",
"scopes": ["personal", "team"],
"commands": [
{
"id": "FirstName",
"description": "Search Relevant Documents",
"title": "Get Name Division",
"initialRun": false,
"parameters": [
{
"name": "xyz",
"description": "Get Name Division",
"title": "Names"
}
]
}
]
}
],
"permissions": ["identity", "messageTeamMembers"],
"validDomains": ["*.microsoft.com", "*.azurewebsites.net"]
}
I was able to get through the issue you're facing by doing the following:
Navigate to https://dev.botframework.com/bots/
Click on the Microsoft Teams icon in the "Add a featured channel" section
Register your app
I was getting this error myself on an extension.
Following the idea of adding channels, I went to the channels section.
There was no Teams channel configured.
So, I added it.
And the error went away as my extension loaded.