我的应用程序控制器中有以下内容:
def is_number?(object)
true if Float(object) rescue false
end
Run Code Online (Sandbox Code Playgroud)
以及我的控制器中的以下条件:
if mystring.is_number?
end
Run Code Online (Sandbox Code Playgroud)
条件是抛出undefined method错误.我猜我is_number在错误的地方定义了......?
我有一个标准的Rails3环境,RVM 1.2.9,Rails 3.0.5,Ruby 1.9.2p180,MySQL2 Gem 0.2.7,mysql-5.5.10-osx10.6-x86_64
运行rake db:migrate创建数据库时遇到的错误是:
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Run Code Online (Sandbox Code Playgroud)
config/database.yml有
development:
adapter: mysql2
host: localhost
username: root
password: xxxx
database: xxxx
Run Code Online (Sandbox Code Playgroud)
确定这是我想念的简单事.
我正在尝试使用Spoon附带的JDBC驱动程序将勺子连接到Heroku PostgreSQL实例.Heroku需要SSL,因为它是独立的PostgreSQL实例,我已启用它.
我可以使用其他使用SSL的客户端软件连接到数据库,因此这似乎特定于Java/JDBC.我不太了解Java对此进行故障排除所以希望有人在此之前已经有过这样的事情.
我得到以下和相当详细的错误消息提到SSLHandshakeException,但我不确定这是否是其他原因或症状?也许我需要在Java中指定SSL证书?
Error connecting to database [XXXX.com] : org.pentaho.di.core.exception.KettleDatabaseException:
Error occured while trying to connect to the database
Error connecting to database: (using class org.postgresql.Driver)
The connection attempt failed.
org.pentaho.di.core.exception.KettleDatabaseException:
Error occured while trying to connect to the database
Error connecting to database: (using class org.postgresql.Driver)
The connection attempt failed.
at org.pentaho.di.core.database.Database.normalConnect(Database.java:374)
at org.pentaho.di.core.database.Database.connect(Database.java:323)
at org.pentaho.di.core.database.Database.connect(Database.java:285)
at org.pentaho.di.core.database.Database.connect(Database.java:275)
at org.pentaho.di.core.database.DatabaseFactory.getConnectionTestReport(DatabaseFactory.java:76)
at org.pentaho.di.core.database.DatabaseMeta.testConnection(DatabaseMeta.java:2455)
at org.pentaho.ui.database.event.DataHandler.testDatabaseConnection(DataHandler.java:511)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.pentaho.ui.xul.impl.AbstractXulDomContainer.invoke(AbstractXulDomContainer.java:329) …Run Code Online (Sandbox Code Playgroud) 在https://support.cloud.engineyard.com/entries/21715452-use-elastic-load-balancing-with-engine-yard-cloud上关注 Engine Yard文档
得到了这个设置并且似乎运行良好,允许我们在ELB上使用SSL Terminated而不是服务器.从理论上讲,这应该允许我们在单一环境中使用多个SSL证书.
此设置意味着浏览器和ELB负载平衡器之间的流量是SSL,但是从ELB到应用程序服务器的转发流量将被解密.这导致我们的rails 3.2.8应用程序强制SSL出现问题 - 它将每个解密的请求重定向回其https等效项,后者再次从负载均衡器向应用程序服务器发送解密请求,从而导致无限循环条件.
如果我们在我们的应用程序中禁用强制SSL,我们需要测试每个请求以查看它是否来自SSL连接,如果它确实我们可以响应,如果没有,则重定向它.
根据此发行说明(http://aws.amazon.com/releasenotes/7778622769836370),当从https连接传递流量时,ELB将传递包含"https"的X-Forwarded-Proto标头.
首先,在Engine Yard的请求中没有名为"X-Forwarded-Proto"的标题."HTTP_X-FORWARDED_PROTO"确实存在,但即使通过SSL将流量发送到ELB,它也始终包含"http".
任何人都可以提供任何洞察力或解决方法的想法吗?到目前为止,我已经尝试了没有太多运气的安永支持.
ssl ruby-on-rails amazon-web-services http-headers engineyard
我需要我的应用程序才能访问基于单个静态IP地址限制访问的第三方API.
由于Heroku dynos和路由网格的动态特性,这是不可能的 - 我需要一些具有固定IP地址的东西作为代理.
一个美国东部EC2 Linux/Nginx实例似乎是明智的选择,但这些似乎是很多工作/维护的东西非常微不足道.有谁知道那里的任何服务吗?
我正在使用Amazon Kinesis Data Generator将数据发送到测试 Kinesis Firehose Stream,以便在 Elasticsearch Service 集群中建立索引。
数据生成器发送一个相当基本的 json 文档进行处理,流元素工作正常,Lambda 转换也是如此。到目前为止,我已经验证并能够测试所有内容。仅当向我的 VPC 内的 Elasticsearch 发出请求时,我才会收到错误。
如果我将管道切换为使用公共 Elasticsearch 域,则效果很好,但当我在 VPC 内使用 Elasticsearch 域时,会收到503 错误。这是每个请求的一致错误,因此不是容量问题。
这是我看到的错误的示例。只是一个通用的 503。我不确定这是否来自负载均衡器或目标(Elasticsearch 本身)。
{
"deliveryStreamARN": "arn:aws:firehose:eu-west-2:xxx:deliverystream/firehose-test",
"destination": "arn:aws:es:eu-west-2:xxx:domain/elasticsearch-test",
"deliveryStreamVersionId": 1,
"message": "Error received from Elasticsearch cluster. <html><body><h1>503 Service
Unavailable</h1>\nNo server is available to handle this request.\n</body></html>",
"errorCode": "ES.ServiceException",
"processor": "arn:aws:lambda:eu-west-2:xxx:function:transform-test:$LATEST"
}
Run Code Online (Sandbox Code Playgroud)
VPC内的其他应用程序可以毫无问题地使用Elasticsearch服务。这似乎是 Firehose 特有的东西。
我已经阅读并重新阅读了文档,但无法弄清楚为什么相同的数据管道在公共 ES 域上工作正常,但在我的 VPC 内的 ES 域上却不能。我已经仔细检查了所有角色、策略、安全组和子网。Firehose 和 Elasticsearch 都使用相同的 VPC、安全组和子网。安全组的入站规则允许HTTPS。一切看起来都是正确的,但仍然出现错误,并且 Elastic 中没有任何内容被索引。
我还阅读了这篇 AWS 博客文章大约 …
amazon-web-services amazon-vpc amazon-kinesis amazon-elasticsearch amazon-kinesis-firehose
我在ubuntu 12.10和MySQL Workbench上使用MySQL 5.1.41.
我有2个产品表,t1和t2.t1是实时数据,t2是准备更新到t1的导入数据,用于更新所有新产品价格.所以我跑:
SELECT * FROM t1
JOIN t2 ON t1.id = t2.id
WHERE t1.price != t2.price;
Run Code Online (Sandbox Code Playgroud)
这将返回1201记录,其中价格不同并需要更新.所以我跑:
UPDATE t1 JOIN t2 ON t1.id = t2.id
SET t1.price = t2.price
WHERE t1.price != t2.price;
Run Code Online (Sandbox Code Playgroud)
这完成没有错误并报告1143行受影响,行匹配:1143更改:1143警告:0
所以这里已有的东西不对.选择查询中有1201条记录不同,但只有1143条使用相同的连接和条件进行了更改?
运行初始选择查询我希望看到仍有不同价格的58条记录.但是当它运行时,我得到了与我最初相同的1201.就像没有提交更新一样.
有任何想法吗?
mysql ×2
ssl ×2
amazon-ec2 ×1
amazon-vpc ×1
engineyard ×1
heroku ×1
http ×1
http-headers ×1
integer ×1
ip-address ×1
jdbc ×1
join ×1
kettle ×1
macos ×1
nginx ×1
pentaho ×1
postgresql ×1
ruby ×1
sql ×1
sql-update ×1
string ×1
transactions ×1