gpt4 book ai didi

amazon-web-services - 通过方法/动词使 AWS 无服务器函数具有唯一性

转载 作者:行者123 更新时间:2023-12-03 07:37:19 24 4
gpt4 key购买 nike

我为我的用户进行了一些 CRUD 操作。我希望我的 URI 为/user/{id} 并让 VERB 决定使用什么方法,例如。发布并放置。在我的 cloudformation 模板文件中,我的资源如下所示:

    "UpdateUser" : {
"Type" : "AWS::Serverless::Function",
"Properties": {
"Handler": "AWSServerless::AWSServerless.UserFunctions::UpdateUserAsync",
"Runtime": "dotnetcore1.0",
"CodeUri": "",
"Description": "Function to update a user",
"MemorySize": 128,
"Timeout": 30,
"Role": null,
"Policies": [ "AWSLambdaFullAccess" ],
"Events": {
"PutResource": {
"Type": "Api",
"Properties": {
"Path": "/user/{id}",
"Method": "PUT"
}
}
}
}
},

"GetUser" : {
"Type" : "AWS::Serverless::Function",
"Properties": {
"Handler": "AWSServerless::AWSServerless.UserFunctions::GetUserAsync",
"Runtime": "dotnetcore1.0",
"CodeUri": "",
"Description": "Function to get a single user",
"MemorySize": 128,
"Timeout": 30,
"Role": null,
"Policies": [ "AWSLambdaFullAccess" ],
"Events": {
"PutResource": {
"Type": "Api",
"Properties": {
"Path": "/user/{Id}",
"Method": "GET"
}
}
}
}
}

这会给我这个错误:“无法在路径'/user/{id}'创建资源:该资源的同级({Id})已经有一个可变路径部分 - 只允许一个”。

是否可以通过方法/动词使它们独一无二?或者什么解决方案是最好的..?要将/user/作为我的路径并在对象中发送我的 id,请使用查询字符串或将路径设置为类似“/user/update/{id}”“/user/get/{id}”?

最佳答案

查看 this example ,看来您的模板存在一些问题:

  • 确保您的路径参数相同。您正在使用 {id}{Id}。路径参数似乎区分大小写,因此您可能只想在两个函数中使用 {id}
  • 对于 GetUser 函数,请使用 GetResource 事件而不是 PutResource

希望这有帮助!

关于amazon-web-services - 通过方法/动词使 AWS 无服务器函数具有唯一性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47886937/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com