Direkt zum Inhalt

AWS SAM, unable to dynamically change the CodeUri based on Variable

0

I have different local directories for three different environments with differnet codes. I can map all other properties dynamically except the codeUri. The current code below shows up an error "'CodeUri' requires Bucket and Key properties to be specified."

  AuditEventsToDynamo:
    Type: AWS::Serverless::Function
    Properties:
      FunctionName: !Sub 'AuditEventsToDynamo${ENV}'
      CodeUri: !Sub 'AuditEventsToDynamo${ENV}/'
      Handler: !Join [ "", ["AuditEventsToDynamo" ,!Ref "ENV",".lambda_handler"]]
      Runtime: python3.9
      Environment:
        Variables:
          DB_TABLE: !Ref DBTABLE
      Architectures:
        - arm64

The code is local, if I replace the CodeUri with a literal string, it works. Is there a workaround?

gefragt vor 3 Jahren504 Aufrufe
1 Antwort
0

What's the "literal string" you used that works, and what's the value of "ENV" when it fails? If ENV is something like "Dev", "Prod" etc then the error makes sense - your CodeUri wouldn't have both a Bucket and Key specified.

EXPERTE
beantwortet vor 3 Jahren
  • I have three local directories named as AuditEventsToDynamoProd AuditEventsToDynamoTest . If I give the path as "AuditEventsToDynamoProd", it works. I couldn't use any Intrinsic Functions to add dynamic values.

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.