DAX in front of Dynamo does not reply with ResponseMetadata

0

I have been working on an application that uses Dynamo DB. In places I need to verify the success of a query, and so have been using the response from Dynamo that includes the ResponseMetadata to determine if it was a success. I have now started putting DAX in front of these queries, but because of the lack of ResponseMetadata my existing code assumes the query failed. It's quite frustrating because DAX has to be in a VPC which means I my local uses Dynamo directly and I have to deploy new code to see what happens with DAX.

Can I configure DAX to return a response? Can I configure DAX to work locally?

Thanks!

Simon
已提問 1 年前檢視次數 289 次
1 個回答
1

Unfortunately DAX is a VPC only service, you would be unable to connect to it locally with ease. Can you share with me which ResponseMetadata you are dependent on, I can raise a feature request with the DAX team internally to expose the metadata in the response.

profile pictureAWS
專家
已回答 1 年前
  • Thanks Leeroy!

    I am checking that the HTTPStatusCode returns as 200

    If I use return_values=all_old, it does return the old values - but I don't think I can surmise that having old values means that it was deleted, nor if there is an empty all_new.

  • Creation also only allows all_old but then returns nothing because it's all new. This all seems a bit odd.

  • DAX would throw an exception if the response was a non 200, which you would catch in your try/catch. Allowing all_old is incase you overwrite an item and want to know its values, you already know the new values as thats what you are currently writing.

    In DynamoDB you will only get a 200 if the item is persisted to at least 2/3 storage nodes, which means items are always durable when you receive a 200 response.

  • Thanks Leeroy! I will bare that in mind and adjust accordingly :)

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南