У меня есть папка в блоке с 10 000 файлов. Кажется, нет никакого способа загрузить их и немедленно обнародовать их. Таким образом, я загрузил их всех, они являются частными, и я должен сделать их всех общественностью.
Я попробовал aws консоль, она просто дает ошибку (хорошо работает с папками с меньшим количеством файлов).
Я попытался использовать организацию S3 в Firefox, том же самом.
Есть ли некоторое программное обеспечение или некоторый скрипт, который я могу запустить для создания всех ими общественность?
Взгляните на BucketExplorer , он очень хорошо управляет массовыми операциями и является надежным клиентом S3.
Вы могли бы подумать, что они опубликуют информацию о поведении по умолчанию, не так ли? :) Я поделился вашим разочарованием при создании пользовательского API для взаимодействия с S3 из решения C #. Вот фрагмент, который выполняет загрузку объекта S3 и устанавливает для него общедоступный доступ для чтения по умолчанию:
public void Put(string bucketName, string id, byte[] bytes, string contentType, S3ACLType acl) {
string uri = String.Format("https://{0}/{1}", BASE_SERVICE_URL, bucketName.ToLower());
DreamMessage msg = DreamMessage.Ok(MimeType.BINARY, bytes);
msg.Headers[DreamHeaders.CONTENT_TYPE] = contentType;
msg.Headers[DreamHeaders.EXPECT] = "100-continue";
msg.Headers[AWS_ACL_HEADER] = ToACLString(acl);
try {
Plug s3Client = Plug.New(uri).WithPreHandler(S3AuthenticationHeader);
s3Client.At(id).Put(msg);
} catch (Exception ex) {
throw new ApplicationException(String.Format("S3 upload error: {0}", ex.Message));
}
}
Функция ToACLString (acl) возвращает общедоступное чтение , BASE_SERVICE_URL - s3.amazonaws. com , а константа AWS_ACL_HEADER - x-amz-acl . Подключаемые модули и DreamMessage могут показаться вам странными, поскольку мы используем фреймворк Dream для оптимизации наших HTTP-коммуникаций. По сути, мы выполняем HTTP PUT с указанными заголовками и специальной подписью заголовка в соответствии со спецификациями aws (см. Эту страницу в aws docs для примеров того, как создать заголовок авторизации).
Чтобы изменить существующие списки ACL для 1000 объектов, вы можете написать сценарий, но, вероятно, проще использовать инструмент с графическим интерфейсом для немедленного решения проблемы. Лучшее, что я использовал до сих пор, принадлежит компании под названием морошка для S3; похоже, что у них есть бесплатная 15-дневная пробная версия по крайней мере для одного из своих продуктов. Я только что проверил, что это позволит вам выбрать сразу несколько объектов и сделать их ACL общедоступными через контекстное меню. Наслаждайтесь облаком!