Problemy z skanowaniem dynamodb do pracy z boto

Używam boto, aby uzyskać dostęp do stołu dynamodb. Wszystko szło dobrze, dopóki nie próbowałem wykonać operacji skanowania.

Próbowałem kilku składni, które znalazłem po wielokrotnych poszukiwaniach Internetu, ale nie mam szczęścia:

def scanAssets(self, asset):
    results = self.table.scan({('asset', 'EQ', asset)})
         -or-
    results = self.table.scan(scan_filter={'asset':boto.dynamodb.condition.EQ(asset)})

Atrybut, który skanuję, nazywa się „zasób”, a zasób to ciąg.

Dziwne jest to, że wywołanie table.scan zawsze przechodzi przez tę funkcję:

def dynamize_scan_filter(self, scan_filter):
    """
    Convert a layer2 scan_filter parameter into the
    structure required by Layer1.
    """
    d = None
    if scan_filter:
        d = {}
        for attr_name in scan_filter:
            condition = scan_filter[attr_name]
            d[attr_name] = condition.to_dict()
    return d

Nie jestem ekspertem od pytonów, ale nie wiem, jak to działa. To znaczy. jaki rodzaj struktury musi mieć scan_filter, aby przejść przez ten kod?

Ponownie, może po prostu nazywam to źle. Jakieś sugestie?

questionAnswers(2)

yourAnswerToTheQuestion