

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ステップ 4: 復旧のために問題をシミュレートしてイベントを再生する
<a name="simulate-issue-replay-events-for-recovery"></a>

## ステップ 1: シミュレートした問題を有効にして別の API リクエストを送信する
<a name="enable-simulated-issue-send-second-api-request"></a>

1. [AWS Lambda コンソール](https://console.aws.amazon.com/lambda/) にサインインします。

1. ナビゲーションパネルで [**関数**] を選択します。

1. `serverlessrepo-fork-example` を検索して `CheckoutFunction` を選択します。

1. [**fork-example-ecommerce-{{my-app}}-CheckoutFunction-{{ABCDEF}}...**] ページの [**環境変数**] セクションで、**BUG\_ENABLED** 変数を **true** に設定して [**保存**] を選択します。

1. 次の JSON を `test_event_2.json` という名前のファイルにコピーします。

   ```
   {
   	   "id": 9917,
   	   "date": "2019-03-26T21:11:10-08:00",
   	   "status": "confirmed",
   	   "customer": {
   	      "id": 56999,
   "quantity": 1,
   	      "price": 75.00,
   	      "subtotal": 75.00
   	   }]
   	}
   ```

1. API エンドポイントに HTTPS リクエストを送信するには、`curl` コマンドを実行してサンプルイベントペイロードを入力として渡します。次に例を示します。

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

   API は、次の空のレスポンスを返し、実行が成功したことを示します。

   ```
   { }
   ```

## ステップ 2: シミュレートしたデータの破損を検証する
<a name="verify-simulated-data-corruption"></a>

1. [Amazon DynamoDB コンソール](https://console.aws.amazon.com/dynamodb/)にサインインします。

1. ナビゲーションパネルで、[**テーブル**] を選択します。

1. `serverlessrepo-fork-example` を検索して `CheckoutTable` を選択します。

1. テーブルの詳細ページで [**項目**] を選択し、作成済みの項目を選択します。

   保存済みの属性が表示されます。一部の属性は [**CORRUPTED\!**] とマークされています。

## ステップ 3: シミュレートした問題を無効にする
<a name="disable-simulated-issue"></a>

1. [AWS Lambda コンソール](https://console.aws.amazon.com/lambda/) にサインインします。

1. ナビゲーションパネルで [**関数**] を選択します。

1. `serverlessrepo-fork-example` を検索して `CheckoutFunction` を選択します。

1. [**fork-example-ecommerce-{{my-app}}-CheckoutFunction-{{ABCDEF}}...**] ページの [**環境変数**] セクションで、**BUG\_ENABLED** 変数を **false** に設定して [**保存**] を選択します。

## ステップ 4: 再生を有効にして問題から復旧する
<a name="enable-replay-recover-from-simulated-issue"></a>

1.  AWS Lambda コンソールのナビゲーションパネルで、**関数**を選択します。

1. `serverlessrepo-fork-example` を検索して `ReplayFunction` を選択します。

1. [**Designer**] セクションを展開して [**SQS**] タイルを選択し、次に [**SQS**] セクションで [**有効**] を選択します。
**注記**  
Amazon SQS のイベントソーストリガーが有効になるまで約 1 分かかります。

1. [**保存**] を選択します。

1. 復旧された属性を表示するには、Amazon DynamoDB コンソールに戻ります。

1. 再生を無効にするには、 AWS Lambda コンソールに戻り、 の Amazon SQS イベントソーストリガーを無効にします`ReplayFunction`。