Search code examples
amazon-web-servicesaws-lambdayamlaws-cloudformationserverless

How do refer an existing s3 bucket in my CFN template so that my lambda can use the bucket?


I have a CFN template where in I am creating 2 s3 buckets for the image resizing using CloudFront. the issue is that I want to use an already existing bucket from s3 for these functions. but I get an error that s3 already exists when I provide the resource ARN and other data. how can I resolve this? I tried giving the details ARN name etc and tried deploying but it doesn't work


Solution

  • Something like this would help you:

    AWSTemplateFormatVersion: '2010-09-09'
    Description: 'CFN template example for referencing existing S3 bucket to lambda'
    Parameters:
      myS3Bucket:
        Type: String
        Description: Provide the S3 bucket you want to referece into your lambda.
    Resources:
      MyLambdaFunction:
        Type: AWS::Lambda::Function
        Properties:
          Description: A lambda function
          Handler: index.handler
          Runtime: python3.7
          Environment:
            Variables:
              S3_BUCKET: !Ref myS3Bucket