小编Sho*_*orn的帖子

Postgres:"错误:缓存计划不得更改结果类型"

PostgreSQL 8.3.7服务器将此异常抛给我的应用程序.有谁知道这个错误意味着什么,我能做些什么呢?

ERROR:  cached plan must not change result type
STATEMENT:  select code,is_deprecated from country where code=$1
Run Code Online (Sandbox Code Playgroud)

postgresql

99
推荐指数
3
解决办法
4万
查看次数

Terraform:将AWS托管策略附加到角色的正确方法?

我想将一个预先存在的AWS托管角色附加到策略,这是我当前的代码:

resource "aws_iam_role_policy_attachment" "sto-readonly-role-policy-attach" {
  role       = "${aws_iam_role.sto-test-role.name}"
  policy_arn = "arn:aws:iam::aws:policy/ReadOnlyAccess"
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来建模托管策略,然后引用它而不是硬编码ARN?看起来每当我对ARN /路径或其他类似的东西进行硬编码时,我通常会发现以后有更好的方法.

Terraform中是否存在对托管策略建模的内容?或者硬编码ARN是"正确"的方式吗?

amazon-web-services amazon-iam terraform

49
推荐指数
3
解决办法
2万
查看次数

为什么不用spring-boot监听logging.path变量?

使用spring-boot 1.2.3.RELEASE.

我可以让spring-boot登录到特定目录的唯一方法是设置"log.file"属性,如下所示:

logging.file=/var/log/app.log
Run Code Online (Sandbox Code Playgroud)

但据我所知,我所知,我应该这样做:

logging.file=app.log
logging.path=/var/log
Run Code Online (Sandbox Code Playgroud)

但它似乎没有监听logging.path属性,它只是将文件写入当前目录.

文档是错误的还是有一些非常明显我在这里缺失的东西?

此外,使用此设置,它仍然可以正确滚动日志,对吧?

spring spring-boot

29
推荐指数
2
解决办法
1万
查看次数

Terraform:将cloudwatch日志订阅交付配置为lambda?

我需要将我的cloudwatch日志发送到日志分析服务.

我已经在这里这里跟着这些文章,并且手动工作,不用担心.

现在,我正在尝试使用Terraform(角色/策略,安全组,cloudwatch日志组,lambda以及从日志组触发lambda)自动执行所有这些操作.

但我无法弄清楚如何使用TF来配置AWS以从cloudwatch日志中触发lambda.

我可以通过执行以下操作手动将两个TF资源链接在一起(在Lambda Web控制台UI中):

  • 进入lambda函数的"触发器"部分
  • 点击"添加触发器"
  • 从触发器类型列表中选择"cloudwatch logs"
  • 选择我想要触发lambda的日志组
  • 输入过滤器名称
  • 将过滤器模式保留为空(意味着触发所有日志流)
  • 确保选中"启用触发器"
  • 单击"提交"按钮

完成后,lambda将显示在订阅列中的cloudwatch日志控制台上 - 显示为"Lambda(cloudwatch-sumologic-lambda)".

我尝试使用以下TF资源创建订阅:

resource "aws_cloudwatch_log_subscription_filter" "cloudwatch-sumologic-lambda-subscription" {
  name            = "cloudwatch-sumologic-lambda-subscription"
  role_arn        = "${aws_iam_role.jordi-waf-cloudwatch-lambda-role.arn}"
  log_group_name  = "${aws_cloudwatch_log_group.jordi-waf-int-app-loggroup.name}"
  filter_pattern  = "logtype test"
  destination_arn = "${aws_lambda_function.cloudwatch-sumologic-lambda.arn}"
}
Run Code Online (Sandbox Code Playgroud)

但它失败了:

aws_cloudwatch_log_subscription_filter.cloudwatch-sumologic-lambda-subscription:InvalidParameterException:供应商lambda的destinationArn不能与roleArn一起使用

我找到了关于为预定事件设置类似事情的答案,但这似乎与我上面描述的控制台操作没有相同(控制台UI方法不会创建我能看到的事件/规则) ).

有人能给我一个关于我做错的指针吗?

amazon-web-services sumologic terraform

22
推荐指数
2
解决办法
1万
查看次数

Typescript/React onKeyPress 参数的正确类型是什么?

打字稿 2.3.4,反应 15.5.4 和反应引导 0.31.0。

我有一个FormControl,我想在用户按下回车键时做一些事情。

控制:

<FormControl
  name="keyword"
  type="text"
  value={this.state.keyword}
  onKeyPress={this.handleKeywordKeypress}
  onChange={(event: FormEvent<FormControlProps>) =>{
    this.setState({
      keyword: event.currentTarget.value as string
    });
  }}
/>
Run Code Online (Sandbox Code Playgroud)

参数的定义应该handleKeywordKeypress是什么?

我可以这样定义:

handleKeywordKeypress= (e: any) =>{
  log.debug("keypress: " + e.nativeEvent.code);
};
Run Code Online (Sandbox Code Playgroud)

这将被调用,它会打印kepress: Enter但类型应该是什么,e以便我可以将值与(什么?)进行比较以判断是否按下了 Enter 键。

typescript reactjs react-bootstrap

18
推荐指数
3
解决办法
3万
查看次数

如何在 Material-UI ExpansionPanelSummary 中包装或截断长字符串

我想创建一个ExpansionPanel其中摘要可能是一长串完整字符(即没有连字符,没有空格)的地方。

当我尝试它时, ExpansionPanelSummary组件在窄宽度显示器上显示效果不佳 - 它会覆盖按钮并溢出屏幕外。

这是我的示例,从ExpansionPanel Material-UI 演示中分叉出来,缩小输出帧的宽度,您可以看到电子邮件地址没有换行并且看起来很丑:https : //codesandbox.io/s/wqm5k3vmyw 在此处输入图片说明

