2012-07-05 4 views
13

DynamoDB 테이블에서 스캔 작업을 사용하여 주어진 '태그'와 일치하는 항목을 찾으려고합니다. 항목의 태그는 단일 세트 속성에 저장됩니다. 예 :DynamoDB 'is-in-set'조건과 일치하는 필터가있는 스캔

machine-1: tags = "windows", "iis", "64bit" 
machine-2: tags = "windows", "fs"

이제 프리미엄 지원과 관련된 지원 사례가 열렸지 만 다소 시간이 걸립니다. 내가하고 싶은 일은 'tags'에 "windows"라는 항목이 들어있는 컴퓨터와 일치하는 것입니다. "iis".

CONTAINS 모드를 사용하고 문자열 값이 "windows"인 단일 AttributeValue를 지정하여 하나를 일치시킬 수 있습니다 (예 :).

그러나 CONTAINS은 단일 AttributeValue 또는 여러 AttributeValues의 집합을 지원하지 않습니다. 오류가 발생합니다.

그래서 IN (AWS 프리미엄 지원도 제안 됨)을 시도했지만, 하나의 AttributeValue ("Windows"를 다시 찾거나 여러 개를 찾더라도)를 사용하더라도 제로 결과를 얻습니다.

IN에 대한 설명서는 매우 좋지 않습니다. 작동은 4 개의 유익한 단어로 설명됩니다. 사실 "은 정확히 일치하는지 확인합니다"입니다.

Q & A의 몇 가지 라운드를 계속 진행할 때까지 기다리는 동안 Scan을 사용하여 이러한 종류의 쿼리에 익숙한 사람이 누구입니까? (당신이 테스트하시기 바랍니다 수 있다면 당신이 먼저 당신의 대답에 무슨 말을하는지! 나는 명백한 것들을 시도 생각)이 타이밍

, 스캔 문서 : http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_Scan.html

+1

프리미엄 지원에서 응답 (잘, 좋은 답변 : 지금까지는 좋지 않음)을 받았을 때 여기에 게시합니다. 오랜 시간이 걸렸지 만 지금 개발자에게 직접 연락하고 있습니다. –

답변

10

이 AWS 프리미엄 지원에서 :

"안녕하세요. 나는이 현재 지원되지 않습니다 디나모 DB에서 확인을 가지고

. 세트가 단 하나의 값으로 수행 할 수 있습니다에 포함 함."

Urgh. 이제는 각 열에 'True'또는 'False'를 사용하여 가능한 각 태그에 대해 새로운 속성을 만들고 그에 대한 검색을 필터링합니다.

+0

"할 수있는 태그가 있습니다. 창이나 태그에 iis가 포함되어 있습니다" –