如何 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);
});
我正在尝试从 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);
});