Estou migrando um site estático do IIS para o Amazon S3, usando o CloudFront para https. O site antigo usava o módulo URL Rewrite e tinha 301 mapas de redirecionamento com mais de 200 entradas. Aqui está um exemplo:
example.com?pageID=1234 = > example.com/about/history
Quero garantir que todos os redirecionamentos sejam migrados com o website. Muitas das chaves de entrada incluem strings de consulta, portanto, não acho que as regras de redirecionamento XML do S3 ou os redirecionamentos de metadados do objeto funcionarão para eles (corrija-me se estiver errado).
Eu quero usar um acionador de evento de solicitação de usuário do CloudFront com uma função Lambda @ Edge para criar um mapa de reconfiguração de pares de valores-chave (algo como o descrito em este guia ). A função pegaria o URI da solicitação e, se ela corresponder a alguma das chaves no mapa, altere a solicitação para refletir o valor correspondente.
Eu poderia codificar o mapa de reescrita na função Lambda, mas novas entradas serão adicionadas ao mapa ao longo do tempo. Eu preferiria não criar uma nova versão da função e, em seguida, edite o comportamento do CloudFront para usar essa nova versão, sempre que for necessário um novo URL personalizado. Parece meio perigoso e propenso a erros que poderiam mexer no CloudFront.
Alguém sabe de uma maneira de criar um mapa de reconfiguração (um arquivo JSON ou algo assim?) que possa ser anexado a uma função do Lambda e editado sem alterar a própria função do Lambda? Obrigado!