Salta al contenuto

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?

posta 3 anni fa504 visualizzazioni
1 Risposta
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.

ESPERTO
con risposta 3 anni fa
  • 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.

Accesso non effettuato. Accedi per postare una risposta.

Una buona risposta soddisfa chiaramente la domanda, fornisce un feedback costruttivo e incoraggia la crescita professionale del richiedente.