我使用静态网站托管选项在Amazon S3上托管一个静态网站,这样S3将呈现一个文件夹,而不会让我明确指向我的index.html文件.
例如,这里是我的S3桶中页面的直接链接:http://new.rdegges.com.s3-website-us-east-1.amazonaws.com/category/2009/正如您所看到的,当当您访问该URL时,Amazon S3会自动在该目录中呈现index.html文件,从而允许我拥有干净的URL.
这一切都适用于S3.我遇到的问题是让Amazon Cloudfront正确处理这种行为.当我创建一个将我的S3存储桶指定为源的Cloudfront Distribution,并告诉它使用'index.html'作为根时,S3刚刚停止工作的index.html行为.
例如,这里是我在Cloudfront上的相同URL:http://d1mj00c6pby3gc.cloudfront.net/category/2009/
不幸的是,上面的URL不起作用,但如果我手动指定索引文件,它会,例如:http://d1mj00c6pby3gc.cloudfront.net/category/2009/index.html
我的问题是:我如何配置Cloudfront以使其尊重我网站的S3存储桶设置?
我花了很长时间在互联网上寻找使用jsdoc正确记录回调的最佳方法,但遗憾的是,我还没有找到一个好的.
这是我的问题:
我正在为开发人员编写Node.js库.该库提供了开发人员将使用的多个类,函数和方法.
为了使我的代码清晰易懂,以及(希望)将来自动生成一些API文档,我已经开始在我的代码中使用jsdoc来自我记录正在发生的事情.
假设我定义了如下函数:
function addStuff(x, y, callback) {
callback(x+y);
});
Run Code Online (Sandbox Code Playgroud)
使用jsdoc,我目前正在记录此函数,如下所示:
/**
* Add two numbers together, then pass the results to a callback function.
*
* @function addStuff
* @param {int} x - An integer.
* @param {int} y - An integer.
* @param {function} callback - A callback to run whose signature is (sum), where
* sum is an integer.
*/
function addStuff(x, y, callback) {
callback(x+y);
});
Run Code Online (Sandbox Code Playgroud)
我觉得上面的解决方案有点像hack-ish,因为我无法用绝对术语来指定回调函数应该接受什么.
理想情况下,我想做的事情如下:
/**
* Add two …Run Code Online (Sandbox Code Playgroud) 我目前正在Go中编写一些与REST API交互的软件.我正在尝试查询的REST API端点返回HTTP 302重定向以及指向资源URI的HTTP Location标头.
我正在尝试使用Go脚本来获取HTTP Location标头以供以后处理.
以下是我目前正在实现的功能:
package main
import (
"errors"
"fmt"
"io/ioutil"
"net/http"
)
var BASE_URL = "https://api.stormpath.com/v1"
var STORMPATH_API_KEY_ID = "xxx"
var STORMPATH_API_KEY_SECRET = "xxx"
func noRedirect(req *http.Request, via []*http.Request) error {
return errors.New("Don't redirect!")
}
func main() {
client := &http.Client{
CheckRedirect: noRedirect
}
req, err := http.NewRequest("GET", BASE_URL+"/tenants/current", nil)
req.SetBasicAuth(STORMPATH_API_KEY_ID, STORMPATH_API_KEY_SECRET)
resp, err := client.Do(req)
// If we get here, it means one of two things: either this http request
// actually failed, or …Run Code Online (Sandbox Code Playgroud) 我正在编写一个Node.js lambda函数,我想在其中记录传入请求者的公共IP地址.我一整天都在查看API网关和Lambda文档,但还没有找到解决方案.
lambda event对象是否包含我可以用来提取用户IP的请求元数据?
我刚刚在Amazon S3上部署了一个静态网站,目前可以在这里查看:http://www.rdegges.com.s3-website-us-east-1.amazonaws.com/
如果单击任何文章链接,您会注意到以下错误:
S3抱怨该文件不存在.现在,这就是奇怪的 - 我在我的域名上使用CloudFront.因此,当您单击该文章链接时,它会将请求发送到CloudFront,然后CloudFront尝试从S3存储桶中取回文件.
但是,如果您直接从S3访问相同的URL,例如:http://www.rdegges.com.s3-website-us-east-1.amazonaws.com/2015/building-a-heroku-addon-planning/页面加载就好了.
看来这里有些东西在翻译中迷失了.
有人建议我可以做些什么来修复我的设置?
我有一个简单的用户模型,定义如下:
# models.py
from datetime import datetime
from myapp import db
class User(db.Model):
id = db.Column(db.Integer(), primary_key=True)
email = db.Column(db.String(100), unique=True)
password = db.Column(db.String(100))
date_updated = db.Column(db.DateTime())
def __init__(self, email, password, date_updated=None):
self.email = email
self.password = password
self.date_updated = datetime.utcnow()
Run Code Online (Sandbox Code Playgroud)
当我创建一个新的User对象时,我的date_updated字段被设置为当前时间.我想做的是这样做,每当我保存对User对象的更改时,我的date_updated字段将自动设置为当前时间.
我已经搜索了文档,但对于我的生活,我似乎无法找到任何参考.我对SQLAlchemy很新,所以我真的没有任何经验可以借鉴.
会喜欢一些反馈,谢谢.
我正在寻找创建新SQLAlchemy对象的最快方法,只有在数据库中不存在它时.
我现在这样做的方法是首先获取查询的计数以查看它是否存在,如果不存在 - 然后我创建它.例如:
if not User.query.filter(email=user.email).count():
db.session.add(user)
db.session.commit()
Run Code Online (Sandbox Code Playgroud)
这是最好的方法吗?会喜欢一些反馈.谢谢!
我正在开发一个网络应用程序,要求用户将一次性存款存入他们的帐户,或者允许用户每月注册一次定期计费以获得一定的金额.
我一直在寻找各种支付网关,但大多数(如果不是全部)它们看起来很复杂,很难开始工作.我也看不到真正的activeDjango项目提供简单的付款方式.
理想情况下,我想使用像亚马逊FPS这样的东西,以便我可以看到在线交易日志,退款等等,但我对其他事情持开放态度.
我只想让EASIEST可能的支付网关与我的网站集成.我不是在寻找任何花哨的东西,无论工作如何,并且从头到尾需要<10小时才能完成工作.
我会给那些能指出一个好的人的答案.谢谢!
编辑:这是仅接受在美国的付款.我不需要国际支付网关.它只需要支持美国英语.
很抱歉这个长标题,但它似乎对我的问题最具描述性.
基本上,我很难在官方python文档中找到异常信息.例如,在我正在编写的一个程序中,我正在使用shutil libary的move函数:
from shutil import move
move('somefile.txt', '/tmp/somefile.txt')
Run Code Online (Sandbox Code Playgroud)
这工作正常,只要我有/ tmp /的写访问权限,就有足够的磁盘空间,并且满足所有其他要求.
但是,在编写通用代码时,通常很难保证这些因素,因此通常使用异常:
from shutil import move
try:
move('somefile.txt', '/tmp/somefile.txt')
except:
print 'Move failed for some reason.'
Run Code Online (Sandbox Code Playgroud)
我想实际捕获适当的异常抛出而不是只捕获所有内容,但我根本找不到大多数python模块抛出的异常列表.有没有办法让我看看给定函数可以抛出哪些异常,为什么?这样我可以为每个例外做出适当的案例,例如:
from shutil import move
try:
move('somefile.txt', '/tmp/somefile.txt')
except PermissionDenied:
print 'No permission.'
except DestinationDoesNotExist:
print "/tmp/ doesn't exist"
except NoDiskSpace:
print 'No diskspace available.'
Run Code Online (Sandbox Code Playgroud)
答案要点是谁可以将我链接到一些我在官方文档中忽略的相关文档,或者提供一种确定的方法来确定哪些函数抛出了哪些异常,以及为什么.
谢谢!
更新:从给出的答案看来,确实没有100%直接的方法来确定特定功能抛出哪些错误.使用元编程,似乎我可以找出简单的情况并列出一些例外,但这不是一个特别有用或方便的方法.
我想最终会有一些标准来定义每个python函数引发的异常,并且这些信息将包含在官方文档中.在那之前,我想我会允许这些异常通过并为我的用户输出错误,因为这似乎是最理智的事情.
我目前正在构建一个环回应用程序,它只有一个名为的模型Phone.这是我的common/models/phone.js代码:
module.exports = function(Phone) {
// Return a random phone's data.
Phone.random = function(callback) {
return callback(null, {
id: '12345',
number: '+18182179222',
name: 'Randall Degges'
});
};
Phone.remoteMethod('random', {
description: 'Return a random phone.',
accepts: [],
returns: [
//{ type: 'object', root: true, description: 'return value' },
{ arg: 'id', type: 'string', description: 'phone id', required: true, root: true },
{ arg: 'number', type: 'string', description: 'phone number', required: true, root: true },
{ arg: 'name', …Run Code Online (Sandbox Code Playgroud) node.js ×3
python ×3
amazon-s3 ×2
database ×2
postgresql ×2
sqlalchemy ×2
autodoc ×1
aws-lambda ×1
django ×1
exception ×1
flask ×1
go ×1
http ×1
javascript ×1
jsdoc ×1
jsdoc3 ×1
loopbackjs ×1
redirect ×1
rest ×1