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.

feita há 2 anos296 visualizações
1 Resposta
0
Resposta aceita

Seems like caching issue. Cleared and resolved.

respondido há 2 anos

Você não está conectado. Fazer login para postar uma resposta.

Uma boa resposta responde claramente à pergunta, dá feedback construtivo e incentiva o crescimento profissional de quem perguntou.

Diretrizes para responder a perguntas