AWS LAMBDA - 通过直接调用PHP卷曲

AWS LAMBDA - 通过直接调用PHP卷曲

问题描述:

好吧,AWS LAMBDA - 通过直接调用PHP卷曲

所以我知道AWS PHP SDK的。我不要想要使用它进行curl调用来调用lambda函数。

我找到了关于使用API​​网关的信息。我也不要想使用API​​网关。我只是想:

$endPoint = "https://urltoinvokethefunction" 
$ch = curl_init(); 
$chOptions = [ 
    CURLOPT_URL => $endPoint, 
    //credentials, headers, etc etc 
]; 
curl_setopt_array($ch, $chOptions); 
$result = curl_exec($ch); 

这是可能的吗?我希望它尽可能简单,只需调用函数即可。据我了解,无论如何这是SDK中发生的事情,所以它必须可以不使用SDK。

我知道最明智的方法就是使用SDK,并且我之前成功地使用了它。我遇到了一个不幸的情况:尝试将自定义业务逻辑添加到CMS的过期的蜘蛛网,并且SDK已经包含在插件中,我不能简单地在已定制的函数中重用已命名空间的SDK 。

tldr;在Wordpress中编写publish_post钩子,无法使用AWS开发工具包,因为插件已在使用它,只是想直接调用curl调用该函数,而不打算使用API​​网关,该怎么做?

****** UPDATE ******

解决我的问题,垂目低的...我不能使用已经加载SDK的原因是一个版本问题 .. 。哦。暂时使用超旧版本,但它工作。

虽然这个问题仍然存在,因为我是一个简单易操作的人,我宁愿只是知道如何自己做,而不是导入一个超级巨大的库(大锤敲钉​​子类的东西)。好奇听到一个解决方案!

+1

你将不得不通过签署请求,在与您的帐户凭据来调用AWS API的过程中,唯一的办法(S) ,这是一个巨大的痛苦。为此使用SDK更容易。如果你想要一个“直接卷曲调用”来调用Lambda函数,那么API网关确实是唯一的方法。 –

+0

这些是我说我不想做的两件事hahahahah。我认为这将是一种痛苦,这就是为什么我想知道在潜水之前是否有人已经做到了这一点:p – Meowts

使用AWS API Gateway简直无法将其链接到您的Lambda函数。您只需创建资源和舞台,将其与Lambda函数相关联,然后再部署该API。从那里,您将收到一个公共URL,用于发送请求以执行您的Lambda函数。

据我所知,这是通过HTTP执行lambda函数

$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);