2015-11-13 2 views
0

У меня есть эта настройка в моей среде амазонок: Распределение CloudFront -> ведро S3 в Франкфурте. К сожалению, более новые регионы поддерживают только подписи v4, и это вызывает у меня некоторые головные боли. Я использую fine-uploader для прямой загрузки в облачный дистрибутив, и все работает нормально, если файл фрагментирован (в этом случае fine-uploader использует put для загрузки файла). Проблема возникает, когда размер файла меньше размера блока. В этом случае метод fine-uploader изменяет метод POST. Поскольку Post не поддерживается (как в documentation) облачным ядром, я не могу загружать файлы. Есть какой-то способ перезаписать метод загрузки для не разбитых файлов?S3 use PUTinstead POST

+0

Какую версию подписки вы используете? –

+0

@RayNicholus i-e-tip в github и, очевидно, я использую подпись v4. – Tiziano

+0

Хорошо. Для людей, которые не знают вашей ситуации, это хорошая идея включить эти детали в вопрос, поскольку это не относится к подписям v2. –

ответ

0

Я только что внесла некоторые изменения в предварительную версию Fine Uploader 5.4. Если вы отправляете файлы через CDN и с использованием подписей v4, вам нужно будет указать имя хоста вашего ведра S3 для Fine Uploader S3. Это гарантирует, что заголовки подписываются, используя имя хоста bucket, а не имя хоста вашего CDN. Это было проверено и проверено с помощью Fastly, и оно должно работать с любым нормальным CDN. CloudFront, по большей части, беспорядок, поэтому никаких гарантий с CF.

В результате моего изменения я не верю, что вам больше не понадобится использовать идентификатор доступа к источнику, и поэтому он не будет ограничен запросами PUT.

Я обновил документацию для раздела CDN на S3 feature page in the develop branch для справки. 5.4.0 планируется выпустить на следующей неделе.

+1

Вы мой герой – Tiziano

-1

Вы можете просто уменьшить максимальный размер куска S3. Смотрите документы здесь: http://docs.aws.amazon.com/cli/latest/topic/s3-config.html#multipart-chunksize

multipart_chunksize

По умолчанию - 8MB

После того, как команды S3 решили использовать многокомпонентные операции, файл разбивается на куски. Этот параметр конфигурации указывает, какой размер блока (также называемый размером детали) должен быть. Это значение может быть определено с использованием той же семантики, что и multipart_threshold, либо как количество байтов как целое число, либо с использованием суффикса размера.

+0

Ну, к сожалению, s3 многопартийный минимальный размер составляет 5 Мб (даже если я устанавливаю multipart_chunksize или любую другую опцию, которую я устанавливаю), поэтому для файла, меньшего, чем этот метод, используется post – Tiziano

+0

' Размер файла с суффиксом размера. Вы можете использовать KB, MB, GB, TB. Например: 10 МБ, 1 ГБ. Обратите внимание, что S3 накладывает ограничения на допустимые значения, которые могут использоваться для многочастных операций. ' – Nhor

+0

@nhor http://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadUploadPart.html –