AWS Lambda的HTTPie命令(Python3.8)

时间:2020-05-30 16:03:00

标签: python amazon-web-services aws-lambda python-3.8 httpie

我需要通过AWS Lambda来运行HTTPie Command

  1. 我为HTTPie创建了一个层
  2. 在我的python函数中添加了一层
  3. 从AWS Lambda运行我的HTTPie命令,如下所示
import subprocess

def lambda_handler(req, context):

result = subprocess.call("/opt/python/bin/http GET https://reqres.in/api/users?page=2", shell=True)

return result

功能日志:

/ bin / sh:/ opt / python / bin / http:权限被拒绝

要求:

我使用HTTPie而不是请求的原因是我需要对请求使用不同的身份验证机制。对于请求,我无法使用其他身份验证机制(这是重要的业务需求)进行http调用。以下是我们将要使用的一些示例,HTTPie提供了所有这些插件

签名,ApiAuth,AWS Auth,HMAC,JWTAuth,OAuth,OAuth2等

到目前为止已经尝试过的解决方案

  • 创建了一个包而不是图层,将该包全部分配 权限,将其压缩,也将所有权限分配给zip“” chmos -R 777文件夹”,并以zip格式上传到lambda。 问题。
  • 在使用http之前将其添加到我的代码中
  • 结果= subprocess.call(“ chmod -R 777 / opt / python / bin / http”,shell = True)
    • chmod:更改“ / var / task / lokesh / bin / http”的权限:只读文件系统
    • / bin / sh:/ var / task / lokesh / bin / http:权限被拒绝

0 个答案:

没有答案