# 55. Завантажити zip-файли (понад 6 МБ)

Через технічне обмеження провайдера хмари AWS завантаження файлів розміром більше 6 МБ має відбуватися у 2 кроки:

#### **1. Запитати передпідписане посилання для подальшого прямого завантаження.**  <a href="#step1" id="step1"></a>

Як вхідні дані:&#x20;

* `fileType` - `урожайність` АБО `ґрунт` АБО `застосованого` АБО `adapt` АБО `межа`,&#x20;
* `farmUuid` (необов'язково) - uuid ферми для імпорту файлу.&#x20;

Як вихідні дані:

* `uuid` - очікуваний uuid після завантаження та обробки,
* `farmUuid` - те саме, що й на вході,
* `fileType` - те саме, що й на вході,
* `s3Url` - URL, який використовується для завантаження файлу,
* `s3Fields` - атрибути, які потрібно передати у формі завантаження файлу.

Деталі щодо використання `s3Url` та `s3Fields` описані у другому кроці.&#x20;

Атрибути дійсні лише 60 хвилин для завантаження файлу.

{% code overflow="wrap" lineNumbers="true" %}

```graphql
mutation GeneratePresignedPostFileData {
  generatePresignedPostFileData(input:{
    fileType: applied
    farmUuid: "8bba5132-3a92-4ce1-8699-220e78ad68bd"
  } ) {
    uuid
    farmUuid
    fileType
    s3Url
    s3Fields
  }
}

```

{% endcode %}

#### **2. Надіслати локальний файл на s3Url з попередньо визначеними атрибутами форми з s3Fields.**  <a href="#step2" id="step2"></a>

{% code overflow="wrap" lineNumbers="true" %}

```bash
curl --location --request POST '<s3Url>' \\
--form 'key="<value_in_s3Fields>"' \\
--form 'AWSAccessKeyId="<value_in_s3Fields>"' \\
--form 'x-amz-security-token="<value_in_s3Fields>"' \\
--form 'policy="<value_in_s3Fields>"' \\
--form 'signature="<value_in_s3Fields>"' \\
--form 'file=@"<local_file_path>"'
```

{% endcode %}

Сповіщення про обробку надходитимуть через механізм підписки, описаний у\
&#x20;[1. Підписка: Отримати події](/geopard-tutorials/ukrainian/dokumentaciya-api/oglyad-zapitiv-geopard-api/1.-pidpiska-otrimati-podiyi.md).

{% hint style="info" %}
У заголовку відповіді присутній `Etag` заголовок, який виглядає, наприклад, `Etag: "6fd3e76992738357ab50039f2c60024e"`. Це значення надалі використовується в GraphQL [query getPlatformContext](/geopard-tutorials/ukrainian/dokumentaciya-api/oglyad-zapitiv-geopard-api/83.-zapit-zibrati-kontekst-platformi.md) щоб відстежувати прогрес обробки, а також асоціацію з сутностями "Field", "AsAppliedDataset", "YieldDataset" та "SoilDataset".
{% endhint %}

{% hint style="info" %}
Використовуйте `‘Accept-Encoding’:’gzip, deflate, br’`.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.geopard.tech/geopard-tutorials/ukrainian/dokumentaciya-api/oglyad-zapitiv-geopard-api/55.-zavantazhiti-zip-faili-ponad-6-mb.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
