S3 альтернативные конечные точки для назначенных операций

Я использую клиент Minio для доступа к S3. У хранилища S3, которое я использую, есть две конечные точки - одна (скажем, EP1), которая доступна из частной сети, а другая (скажем, EP2) из ​​Интернета. Мое приложение создает заданный URL-адрес для загрузки объекта S3 с использованием EP1, поскольку оно не может получить доступ к EP2. Этот URL используется другим приложением, которое не находится в этой частной сети и, следовательно, имеет доступ только к EP2. Этот URL (очевидно) не работает, когда используется приложением вне сети, так как в этом URL есть EP1.

Я просмотрел документацию minio, но не нашел ничего, что помогло бы мне указать альтернативные конечные точки.

Итак, мой вопрос -

  1. Есть ли что-то, что я пропустил из minio, что может мне помочь?
  2. Есть ли какая-либо особенность S3, которая позволяет генерировать предопределенный URL для объекта с EP2 в нем?
  3. Или это не решаемо без изменения текущей схемы сети?

1 ответ

Ты можешь использовать minio-js управлять этим

Вот пример, который вы можете использовать

var Minio = require('minio')

var s3Client = new Minio.Client({
 endPoint: "EP2",
  port: 9000,
  useSSL: false,
  accessKey: "minio",
  secretKey: "minio123",
  region: "us-east-1"
})

var presignedUrl = s3Client.presignedPutObject('my-bucketname', 'my-objectname', 1000, function(e, presignedUrl) {
  if (e) return console.log(e)
  console.log(presignedUrl)
})

Это не будет связываться с сервером вообще. Единственное, что вам нужно, это знать регион, к которому относится ведро. Если вы не установили какой-либо location в Minio, то вы можете использовать us-east-1 по умолчанию.

Другие вопросы по тегам