amazon-web-services - AWS SAM 无法调用 Rekognition 并从 Lambda 访问 S3

标签 amazon-web-services lambda policy sam

我尝试从 Rekognition 框架调用 detectorText 方法,但无法调用 S3 存储桶。我不确定如何在 SAM 模板中分配角色。下面是我的 SAM 模板

GetTextFunction:
Type: AWS::Serverless::Function
Properties:
  CodeUri: gettextfn/
  Handler: text.handler
  Runtime: nodejs12.x
  Timeout: 3
  MemorySize: 128
  Environment:
    Variables:
        imagebucket: !Ref s3bucket
  Events:
    TextApiEvent:
      Type: HttpApi
      Properties:
        Path: /gettext
        Method: get
        ApiId: !Ref myapi

最佳答案

看起来您的 lambda 需要 RekognitionDetectOnlyPolicy 并且您似乎也错过了从 S3 存储桶读取/写入数据的策略。看看下面添加在环境之后的Policies::

Environment:
    Variables:
      imagebucket: !Ref s3bucket
  Policies:
    - S3ReadPolicy:
        BucketName: !Ref s3bucket
    - RekognitionDetectOnlyPolicy: {}
  Events:

您可以在此处引用 AWS SAM 策略模板的完整列表 https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-policy-templates.html

另请查看此处的示例模板 https://github.com/rollendxavier/serverless_computing/blob/main/template.yaml

关于amazon-web-services - AWS SAM 无法调用 Rekognition 并从 Lambda 访问 S3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66978234/

相关文章:

php - 使用 PHP 从本地文件迁移到 AWS S3

amazon-web-services - AWS中两种不同类型的VPC链接之间的主要区别

java - SQL Lambda 将 for 循环变量添加到对象

c++ - 按类型检索 printf 格式参数

azure - 如何为同一个 Azure blob 容器创建多个存储访问策略?

amazon-web-services - cloudwatch 中的 Docker 容器统计信息

python - python lambdas 的实现方式与标准函数不同吗?

java - JVM 未处理 java.policy 中的一些更改

amazon-web-services - S3 存储桶访问仅限 VPN

ios - 快速上传到s3存储桶没有结束