我已经尝试使用nowrapTypography得到它夹(我的首选解决方案):

<ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}>
  <Typography nowrap className={classes.heading}>
    areallyreallylongaddress@email.example.com
  </Typography>
</ExpansionPanelSummary>
Run Code Online (Sandbox Code Playgroud)

我也试过添加样式 overflowWrap: "break-word"来强制它在任何地方换行,而不仅仅是在连字符或空格上。

我能做的最好的事情是通过添加style={{ textOverflow: "ellipsis", overflow: "hidden" }}ExpansionPanel(参见链接示例中的第二个示例)。

理想情况下,我希望它通过从上下文右侧截断、显示省略号而不是覆盖展开图标来发挥作用。
我怎样才能做到这一点ExpansionPanel

否则,我怎么能强制它自动换行?

我使用的是 material-UI v3.4.0,问题在 Chrome 和 Firefox 上可见。

css material-ui

18
推荐指数
2
解决办法
4万
查看次数

为什么uglify-js报告'WARN:输出超过32000个字符'?

  • 构建管道是:Typescript,browserify,browserify-css,uglify.
  • 运行时库:react,bootstrap.

到目前为止,我的应用程序功能很少(这就是为什么我要问以后这是否会让我感到困惑,即使它现在似乎有效).稍后它会变得更大(react-router,redux,其他js库,如Auth0,甚至可能是一些实际的功能.)

我有一个app.css包含:

@import url("node_modules/bootstrap/dist/css/bootstrap.css");
Run Code Online (Sandbox Code Playgroud)

然后我将其导入到我index.tsx的:

import './app.css';
Run Code Online (Sandbox Code Playgroud)

这一切似乎都起作用,因为我的helloworld反应组件显示"hello world".

但是,在构建期间,uglify报告:

WARN: Output exceeds 32000 characters
Run Code Online (Sandbox Code Playgroud)

我应该忽略它吗?如果是这样,有没有办法压制它?

查看uglify生成的文件显示,它似乎确保没有行超过32000个字符 - 大多数行截断时间仅为32000(31999处为1).

但是有一行var css='/*!\n * Bootstrap v3.3.7 ...'是120K字符长.我认为这是Uglify试图告诉我的,但有什么大不了的?

css uglifyjs twitter-bootstrap

12
推荐指数
1
解决办法
6182
查看次数

为什么 `sx` 属性这么慢?

根据 MUI 自己的 doco 和这个答案- 使用sx渲染的组件比使用其他样式机制的组件慢得多。

从表面上看,它看起来sx只是一个替代的便利 API,用于执行相同的操作 - 所以我不希望它具有如此不同的性能配置文件。

我的问题是:为什么组件的渲染速度sx如此之慢 - 它的作用有何不同?它是一个完全不同的造型引擎还是什么?

我很好奇优化它的可能性,或者提出一种折衷方案,保留大部分可用性,但忽略导致速度减慢的任何功能。

请注意,这个问题是关于“为什么性能如此不同”,而不是“为什么你认为差异不重要”。

reactjs material-ui

12
推荐指数
1
解决办法
5066
查看次数

AWS Glue需要很长时间才能完成

我只是按如下方式完成一项非常简单的工作

glueContext = GlueContext(SparkContext.getOrCreate())
l_table = glueContext.create_dynamic_frame.from_catalog(
             database="gluecatalog",
             table_name="fctable") 
l_table = l_table.drop_fields(['seq','partition_0','partition_1','partition_2','partition_3']).rename_field('tbl_code','table_code')
print "Count: ", l_table.count()
l_table.printSchema()
l_table.select_fields(['trans_time']).toDF().distinct().show()
dfc = l_table.relationalize("table_root", "s3://my-bucket/temp/")
print "Before keys() call "
dfc.keys()
print "After keys() call "
l_table.select_fields('table').printSchema()
dfc.select('table_root_table').toDF().where("id = 1 or id = 2").orderBy(['id','index']).show()
dfc.select('table_root').toDF().where("table = 1 or table = 2").show()
Run Code Online (Sandbox Code Playgroud)

数据结构也很简单

root
|-- table: array
| |-- element: struct
| | |-- trans_time: string
| | |-- seq: null
| | |-- operation: string
| | |-- order_date: string
| | |-- …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-glue

11
推荐指数
2
解决办法
5184
查看次数

试图了解gradle项目属性

显然我不明白这里发生了什么.

我猜prop2和prop3无法访问,因为它们是变量而不是"项目属性".

问题出现了,因为我希望变量prop2和prop3在"doTheThing()"方法中可见,但我不想将它们传入.我希望变量可以全局访问任务,方法和类(但只在构建脚本本身内部) - 我希望它们被输入(这就是为什么不能接受prop1的定义).

但实际上 - 我想我要求的是帮助理解Gradle项目属性是什么以及语法'prop1 ="blah"'实际上在做什么.

我已经阅读了Gradle用户指南以及Gradle in Action - 如果他们已经解释了这个概念,请指出我正确的部分(也许我当时没有理解它是什么意思,所以我掩饰了它).

prop1 = "blah"
String prop2 = "bleah"
def prop3 = "blargh"

task testPropAccess << {
  println "1: $prop1"
  println "2: $prop2"
  println "3: $prop3"
  doTheThing()
}

private void doTheThing(){
  println "4: $prop1"
  println "5: $prop2"  // error: Could not find property 'prop2' on root project 'script'
  println "6: $prop3"  // error: Could not find property 'prop3' on root project 'script'
}
Run Code Online (Sandbox Code Playgroud)

gradle

10
推荐指数
1
解决办法
3万
查看次数