Могу ли я создать предварительно назначенные URL-адреса S3 putObject с потоком данных? - PullRequest
0 голосов
/ 01 октября 2019

Я знаю, что можно создать предварительно назначенный URL-адрес, ссылаясь на существующий файл в вашей системе, как показано в приведенном ниже коде, но возможно ли также создать предварительно назначенный URL-адрес непосредственно из содержимого данных или простого текста (например, имени файла): test.txt, content: 'Hello world')? Я пытался, но не смог заставить его работать.

function main() {
  const uploadFile = './image.jpg'; // File to upload
  const contentType = mime.lookup(uploadFile);
  const uploadedFilename = 'random file name'; // Name of uploaded file
  const params = buildUploadParams(BUCKET_NAME, UPLOAD_FOLDER + uploadedFilename, contentType, 120);

  const readFile = fs.readFileSync(uploadFile);
  const preSignedGetUrl = s3.getSignedUrl('putObject', params);
  console.log('Presigned URL: ' + preSignedGetUrl);
}

function buildUploadParams(bucket, key, contentType, expires) {
  return {
    Bucket: bucket,
    Key: key + '.jpg',
    ContentType: contentType,
    ACL: 'bucket-owner-full-control',
    Expires: expires
  }
}
...