55. Upload zip files (over 6 MB)
As a technical limitation of the AWS cloud provider, uploading files larger than 6 MB has to be done in 2 steps:
1. Request the pre-signed link for further direct upload.
As input:
fileType
-yield
ORsoil
ORapplied
ORadapt
ORboundary
,farmUuid
(optional) - uuid of the farm to import the file.
As output:
uuid
- the expected uuid after the upload and processing,farmUuid
- the same as input,fileType
- the same as input,s3Url
- the URL used to upload the file,s3Fields
- attributes to pass in the upload file form.
The details of how to use s3Url
and s3Fields
are described in the second step.
The attributes are valid for only 60 mins to upload the file.
mutation GeneratePresignedPostFileData {
generatePresignedPostFileData(input:{
fileType: applied
farmUuid: "8bba5132-3a92-4ce1-8699-220e78ad68bd"
} ) {
uuid
farmUuid
fileType
s3Url
s3Fields
}
}
2. Send a local file to s3Url with predefined form attributes from s3Fields.
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>"'
Notifications about the processing will be delivered via the subscription mechanism described in 1. Subscription: Get events.
Last updated
Was this helpful?