2016-05-13 14 views
1

Ich möchte direkt von meinem clientseitigen JavaScript-Code in einen Google Cloud Storage Bucket hochladen, obwohl der Bucket nicht öffentlich beschreibbar sein sollte. Der serverseitige Code ist Node.js. In der Vergangenheit konnte ich direkt auf Amazon S3 hochladen, indem ich eine temporäre Autorisierung für den Client auf dem Server generierte. Wie erfolgt das Hochladen einer Datei in einen schreibgeschützten Google Cloud Storage-Bucket, d. H. Für den eine Autorisierung erforderlich ist?Wie lade ich von clientseitigem JavaScript auf Google Cloud Storage hoch, mit Node auf dem Server?

Antwort

1

Ich habe festgestellt, dass ich getSignedUrl verwenden kann, die angeblich bestimmten befristeten Zugang (zB zum Schreiben) in eine Datei ermöglichen:

bucket = gcs.bucket('aBucket') 
bucket.file('aFile').getSignedUrl({ 
    action: 'write', 
    expires: moment.utc().add(1, 'days').format(), 
}, (error, signedUrl) => { 
    if (error == null) { 
    console.log(`Signed URL is ${signedUrl}`) 
    } 
}) 

Um eine Datei zu laden, geben Sie eine PUT-Anfrage an die erhaltene signierte URL.

Verwandte Themen