我正在尝试将AWS Lambda函数连接到RDS mysql数据库.
我只是想从我的lambda函数更新数据库.是否可以通过指定IAM角色和访问策略来访问RDS?
我可以使用mysql client连接到mysql数据库.但是当我尝试使用lambda时,我无法做到这一点.这是我的代码.
console.log('Loading function');
var doc = require('dynamodb-doc');
var dynamo = new doc.DynamoDB();
var mysql = require('mysql');
exports.handler = function(event, context) {
//console.log('Received event:', JSON.stringify(event, null, 2));
var operation = event.operation;
delete event.operation;
switch (operation) {
case 'create':
var conn = mysql.createConnection({
host: 'lamdatest.********.rds.amazonaws.com', // RDS endpoint
user: 'user', // MySQL username
password: 'password', // MySQL password
database: 'rdslamda'
});
conn.connect();
console.log("connecting...");
conn.query('INSERT INTO login (name,password) VALUES("use6","password6")', function(err, info) {
console.log("insert: " + info.msg + " …Run Code Online (Sandbox Code Playgroud) 如果我想在python的列表中找到一些东西,我可以使用'in'运算符:
list = ['foo', 'bar']
'foo' in list #returns True
Run Code Online (Sandbox Code Playgroud)
但是,如果我想在嵌套列表中找到某些东西,我该怎么办?
list = [('foo', 'bar'), ('bar', 'foo')]
'foo' in list #returns False
Run Code Online (Sandbox Code Playgroud)
例如,没有for循环可以在一行中完成它吗?
谢谢!
我有一个函数,它将数据放入数据库,称为new_item():
def new_item(self, item, **optional):
Run Code Online (Sandbox Code Playgroud)
发送Web表单后,函数应检查用户输入,然后使用此函数将用户输入放入数据库(我使用Flask,函数名称为add_item()):
Market.new_item([request.form['title'],
session.get('user_id'),
request.form['category']],
{'desc': request.form['desc'],
'place': request.form['place'],
'price': request.form['price'],
'ono': ono})
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
File X, line 99, in add_item
'ono': ono})
TypeError: new_item() takes exactly 2 arguments (3 given)
Run Code Online (Sandbox Code Playgroud)
毛发调试我在调用函数之前打印此语句add_item.控制台输出是:
([u'iPhone 5', '791465667539154', u'2'],
{'price': u'99', 'place': u'Bossental', 'ono': True, 'desc': u'My brand new iPhone'})
Run Code Online (Sandbox Code Playgroud)
我真的不知道出了什么问题.我以前从未和之合作**kwargs过; 这与问题有关吗?
我用BZ2压缩器对象编写了一些代码来bz2压缩文件:
def compressFile(file_name, new_name):
comp = bz2.BZ2Compressor()
comFile = open(new_name, "wb")
oldFile = open(file_name, "rb")
while True:
data = oldFile.read(1024*1024)
if(len(data) == 0):
break
compressed = comp.compress(data)
comFile.write(compressed)
comp.flush()
comFile.close()
Run Code Online (Sandbox Code Playgroud)
我没有收到错误并且文件已创建,但是当我想用存档管理器打开它时,我得到一个非特定的错误.我找不到我的错误,这个模块记录不完整.
我在python3中为Ubuntu编写了一个脚本,该脚本应该在所有X分钟内执行,并且应该在登录后自动启动.因此我想创建一个守护进程(这是正确的解决方案吗?)但我还没有找到任何模块/ python3的示例,仅适用于python 2.X. 你知道我能用的东西吗?
谢谢,
我有一个函数,它获取一个Date并从JSON文件中读取事件.当Date置于事件的时间段内时,应将其添加到数组中,该数组应在函数末尾返回.
function getEvents(askDate) {
var askDate = new Date(askDate);
var result = new Array();
$.getJSON(EVENTS_JSON, function(data) {
$.each(data.events, function(key, entry) {
if(isInPeriod(askDate.setHours(0,0,0,0), new Date(entry.date[0]).setHours(0,0,0,0), new Date(entry.date[1]).setHours(0,0,0,0))) {
result.push(entry);
}
});
});
if(result.length === 0) {
result = false;
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
不幸的是我收到以下错误:"TypeError:result.push不是函数".
isInPeriod函数工作正常,以前我在result.push()之前有一个控制台输出,它是JSON对象.
JSON看起来像:
{
"events": [
{
"id": 1,
"name": "Example Event",
"date": [
"2014/11/25 07:30:00",
"2014/11/25 09:00:00"
],
"desc": "Lorem Ipsum sim dolor",
"image": "http://upload.wikimedia.org/wikipedia/commons/8/84/Example.svg",
"adress": "Example Road 12",
"youtube": "https://www.youtube.com/watch?v=_5DqL5-izAY",
"tags": [
"Example"
],
"categories": [ …Run Code Online (Sandbox Code Playgroud) python ×4
amazon-iam ×1
amazon-rds ×1
aws-lambda ×1
bzip2 ×1
compression ×1
daemon ×1
flask ×1
in-operator ×1
javascript ×1
jquery ×1
json ×1
kwargs ×1
nested-lists ×1
python-3.x ×1