Один из обязательных ключей не имеет значения - AWS

Сначала функция помощника , адаптированная из парного рецепта itertools для создания подстрок.

import itertools
def n_wise(iterable, n = 2):
    '''n = 2 -> (s0,s1), (s1,s2), (s2, s3), ...

    n = 3 -> (s0,s1, s2), (s1,s2, s3), (s2, s3, s4), ...'''
    a = itertools.tee(iterable, n)
    for x, thing in enumerate(a[1:]):
        for _ in range(x+1):
            next(thing, None)
    return zip(*a)

Затем функция выполняет итерацию по подстрокам, самая длинная во-первых, и тесты для членства. (эффективность не учитывается)

def foo(s1, s2):
    '''Finds the longest matching substring
    '''
    # the longest matching substring can only be as long as the shortest string
    #which string is shortest?
    shortest, longest = sorted([s1, s2], key = len)
    #iterate over substrings, longest substrings first
    for n in range(len(shortest)+1, 2, -1):
        for sub in n_wise(shortest, n):
            sub = ''.join(sub)
            if sub in longest:
                #return the first one found, it should be the longest
                return sub

s = "fdomainster"
t = "exdomainid"
print(foo(s,t))

>>> 
domain
>>> 

1
задан user3358326 2 March 2019 в 21:35
поделиться

1 ответ

Ваш третий кодовый блок не предоставляет значение для create_date. Это поле определено как часть ключа:

    TableName : "sample",
    KeySchema: [
        { AttributeName: "user_id", KeyType: "HASH"},
        { AttributeName: "created_date", KeyType: "RANGE"}

Вы должны предоставить оба user_id и created_date для уникальной идентификации записи.

Да, и это, вероятно, не вызывает проблемы, но это недопустимая дата, поскольку 2018 год не является високосным годом:

"created_date": "02-29-2018",

Дата хранится в виде строки, поэтому она не вызывает ошибка, но вы также можете рассмотреть вопрос о сохранении дат в более полезном формате, таком как YYYY-MM-DD, который упрощает сортировку и позволяет избежать путаницы с форматированием даты в США (например, 01-02-2019 1 февраля или 2 января?). [ 1110]

0
ответ дан Charles 2 March 2019 в 21:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: