2012-07-04 2 views
2

아마존 DynamoDB의 우리가 DynamoDB의 휴식 API를 사용하여 헤더를 보내야 필요한 헤더입니다

'x-amz-date': 'Mon, 16 Jan 2012 17:50:52 GMT', 
'x-amzn-authorization': 'AWS3 AWSAccessKeyId=TemporaryAccessKeyID,Algorithm=HmacSHA256,SignedHeaders=Host;x-amz-date;x-amz-target;x-amz-security-token,Signature=*Signature Value*=', 
'Date': 'Mon, 31 Oct 2011 17:49:52 GMT', 
'x-amz-target': 'DynamoDB_20111205.GetItem', 
'x-amz-security-token': '*Token Value*', 
'Content-Type': 'application/x-amz-json-1.0', 
'Content-Length': '135', 
'Connection': 'Keep-Alive', 
'User-Agent': 'aws-sdk-java/1.2.10 Windows_7/6.1 Java_HotSpot(TM)_64-Bit_Server_VM/20.2-b06', 
} 

내가 알 수있는 우리가 발전기에 대한 HTTP 나머지 API를 통과하는 데 필요한 모든 필수 매개 변수는 ... dynamodb 데이터베이스에서 데이터를 가져와야합니까 ??? 아무도 필요한 헤더가 무엇인지 제안 할 수 있습니까? link

답변

1

질문이 있기 때문에 아직 답변을 드리지 않기를 바랍니다. :-)

어떤 HTTP 헤더 필드가 필요한지 확인하는 가장 좋은 방법 중 하나는 AWS SDK를 사용하는 것입니다. 이 방법은 AWS에서 권장합니다. (예를 들어, com.amazonaws)

  1. 는 AWS의 패키지에 대한 디버그 로그 사용 및 옵션 아파치 HTTP 클라이언트 (예를 들어, org.apache.http는) 볼 : 당신은 할 수있다 (AN @AWS 사람에 의해 포럼 게시물에 따르면). log4j를 구성하는 간단한 방법. 개인적으로, 내가 SLF4J 대비 JCL을 사용하고 logback.xml
  2. DynamoDB의를 요청하는 간단한 프로그램을 작성, 구성, 결과가 정확한지 확인하고, ListTables에, 로그 예를 들어

보고 요청은 다음과 같은 헤더가 사용됩니다

  • 콘텐츠 길이
  • 콘텐츠 형식
  • 호스트
  • 사용자 에이전트
  • X-AMZ-날짜 HTTP 헤더는 대문자되어야한다고
  • X-AMZ-대상

알 수 있습니다. 로그에는 소문자로 변환 된 서명도 표시됩니다. "Content-Length"및 "User-Agent"는 선택 사항이며 다른 필드는 필수 항목입니다. "Content-Type"은 "x-amz-json-1.0"이 마음에 들지 않으면 "application/json"이 될 수 있습니다.

우리 자신의 REST 클라이언트를 구현하는 데있어 두 가지 까다로운 부분이 있는데, 하나는 서명을 올바르게하고 다른 하나는 헤더를 올바르게 만드는 것입니다. 서명 부분의 경우 AWS는 서명 구현을 검증 할 수있는 테스트 스위트를 제공합니다.

관련 문제