Используя встроенную функцию списка, вы можете сделать это
a
out:[[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]
#Displaying the list
a.remove(a[0])
out:[[1, 1, 1, 1], [1, 1, 1, 1]]
# Removed the first element of the list in which you want altered number
a.append([5,1,1,1])
out:[[1, 1, 1, 1], [1, 1, 1, 1], [5, 1, 1, 1]]
# append the element in the list but the appended element as you can see is appended in last but you want that in starting
a.reverse()
out:[[5, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]
#So at last reverse the whole list to get the desired list
Вам не нужно указывать типы, если вы используете API DocumentClient вместо API DynamoDB.
DocumentClient - это API, который абстрагирует типы при манипулировании элементами в DynamoDB, что упрощает чтение и запись элементов из него.
Предполагая, что в какой-то момент вы вызываете DynamoDB.putItem(params)
, вам нужно заменить его API-интерфейсом DocumentClient и использовать вместо него метод put
.
Ваш код будет таким простым:
const AWS = require('aws-sdk');
const docClient = new AWS.DynamoDB.DocumentClient();
exports.handler = async (event) => {
await docClient.put({
Item: {
date: Date.now(),
message: JSON.parse(event.body),
ID: 'some-random-id-you-choose',
a: { "id": "123456", "data": [{ "mac": "1231" }] }
},
TableName: 'wifi'
}).promise()
}
. Посмотрите, что я использую async / await , поэтому вам не нужно использовать ни обратный вызов Lambda, ни обратный вызов DynamoDB больше.
Все операции API для DocumentClient доступны в официальных документах
.Несмотря на то, что DynamoDB является хранилищем документов без схемы, требуется, чтобы вы объявили тип данных, которые хранятся в полях элемента.
Ваш код должен выглядеть следующим образом:
const aws = require('aws-sdk');
const ddb = new aws.DynamoDB();
const Item = {
date: {N: Date.now()},
message: {S: event.body},
ID: {S: inputttt},
a: {M: {
"id":{S: "123456"},
"data":{L: [ {M: {"mac":{S: "1231"}}} ]}
}}
};
const TableName = 'wifi';
ddb.putItem({Item, TableName}, (err, data) => { ... })
В приведенном выше коде каждое свойство Item
является объектом, отображающим тип в значение. Например, date - это числовой тип с {N: Date.now}
; a
- это объект или карта с {M: {"id" ... }}
, а id
- строка с {S: '123456'}
.
Код выше делает некоторые предположения о типах. Вы должны убедиться, что выбранные мной типы соответствуют вашим данным. (Например, предполагается, что event.body
и inputttt
являются строками.)