Сделать ресурс S3 общедоступным только для чтения на некоторое время, используя AWS SDK для узла? - PullRequest
0 голосов
/ 29 декабря 2018

Я интегрировал S3 в свое приложение узла и загружаю определенные документы в S3.Нужно поделиться этими документами с третьей стороной.Отправьте URL-адреса третьим лицам через API, и они сразу же загрузят его.Я хочу сделать объекты S3 общедоступными на некоторое время.Как мне этого добиться?

Ответы [ 2 ]

0 голосов
/ 04 января 2019

С помощью @ varnit я смог определить публичный URL на определенный срок.У меня была другая проблема, получить ключ от URL ресурса.

Решено, что в узле используется это:

AmazonS3URI(resourceUrl) 

, которое возвращает что-то вроде этого:

{  
   "uri":{  
      "protocol":"https:",
      "slashes":true,
      "auth":null,
      "host":"bucket.s3.region.amazonaws.com",
      "port":null,
      "hostname":"bucket.s3.region.amazonaws.com",
      "hash":null,
      "search":null,
      "query":null,
      "pathname":"/private/region%xxxxxx/file",
      "path":"/private/region%xxxxx/file",
      "href":"https://bucket.s3.region.amazonaws.com/private/region%xxxxxx/file"
   },
   "isPathStyle":false,
   "bucket":"aaaa-bbbb-ccc",
   "key":"private/xxxxx:yyyyy/file",
   "region":"region"
 }
0 голосов
/ 29 декабря 2018

Предназначенный для S3 URL - это то, что вы ищете, вы можете использовать его для создания ссылок для вашей третьей стороны со сроком действия.Я публикую ссылочные ссылки ниже

Официальная документация по предварительно назначенному URL-адресу AWS

Сообщение в блоге, в котором дополнительно демонстрируются предварительно назначенные URL-адреса

...