FAQ #5

Estou tentando executar uma função no AWS Lambda que escreve no Kinesis Data Streams usando a API AWS boto3 em Python, mas recebo a mensagem abaixo, informando que o uso de PutRecords não está autorizado. O que fazer?

Quando você cria uma função no AWS Lambda, você associa e ela um papel (role). Este papel define as políticas de acesso desta função aos outros recursos da AWS. Para enviar dados ao Kinesis Data Streams, você precisa liberar o acesso completo da função Lambda à este serviço.

No Lambda, acesse sua função e depois a aba permissões. Lá vai ter o papel que você definiu (em português, aparece com o nome de função). Clique no nome do papel. Na próxima tela, você verá o botão Anexar Política. Clique nele e procure pela política AmazonKinesisFullAccess. Selecione-a e anexe-a à sua função.

Isso vai dar acesso de escrita no Kinesis Data Streams à sua função Lambda.