Amplify vs S3: Why is this behaviour different?

0

HI All, I'm still very much a novice with AWS and I'm following this tutorial to learn more Build a Serverless Web Application. In my own test account I've followed this tutorial without issue. I'm currently trying to apply the same tutorial in a restricted environment where I don't have access to Amplify. I figured I could get away with swapping Amplify in this tutorial S3, however I'm getting some odd behaviour.

I'm using this github repo website for both. I'm creating the bucket and uploading the files via TF.

resource "aws_s3_bucket" "mrw-example-bucket" {
  bucket = "mrw-example"

  tags = {
    Name = "mrw-example"
  }
}
resource "aws_s3_bucket_acl" "mrw-example-bucket-acl" {
  bucket = aws_s3_bucket.mrw-example-bucket.id
  acl    = "public-read"
}

resource "aws_s3_bucket_website_configuration" "mrw-example-bucket-website-config" {
  bucket = aws_s3_bucket.mrw-example-bucket.id

  index_document {
    suffix = "index.html"
  }

  error_document {
    key = "error.html"
  }
}

resource "aws_s3_bucket_public_access_block" "mrw-example-bucket-pab" {
  bucket = aws_s3_bucket.mrw-example-bucket.id

  block_public_acls   = false
  block_public_policy = false
}

resource "aws_s3_bucket_policy" "mrw-example-bucket-policy" {
  bucket = aws_s3_bucket.mrw-example-bucket.id
  policy = file("policy.json")
}

resource "aws_s3_bucket_cors_configuration" "mrw-example-cors-config" {
  bucket = aws_s3_bucket.mrw-example-bucket.id

  cors_rule {
    allowed_headers = ["*"]
    allowed_methods = ["PUT", "POST", "GET"]
    allowed_origins = ["*"]
    max_age_seconds = 3000
  }
}

###WEBSITE FILES###
locals {
  content_type_map = {
    html        = "text/html",
    js          = "application/javascript",
    css         = "text/css",
    svg         = "image/svg+xml",
    jpg         = "image/jpeg",
    ico         = "image/x-icon",
    png         = "image/png",
    gif         = "image/gif",
    pdf         = "application/pdf"
  }
}

resource "aws_s3_object" "mrw-example-bucket-objects" {
  for_each = fileset("website/", "**/*.*")
  bucket   = aws_s3_bucket.mrw-example-bucket.id
  key      = each.value
  source   = "website/${each.value}"
  etag     = filemd5("website/${each.value}")
  content_type  = lookup(local.content_type_map, regex("\\.(?P<extension>[A-Za-z0-9]+)$", each.value).extension, "application/octet-stream")
}

My question to you all, is why is the behaviour different? It feels like I've missed something obvious somewhere.

posta 2 anni fa296 visualizzazioni
1 Risposta
0
Risposta accettata

Seems like caching issue. Cleared and resolved.

con risposta 2 anni fa

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.

Linee guida per rispondere alle domande