为啥我会收到此错误? UnknownEndpoint:无法访问的主机:`devicefarm.us-east-1.amazonaws.com'

Posted

技术标签:

【中文标题】为啥我会收到此错误? UnknownEndpoint:无法访问的主机:`devicefarm.us-east-1.amazonaws.com\'【英文标题】:Why am I getting this error? UnknownEndpoint: Inaccessible host: `devicefarm.us-east-1.amazonaws.com'为什么我会收到此错误? UnknownEndpoint:无法访问的主机:`devicefarm.us-east-1.amazonaws.com' 【发布时间】:2019-01-11 10:24:37 【问题描述】:

我正在尝试列出 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.

【问题讨论】:

【参考方案1】:

根据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();

【讨论】:

【参考方案2】:

我遇到了同样的问题,并意识到上传失败是因为我的互联网连接速度太慢,无法解析存储桶 URL 的 DNS。但是,连接速度慢并不是导致此错误的唯一原因——网络/服务器/服务/区域/数据中心中断也可能是根本原因。

AWS 提供了一个仪表板来获取所提供服务的运行状况报告,同样可以通过 this link 获得。还可以使用 API 来访问服务的健康状况。

【讨论】:

【参考方案3】:

我遇到了同样的错误,我已经通过以下方式解决了

错误:

我选择的地区:'Asia Pacific (Mumbai) ap-south-1'

解决方案:

在地区而不是写全名,你应该只提到地区代码

地区:ap-south-1

【讨论】:

【参考方案4】:

我遇到了同样的问题,并检查了所有 github 问题以及 SO 答案,没有太大帮助。

如果您也像我一样在corporate 环境中并在本地 收到此错误,这很可能是因为您没有在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

【讨论】:

【参考方案5】:

对于仍然遇到此问题的任何人,我设法通过将传递到 AWS.config.update()endpoint 参数从 ARN 字符串示例 arn:aws:dynamodb:ap-southeast-<generated from AWS>:table/<tableName> 更改为 URL 示例 https://dynamodb.aws-region.amazonaws.com 来解决它,但替换了 @987654326 @ 在我的情况下是您所在的地区ap-southeast-1

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStarted.NodeJs.Summary.html

【讨论】:

【参考方案6】:

我也有同样的问题。我只是更改 .env 文件中的原点。

上一个值:-

“亚太地区(孟买)ap-south-1”

修正值:-

“ap-south-1”

【讨论】:

以上是关于为啥我会收到此错误? UnknownEndpoint:无法访问的主机:`devicefarm.us-east-1.amazonaws.com'的主要内容,如果未能解决你的问题,请参考以下文章

为啥我会收到此错误:“不支持此功能(数字商品)。”?

为啥我会收到此语法错误? (Python)

为啥我会收到此错误? “孩子未申报?

为啥我会收到此 GRPCProvider UpgradeResourceState terraform 错误?

为啥我会收到此 Webpack 加载程序错误?

为啥我会收到此错误?返回标签错误(页面没有链接回来)