如何将网络书通知中的参数获取到我的 AWS Lambda 函数中?
How do I get the parameters from a webook notification into my AWS Lambda function?
我对如何通过 API 网关连接我的 Lambda 函数到 Braintree 的 Webhooks 感到有点困惑。我知道 webhooks 通过 api 网关和端点 URL 调用我的 lambda 函数,但我不确定如何设置我的 lambda 函数来正确处理它并使用 webhooks 在调用时将作为参数传递的值功能。我现在有以下内容:
package com.amazonaws.lambda.submerchantapproved;
import java.util.HashMap;
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import com.amazonaws.services.lambda.runtime.events.DynamodbEvent;
import com.braintreegateway.BraintreeGateway;
import com.braintreegateway.Environment;
import com.braintreegateway.WebhookNotification;
import com.braintreegateway.WebhookNotification.Kind;
public class SubmerchantApproved implements RequestHandler<Object, String> {
public String handleRequest(Object request, Context context) {
BraintreeGateway gateway = new BraintreeGateway(
Environment.SANDBOX,
"MyValue",
"MyValue",
"MyValue"
);
WebhookNotification webhookNotification = gateway.webhookNotification().parse(
request.queryParams("bt_signature"),
request.queryParams("bt_payload")
);
String woofer = "";
return woofer;
}
}
虽然这不起作用或不正确。我究竟要如何将这些 bt_signature 和 by_payload 值放入我的 lambda 函数中? Webhooks 通过相关的 http-POST 请求传递数据。
好吧,您的 Object request
正是那些请求参数应该在的位置。
Java Lambda 有两种主要场景:
- 您可以将 API 网关配置为代理模式并在您的 Java 代码中解析输入流。
AWS 人员非常友好地为您编写了这个随时可用的示例:http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-api-as-simple-proxy-for-lambda.html#api-gateway-proxy-integration-lambda-function-java
- 您可以使用传统的 API 网关映射,但随后您必须实施一个请求 class,该请求将实施
bt_signature
和 by_payload
等参数。同样,AWS 提供了一个很棒的 template/example:http://docs.aws.amazon.com/lambda/latest/dg/java-handler-io-type-pojo.html
我对如何通过 API 网关连接我的 Lambda 函数到 Braintree 的 Webhooks 感到有点困惑。我知道 webhooks 通过 api 网关和端点 URL 调用我的 lambda 函数,但我不确定如何设置我的 lambda 函数来正确处理它并使用 webhooks 在调用时将作为参数传递的值功能。我现在有以下内容:
package com.amazonaws.lambda.submerchantapproved;
import java.util.HashMap;
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import com.amazonaws.services.lambda.runtime.events.DynamodbEvent;
import com.braintreegateway.BraintreeGateway;
import com.braintreegateway.Environment;
import com.braintreegateway.WebhookNotification;
import com.braintreegateway.WebhookNotification.Kind;
public class SubmerchantApproved implements RequestHandler<Object, String> {
public String handleRequest(Object request, Context context) {
BraintreeGateway gateway = new BraintreeGateway(
Environment.SANDBOX,
"MyValue",
"MyValue",
"MyValue"
);
WebhookNotification webhookNotification = gateway.webhookNotification().parse(
request.queryParams("bt_signature"),
request.queryParams("bt_payload")
);
String woofer = "";
return woofer;
}
}
虽然这不起作用或不正确。我究竟要如何将这些 bt_signature 和 by_payload 值放入我的 lambda 函数中? Webhooks 通过相关的 http-POST 请求传递数据。
好吧,您的 Object request
正是那些请求参数应该在的位置。
Java Lambda 有两种主要场景:
- 您可以将 API 网关配置为代理模式并在您的 Java 代码中解析输入流。
AWS 人员非常友好地为您编写了这个随时可用的示例:http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-api-as-simple-proxy-for-lambda.html#api-gateway-proxy-integration-lambda-function-java
- 您可以使用传统的 API 网关映射,但随后您必须实施一个请求 class,该请求将实施
bt_signature
和by_payload
等参数。同样,AWS 提供了一个很棒的 template/example:http://docs.aws.amazon.com/lambda/latest/dg/java-handler-io-type-pojo.html