Как заменить переменные для запроса атрибутов DynamoDB?

Не полностью уверен, что это BUG (протестированный Firefox 32.0.3 и Chrome 38.0.2125.101), но следующий код не будет работать в Бразилии (-3 GMT):

Date.prototype.shiftDays = function(days){    
  days = parseInt(days, 10);
  this.setDate(this.getDate() + days);
  return this;
}

$date = new Date(2014, 9, 16,0,1,1);
$date.shiftDays(1);
console.log($date+"");
$date.shiftDays(1);
console.log($date+"");
$date.shiftDays(1);
console.log($date+"");
$date.shiftDays(1);
console.log($date+"");

Результат:

Fri Oct 17 2014 00:01:01 GMT-0300
Sat Oct 18 2014 00:01:01 GMT-0300
Sat Oct 18 2014 23:01:01 GMT-0300
Sun Oct 19 2014 23:01:01 GMT-0200

Добавление одного часа к дате сделает работу безупречной (но не решает проблему).

$date = new Date(2014, 9, 16,0,1,1);

Результат:

Fri Oct 17 2014 01:01:01 GMT-0300
Sat Oct 18 2014 01:01:01 GMT-0300
Sun Oct 19 2014 01:01:01 GMT-0200
Mon Oct 20 2014 01:01:01 GMT-0200
2
задан John Rotenstein 5 March 2019 в 02:49
поделиться

2 ответа

Скажите, если вы хотите получить из таблицы только attr1 и attr2, используя pets-index, где ключ разделения pet_type равен cats, это должно работать:

response = table.query(
    IndexName='pets-index',
    KeyConditionExpression='pet_type = :value',
    ExpressionAttributeValues={
        ':value': {'S': 'cats'}
    },
    ProjectionExpression='attr1,attr2'
)
0
ответ дан Milan Cermak 5 March 2019 в 02:49
поделиться

Из-за некоторых дополнительных затруднений с синтаксисом Python я обнаружил, что это работает:

ProjectionExpression=attr1+","+attr2

ProjectionExpression = 'attr, attr2' не оценивался правильно, поэтому я получил KeyError, когда попытался создать ответ, как:

'body': response['Items'][0][attr1]+"|"+response['Items'][0][attr2]

Надеюсь, что это спасет некоторых других новичков Python некоторые колебания.

0
ответ дан JAW 5 March 2019 в 02:49
поделиться
Другие вопросы по тегам:

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