S3备用端点用于预签名操作

时间:2019-02-13 06:45:51

标签: amazon-s3 minio

我正在使用minio客户端访问S3。我正在使用的S3存储有两个端点-一个(例如EP1)可从专用网络访问,另一个(例如EP2)可从互联网访问。由于无法访问EP2,我的应用程序创建了一个预签名URL,用于使用EP1下载S3对象。该URL由不在此专用网络上的另一个应用程序使用,因此只能访问EP2。该URL被网络外部的应用程序使用时(显然)不起作用,因为该URL中包含EP1。

我已经浏览了minio文档,但是没有找到任何可以帮助我指定备用端点的东西。

所以我的问题是-

  1. minio有什么我想念的东西可以帮助我吗?
  2. 是否有任何S3功能可允许为 里面有EP2的物体?
  3. 或者如果不更改就无法解决 当前的网络布局?

1 个答案:

答案 0 :(得分:0)

您可以使用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,则可以默认使用us-east-1