亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將本地 php 函數連接到 AWS lambda?

如何將本地 php 函數連接到 AWS lambda?

PHP
慕田峪7331174 2023-07-21 18:22:29
我對此很陌生。我只知道 S3 并且還創建了我的功能。但是,現在我想在我的 php 項目中使用 Lambda。我正在用AWS PHP SDK這個。我在 AWS 上創建了一個 lambda 函數,在其中傳遞文件名。lambda 函數從 S3 搜索文件并提供文件內的數據,但現在我想做的是在 php 函數內傳遞一個文件名,然后將該文件名傳遞給我的 Lambda 函數并從 S3 搜索文件,然后返回文件內的數據。這是我在 S3 上的 lambda 函數import boto3bucket = 'get-file-lambda-function'filename = 'myfilename.json'    def lambda_handler(event, context):    s3 = boto3.client('s3')    file = s3.get_object(Bucket=bucket, Key=filename)    body = file.get()['Body'].read()    return body這是我的 php 函數,它從 lambda 函數獲取數據?,F在,我想在我的 php 函數中傳遞一個文件名。lambda 僅搜索 S3 中的該文件。public function get_file_data() {    $client = LambdaClient::factory(AWS configrations);    $filename = /*selected by me*/    $fileData = $client->invoke([        // Lambda function name        'FunctionName' => 'get-file-lambda-function',    ]);    return $fileData;}我是初學者,所以我現在對此一無所知。有人可以指導我如何實現這一目標嗎?
查看完整描述

1 回答

?
縹緲止盈

TA貢獻2041條經驗 獲得超4個贊

對于您的要求來說,這實際上很簡單。


Payload在您的 PHP 應用程序中,您將在調用 invoke 時使用該參數。下面是一個例子


public function get_file_data($file_name) 

{

    $client = LambdaClient::factory(AWS configuration);


    $filename = /*selected by me*/


    $fileData = $client->invoke([

        // Lambda function name

        'FunctionName' => 'get-file-lambda-function',

        'Payload' => json_encode(['bucket' => 'get-file-lambda-function', 'key' => $file_name])

    ]);


    return $fileData;

}

然后,在您的 Lambda 函數中,您可以使用事件參數訪問此數據。下面是一個例子


import boto3


s3 = boto3.client('s3')


def lambda_handler(event, context):

    bucket = event['bucket']

    filename = event['key']

    file = s3.get_object(Bucket=bucket, Key=filename)

    body = file.get()['Body'].read()


    return body


查看完整回答
反對 回復 2023-07-21
  • 1 回答
  • 0 關注
  • 158 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號