2016-12-12 103 views
1

我想從使用Python的第一個lambda函數調用第二個Lambda函數。爲了調用我使用下面的代碼片斷: lambda_client = boto3.client(「拉姆達」)如何用參數調用第二個lambda函數使用python

def lambda_handler(event, context): 
    invoke_response = lambda_client.invoke(FunctionName="teststack",InvocationType='RequestResponse') 

在這我想通過兩個額外的參數,例如:姓名,年齡到第二lambda函數,有人可以幫助我如何傳遞額外的參數到另一個lambda函數,以及如何在第二個lambda函數中接收它。

感謝您的幫助提前!

回答

2

您有兩種選擇。從the official documentation

ClientContext(串) - 使用ClientContext可以傳遞 客戶特定的信息要調用的lambda函數。 然後,您可以在Lambda函數中處理您通過上下文變量選擇的 中的客戶端信息。有關 ClientContext JSON的示例,請參閱亞馬遜移動分析API 參考和用戶指南中的PutEvents。

ClientContext JSON必須是base64編碼的。

有效載荷(字節或搜索文件類對象) - 要 提供給您的lambda表達式作爲輸入JSON。

在Lambda函數中,Payload可通過參數event獲得。 ClientContext可通過context參數獲取。

+0

謝謝馬克!我無法爲另一個lambda函數調用一個lambda函數。我沒有得到任何錯誤,但它繼續加載並在5分鐘後超時。可能是什麼原因,有什麼想法? –

+0

您可能在Lambda函數上啓用了VPC訪問,而無需爲VPC添加NAT網關,因此Lambda函數不再有權訪問AWS API。從VPC中刪除Lambda功能,或將NAT網關添加到您的VPC。看到這個:http://stackoverflow.com/questions/38188532/why-aws-lambda-within-vpc-can-not-send-message-to-sns –

相關問題