AWS Lambda-通过直接PHP curl调用
好, 所以我知道AWS PHP SDK。我不想使用它来进行curl调用以调用lambda函数 我发现了一些关于使用API网关的东西。我也不想使用API网关。我只想这样:AWS Lambda-通过直接PHP curl调用,php,wordpress,amazon-web-services,invoke,aws-lambda,Php,Wordpress,Amazon Web Services,Invoke,Aws Lambda,好, 所以我知道AWS PHP SDK。我不想使用它来进行curl调用以调用lambda函数 我发现了一些关于使用API网关的东西。我也不想使用API网关。我只想这样: $endPoint = "https://urltoinvokethefunction" $ch = curl_init(); $chOptions = [ CURLOPT_URL => $endPoint, //credentials, headers, etc etc ]; curl_setopt_ar
$endPoint = "https://urltoinvokethefunction"
$ch = curl_init();
$chOptions = [
CURLOPT_URL => $endPoint,
//credentials, headers, etc etc
];
curl_setopt_array($ch, $chOptions);
$result = curl_exec($ch);
这有可能吗?我希望它尽可能简单,只是一个直接的curl调用来调用函数。据我所知,这是SDK中正在发生的事情,因此不使用SDK必须是可能的
我知道最明智的方法是使用SDK,我以前也成功地使用过它。我遇到了一个不幸的情况,即试图将自定义业务逻辑添加到过时的CMS蜘蛛网中,而SDK已经包含在插件中,我不能简单地在自定义函数中重用已命名的SDK
tldr在Wordpress中编写一个publish_post钩子,不能使用AWS SDK,因为插件已经在使用它,只是想直接调用curl来调用函数,而不是使用API网关,如何
******更新******
解决了我的问题,低着头。。。我无法使用已经加载的SDK的原因是版本控制问题。。。哦。目前仍在使用超旧版本,但它可以工作
但问题仍然存在,因为我是一个坚持简单的人,我宁愿自己知道如何去做,也不愿导入一个超大的库(用大锤敲钉子之类的东西)。很想听到一个解决办法 使用AWS API网关将其链接到Lambda函数非常简单。您只需创建一个资源和阶段,将其与Lambda函数关联,然后部署API。从那里,您将收到一个公共URL,向其发送请求,该URL将执行Lambda函数
据我所知,这是通过HTTP执行Lambda函数的唯一方法。您必须通过对请求进行签名的过程来使用您的帐户凭据调用AWS API,这是一个巨大的痛苦。使用SDK实现这一点要容易得多。如果你想要一个“直接的curl调用”来调用Lambda函数,那么API网关是唯一的方法。我想这会很痛苦,这就是为什么我想知道在潜水之前是否有人已经做了:p
$data = array(‘key’=>'key1');
$data_string = json_encode($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"ENTER_YOUR_PUBLIC_URL");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, “POST”);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
‘Content-Type: application/json’,
‘Content-Length: ‘ . strlen($data_string))
);
$result = curl_exec($ch);