# 55. Качване на zip файлове (над 6 MB)

Като техническо ограничение на облачния доставчик AWS, качването на файлове по-големи от 6 MB трябва да се извърши в 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/bg/api-dokumenti/obsh-pregled-na-zayavkite-km-geopard-api/1.-abonament-poluchavane-na-sbitiya.md).

{% hint style="info" %}
Отговорът в хедъра включва `Etag` хедър, който се появява например като `Etag: "6fd3e76992738357ab50039f2c60024e"`. Тази стойност впоследствие се използва в GraphQL [query getPlatformContext](/geopard-tutorials/bg/api-dokumenti/obsh-pregled-na-zayavkite-km-geopard-api/83.-zayavka-sbirane-na-kontekst-na-platformata.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/bg/api-dokumenti/obsh-pregled-na-zayavkite-km-geopard-api/55.-kachvane-na-zip-failove-nad-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.
