繁体   English   中英

为什么会出现此错误? 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' });
const credentials = new AWS.SharedIniFileCredentials({ profile: '***' });
AWS.config.credentials = credentials;
    
const devicefarm = new AWS.DeviceFarm();
    
async function run() {
  let projects = await devicefarm.listProjects().promise();
  console.log(projects);
}
    
run();

我收到此错误:

UnknownEndpoint:无法访问的主机: devicefarm.us-east-1.amazonaws.com'. 此服务在“us-east-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();

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

AWS 提供了一个仪表板来获取所提供服务的运行状况报告,同样可以在此链接中获得 访问服务健康状况的 API 也可用。

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

错误:

区域:我选择的“ Asia Pacific (Mumbai) ap-south-1

解决方案:

在 region 而不是写整个名字,你应该只提到地区代码

区域: ap-south-1

我遇到了同样的问题并检查了所有 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

对于仍然存在此问题的任何人,我设法通过更改从 ARN 字符串示例arn:aws:dynamodb:ap-southeast-<generated from AWS>:table/<tableName>传入AWS.config.update()endpoint参数来解决它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”

我一直在尝试amplify init直到它起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM