You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用AWS Application Cost Profiler时遇getaddrinfo ENOTFOUND错误,该如何解决?

解决Application Cost Profiler的getaddrinfo ENOTFOUND错误

这个错误的核心原因是AWS Application Cost Profiler服务在你指定的ap-southeast-1区域未部署,导致SDK无法解析对应的服务端点地址。

解决方案步骤:

  1. 切换到服务支持的区域
    AWS Application Cost Profiler仅在特定区域提供服务,当前支持的区域包括us-east-1、us-west-2、eu-west-1等。修改客户端初始化代码,指定一个支持的区域:

    const clientCP = new ApplicationCostProfilerClient({region: "us-east-1"});
    
  2. S3桶区域与服务区域可分离
    即便你的S3桶在ap-southeast-1,也无需将Application Cost Profiler客户端切换到该区域。只要你的AWS凭证拥有该S3桶的s3:GetObject权限,服务就能跨区域读取桶内数据,保持sourceS3Location中的region为桶所在的ap-southeast-1即可。

  3. 验证网络与权限配置

    • 确认运行代码的环境能正常访问AWS服务端点,无防火墙、代理或VPC端点规则阻止请求。
    • 检查AWS凭证是否具备applicationcostprofiler:ImportApplicationUsage权限,以及对应S3桶的读取权限。

修正后的示例代码:

const { ApplicationCostProfilerClient, ImportApplicationUsageCommand } = require("@aws-sdk/client-applicationcostprofiler");

// 使用服务支持的区域初始化客户端
const clientCP = new ApplicationCostProfilerClient({region: "us-east-1"});

const paramsCP = {
  "sourceS3Location": {
    "bucket": env.bucketname,
    "key": env.key,
    "region": env.region // 保留S3桶所在的ap-southeast-1
  }
}

const CommandCP = new ImportApplicationUsageCommand(paramsCP);
const dataCP = await clientCP.send(CommandCP);

内容的提问来源于stack exchange,提问作者Sam Wuhr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 04:24:11