batch_get_item을 사용하여 테이블에서 여러 항목을 요청하려고합니다. DynamoDB 설명서에서 PHP 예제를 따르고 있지만 기대하는 결과를 얻지 못하고 있습니다. DyanmoDB : 응답을 얻지 못했습니다. batch_get_item을 사용하려고합니다.
다음
코드입니다 : 이$batch_array = array();
$batch_array[]= array ('HashKeyElement' =>
array(AmazonDynamoDB::TYPE_STRING => 'V1L3M5O5L1W8R5B6D2Q1S8V0B3R8M7A6R0X0'));
$options = array (
'RequestItems' => array(
'profile_dev' => array (
'Keys' => $batch_array
)
)
);
$result = $this->db->batch_get_item($options);
대신 데이터를 받고, 나는 매우 긴 반응을 얻고있다, 나는 그것의 꼬리 끝에서 관련 정보를 포함하고 있습니다 :
[x-aws-body] => {"RequestItems":{"profile_dev":{"Keys":[{"HashKeyElement":{"S":"V1L3M5O5L1W8R5B6D2Q1S8V0B3R8M7A6R0X0"}}]}}}) [body] => CFSimpleXML Object ([__type] => com.amazon.coral.validate#ValidationException [message] => One or more parameter values were invalid: The provided key size does not match with that of the schema) [status] => 400))
을
이 테이블의 hashKey는 문자열입니다. rangeKey가 있지만 hashKey와 일치하는 모든 행을 얻을 수 있도록 hashKey를 사용하고 있습니다. 내가 뭘 놓치고 있니?
예, 그들이 어떤 점에서 끔찍한 문서를 가지고 : 여기 YourTable '
참조 테이블에 해시 키'YourHashKey '모든 항목을 얻을 수있는 PHP SDK를 사용하는 예입니다. getItem API 문서는 해시 범위를 사용하여 항목을 가져와야한다는 것을 나타냅니다. 나는이 우연한 제약 조건 하에서 주어진 이런 종류의 키들에 대한 좋은 유스 케이스를 아직 모르고있다. –
@DavidPelaez 단일 항목을 얻으려면 두 항목을 모두 제공해야하지만 항목 집합을 가져 오려면 먼저 항목을 쿼리하고 두 번째 항목을 기반으로 정렬 된 모든 항목을 가져올 수 있습니다. –