Scarica un file API su disco in streaming

Segui il reindirizzamento di download protetto di dosya senza inoltrare la chiave API, scrivi i byte su disco in streaming e verifica il file salvato rispetto ai metadati.

Ultima revisione

Gli screenshot mostrano l’interfaccia in inglese.

L’endpoint standard per il download autorizza la richiesta e restituisce HTTP 302 con un URL di archiviazione prefirmato valido per cinque minuti. L’endpoint raw rimane su dosya e supporta intervalli di byte. I due endpoint funzionano in modo diverso: una risposta 302 non è di per sé un flusso del file.

Quattro pannelli mostrano la registrazione dei metadati, l'acquisizione dell'URL 302 protetto, lo streaming senza credenziale dosya e la verifica del numero di byte.
Il diagramma mostra la registrazione dei metadati, l'acquisizione dell'URL 302 protetto, lo streaming senza credenziale dosya e la verifica del numero di byte. Apri lo screenshot a dimensione intera.

Prima di iniziare

  • È sufficiente una chiave API con ambito di lettura, ma il ruolo nello spazio di lavoro deve consentire l’accesso alla pagina File e includere download_files.
  • Procurati l’ID del file. Aggiungi version=N per una versione precedente o ut=token solo se il tuo flusso ha ricevuto un token di sblocco.
  • Scrivi in un file locale temporaneo, così una risposta interrotta non sostituirà un file integro.

Passaggi

  1. Recupera prima i metadati e registra il nome e la dimensione attesi. Interrompi il processo se la versione scelta o il contesto di sblocco non corrispondono a quelli previsti da chi effettua la chiamata.
  2. Richiedi GET /api/files/file_id/download senza seguire automaticamente il reindirizzamento. Verifica che la risposta sia 302 e leggi Location; l’URL firmato scade normalmente dopo 300 secondi.
  3. Apri Location con una richiesta separata, senza Authorization né chiave API dosya. Scrivi i blocchi della risposta nel file temporaneo man mano che arrivano, senza tenere l’intero oggetto nel buffer.
  4. In alternativa, chiama GET /api/files/file_id/download-url; la risposta JSON contiene url, size, name e region. Il TTL richiesto è di 300 secondi per impostazione predefinita ed è limitato a 3600.
  5. Per riprendere il trasferimento dei byte, usa GET /api/files/file_id/raw con Range: bytes=start-. La risposta prevista è 206 con Accept-Ranges; un intervallo fuori dall’oggetto restituisce 416.
  6. Dopo la chiusura del flusso, confronta i byte scritti con i metadati o con size di download-url. Rinomina il file temporaneo nella posizione finale solo dopo la verifica.
Panoramica per sviluppatori dosya con accessi ad API e SDK per scaricare un file API su disco in streaming.
La panoramica per sviluppatori fornisce i punti di accesso ad API e SDK citati in “Scarica un file API su disco in streaming”. Apri lo screenshot a dimensione intera.

Risultato previsto

Il client archivia l’oggetto completo senza esporre la credenziale API all’host di archiviazione. Un download completo corrisponde al numero di byte previsto; una richiesta raw ripresa restituisce l’intervallo rimanente corretto.

Risoluzione dei problemi

La prima risposta è 302. È la risposta prevista per l’endpoint standard. Segui Location con una richiesta priva di credenziali.

L’URL firmato è scaduto. Richiedi un nuovo URL dopo una nuova autorizzazione; non modificarne la query string.

La richiesta raw restituisce 416. Confronta la dimensione parziale locale con quella remota attuale. Ricomincia se il file parziale la supera o appartiene a un’altra versione.

Guide correlate

Ti è stata utile?

Caricamento delle valutazioni…

Quando voti, salviamo un cookie tecnico per un massimo di 180 giorni, così puoi cambiare la tua risposta.

Domande e risposte

Fai una domanda sui passaggi di questa guida. Le domande vengono revisionate prima della pubblicazione.

Non inserire dati dell’account, credenziali o file privati nelle domande pubbliche. Usa l’assistenza privata in questi casi.

Caricamento delle domande…

    Accedi al tuo account dosya per fare una domanda.

    Controlla il risultato prima di riprovare

    Usa questi controlli quando devi verificare il risultato di un’attività.