﻿---
sidebar_position: 8
---

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

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



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

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

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

<br/>

:::tip
Метод в документации AWS: [GetObjectAttributes](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html)

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



```bsl title="Пример использования для 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.ПолучитьОбъект(Наименование, Бакет, ОсновныеДанные, , , ВременныйФайл);
```
    

 <Tabs>
  
    <TabItem value="bash" label="Bash" default>
        ```bash
            # JSON данные также могут быть переданы как путь к файлу .json
            
            oint s3 ПолучитьОбъект \
              --name "bigfile.exe" \
              --bucket "newbucket2" \
              --basic "{'URL':'storage-155.s3hoster.by','AccessKey':'***','SecretKey':'***','Region':'BTC','Service':'s3','ChunkSize':200000}"
        ```
    </TabItem>
  
    <TabItem value="bat" label="CMD/Bat" default>
        ```batch
            :: JSON данные также могут быть переданы как путь к файлу .json
            
            oint s3 ПолучитьОбъект ^
              --name "bigfile.exe" ^
              --bucket "newbucket2" ^
              --basic "{'URL':'storage-155.s3hoster.by','AccessKey':'***','SecretKey':'***','Region':'BTC','Service':'s3','ChunkSize':200000}"
        ```
    </TabItem>
</Tabs>


```json title="Результат"
НЕ 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…
```
