我正在尝试构建一个简单的应用程序,它将使用 KPL 向 Kinesis 生成消息。我正在用 scala 编写此内容,并收到一条我似乎无法弄清楚的错误消息。我的代码如下:
import java.nio.ByteBuffer
import com.amazonaws.services.kinesis.producer.{KinesisProducer, KinesisProducerConfiguration}
object KinesisStream extends App{
ProduceToKinesis()
def ProduceToKinesis(): Unit ={
val config = new KinesisProducerConfiguration()
val kinesis = new KinesisProducer(config)
val data = ByteBuffer.wrap("myData".getBytes("UTF-8"))
kinesis.addUserRecord("TestStream", "myPartitionKey", data)
}
}
Run Code Online (Sandbox Code Playgroud)
它失败于
val kinesis = new KinesisProducer(config)
Run Code Online (Sandbox Code Playgroud)
错误消息为:
Exception in thread "main" java.lang.RuntimeException: Could not copy native binaries to temp directory C:\Users\************\AppData\Local\Temp\amazon-kinesis-producer-native-binaries
at com.amazonaws.services.kinesis.producer.KinesisProducer.extractBinaries(KinesisProducer.java:844)
at com.amazonaws.services.kinesis.producer.KinesisProducer.<init>(KinesisProducer.java:242)
at KinesisStream$.ProduceToKinesis(KinesisStream.scala:14)
at KinesisStream$.delayedEndpoint$KinesisStream$1(KinesisStream.scala:9)
at KinesisStream$delayedInit$body.apply(KinesisStream.scala:8)
at scala.Function0$class.apply$mcV$sp(Function0.scala:34)
at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
at scala.App$$anonfun$main$1.apply(App.scala:76)
at scala.App$$anonfun$main$1.apply(App.scala:76)
at …Run Code Online (Sandbox Code Playgroud) 这段代码:
<meta http-equiv="X-UA-Compatible" content="IE=9" />
Run Code Online (Sandbox Code Playgroud)
似乎只将文档更改为ie9而不是浏览器.除了击中F12并手动更改之外的任何想法?
我有一个 Web Api RESTful 服务,它有一些 POST 端点来将新对象插入数据库。我们希望将对象名称接受的最大字符数限制为 20 个。数据库、API 或 UI 是否应该处理此问题?
显然,我们可以在任何一层上阻止超过 20 个字符。但是,如果它通过了 UI,则表单已提交。那时,我们希望服务层或数据库层返回一个信息性的解释,说明为什么它不被接受。处理这个问题的最佳做法是什么?