55. Загрузка zip-файлов (более 6 МБ)

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

1. Запросить предварительно подписанную ссылку для последующей прямой загрузки.

В качестве входных данных:

  • fileType - урожайность ИЛИ почва ИЛИ внесенного ИЛИ adapt ИЛИ граница,

  • farmUuid (необязательно) - UUID хозяйства (фермы) для импорта файла.

В качестве выходных данных:

  • uuid - ожидаемый UUID после загрузки и обработки,

  • farmUuid - тот же, что и в входных данных,

  • fileType - тот же, что и в входных данных,

  • s3Url - URL, используемый для загрузки файла,

  • s3Fields - атрибуты, которые нужно передать в форму загрузки файла.

Подробности о том, как использовать s3Url и s3Fields описаны во втором шаге.

Атрибуты действительны только 60 минут для загрузки файла.

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

2. Отправьте локальный файл на s3Url с заранее заданными атрибутами формы из s3Fields.

Уведомления о процессе обработки будут доставляться через механизм подписки, описанный в 1. Подписка: Получение событий.

circle-info

В заголовке ответа присутствует Etag заголовок, который выглядит, например, как Etag: "6fd3e76992738357ab50039f2c60024e". Это значение впоследствии используется в GraphQL query getPlatformContext для отслеживания прогресса обработки, а также для связи с сущностями "Field" (поле), "AsAppliedDataset" (данные о применении), "YieldDataset" (данные урожайности) и "SoilDataset" (данные почвы).

circle-info

Используйте ‘Accept-Encoding’:’gzip, deflate, br’.

Последнее обновление

Это было полезно?