Поддерживает ли Amazon DynamoDB потоковую передачу результатов запроса

#amazon-web-services #amazon-dynamodb

#amazon-веб-сервисы #amazon-dynamodb

Вопрос:

Я изучаю использование Amazon DynamoDB и хотел бы передавать результаты запроса своим удаленным клиентам.

Я не могу найти документацию Amazon DynamoDB, которая показывает, что она поддерживает указанные потоки.

Все, что я могу найти, это конечные точки потока Amazon DynamoDB для прямых трансляций, поскольку данные изменяются в базе данных.

Это не те потоки, которые меня интересуют.

Я хочу запросить Amazon DynamoDB и получить результаты в виде потока, чтобы я мог передавать потоковые данные своим удаленным клиентам через HTTP.

Поддерживает ли Amazon DynamoDB потоковую передачу результатов такого типа?

Я хочу развернуть код, похожий на этот, на моем сервере

 private StreamingOutput getStreams() {
        return new StreamingOutput() {

            @Override
            public void write(final OutputStream outputStream) throws IOException, WebApplicationException {
                outputStream.write(getArticles());
                outputStream.flush();
                outputStream.close();
            }
        };
    }
  

и мой клиент использует модернизацию

 @Streaming
    @GET
    Call<ResponseBody> fetchData();
  

Комментарии:

1. Результаты из DynamoDB обычно небольшие, а там, где это не так, они по-прежнему разбиваются на небольшие ответы <= 1 МБ каждый. Возможно, я что-то упускаю, но неясно, какова будет ценность «потоковых» результатов для клиента, в отличие от простой повторной сериализации и «записи» результатов удаленному клиенту в качестве ответа. Возможно, вы можете уточнить. Вы также можете указать свой язык, предполагая, что вы используете SDK.

2. @Michael-sqlbot к моему вопросу добавлены дополнительные сведения

3. Привет, @Hector ты нашел решение для этого? Я также ищу аналогичный вариант использования.

Ответ №1:

Если я не неправильно понял, что вы пытаетесь сделать, DynamoDB разрешает потоковую передачу. Из документов AWS:

DynamoDB Streams фиксирует упорядоченную по времени последовательность изменений на уровне элементов в любой таблице DynamoDB и сохраняет эту информацию в журнале в течение 24 часов. Приложения могут получить доступ к этому журналу и просматривать элементы данных в том виде, в каком они появились до и после их изменения, практически в режиме реального времени. … Для чтения и обработки потока вашему приложению потребуется подключиться к конечной точке DynamoDB Streams и отправлять запросы API.

Amazon DynamoDB передает действия

Комментарии:

1. это не те потоки, о которых я говорю. Я хочу иметь возможность запрашивать DynamoDB для любых хранящихся данных и возвращать результаты в виде потока.

2. Привет, @Hector ты нашел решение для этого? Я также ищу аналогичный вариант использования.