Я пытаюсь научиться использовать Kinesis Firehose. Я использую базовый пример приложения. Исходная запись говорит, что доступ запрещен, а выходной сегмент S3 пуст. Из руководства по устранению неполадок я убедился, что на графиках IncomingBytes и IncomingRecords есть данные, но DeliveryToS3 Success пуст. Я отлаживаю консольное приложение .NET локально с помощью Visual Studio 2017. Учетные данные, которые я использую, могут запускать базовый пример проекта AWS, в котором перечислены экземпляры EC2, SimpleDB и S3 buckets. Мне интересно, если эти ключи не имеют доступа к Firehose, однако.
Вот мой код C #:
var kClient = new KinesisFirehoseClient(AwsRegion.USEast1, new AwsCredential("***********", "************"));
var deliveryStreamName = "testeventspoc";
var deliveryStream = kClient.GetStream(deliveryStreamName);
sr.WriteLine($"Kinesis Firehose Delivery Stream: {deliveryStream.Name}");
PutRecordRequest putRecordRequest = new PutRecordRequest(deliveryStreamName,new Record(Encoding.ASCII.GetBytes("{\"ticker_symbol\":\"QXZ\", \"sector\":\"HEALTHCARE\", \"change\":\"-0.05\", \"price\":\"84.51\"}")));
// Put record into the DeliveryStream
var resultOfRecord = kClient.PutRecordAsync(putRecordRequest).Result;
А вот и исходная запись:
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>A0xxxxxx</RequestId>
<HostId>sP**********kfc=</HostId>
</Error>
Итак ...... как я могу это исправить и / или как я могу устранить эту проблему дальше? На данный момент я беру удары в темноте и пробую случайные вещи, так как документация AWS в этой области, к сожалению, отсутствует. Спасибо!