我希望能够从命令行为我的api部署新的端点,最好使用单个npm脚本。
麻烦之处在于,您首先必须使用create-resource
提供一个父ID,然后put-method
提供从create-resource
返回的ID。
这将部署工作分解为一系列我无法串在一起的小步骤,因为我需要这些唯一的ID。
有什么办法解决吗?到目前为止,我仅使用npm脚本来获得lambda,这相当令人愉快。
答案 0 :(得分:1)
在您的package.json
中,脚本可以指向javascript文件。该文件可能包含更强大的脚本。
"scripts": {
"createEndpoint": "node ./myscript.js"
}
要在一个命令/脚本中完成所有操作,您可能需要查看如何处理此问题/答案https://stackoverflow.com/a/14404223/10555693所涉及的参数。此外,用于argv NodeJS: process.argv
的NodeJS文档功能更强大的脚本可以利用JS AWS SDK,接受参数并创建资源,方法和部署。
一些特定的方法引用可能会有用:
示例(只是一个开始):
const AWS = require('aws-sdk');
async function createEndPoint() {
const apiGateway = new AWS.APIGateway();
const resourceParams = {
parentId: '',
pathPart: '',
restApiId: '',
};
const newResource = await apiGateway.createResource(resourceParams).promise();
const methodParams = {
resourceId: newResource.id,
. /* other params */
.
.
};
const newMethod = await apiGateway.putMethod(methodParams);
}
createEndPoint();