2017-02-14 2 views
0

Я изучаю AWS API Gateway для управления api в облаке, а не через express.js. Я создал метод DELETE под кодом ресурс со следующим запросом интеграции.Удалить записи DynamoDB с AWS API

Интеграция Запрос

Integration Type: AWS Service 
AWS Region: us-east-1 
AWS Service: DynamoDB 
HTTP method: DELETE 
Action: deleteItem 
Execution role: XXXXXX 
Content Handling: Passthrough 

роль исполнения работает, потому что я могу читать/писать DynamoDB. Body Mapping Шаблон, который имеет Content-Type: application/json следующим образом:

{ 
    "TableName": "comments", 
    "Key": { 
     "commentId": { 
      "S": "$context.requestId" 
      }, 
     "pageId": { 
      "S": "$input.path('$.pageId')" 
      }, 
     "userName": { 
      "S": "$input.path('$.userName')" 
     } 
    } 
} 

, когда я пытаюсь запустить тест с тела запроса следующим образом:

{ 
    "pageId": "breaking-news-story-01-18-2016", 
    "userName": "cacevedo" 
} 

я получаю следующую информацию:

Request: /comments 
Status: 200 
Latency: 80 ms 
Response Body 

Response Body: 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html 
xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> 
<title>Page Not Found</title> </head> <body>Page Not Found</body> 
</html> 

Может кто-то помочь мне в этом, потому что я не могу удалить te item. однако кажется, что запрос интеграции работает. Мне что-то не хватает или что-то не так?

ответ

2

На всякий случай кто-то сталкивается с той же проблемой. HTTP-глагол должен быть post, а не удалить, а также с учетом регистра, а не с использованием deleteItem. использование DeleteItem

+0

Спасибо за обновление! – VDog

Смежные вопросы