[ 
https://issues.apache.org/jira/browse/NIFI-14287?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Peter Turcsanyi updated NIFI-14287:
-----------------------------------
    Description: 
FetchGoogleDrive can download Google Docs, Sheets and Slides documents from 
Google Drive. It involves an export step from the internal Google format to a 
downloadable format like PDF. There is a hard limit of 10 MB for file size when 
using the export REST endpoint (Drive.files().export() method in the Java 
client).

[https://issuetracker.google.com/issues/36761333]

The workaround is to use export links for 10MB+ files.


{code:java}
2025-02-19 18:01:53,750 ERROR [Timer-Driven Process Thread-6] 
o.a.n.p.gcp.drive.FetchGoogleDrive 
FetchGoogleDrive[id=9e78f197-19fa-3103-b2ed-7c365f264ba5] Fetching File 
[1eoRzs3j4oVkT8gewvsRFUe6e7fuKh-GMOl34Ja-KvQ0] failed
com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
GET 
https://www.googleapis.com/download/drive/v3/files/1eoRzs3j4oVkT8gewvsRFUe6e7fuKh-GMOl34Ja-KvQ0/export?alt=media&mimeType=application/pdf
{
  "code": 403,
  "errors": [
    {
      "domain": "global",
      "message": "This file is too large to be exported.",
      "reason": "exportSizeLimitExceeded"
    }
  ],
  "message": "This file is too large to be exported."
}
        at 
com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:145)
        at 
com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:118)
        at 
com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:37)
        at 
com.google.api.client.googleapis.services.AbstractGoogleClientRequest$3.interceptResponse(AbstractGoogleClientRequest.java:479)
        at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1111)
        at 
com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:565)
        at 
com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:506)
        at 
com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeMedia(AbstractGoogleClientRequest.java:530)
        at 
com.google.api.services.drive.Drive$Files$Export.executeMedia(Drive.java:6306)
        at 
com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeMediaAsInputStream(AbstractGoogleClientRequest.java:662)
        at 
com.google.api.services.drive.Drive$Files$Export.executeMediaAsInputStream(Drive.java:6301)
        at 
org.apache.nifi.processors.gcp.drive.FetchGoogleDrive.exportFile(FetchGoogleDrive.java:350)
        at 
org.apache.nifi.processors.gcp.drive.FetchGoogleDrive.fetchFile(FetchGoogleDrive.java:325)
        at 
org.apache.nifi.processors.gcp.drive.FetchGoogleDrive.onTrigger(FetchGoogleDrive.java:287)
        at 
org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
        at 
org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1272)
        at 
org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:244)
        at 
org.apache.nifi.controller.scheduling.AbstractTimeBasedSchedulingAgent.lambda$doScheduleOnce$0(AbstractTimeBasedSchedulingAgent.java:59)
        at org.apache.nifi.engine.FlowEngine.lambda$wrap$1(FlowEngine.java:105)
        at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
        at 
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
        at java.base/java.lang.Thread.run(Thread.java:1583)
{code}


 

  was:
FetchGoogleDrive can download Google Docs, Sheets and Slides documents from 
Google Drive. It involves an export step from the internal Google format to a 
downloadable format like PDF. There is a hard limit of 10 MB for file size when 
using the export REST endpoint (Drive.files().export() method in the Java 
client).

[https://issuetracker.google.com/issues/36761333]

The workaround is to use export links for 10MB+ files.

 


> ExportSizeLimitExceeded error in FetchGoogleDrive
> -------------------------------------------------
>
>                 Key: NIFI-14287
>                 URL: https://issues.apache.org/jira/browse/NIFI-14287
>             Project: Apache NiFi
>          Issue Type: Bug
>            Reporter: Peter Turcsanyi
>            Assignee: Peter Turcsanyi
>            Priority: Major
>
> FetchGoogleDrive can download Google Docs, Sheets and Slides documents from 
> Google Drive. It involves an export step from the internal Google format to a 
> downloadable format like PDF. There is a hard limit of 10 MB for file size 
> when using the export REST endpoint (Drive.files().export() method in the 
> Java client).
> [https://issuetracker.google.com/issues/36761333]
> The workaround is to use export links for 10MB+ files.
> {code:java}
> 2025-02-19 18:01:53,750 ERROR [Timer-Driven Process Thread-6] 
> o.a.n.p.gcp.drive.FetchGoogleDrive 
> FetchGoogleDrive[id=9e78f197-19fa-3103-b2ed-7c365f264ba5] Fetching File 
> [1eoRzs3j4oVkT8gewvsRFUe6e7fuKh-GMOl34Ja-KvQ0] failed
> com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 
> Forbidden
> GET 
> https://www.googleapis.com/download/drive/v3/files/1eoRzs3j4oVkT8gewvsRFUe6e7fuKh-GMOl34Ja-KvQ0/export?alt=media&mimeType=application/pdf
> {
>   "code": 403,
>   "errors": [
>     {
>       "domain": "global",
>       "message": "This file is too large to be exported.",
>       "reason": "exportSizeLimitExceeded"
>     }
>   ],
>   "message": "This file is too large to be exported."
> }
>       at 
> com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:145)
>       at 
> com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:118)
>       at 
> com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:37)
>       at 
> com.google.api.client.googleapis.services.AbstractGoogleClientRequest$3.interceptResponse(AbstractGoogleClientRequest.java:479)
>       at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1111)
>       at 
> com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:565)
>       at 
> com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:506)
>       at 
> com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeMedia(AbstractGoogleClientRequest.java:530)
>       at 
> com.google.api.services.drive.Drive$Files$Export.executeMedia(Drive.java:6306)
>       at 
> com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeMediaAsInputStream(AbstractGoogleClientRequest.java:662)
>       at 
> com.google.api.services.drive.Drive$Files$Export.executeMediaAsInputStream(Drive.java:6301)
>       at 
> org.apache.nifi.processors.gcp.drive.FetchGoogleDrive.exportFile(FetchGoogleDrive.java:350)
>       at 
> org.apache.nifi.processors.gcp.drive.FetchGoogleDrive.fetchFile(FetchGoogleDrive.java:325)
>       at 
> org.apache.nifi.processors.gcp.drive.FetchGoogleDrive.onTrigger(FetchGoogleDrive.java:287)
>       at 
> org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
>       at 
> org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1272)
>       at 
> org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:244)
>       at 
> org.apache.nifi.controller.scheduling.AbstractTimeBasedSchedulingAgent.lambda$doScheduleOnce$0(AbstractTimeBasedSchedulingAgent.java:59)
>       at org.apache.nifi.engine.FlowEngine.lambda$wrap$1(FlowEngine.java:105)
>       at 
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
>       at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
>       at 
> java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
>       at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
>       at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
>       at java.base/java.lang.Thread.run(Thread.java:1583)
> {code}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to