Criar funções - Amazon CloudFront

Criar funções

Você deve criar uma função em dois estágios:

  1. 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.

  2. 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
  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.

  2. Escolha a opção Criar função.

  3. 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.

  4. 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.

  5. Escolha Salvar alterações.

  6. 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
  1. Crie o código da função em um arquivo e armazene-o em um diretório ao qual o computador possa se conectar.

  2. 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, usando update-function. A Quantity é sempre 1 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 a ETag atual.

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

    • 111122223333: a Conta da AWS.

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

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

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.