如何 require/read 来自 aws-sdk apis 文件夹的 JSON 文件

How to require/read the JSON files from aws-sdk apis folder

我正在尝试从 EC2 SDK JSON

获取 EC2 的所有实例类型
const instanceEnums = require('aws-sdk/apis/ec2-2016-11-15.normal.json');

function getAllTypes(property) {
   return instanceEnums.shapes[property].enum;
}
getAllTypes('InstanceType')

但是它抛出一个错误

cannot find module aws-sdk/apis/ec2-2016-11-15.normal.json

我发现安装的 SDK/module 不包含 .normal.json 文件,只包含 .min.js 文件。

是否有任何其他方法可以访问 apis 文件夹中的文件,就像我们可以通过需要 SDK 和 AWS.EC2 访问 clients 文件夹一样(因为 sdk 导出 clients 文件夹的文件来自 index.js。)

我需要使用类似此答案中解释的内容

下面的代码对我有用。

const instanceEnums = require('aws-sdk/apis/ec2-2016-11-15.min.json');
console.log(instanceEnums.shapes);

您可以直接从github下载ec2-2016-11-15.normal.json(例如在应用程序启动时)并按如下方式使用它:

const axios = require('axios');

const url = 'https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/ec2-2016-11-15.normal.json';

const getAllTypes = (() => {
  const loadApi = axios.get(url);
  return (property) => loadApi.then(response => {
    return response.data.shapes[property].enum
  })
})();

getAllTypes('InstanceType').then((types) => {
  console.log(types);
});