小编Gau*_*mar的帖子

AWS Lambda和Gateway API集成,返回状态码500

首先,我是整个AWS本身的新手。我正在尝试使用AWS Lambda和API Gateway解决问题。

  1. 我创建了一个python lambda函数。它需要一些数据并string根据某些条件返回a 。如下所示:
def lambda_function(event, context):
    if event['some_property']:
        return "SUCCESS: Operation performed successfully."
    else
        return "ERROR: Operation failed."
Run Code Online (Sandbox Code Playgroud)
  1. 在触发器下,我设置了一个网关API。

  2. 在针对所创建资源的API网关服务中,集成请求被配置为传递给lambda函数。我已经测试过lambda函数,它可以正确返回值。

  3. 但是,如果我卷曲发出发布请求的API,它将返回服务器错误。消息是这样的。

{“消息”:“内部服务器错误”}

  1. 我试着玩。如果我从函数返回一个空的json并创建一个Content Type为的正文映射模板,并为其application/json使用一个空的模型模板,那么它可以正常工作。

我猜想,我在“集成响应”部分中缺少某些内容。200如果操作成功执行,我想要的是返回状态代码以及成功消息。

lambda amazon-web-services aws-lambda aws-api-gateway

5
推荐指数
1
解决办法
919
查看次数

Redux + Normalizr:在Redux状态下添加和删除规范化实体

我有一个包含很多嵌套实体的API响应。我使用normalizr来保持redux状态尽可能平坦。
例如。api响应如下所示:

{
  "id": 1,
  "docs": [
    {
      "id": 1,
      "name": "IMG_0289.JPG"
    },
    {
      "id": 2,
      "name": "IMG_0223.JPG"
    }
  ],
  "tags": [
    {
      "id": "1",
      "name": "tag1"
    },
    {
      "id": "2",
      "name": "tag2"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

normalizr使用以下给出的模式对该响应进行规范化:

const OpeningSchema = new schema.Entity('openings', {
    tags: [new schema.Entity('tags')],
    docs: [new schema.Entity('docs')]
});
Run Code Online (Sandbox Code Playgroud)

下面是它的外观:

{
  result: "1",
  entities: {
    "openings": {
       "1": {
          "id": 1,
          "docs": [1,2],
          "tags": [1,2]
       }
    },
    "docs": { 
      "1": { 
        id: "1",
        "name": "IMG_0289.JPG"
      }, …
Run Code Online (Sandbox Code Playgroud)

redux normalizr react-redux redux-actions

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

Flink:MaxOutOfOrderness 和 AllowedLateness 的区别

在 Flink 中,有两件事提供了类似的行为。两者有什么区别。

  1. MaxOutOfOrderness:与 BoundedOutOfOrdernessTimestampExtractor 一起使用。通过将事件时间后面的 Watermark 延迟 MaxOutOfOrderness 值,允许流的元素按 maxOutOfOrdeness 值的大小乱序。
  2. AllowedLateness:在此参数定义的一段时间内保持窗口状态。

当您已经可以通过 maxOutOfOrderness 实现相同的行为时,为什么还要使用 AllowedLateness。

如果您只使用 Allowedlateness,则没有必要等待,因为后期元素将无序,因此将被删除。

如果你只使用 MaxOutOfOrderness,那么它会延迟窗口计算,但它可以处理乱序事件。

apache-flink flink-streaming

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

在浏览器上验证 JWT

我一直在阅读有关JWT的内容,我知道它由三个部分组成,即headerpayloadsignature

我将哈希算法保留在标头中,将基本信息保留在有效负载中,例如。有效负载中的名称、年龄、角色、到期日等,然后将这两者都进行 Base64 编码,然后使用标头中指定的算法进行哈希处理以获得 JWT

  1. 我有一个可以使用username和登录的前端password
  2. 登录请求发送到服务器,服务器对其进行身份验证并返回 JWT。假设使用的算法是 HS256,它是一种对称密钥算法。
  3. 因此服务器将使用secret key生成 JWT 的方法。
  4. 作为登录请求响应的一部分,浏览器将具有 JWT。
  5. 现在这个 JWT 可能会在途中被篡改,所以在使用它之前,我应该验证 JWT 的真实性。
  6. 为了验证,我需要密钥。

问题:

  1. secret key我如何在前端得到这个?
  2. 有效负载可以保留有关用户的任何信息(不是任何敏感信息,例如密码)。既然 JWT 可能在途中被篡改,那么在前端不验证 JWT 的情况下使用有效负载信息不是很危险吗?

authentication jwt

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