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
-
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.
-
Escolha Editar e faça as seguintes alterações:
-
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
-
Abra a janela de linha de comando.
-
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
-
É 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.
-
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
).