Механизм приложения Google и загрузки файла Amazon S3

Краткий ответ: невозможно.

Немного более длинный ответ: после компиляции кода параметры типа отбрасываются. Таким образом, Java не может знать, что вы там установили. Вы можете, однако, передать рассматриваемый класс своему объекту и оперировать им:

public class A<T> {
  private final clazz;

  A(Class<T> clazz){
     this.clazz = clazz;
  }
...
}
6
задан mistero 9 June 2009 в 22:52
поделиться

5 ответов

Из документации Amazon S3 :

  1. Пользователь открывает веб-браузер и получает доступ к вашей веб-странице.

  2. Веб-страница содержит HTTP-форму, которая содержит все информация, необходимая пользователю для загрузки контента в Amazon S3.

  3. Пользователь загружает контент непосредственно в Amazon S3.

GAE подготавливает и обслуживает веб-страницу, что является быстрой операцией. Пользователь загружает файлы в S3, это длительная операция, но это между браузером вашего пользователя и Amazon; GAE не участвует.

Частью протокола S3 является success_action_redirect , который позволяет вам сообщить S3, куда направить браузер в случае успешной загрузки. Это перенаправление может быть на GAE.

13
ответ дан 8 December 2019 в 12:22
поделиться

Google App Engine и EC2 являются конкурентами. Они делают то же самое, хотя GAE предоставляет среду для работы вашего приложения со строгими языковыми ограничениями, тогда как EC2 предоставляет вам виртуальную машину (подумайте о VMWare), на которой будет размещено ваше приложение.

S3, с другой стороны, является необработанное хранилище api. Вы можете использовать API-интерфейс SOAP или REST для доступа к нему. Если вы хотите придерживаться GAE, вы можете просто использовать Amazon S3 Python Library для выполнения вызовов REST с Python на S3.

Вам, конечно, придется заплатить за использование на S3. Удивительно, насколько детализирован их биллинг. Когда я начинал, с меня взимали буквально 4 цента в месяц.

3
ответ дан 8 December 2019 в 12:22
поделиться

Некоторые ссылки Google App Engine + S3:

Предыдущий связанный пост ... Ограничение 10 МБ .

Эта ссылка демонстрирует загрузку небольших файлов . Я еще не нашел примера больших загрузок ...

Эта ссылка показывает другой подход, ( с исправлением известной проблемы )

0
ответ дан 8 December 2019 в 12:22
поделиться

Для дальнейшего использования Google добавил поддержку загрузки больших файлов (до 50 Мб): Новая возможность была выпущена в рамках API Blobstore и обсуждается здесь.

2
ответ дан 8 December 2019 в 12:22
поделиться

Полагаю, ответ Томаса Л. Холадея - правильный. В любом случае, на всякий случай, вот ссылка на Amazon Web Services SDK для App Engine (Java), которую вы можете использовать, например, для загрузки файлов из App Engine в Amazon S3. ( Редактировать: О, только что заметил - за исключением S3 ) http://apetresc.wordpress.com/2010/06/22/introduction-the-gae-aws-sdk-for-java/

Автор Адриан Петреску.С его веб-сайта:

[ Это ] версия веб-служб Amazon. SDK для Java, который будет работать изнутри Google App Engine. Это не было бы работать, если вы просто включили JAR что AWS предоставляет непосредственно в GAE WAR, потому что модель безопасности GAE не поддерживает протокол Apache Commons HTTP Клиент для создания розеток и низкоуровневые сетевые примитивы требуется установить HTTP связь; вместо этого Google требует вы должны сделать все связи через его утилита URLFetch

1
ответ дан 8 December 2019 в 12:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: