Перейти к основному содержимому

Получить объект

Получает содержимое объекта из бакета

Функция ПолучитьОбъект(Знач Наименование, Знач Бакет, Знач ОсновныеДанные, Знач Версия = "", Знач Заголовки = Неопределено, Знач ПутьСохранения = "") Экспорт

ПараметрCLI опцияТипОбяз.Назначение
Наименование--nameСтрокаНаименование объекта в бакете
Бакет--bucketСтрокаИмя бакета, в котором находится объект
ОсновныеДанные--basicСтруктура Из КлючИЗначениеОсновные данные запроса. См. ПолучитьСтруктуруДанных
Версия--verСтрокаТокен для получения конкретной версии объекта
Заголовки--headersСоответствие Из КлючИЗначениеДополнительные заголовки запроса, если необходимо
ПутьСохранения--outСтрокаПуть для прямой записи файла на диск

Возвращаемое значение: ДвоичныеДанные, Строка - содержимое объекта или путь к файлу, если указан путь сохранения


подсказка

Метод в документации AWS: GetObjectAttributes

Вы можете использовать поле ChunkSize в основных данных для указания минимального размера и величины чанка загрузки по частям. Например, ChunkSize равный X означает, что все файлы, размером больше X (в байтах) будут загружаться по частям, где одна часть будет размером X. Загрузка по частям используется для больших файлов. Стандартный размер ChunkSize - 20971520 байт (20 МБайт)


Пример использования для 1С:Предприятие/OneScript
    URL       = "storage-155.s3hoster.by";
AccessKey = "BRN5RKJE67...";
SecretKey = "NNhv+i9PrytpT8Tu0C1N...";
Region = "BTC";

ОсновныеДанные = OPI_S3.ПолучитьСтруктуруДанных(URL, AccessKey, SecretKey, Region);

Наименование = "picture.jpg";
Бакет = "opi-gpbucket3";

Результат = OPI_S3.ПолучитьОбъект(Наименование, Бакет, ОсновныеДанные);

ВременныйФайл = ПолучитьИмяВременногоФайла();
ОсновныеДанные.Вставить("ChunkSize", 200000);

Результат = OPI_S3.ПолучитьОбъект(Наименование, Бакет, ОсновныеДанные, , , ВременныйФайл);
Результат
НЕ JSON: FF D8 FF E1 54 C1 45 78 69 66 00 00 49 49 2A 00 08 00 00 00 0B 00 0E 01 02 00 20 00 00 00 92 00 00 00 0F 01 02 00 05 00 00 00 B2 00 00 00 10 01 02 00 07 00 00 00 B8 00 00 00 12 01 03 00 01 00