小编Tib*_*ibo的帖子

如何使用 Aws Lambda (python) 接收文件

我试图弄清楚如何通过 Python 中的 API 调用接收浏览器发送的文件。

允许 Web 客户端发送任何类型的文件(比如 .txt、.docx、.xlsx 等)。我不知道我是否应该使用二进制文件。

这个想法是在 S3 之后保存文件。现在我知道可以使用像 Aws Amplify 这样的 js 库并生成一个临时 url,但我对该解决方案不太感兴趣。

任何帮助表示赞赏,我已经在 Python 中广泛搜索了一个解决方案,但我找不到任何实际工作的东西!

我的 API 是私有的,我使用无服务器进行部署。

files_post:
  handler: post/post.post
  events:
    - http:
        path: files
        method: post
        cors: true
        authorizer: 
          name: authorizer
          arn: ${cf:lCognito.CognitoUserPoolMyUserPool}
Run Code Online (Sandbox Code Playgroud)

编辑

我有一个适用于文本文件但不适用于 PDF、XLSX 或图像的半解决方案,如果有人有我会非常高兴

from cgi import parse_header, parse_multipart
from io import BytesIO
import json


def post(event, context):


    print event['queryStringParameters']['filename']
    c_type, c_data = parse_header(event['headers']['content-type'])
    c_data['boundary'] = bytes(c_data['boundary']).encode("utf-8")

    body_file = BytesIO(bytes(event['body']).encode("utf-8"))
    form_data = parse_multipart(body_file, c_data)

    s3 = boto3.resource('s3')
    object …
Run Code Online (Sandbox Code Playgroud)

python amazon-web-services aws-lambda angular

9
推荐指数
1
解决办法
5441
查看次数

Aws Cognito:如何获取用于 API 命令行测试的令牌?

我正在尝试对 AWS API Gateway 中的 REST API 进行身份验证,它通过命令行受 AWS Cognito 保护,以对 API 进行一些安全测试。所以,我应该发送身份验证令牌来获得答案,除非我不知道如何获得该令牌!

我们的 Cognito 用户池配置为授权代码授予流程和隐式授予,但未针对客户端凭据进行配置。我在研究期间发现的一切都是关于客户端凭据的,所以如果有人有一个实际使用这些参数的命令行,那就太好了!

amazon-cognito

5
推荐指数
1
解决办法
7426
查看次数