为什么会出现此错误? UnknownEndpoint:无法访问的主机:`devicefarm.us-east-1.amazonaws.com'
Why am I getting this error? UnknownEndpoint: Inaccessible host: `devicefarm.us-east-1.amazonaws.com'
我正在尝试列出 AWS Device Farm 中的项目。
这是我的代码:
const AWS = require('aws-sdk');
AWS.config.update({ region:'us-east-1' });
var credentials = new AWS.SharedIniFileCredentials({ profile: '***' });
AWS.config.credentials = credentials;
var devicefarm = new AWS.DeviceFarm();
async function run() {
let projects = await devicefarm.listProjects().promise();
console.log(projects);
}
run();
我收到此错误:
UnknownEndpoint: Inaccessible host: `devicefarm.us-east-1.amazonaws.com'.
This service may not be available in the `us-east-1' region.
根据 http://docs.amazonaws.cn/en_us/general/latest/gr/rande.html,Device Farm 仅适用于 us-west-2
?
将 AWS.config.update({ region:'us-east-1' });
更改为 AWS.config.update({ region:'us-west-2' });
有效:
工作代码:
const AWS = require('aws-sdk');
AWS.config.update({ region:'us-west-2' });
var credentials = new AWS.SharedIniFileCredentials({ profile: '***' });
AWS.config.credentials = credentials;
var devicefarm = new AWS.DeviceFarm();
async function run() {
let projects = await devicefarm.listProjects().promise();
console.log(projects);
}
run();
我遇到了同样的问题,并意识到上传失败是因为我的互联网连接速度太慢,无法解析存储桶 URL 的 DNS。但是,连接速度慢并不是此错误的唯一原因 -- network/server/service/region/data 中心中断也可能是根本原因。
AWS 提供了一个仪表板来获取所提供服务的运行状况报告,this link 也提供了同样的信息。 API 也可以访问服务的运行状况。
我也遇到同样的错误,我已经按照以下方式解决了
错误:
地区:我选择的“Asia Pacific (Mumbai) ap-south-1
”
解法:
地区不要写全名,只写地区代码
地区:ap-south-1
我有同样的问题并检查了所有 github 问题以及 SO 答案,没有太大帮助。
如果你也像我一样在corporate
环境中并且在本地得到这个错误,这很可能是因为你没有proxy 在 SDK 中设置。
import HttpsProxyAgent from 'https-proxy-agent';
import AWS from 'aws-sdk';
const s3 = new AWS.S3({
apiVersion: '2006-03-01',
signatureVersion: 'v4',
credentials,
httpOptions: { agent: new HttpsProxyAgent(process.env.https_proxy) },
});
通常代码可能在您的 ec2/lambda 中工作,因为它们有 vpc 端点,但在本地您可能需要代理才能访问存储桶 url:YourBucketName.s3.amazonaws.com
对于仍然有此问题的任何人,我设法通过将传递给 AWS.config.update()
的 endpoint
参数从 ARN 字符串示例 arn:aws:dynamodb:ap-southeast-<generated from AWS>:table/<tableName>
更改为 URL 示例 https://dynamodb.aws-region.amazonaws.com
,但在我的例子中将 aws-region
替换为您所在的地区 ap-southeast-1
.
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStarted.NodeJs.Summary.html
我也遇到了同样的问题。我只是更改了 .env 文件中的原点。
前值:-
"亚太地区(孟买)ap-south-1"
更正值:-
"ap-south-1"
我正在尝试列出 AWS Device Farm 中的项目。
这是我的代码:
const AWS = require('aws-sdk');
AWS.config.update({ region:'us-east-1' });
var credentials = new AWS.SharedIniFileCredentials({ profile: '***' });
AWS.config.credentials = credentials;
var devicefarm = new AWS.DeviceFarm();
async function run() {
let projects = await devicefarm.listProjects().promise();
console.log(projects);
}
run();
我收到此错误:
UnknownEndpoint: Inaccessible host: `devicefarm.us-east-1.amazonaws.com'.
This service may not be available in the `us-east-1' region.
根据 http://docs.amazonaws.cn/en_us/general/latest/gr/rande.html,Device Farm 仅适用于 us-west-2
?
将 AWS.config.update({ region:'us-east-1' });
更改为 AWS.config.update({ region:'us-west-2' });
有效:
工作代码:
const AWS = require('aws-sdk');
AWS.config.update({ region:'us-west-2' });
var credentials = new AWS.SharedIniFileCredentials({ profile: '***' });
AWS.config.credentials = credentials;
var devicefarm = new AWS.DeviceFarm();
async function run() {
let projects = await devicefarm.listProjects().promise();
console.log(projects);
}
run();
我遇到了同样的问题,并意识到上传失败是因为我的互联网连接速度太慢,无法解析存储桶 URL 的 DNS。但是,连接速度慢并不是此错误的唯一原因 -- network/server/service/region/data 中心中断也可能是根本原因。
AWS 提供了一个仪表板来获取所提供服务的运行状况报告,this link 也提供了同样的信息。 API 也可以访问服务的运行状况。
我也遇到同样的错误,我已经按照以下方式解决了
错误:
地区:我选择的“Asia Pacific (Mumbai) ap-south-1
”
解法:
地区不要写全名,只写地区代码
地区:ap-south-1
我有同样的问题并检查了所有 github 问题以及 SO 答案,没有太大帮助。
如果你也像我一样在corporate
环境中并且在本地得到这个错误,这很可能是因为你没有proxy 在 SDK 中设置。
import HttpsProxyAgent from 'https-proxy-agent';
import AWS from 'aws-sdk';
const s3 = new AWS.S3({
apiVersion: '2006-03-01',
signatureVersion: 'v4',
credentials,
httpOptions: { agent: new HttpsProxyAgent(process.env.https_proxy) },
});
通常代码可能在您的 ec2/lambda 中工作,因为它们有 vpc 端点,但在本地您可能需要代理才能访问存储桶 url:YourBucketName.s3.amazonaws.com
对于仍然有此问题的任何人,我设法通过将传递给 AWS.config.update()
的 endpoint
参数从 ARN 字符串示例 arn:aws:dynamodb:ap-southeast-<generated from AWS>:table/<tableName>
更改为 URL 示例 https://dynamodb.aws-region.amazonaws.com
,但在我的例子中将 aws-region
替换为您所在的地区 ap-southeast-1
.
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStarted.NodeJs.Summary.html
我也遇到了同样的问题。我只是更改了 .env 文件中的原点。
前值:-
"亚太地区(孟买)ap-south-1"
更正值:-
"ap-south-1"