# 55. Cargar archivos zip (más de 6 MB)

Como limitación técnica del proveedor de la nube AWS, la carga de archivos mayores de 6 MB debe realizarse en 2 pasos:

#### **1. Solicitar el enlace prefirmado para la posterior carga directa.**  <a href="#step1" id="step1"></a>

Como entrada:&#x20;

* `fileType` - `rendimiento` O `suelo` O `aplicado` O `adapt` O `límite`,&#x20;
* `farmUuid` (opcional) - uuid de la explotación agrícola para importar el archivo.&#x20;

Como salida:

* `uuid` - el uuid esperado después de la carga y el procesamiento,
* `farmUuid` - el mismo que la entrada,
* `fileType` - el mismo que la entrada,
* `s3Url` - la URL utilizada para subir el archivo,
* `s3Fields` - atributos para pasar en el formulario de carga del archivo.

Los detalles de cómo usar `s3Url` y `s3Fields` se describen en el segundo paso.&#x20;

Los atributos son válidos solo durante 60 minutos para subir el archivo.

{% 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. Enviar un archivo local a s3Url con los atributos de formulario predefinidos desde 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 %}

Las notificaciones sobre el procesamiento se entregarán mediante el mecanismo de suscripción descrito en\
&#x20;[1. Suscripción: Obtener eventos](/geopard-tutorials/esp/documentacion-de-la-api/resumen-de-solicitudes-de-la-api-de-geopard/1.-suscripcion-obtener-eventos.md).

{% hint style="info" %}
El encabezado de respuesta incluye un `Etag` header, que aparece por ejemplo `Etag: "6fd3e76992738357ab50039f2c60024e"`. Este valor se utiliza posteriormente en GraphQL [query getPlatformContext](/geopard-tutorials/esp/documentacion-de-la-api/resumen-de-solicitudes-de-la-api-de-geopard/83.-consulta-recopilar-contexto-de-la-plataforma.md) para supervisar el progreso del procesamiento, así como la asociación con las entidades "Field", "AsAppliedDataset", "YieldDataset" y "SoilDataset".
{% endhint %}

{% hint style="info" %}
Usar `‘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/esp/documentacion-de-la-api/resumen-de-solicitudes-de-la-api-de-geopard/55.-cargar-archivos-zip-mas-de-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.
