WordPress — AWS Lambda — вызывать прямой PHP завиток

Хорошо,

Итак, я знаю о AWS PHP SDK. я не делайте хочу использовать его для вызова curl для вызова лямбда-функции.

Я нашел кое-что об использовании API Gateway. Я также не делайте хочу использовать API Gateway. Я просто хочу быть похожим на:

$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; написав хук publish_post в WordPress, я не могу использовать AWS SDK, потому что плагин уже использует его, просто ищет прямой вызов curl для вызова функции, не собирается использовать API Gateway, как?

****** ОБНОВИТЬ ******

Решил мою проблему, низко опустив голову … причина, по которой я не мог использовать уже загруженный SDK, была проблема с версиями… d’о. Попробую использовать супер старую версию на данный момент, но она работает.

Однако этот вопрос все еще остается, потому что я сторонник простоты, и я предпочел бы просто знать, как сделать это самому, а не импортировать супер огромную библиотеку (кувалду, чтобы забить гвоздь). Любопытно услышать решение!

0

Решение

Использовать AWS API Gateway очень просто, чтобы связать его с вашей функцией Lambda. Вы просто создаете ресурс и этап, связываете его с вашей функцией Lambda, а затем внедряете API. Оттуда вы получите общедоступный URL-адрес для отправки запросов, которые будут выполнять вашу функцию Lambda.

Насколько мне известно, это единственный способ выполнить лямбда-функцию через HTTP (S)

1

Другие решения

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

По вопросам рекламы [email protected]