Criar funções
Você deve criar uma função em dois estágios:
-
Crie o código da função como JavaScript. É possível usar o exemplo padrão do console do CloudFront ou crie seu próprio. Para obter mais informações, consulte os tópicos a seguir.
-
Use o CloudFront para criar a função e incluir o código. O código existe dentro da função (não como referência).
- Console
-
Como criar uma função do
-
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 opção Criar função.
-
Insira um nome de função exclusivo na Conta da AWS, selecione a versão do JavaScript e escolha Continuar. A página de detalhes da nova função é exibida.
nota
Para usar pares de chave-valor na função, será necessário selecionar JavaScript runtime 2.0.
-
Na seção Código da função, selecione a guia Criar e insira o código da função. O exemplo de código incluído na guia Criar ilustra a sintaxe básica do código da função.
-
Escolha Salvar alterações.
-
Se o código da função usar pares de chave–valor, será necessário associar um armazenamento de valores de chave.
É possível associar o armazenamento de chave-valor durante a criação inicial da função. Ou é possível associá-lo posteriormente, atualizando a função.
Para associar um armazenamento de chave-valor agora, siga estas etapas:
-
Acesse a seção Associar KeyValueStore e selecione Associar KeyValueStore existente.
-
Selecione o armazenamento de chave-valor que contém os pares de chave-valor na função e, depois, selecione Associar KeyValueStore.
O CloudFront associa imediatamente o armazenamento à função. Não é necessário salvar a função.
-
-
- CLI
-
Se você usa a CLI, normalmente primeiro cria o código da função em um arquivo e, depois, cria a função com a AWS CLI.
Como criar uma função do
-
Crie o código da função em um arquivo e armazene-o em um diretório ao qual o computador possa se conectar.
-
Execute o comando conforme mostrado no exemplo. 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 create-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
Observações
-
Runtime
: a versão do JavaScript. Para usar pares de chave-valor na função, é necessário especificar a versão 2.0. -
KeyValueStoreAssociations
: se a função usar pares de chave-valor, será possível associar o armazenamento de chave-valor durante a criação inicial da função. Ou é possível associá-lo posteriormente, usandoupdate-function
. AQuantity
é sempre1
porque cada função pode ter apenas um armazenamento de chave-valor associado a ela.
Quando o comando é bem-sucedido, a saída é semelhante à seguinte:
ETag: ETVABCEXAMPLE 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-11-19T20:38:56.915000+00:00' Stage: DEVELOPMENT Name: MaxAge Status: UNPUBLISHED Location: https://cloudfront.amazonaws.com/2020-05-31/function/arn:aws:cloudfront:::function/MaxAge
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. Use esse valor e o nome da função para referenciar a função futuramente. Sempre use aETag
atual. -
FunctionARN
: o ARN da função do CloudFront. -
111122223333: a Conta da AWS.
-
Stage
: o estágio da função (LIVE
ouDEVELOPMENT
). -
Status
: o status da função (PUBLISHED
ouUNPUBLISHED
).
-
-
Depois de criar a função, ela é adicionada ao estágio DEVELOPMENT
. Recomendamos testar sua função antes de publicá-la. Depois de publicar a função, ela muda para o estágio LIVE
.