already exists"-6ren"> already exists"-像平常一样运行sls deploy -v && sls s3deploy后,我遇到了这个问题: ... CloudFormation - CREATE_FAILED - AWS::Logs::LogG-6ren">
gpt4 book ai didi

amazon-web-services - 尝试部署无服务器时出现 "An error occurred: LogGroup - already exists"

转载 作者:行者123 更新时间:2023-12-04 11:47:34 24 4
gpt4 key购买 nike

像平常一样运行sls deploy -v && sls s3deploy后,我遇到了这个问题:

...

CloudFormation - CREATE_FAILED - AWS::Logs::LogGroup - CallTextractLogGroup

...

CloudFormation - CREATE_FAILED - AWS::IAM::Role - IamRoleStateMachineExecution
CloudFormation - CREATE_FAILED - AWS::Logs::LogGroup - StartTextractStateMachineLogGroup
CloudFormation - CREATE_FAILED - AWS::Lambda::LayerVersion - Boto3LayerLambdaLayer

...

Serverless Error ---------------------------------------

An error occurred: StartTextractStateMachineLogGroup - /aws/lambda/textract-service-dev-startTextractStateMachine already exists.

Get Support --------------------------------------------
Docs: docs.serverless.com
Bugs: github.com/serverless/serverless/issues
Issues: forum.serverless.com

Your Environment Information ---------------------------
OS: linux
Node Version: 12.2.0
Serverless Version: 1.42.3

除了将 Retry 部分添加到我的 Step Function States 中之外,我不记得在部署之前进行过任何更改,这根本不应该与 CF 日志发生困惑。

我尝试运行sls remove,然后再次运行我的部署命令,但运气不佳。

还尝试将 cfLogs: true 添加到我的 YAML 中的 provider 部分,不喜欢!

我尝试在 CloudWatch 控制台中手动删除 LogGroup,但它根本不存在。

这是我的 serverless.yml:

service: textract-service

provider:
name: aws
runtime: python3.7
timeout: 10
region: us-east-1
cfLogs: true
environment:
STATE_MACHINE_ARN: ${self:resources.Outputs.TextractStepFunctions.Value}
iamRoleStatements:
- Effect: "Allow"
Action:
- "s3:PutObject"
- "states:*"
Resource:
Fn::Join:
- ""
- - "the-chumiest-bucket-ARN or *"
- ${self:resources.Outputs.TextractStepFunctions.Value}

plugins:
- serverless-plugin-existing-s3
- serverless-step-functions
- serverless-pseudo-parameters
- serverless-plugin-existing-s3
layers:
boto3Layer:
package:
artifact: boto3_layer.zip
allowedAccounts:
- "*"

functions:
startTextractStateMachine:
handler: src/start_textract_state_machine.lambda_handler
role: the-chumiest-bucket-role
layers:
- {Ref: Boto3LayerLambdaLayer}
events:
- existingS3:
bucket: the-chumiest-bucket
events:
- s3:ObjectCreated:*
rules:
- prefix: input1/
- suffix: .pdf
callTextract:
handler: src/call_textract.lambda_handler
role: the-chumiest-bucket-role

layers:
- {Ref: Boto3LayerLambdaLayer}
getTextractOutput:
handler: src/get_textract_output.lambda_handler
role: the-chumiest-bucket-role

layers:
- {Ref: Boto3LayerLambdaLayer}
parseTextractOutput:
handler: src/parse_textract_output.lambda_handler
role: the-chumiest-bucket-role

layers:
- {Ref: Boto3LayerLambdaLayer}

stepFunctions:
stateMachines:
textractStepFunc:
name: TextractStepFunctions
definition:
Comment: A state machine for the Textract OCR process.
StartAt: StartTextractStateMachine
States:
StartTextractStateMachine:
Type: Task
Resource: "arn:aws:lambda:#{AWS::Region}:#{AWS::AccountId}:function:#{AWS::StackName}-startTextractStateMachine"
Next: CallTextract
Retry:
- ErrorEquals:
- HandledError
IntervalSeconds: 1
MaxAttempts: 1
BackoffRate: 2
- ErrorEquals:
- States.ALL
IntervalSeconds: 1
MaxAttempts: 1
BackoffRate: 2
CallTextract:
Type: Task
Resource: "arn:aws:lambda:#{AWS::Region}:#{AWS::AccountId}:function:#{AWS::StackName}-callTextract"
Next: GetTextractOutput
Retry:
- ErrorEquals:
- HandledError
IntervalSeconds: 1
MaxAttempts: 1
BackoffRate: 2
- ErrorEquals:
- States.ALL
IntervalSeconds: 1
MaxAttempts: 1
BackoffRate: 2
GetTextractOutput:
Type: Task
Resource: "arn:aws:lambda:#{AWS::Region}:#{AWS::AccountId}:function:#{AWS::StackName}-getTextractOutput"
Next: ParseTextractOutput
Retry:
- ErrorEquals:
- HandledError
IntervalSeconds: 1
MaxAttempts: 1
BackoffRate: 2
- ErrorEquals:
- States.ALL
IntervalSeconds: 1
MaxAttempts: 1
BackoffRate: 2
ParseTextractOutput:
Type: Task
Resource: "arn:aws:lambda:#{AWS::Region}:#{AWS::AccountId}:function:#{AWS::StackName}-parseTextractOutput"
Retry:
- ErrorEquals:
- HandledError
IntervalSeconds: 1
MaxAttempts: 1
BackoffRate: 2
- ErrorEquals:
- States.ALL
IntervalSeconds: 1
MaxAttempts: 1
BackoffRate: 2
End: true

resources:
Outputs:
TextractStepFunctions:
Description: The ARN of the state machine
Value:
Ref: TextractStepFunctions

最佳答案

看起来您有一个来自先前(失败?)部署的日志组,该日志组仍然存在于 CloudWatch Logs 中。

您应该在 CloudWatch 控制台(而不是 CloudFormation)中看到此日志组。

您可以运行此命令 (AWS CLI):

aws logs delete-log-group --log-group-name /aws/lambda/textract-service-dev-startTextractStateMachine

删除您的日志组,然后重试部署。

关于amazon-web-services - 尝试部署无服务器时出现 "An error occurred: LogGroup - <resource name> already exists",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56137460/

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