Atualizar funções - Amazon CloudFront

Atualizar funções

É possível atualizar uma função a qualquer momento. As alterações são feitas somente na versão da função que está no estágio DEVELOPMENT. Para copiar as atualizações do estágio DEVELOPMENT em LIVE, é necessário publicar a função.

É possível atualizar o código de uma função no console do CloudFront ou com a AWS Command Line Interface (AWS CLI).

Console
Como atualizar um código de função
  1. Faça login no console do CloudFront em https://console.aws.amazon.com/cloudfront/v4/home#/functions e selecione a página Funções.

    Escolha a função a ser atualizada.

  2. Escolha Editar e faça as seguintes alterações:

    • Atualize todos os campos na seção Detalhes.

    • Altere ou remova o armazenamento de valores de chave associado. Para obter mais informações sobre armazenamentos de chave-valor, consulte KeyValueStore do Amazon CloudFront.

    • Altere o código da função. Selecione a guia Criar, faça alterações e, depois, escolha Salvar alterações para salvar as alterações no código.

CLI
Para atualizar o código da função
  1. Abra a janela de linha de comando.

  2. Execute o seguinte comando .

    Este exemplo usa a notação fileb:// para transmitir o arquivo. Ele também inclui quebras de linha para tornar o comando mais legível.

    aws cloudfront update-function \ --name MaxAge \ --function-config '{"Comment":"Max Age 2 years","Runtime":"cloudfront-js-2.0","KeyValueStoreAssociations":{"Quantity":1,"Items":[{"KeyValueStoreARN":"arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"}]}}' \ --function-code fileb://function-max-age-v1.js \ --if-match ETVABCEXAMPLE
    Observações
    • É necessário identificar a função pelo nome e pela ETag (no parâmetro if-match). Use a ETag atual. É possível obtê-la usando uma operação de descrição.

    • É necessário incluir o function-code, mesmo que não deseje alterá-lo.

    • Tenha cuidado com a function-config. É necessário transmitir tudo o que deseja manter na configuração. Especificamente, trate o armazenamento de chave-valor da seguinte forma:

      • Para reter a associação do armazenamento de valores de chave existente (se houver), especifique o nome do armazenamento existente.

      • Para alterar a associação, especifique o nome do novo armazenamento de valores de chave.

      • Para remover a associação, omita o parâmetro KeyValueStoreAssociations.

    Quando o comando é bem-sucedido, a saída é semelhante à seguinte:

    ETag: ETVXYZEXAMPLE FunctionSummary: FunctionConfig: Comment: Max Age 2 years \ Runtime: cloudfront-js-2.0 \ KeyValueStoreAssociations= \ {Quantity=1, \ Items=[{KeyValueStoreARN='arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111'}]} \ FunctionMetadata: \ CreatedTime: '2021-04-18T20:38:56.915000+00:00' \ FunctionARN: arn:aws:cloudfront::111122223333:function/MaxAge \ LastModifiedTime: '2023-12-19T23:41:15.389000+00:00' \ Stage: DEVELOPMENT \ Name: MaxAge \ Status: UNPUBLISHED

A maioria das informações é repetida a partir da solicitação. Outras informações são adicionadas pelo CloudFront.

Observações
  • ETag: esse valor muda sempre que você modifica o armazenamento de valores de chave.

  • FunctionARN: o ARN da função do CloudFront.

  • Stage: o estágio da função (LIVE ou DEVELOPMENT).

  • Status: o status da função (PUBLISHED ou UNPUBLISHED).