![](/img/trans.png)
[英]aws lambda function using serverless template of asp.net core
[英]Error publishing ASP.NET Core Web API to AWS Serverless Lambda: 'AWSLambdaFullAccess' at 'policyArn' … Member must have length greater than
For over a year I have been able to publish a ASP.NET Core Web API application using Visual Studio 2019 by selecting "Publish to AWS Lambda..." without incident (via a right click on the project). 直到昨天。 現在它始終無法發布並回滾。
關於它失敗的原因,給出了以下兩個原因。
檢測到 1 個驗證錯誤:“policyArn”處的值“AWSLambdaFullAccess”未能滿足約束:成員的長度必須大於或等於 20(服務:AmazonIdentityManagement;狀態代碼:400;錯誤代碼:ValidationError;請求 ID:...;代理:空)
未能創建以下資源:[AspNetCoreFunctionRole, Bucket]。 用戶請求回滾。
我已經查看了 AWSLambdaFullAccess 和 AWSLambda_FullAccess 以及其他內容,只是沒有 model 可以遵循,甚至在任何意義上都知道它指的是什么,我可以想象一條富有成效的前進道路。 它所指的“會員”究竟是什么? 廣泛的研究沒有產生任何用處。
我想成功發布我的 Web API。 我可以查看哪些內容才能繼續?
根據https://docs.aws.amazon.com/lambda/latest/dg/access-control-identity-based.html AWSLambdaFullAccess 策略剛剛被棄用,因此我試圖更新的堆棧卡在了UPDATE_ROLLBACK_FAILED。
為了解決這個問題,我必須采取以下步驟:
AWSLambdaFullAccess
的角色。AWSLambdaFullAccess
引用更改為AWSLambda_FullAccess
希望這可以幫助某人!
這可能不是正確或理想的解決方案,我嘗試了這種方法並且它有效
步驟1:
在 serverless.template 中將訪問從“AWSLambdaFullAccess”更改為“AWSLambda_FullAccess”
"Resources": {
"AspNetCoreFunction": {
"Type": "AWS::Serverless::Function",
"Properties": {
"Handler": "SampleAPI::SampleAPI.LambdaEntryPoint::FunctionHandlerAsync",
"Runtime": "dotnetcore3.1",
"CodeUri": "",
"MemorySize": 256,
"Timeout": 30,
"Role": null,
"Policies": [
"AWSLambda_FullAccess"
],
"Environment": {
"Variables": {
"AppS3Bucket": {
Lambda 此步驟后發布成功。
第2步:
然后我在訪問 DynamoDb 表時遇到了問題。 我去 IAM 角色添加了 DynamoDb 執行角色。 (以前我不記得明確添加了這個角色)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.