是否可以通过aws-sdk重命名s3上的对象?我找不到方法,也许有一个临时解决方案......
我使用无服务器创建了一个lambda函数.此函数在GET请求上通过API网关触发,并应从缓冲区返回pdf文件.我正在使用html-pdf创建缓冲区并尝试使用以下命令返回pdf文件
let response = {
statusCode: 200,
headers: {'Content-type' : 'application/pdf'},
body: buffer.toString('base64'),
isBase64Encoded : true,
};
return callback(null, response);
Run Code Online (Sandbox Code Playgroud)
但浏览器只是无法加载pdf,所以我不确切知道如何将pdf文件直接返回到浏览器.无法找到解决方案.
lambda amazon-web-services node.js aws-api-gateway serverless-framework
我正在为我的应用程序在亚马逊上部署服务器.因此我决定使用EC2 ubunutu 14.04 64位t2.micro实例(免费).我想在测试我的应用程序之后扩展硬件.我的目标是建立一个准备在我想要的时候扩展的服务器系统.因此系统设计如下所示:
VPC (default)
___________________________________________
| |
WWW <-----|----> NGINX <----> EXPRESS <------> NEO4J |
|___________________________________________|
Run Code Online (Sandbox Code Playgroud)
后来我希望能够将它扩展到这样:
VPC (default)
_________________________________________________
| |
| –– EXPRESS -- -- NEO4J |
| | | | |
WWW <-----|----> NGINX -- -- EXPRESS -- -- ELB -- -- NEO4J |
| | | |
| -- EXPRESS -- |
|_________________________________________________|
Run Code Online (Sandbox Code Playgroud)
但就目前而言,我有第一个系统设计设置.我创建了3个Ubuntu实例.第一个是使用nginx进行设置,以实现反向代理,gzip压缩和负载平衡.可以通过端口80上的http访问 nginx实例.该快递实例包含我的节点/ JavaScript的在服务器上运行的代码3000端口.最后一个实例是以NEO4J作为我的NOSQL DB运行的.问题现在是,我不能让实例在我的默认VPC中相互通信.或者更确切地说,我首先希望nginx服务器(端口80)与我的快速服务器(端口3000)进行通信,这些服务器位于不同的t2.micro实例上,就像我上面展示的第一个设计一样.
我在sites-available目录中创建了一个名为"express"的nginx配置文件,并在启用了站点的目录中创建了一个符号链接,引用了"express"配置文件.
在nginx的快递配置 …
我正在尝试将我的本地nginx服务器部署到公众.nginx服务器作为我的node express应用程序的反向代理运行,该应用程序也在端口3000上本地运行.因此我从/ etc/nginx/sites-available/express TO/etc/nginx/sites-enabled/express创建了一个符号链接,所以我的配置文件名为express,看起来像这样.
/ etc/nginx/sites-enabled/express
upstream express_servers{
server 127.0.0.1:3000;
}
server {
listen 80;
location / {
proxy_pass http://express_servers;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Run Code Online (Sandbox Code Playgroud)
我已从已启用站点的文件夹中删除了默认文件,但我没有更改我的nginx.conf文件,如下所示
/ etc/nginx/nginx.conf
user www-data;
worker_processes auto;
pid /run/nginx.pid;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout …
Run Code Online (Sandbox Code Playgroud) 在我当前的快速应用程序中,我想使用 mongodb 多文档事务的新功能。
首先重要的是指出我如何连接和处理模型
我的 app.js(服务器)首先使用 db.connect() 连接到数据库。
我需要 db.index 文件中的所有模型。由于模型将使用相同的猫鼬参考启动,因此我假设未来不同路线中模型的需求指向已连接且相同的连接。如果我对这些假设中的任何一个有错误,请纠正我。
我将连接引用保存在状态对象中,并在以后的事务需要时返回它
./db/index.ts
const fs = require('fs');
const path = require('path');
const mongoose = require('mongoose');
const state = {
connection = null,
}
// require all models
const modelFiles = fs.readdirSync(path.join(__dirname, 'models'));
modelFiles
.filter(fn => fn.endsWith('.js') && fn !== 'index.js')
.forEach(fn => require(path.join(__dirname, 'models', fn)));
const connect = async () => {
state.connection = await mongoose.connect(.....);
return;
}
const get = () => state.connection;
module.exports = {
connect,
get,
} …
Run Code Online (Sandbox Code Playgroud) 我创建了一个 node express 应用程序,它使用multer将图像上传到我的“assets-in”s3 存储桶。图像上传到 s3 后,图像处理 lambda 函数会获取图像并将其调整为另一个 s3 存储桶。
上传脚本:
var assetsBucketIn = new AWS.S3({
accessKeyId : "...",
secretAccessKey : "...",
region : "...",
params : {
Bucket : "..."
}
});
var uploadAssets = multer({inMemory : true});
var imgFieldSettings = [
{
name : 'uploadFiles',
maxCount : 7
}
];
router.post('/images', uploadAssets.fields(imgFieldSettings), (req, res, next) => {
...
uploadPromises = [];
for(let i = 0; i < req.files.uploadFiles.length; i++){
let params = {
Key : …
Run Code Online (Sandbox Code Playgroud) 我在我的Windows Server 2008 R2上安装了xampp.我正在那里运行一个脚本,可以在一天内存储数据.现在我想通过mysql_connect("hostname","username","pw")连接数据库,从我自己的计算机或外部检索数据.经过一些研究,我得知我必须赞扬
> [...]
> #bind-address = 127.0.0.1
> #skip-networking
[...]
Run Code Online (Sandbox Code Playgroud)
在/etc/mysql/my.cnf中
没有在mysql中找到my.cf文件,但在xampp/mysql/bin/my.ini中找到了一个.但当我打开文件时,我发现线条甚至评论,所以没有改变任何东西.....奇怪.
然后我被告知创建一个主机设置为%的新用户.所以我做了.现在我试图访问我的电脑上的数据库(xampp),但当我想连接数据库时,我只是得到错误消息,连接失败.哪里出错了?
谢谢
编辑:
多数民众赞成如何完全连接
$connection=mysql_connect("hostname","usrname","password")or die(mysql_error());
mysql_select_db("dbname")or die(mysql_error());
Run Code Online (Sandbox Code Playgroud)
我得到的错误信息是德语你可以trabslate.
警告:mysql_connect():Ein Verbindungsversuch ist fehlgeschlagen,da die Gegenstelle nach einer bestimmten Zeitspanne nicht richtig reagiert hat,oder die hergestellte Verbindung war fehlerhaft,da der verbundene Host nicht reagiert hat.在第4行的C:\ xampp\htdocs\tickerdata\get.php中
只是意味着连接失败,因为远程没有在某个时间段内做出反应或者连接错误,因为主机没有做出反应......
目前我正在尝试执行以下操作:
const ItemSchema = mongoose.Schema({
...
name : String
...
});
ItemSchema.pre('save', async function() {
try{
let count = await ItemSchema.find({name : item.name}).count().exec();
....
return Promise.resolve();
}catch(err){
return Promise.reject(err)
}
});
module.exports = mongoose.model('Item', ItemSchema);
Run Code Online (Sandbox Code Playgroud)
但我只是收到以下错误:
类型错误:ItemSchema.find 不是函数
如何在我的 post('save') 中间件中调用 .find() 方法?(我知道,Schmemas 上有一个独特的属性。如果名称字符串已经存在,我必须以这种方式对其进行后缀)
猫鼬版本:5.1.3 nodejs 版本:8.1.1 系统:ubuntu 16.04
我想执行一个循环,在div
没有重载的情况下写入字符串.我已经在全球得到了名称的列表array
叫做names
.在array
充满了大约2500名.现在我想在一个div
使用中写下名字ajax
.但是,当我想循环名称时,脚本有点过载,并在客户端发出警报时停止.这是我的循环:
for(var i = 0; i < names.length; i++){
document.getElementById('div').innerHTML += names[i] + "<br/>";
}
Run Code Online (Sandbox Code Playgroud)
我也尝试在像100这样的较小步骤中交织循环(因为我认为循环不会超载).我也尝试使用window.setTimeout("function(i)",0);
param i,每次调用函数时都会执行100步,直到我在length
数组中names
.
我知道有一个简单的方法.但我找不到那样的方式.....会很高兴获得帮助.
谢谢
我正在构建一个离子2 rc0应用程序.我的rootPage取决于在启动App之前必须加载的一些配置.我在应用程序上使用了一个名为Config的提供程序.在构建主页组件之前,如何延迟/等待加载配置.我需要Home的构造函数中的配置.是吗?像离子的预加载模块那样的情况?
那甚至是那样的任务的最佳位置吗?
我的配置模块使用
http.get(../assets/config/config.json)
.toPromise()
.then(res => this.data = res);
将json文件本地加载到我的Config提供程序的数据对象中.我在app.component.ts中的代码激活一个函数config.loadDefault()来从应用程序的config.json文件加载这些默认设置.....
app.components.ts
import { Component } from '@angular/core';
import { Platform } from 'ionic-angular';
import { StatusBar } from 'ionic-native';
import { Home } from '../pages/home/home';
import { Config } from '../providers/config/config';
@Component({
template: `<ion-nav [root]="rootPage"></ion-nav>`
})
export class LoddenApp {
public rootPage = Home;
constructor(
public platform : Platform,
public config : Config
){
// loading config
config.loadDefault()
.then(data => …
Run Code Online (Sandbox Code Playgroud) 自 2016 年 3 月以来,javascript/nodejs 的 aws sdk 确实在 AWS.Request链接上提供了 .promise() 方法。
现在我正在 AWS.DynamoDB.DocumentClient(...).get() 方法(它返回一个 AWS.Request 对象)上运行一些单元测试,之后我也调用 .promise() 方法来接收一个 Promise。
现在,当我存根 .get() 方法时,我已经返回了一个 Promise,所以我希望 .promise() 方法只返回我现有的 Promise(通过“返回这个”)。
我的代码就像
var docClient = AWS.DynamoDB.DocumentClient(...)
docClient.get(...).promise().then(...)
Run Code Online (Sandbox Code Playgroud)
和我的测试文件
var docClient = AWS.DynamoDB.DocumentClient(...)
var batchGetStub = sinon.stub(docClient, 'get').callsFake(function(){return Promise.resolve({id:1337})});
// now I need to also stub the .promise() method
var promiseStub = sinon.stub(docClient.get, 'promise').callsFake(functions(){return this}); // just return the promise back
Run Code Online (Sandbox Code Playgroud)
这似乎不起作用,我返回以下错误
类型错误:不能存根不存在的自己的财产承诺
我想我不知何故需要在我的假函数上声明一个 .promise 方法。
我试过这个:
this.protoype.promise = function(this){return this};
在我的假函数中,但这会抛出
类型错误:无法设置未定义的属性“承诺”
在我的台式机上安装了Windows 8并重新安装了aptana和xampp后,我无法使用!feof($ handle).我想得到存储在我的$ symb arra中的纳斯达克的符号.这是一个例子和我的错误:
$symb = array();
$url = "http://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nasdaq&render=download";
$handle = fopen("$url","r");
while( !feof($handle) ){
$line = fgetcsv($handle, 1024);
if($line!="Symbol" && isset($line[0]) && $line[0] != null ){
$symb[] = trim($line[0]);
}
fclose($handle);
}
Run Code Online (Sandbox Code Playgroud)
而我的错误:
警告:feof():3不是第61行的C:\ xampp\htdocs\demos\screener\candleScreener.php中的有效流资源
警告:fgetcsv():3不是第62行的C:\ xampp\htdocs\demos\screener\candleScreener.php中的有效流资源
警告:fclose():3不是第66行的C:\ xampp\htdocs\demos\screener\candleScreener.php中的有效流资源.......
是否有一个设置我必须在php.ini文件上更改或它可能是什么?谢谢.
.....
$url = "http://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nasdaq&render=download";
$handle = fopen("$url","r");
$txt = fread( $handle, 8 );
print_r($txt);
.....
Run Code Online (Sandbox Code Playgroud)
打印出:"符号"
所以我的fopen()很好......
express ×4
node.js ×4
aws-sdk ×2
mongoose ×2
nginx ×2
php ×2
amazon-ec2 ×1
amazon-s3 ×1
aws-lambda ×1
html ×1
ionic2 ×1
javascript ×1
lambda ×1
mongodb ×1
mysql ×1
sinon ×1
transactions ×1
ubuntu-16.04 ×1
ufw ×1