#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.
Комментарии:
1. это не те потоки, о которых я говорю. Я хочу иметь возможность запрашивать DynamoDB для любых хранящихся данных и возвращать результаты в виде потока.
2. Привет, @Hector ты нашел решение для этого? Я также ищу аналогичный вариант использования.