IAM角色ARN Rekognition创建流处理器

问题描述 投票:0回答:1

我试图通过流媒体Kinesis使用AWS的人脸识别,但却陷入了创建流处理器步骤的错误:

错误AccessDeniedException:状态代码:400,请求ID:d871329b-4553-11e9-9d9b-bf3e1c3a90d6

我有配置: IAM政策

{
"Version": "2012-10-17",
"Statement": [
    {
        "Sid": "VisualEditor0",
        "Effect": "Allow",
        "Action": [
            "kinesisanalytics:*",
            "kinesisvideo:*",
            "kinesis:*",
            "rekognition:*"
        ],
        "Resource": "*"
    }
]
}

该角色有2个附加策略,AmazonRekognitionServiceRole及以上自定义策略。

Role's Trust relationships: 

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "Service": "rekognition.amazonaws.com"
          },
          "Action": "sts:AssumeRole",
          "Condition": {}
        }
      ]
    }

测试代码(Golang):

func createStreamProcessor() {
        sess, err := session.NewSession(&aws.Config{
            Region: aws.String("ap-southeast-2"),
            //Credentials: credentials.NewSharedCredentials("", "default"),
        })
        fmt.Println(err)

        reko := rekognition.New(sess)
        result, err := reko.ListCollections(&rekognition.ListCollectionsInput{
            MaxResults: aws.Int64(100),
        })

        fmt.Println(result)
        fmt.Println(err)
        input := rekognition.CreateStreamProcessorInput{
            Name: aws.String("RdsStreamProcessor"),
            Input: &rekognition.StreamProcessorInput{
                KinesisVideoStream: &rekognition.KinesisVideoStream{
                    Arn: aws.String("arn:aws:kinesisvideo:ap-southeast-2:nnnnnnnnn:stream/redisys-stream/1552295399763"),
                },
            },
            Output: &rekognition.StreamProcessorOutput{
                KinesisDataStream: &rekognition.KinesisDataStream{
                    Arn: aws.String("arn:aws:kinesis:ap-southeast-2:nnnnnnnnn:stream/rds-face-recognition-stream"),
                },
            },
            RoleArn: aws.String("arn:aws:iam::nnnnnnnnn:role/rds_recognition_role"),
            Settings: &rekognition.StreamProcessorSettings{
                FaceSearch: &rekognition.FaceSearchSettings{
                    CollectionId:       aws.String("rds_customers"),
                    FaceMatchThreshold: aws.Float64(90),
                },
            },
        }
        fmt.Println(input)
        outPut, err := reko.CreateStreamProcessor(&input)   
        if err != nil {
            fmt.Println(err.Error())
        }
        fmt.Println(outPut)
    }
aws-sdk amazon-iam amazon-kinesis amazon-rekognition
1个回答
0
投票

截至2019年3月27日,Rekognition直播仅在4个地区提供,us-east-1,us-west-2,eu-west-1和ap-northeast-1

© www.soinside.com 2019 - 2024. All rights reserved.