2016-08-11 4 views
0

申し訳ありませんが、AWSラムダ - ストレートPHPカールによる呼び出し

AWS PHP SDKを知っています。 I doラムダ関数を呼び出すためのカールコールを作成する場合に使用します。

私は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 SDKを使用できません。APIゲートウェイを使用しないで、関数を呼び出すためのまっすぐなカールコールを探しています。

は****** ****** UPDATE

が低く頭をぶら下げ、私の問題を解決...私はすでにロードされたSDKを使用することができなかった理由は、問題をバージョン管理ました。..ああ。当時はスーパー古いバージョンを使用して立ち往生しましたが、動作します。

私はシンプルさのために執拗なので、疑問はまだ残っています。私はむしろ、巨大な図書館(釘のようなものをハンマーにする)をインポートするのではなく、自分でやる方法を知っています。不思議なことを聞​​いて!

+1

あなたはあなたのアカウントの資格情報を使用してAWS APIを呼び出すために、要求に署名するプロセスを通過する必要がありますこれは大きな痛みです。そのためにSDKを使用する方がはるかに簡単です。あなたが "まっすぐなカールコール"がラムダ関数を呼び出すようにしたいのであれば、API Gatewayは本当に唯一の方法です。 –

+0

それは私がハハハをしたくないと言った2つのことです。私はそれが痛みであると考えました。なぜなら、誰かがダイビング前にすでにそれをしていたかどうかを知りたいのです:p – Meowts

答えて

1

AWS API Gatewayを使用すると、Lambda関数にリンクするのが簡単ではありません。単にリソースとステージを作成し、ラムダ関数に関連付けてから、APIをデプロイするだけです。そこから、ラムダ機能を実行するリクエストを送信するパブリックURLが送られます。私の知る限り

、これはHTTP(S)の上にラムダ関数を実行するための唯一の方法である

0
$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); 
関連する問題