typescript - 在 CDK 中将 AWS Step Functions 与 API Gateway 集成时遇到问题
问题描述
目前我正在尝试在 CDK 中编写一个堆栈,该堆栈创建一个 API 网关,并且其中一个方法调用 AWS Step Function 来执行。
代码使用 构建npm run build
,但在 cdk deploy 期间出现错误:
“用于集成的 AWS ARN 包含无效操作”和创建 API 根的行上的错误。
// API Gateway Resources
const dapi = new api.RestApi(this, 'Test-Gateway');
const testID = dapi.root.addResource('{testID}');
const getQuote = testID.addResource('GetQuote');
getQuote.addMethod('POST', new api.AwsIntegration({
service: 'states',
action: 'Start Execution',
proxy: false,
integrationHttpMethod: 'POST',
options: {
passthroughBehavior: api.PassthroughBehavior.NEVER,
credentialsRole: iam.Role.fromRoleArn(this, 'rolename', 'arnForExecutionRole'),
requestTemplates: {
'application/json': `{
"input": "{
\"Alias\": \"$input.params('Alias')\"
},
"stateMachineArn": "stateMachineArn"
}`,
},
integrationResponses: [{
statusCode: '200',
}]
}
}), {
methodResponses: [{
statusCode: '200',
}]
}
);
我不确定为什么这不起作用,因为这与我在控制台中构建的功能相同。我觉得我要么缺少一个参数,要么有一些参数值不正确。我还没有找到任何这样的例子,所以任何帮助将不胜感激。
解决方案
Try to use action name without spaces, i.e. action: 'StartExecution'
推荐阅读
- python-3.x - pythonanywhere - 超级慢?
- c# - HtmlAgilityPack 无法解析 html
</h1> <div id="body"><p>I have the following html string (simplified version of the HTML which is not controlled by me):</p> <pre><code><html> <head> <title/> & - python - 在python中使用自然邻居对分散数据进行空间插值
- flutter - 各种移动设备上的 Flutter 响应问题
- laravel-6 - 使用 auth 标志创建新项目不起作用
- c++ - 我在使用 C++ 逐行读取输入文件时遇到问题
- c# - 用适当大小的矩形填充画布
- python - 在 Tensorflow 中并行化维度
- vue.js - Vuetify - 带有嵌套列表项的导航抽屉
- python - Pandas groupby 计数是结果忽略 .count()?