Trabalhar com dados de chave-valor - Amazon CloudFront

Trabalhar com dados de chave-valor

É possível trabalhar com pares de chave-valor em armazenamentos de chave-valor existentes das seguintes maneiras:

  • Uso do console do Amazon CloudFront.

  • Use a API KeyValueStore do CloudFront ou o SDK AWS de sua preferência.

Esta seção descreve como adicionar pares de chave-valor a armazenamentos de chave-valor existentes. Para incluir pares de chave-valor ao criar inicialmente armazenamentos de chave-valor, consulte Criar um armazenamento de chave-valor.

Trabalhar com pares de chave-valor usando o console do CloudFront

É possível usar o console do CloudFront para trabalhar com os seus pares de chave-valor.

Como trabalhar com pares de chave-valor
  1. Faça login no AWS Management Console e abra a página Functions (Funções) no console do CloudFront em https://console.aws.amazon.com/cloudfront/v4/home#/functions.

  2. Selecione a guia KeyValueStores. Selecione o armazenamento de chave-valor que deseja alterar. A página Detalhes será exibida.

  3. Na seção Pares de chave-valor, selecione Editar.

  4. É possível adicionar um par de chave-valor, excluir um par de chave-valor ou alterar o valor de um par existente.

  5. Ao terminar, selecione Salvar alterações.

Trabalhar com pares de chave-valor de forma programática

nota

A API KeyValueStore do CloudFront tem um namespace diferente da API do CloudFront.

Obter uma referência a um armazenamento de chave-valor

Ao inserir uma operação de gravação usando o KeyValueStore do CloudFront, é necessário transmitir o ARN e a ETag dos armazenamentos de chave-valor. Para obter esses dados, faça o seguinte:

  1. Use a operação de lista da API ou dos SDKs de preferência do CloudFront. Por exemplo, para a API REST, use CloudFront.ListKeyValueStores. A resposta inclui uma lista de armazenamentos de chave-valor. Encontre o nome do armazenamento de chave-valor que deseja alterar.

  2. Use a operação de descrição da API ou do SDK de preferência do KeyValueStore do CloudFront. Por exemplo, para a API REST, use CloudFrontKeyValueStore.DescribeKeyValueStore. Transmita o nome obtido na etapa anterior.

    nota

    Use a operação da API KeyValueStore do CloudFront, não da API do CloudFront. Para ter mais informações, consulte Sobre o KeyValueStore do CloudFront.

    A resposta inclui o ARN e a ETag dos armazenamentos de chave-valor.

    • O ARN inclui o número da Conta da AWS, a key-value-store constante e o UUID. Por exemplo:

      arn:aws:cloudfront::111122223333:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

    • Uma ETag se assemelha ao seguinte: ETVABCEXAMPLE2.

Alterar pares de chave-valor em armazenamentos de chave-valor

É possível trabalhar com os pares de chave-valor usando as operações a seguir da API ou do SDK de preferência do KeyValueStore do CloudFront. Todas essas operações funcionam em armazenamentos de chave-valor especificados:

  • CloudFrontKeyValueStore.DeleteKey: exclua uma chave. Consulte DeleteKey.

  • CloudFrontKeyValueStore.GetKey: obtenha uma chave. Consulte GetKey.

  • CloudFrontKeyValueStore.ListKeys: liste as chaves. Consulte ListKeys.

  • CloudFrontKeyValueStore.PutKey: é possível realizar duas ações:

    • Crie um par de chave-valor em armazenamentos de chave-valor: nesse caso, transmita um novo nome de chave e valor.

    • Defina um valor diferente em um par de chave-valor existente: nesse caso, transmita um nome de chave existente e um novo valor de chave.

    Consulte PutKey.

  • CloudFrontKeyValueStore.UpdateKeys: é possível executar uma ou mais das seguintes ações em uma operação de tudo ou nada:

    • Exclua um ou mais pares de chave-valor.

    • Crie um ou mais pares de chave-valor.

    • Defina um valor diferente em um ou mais pares de chave-valor existentes.

    Consulte UpdateKeys.

Sobre o KeyValueStore do CloudFront

Para trabalhar com pares de chave-valor de forma programática em armazenamentos de chave-valor existentes, você deverá usar o serviço KeyValueStore do CloudFront.

Para incluir alguns pares de chave-valor nos armazenamentos de chave-valor ao criar inicialmente os armazenamentos de chave-valor, use o serviço CloudFront.

A operação de descrição

Tanto a API do CloudFront quanto a API do KeyValueStore do CloudFront têm uma operação de descrição que exibe dados sobre os armazenamentos de chave-valor:

  • A API do CloudFront fornece dados, como o status e a data em que o próprio armazenamento foi modificado pela última vez.

  • A API do KeyValueStore do CloudFront fornece dados sobre o conteúdo do recurso de armazenamento: os pares de chave-valor no armazenamento e o tamanho do conteúdo.

As operações de descrição nas duas APIs exibem dados um pouco diferentes que identificam os armazenamentos de chave-valor:

  • A operação de descrição na API do CloudFront exibe uma ETag, o UUID e o ARN dos armazenamentos de chave-valor.

  • A operação de descrição na API do KeyValueStore do CloudFront exibe uma ETag e o ARN dos armazenamentos de chave-valor.

nota

Cada operação de descrição exibe uma ETag diferente. As ETags não são intercambiáveis.

Ao realizar uma operação em uma das APIs, é necessário transmitir a ETag da API apropriada. Por exemplo, na operação de exclusão no KeyValueStore do CloudFront, transmita a ETag que você obteve com a operação de descrição no KeyValueStore do CloudFront.

Exemplo de código de KeyValueStore do CloudFront

exemplo : chamada da operação da API DescribeKeyValueStore

O código de exemplo a seguir mostra como chamar a operação da API DescribeKeyValueStore para um armazenamento de chave-valor.

const { CloudFrontKeyValueStoreClient, DescribeKeyValueStoreCommand, } = require("@aws-sdk/client-cloudfront-keyvaluestore"); require("@aws-sdk/signature-v4-crt"); (async () => { try { const client = new CloudFrontKeyValueStoreClient({ region: "us-east-1" }); const input = { KvsARN: "arn:aws:cloudfront::123456789012:key-value-store/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", }; const command = new DescribeKeyValueStoreCommand(input); const response = await client.send(command); } catch (e) { console.log(e); } })();