Etapa 4: Como simular um problema e repetir eventos para recuperação - Amazon Simple Notification Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Etapa 4: Como simular um problema e repetir eventos para recuperação

Etapa 1: Como habilitar o problema simulado e enviar uma segunda solicitação da API

  1. Faça login no AWS Lambdaconsole.

  2. No painel de navegação, escolha Functions (Funções).

  3. Busque serverlessrepo-fork-example e escolha CheckoutFunction.

  4. No fork-example-ecommerce- my-app - - CheckoutFunction ABCDEF... página, na seção Variáveis de ambiente, defina a variável BUG_ENABLED como verdadeira e escolha Salvar.

  5. Copie o JSON a seguir em um arquivo denominado test_event_2.json.

    { "id": 9917, "date": "2019-03-26T21:11:10-08:00", "status": "confirmed", "customer": { "id": 56999, "name": "Marcia Oliveira", "email": "marcia.oliveira@example.com" }, "payment": { "id": 3311, "amount": 75.00, "currency": "usd", "method": "credit", "card-network": "mastercard", "card-number": "1234 5678 9012 3456", "card-expiry": "12/2025", "card-owner": "Marcia Oliveira", "card-cvv": "321" }, "shipping": { "id": 9900, "time": 20, "unit": "days", "method": "plane" }, "items": [{ "id": 9993, "product": 3120, "name": "Hockey Stick", "quantity": 1, "price": 75.00, "subtotal": 75.00 }] }
  6. Para enviar uma solicitação HTTPS ao endpoint da API, envie a carga do evento de exemplo como entrada, executando um comando curl, por exemplo:

    curl -d "$(cat test_event_2.json)" https://abcdefghij.execute-api.us-east-2.amazonaws.com/Prod/checkout

    A API retorna a seguinte resposta vazia, indicando uma execução bem-sucedida:

    { }

Etapa 2: Como verificar a corrupção de dados simulados

  1. Faça login no console do Amazon DynamoDB.

  2. No painel de navegação, escolha Tables (Tabelas).

  3. Busque serverlessrepo-fork-example e escolha CheckoutTable.

  4. Na página de detalhes da tabela, escolha Items (Itens) e selecione o item criado.

    Os atributos armazenados são exibidos, alguns marcados como CORRUPTED! (CORROMPIDOS!)

Etapa 3: Como desabilitar o problema simulado

  1. Faça login no AWS Lambdaconsole.

  2. No painel de navegação, escolha Functions (Funções).

  3. Busque serverlessrepo-fork-example e escolha CheckoutFunction.

  4. No fork-example-ecommerce- my-app - - CheckoutFunction ABCDEF... página, na seção Variáveis de ambiente, defina a variável BUG_ENABLED como falsa e escolha Salvar.

Etapa 4: Como habilitar a repetição a fim de recuperar do problema

  1. No console do AWS Lambda, no painel de navegação, escolha Functions (Funções).

  2. Busque serverlessrepo-fork-example e escolha ReplayFunction.

  3. Expanda a seção Designer, escolha o bloco SQS e, na seção SQS, selecione Enabled (Habilitado).

    nota

    Leva aproximadamente 1 minuto para que o acionador da origem de eventos do Amazon SQS seja habilitado.

  4. Escolha Salvar.

  5. Para visualizar os atributos recuperados, volte ao console do Amazon DynamoDB.

  6. Para desativar a as novas tentativas, volte ao console do AWS Lambda e desabilite o acionador da origem de eventos do Amazon SQS para ReplayFunction.