簡體   English   中英

AWS SAM-資源之間的循環依賴關系錯誤

[英]AWS SAM - Circular dependency between resources error

我按照本教程設置了一個AWS Lambda函數,該函數在上載到S3時被調用並填充DynamoDB。

我正在嘗試使用AWS SAM實現相同的功能,為此我需要使用配置信息定義template.yaml文件。 使用Cloudformation進行部署時,我一直收到此錯誤-

Failed to create the changeset: Waiter ChangeSetCreateComplete failed: Waiter encountered a terminal failure state Status: FAILED. Reason: Circular dependency between resources: [LambdaPerm]

我在這方面找不到很多信息,因此我很難調試。 是什么導致此錯誤,我該如何解決? 這是我的模板配置-

AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
  Gradebook:
    Type: AWS::Serverless::Function
    Properties:
      FunctionName: LambdaGradebookServerless
      Handler: serverless.LambdaGradebook
      Runtime: java8
      CodeUri: ./target/serverless-0.0.1-SNAPSHOT.jar
      Role: arn:aws:iam::xxxxxxxxxxxx:role/lambda-s3-execution-role
  LambdaPerm:
    Type: AWS::Lambda::Permission
    Properties:
      Action: lambda:InvokeFunction
      FunctionName:
        Ref: Gradebook
      Principal: s3.amazonaws.com
      SourceAccount:
        Ref: AWS::xxxxxxxxxxxx
      SourceArn:
        Fn::Join:
        - ':'
        - - arn
          - aws
          - s3
          - ''
          - ''
          - Ref: gradebookBucket
  gradebookBucket:
    Type: AWS::S3::Bucket
    Properties:
      Bucket: gradebook-lambda
      NotificationConfiguration:
        LambdaConfigurations:
        - Event: s3:ObjectCreated:*
          Function:
            Ref: Gradebook

為了避免這種循環依賴性,請分別創建S3存儲桶和Lambda函數,然后使用S3通知配置更新堆棧。

我收到了循環依賴項錯誤,結果證明這是我從CloudFormation模板上的資源中引用的缺少參數!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM