簡體   English   中英

帶有 minio 的 AWS s3 網關

[英]AWS s3 gateway with minio

我對 minio s3 網關有點困惑。 當我們使用 s3 網關運行 minio 服務器時,是否需要 aws sdk? 我的服務器開始運行,瀏覽器向我顯示 s3 存儲桶,但我無法通過我的節點應用程序連接到服務器。 它說明端口 9000 無效。 這是否與 aws sdk 或其他需要在這里做的事情有關?

我已經瀏覽了 minio 的文檔,但沒有以適當的方式找到任何東西。 文檔分為不同的塊,它沒有說明這樣的事情。 自2天以來,我一直陷入困境。 如果有人可以幫助我,我將不勝感激。

錯誤日志如下:

InvalidArgumentError: Invalid port : 9000,
    at new Client (/var/www/html/learn-otter-api/node_modules/minio/dist/main/minio.js:97:13)

錯誤來自 minio 驗證每個選項的類型。

if (!(0, _helpers.isValidPort)(params.port)) {
    throw new errors.InvalidArgumentError(`Invalid port : ${params.port}`);
}
function isValidPort(port) {
  // verify if port is a number.
  if (!isNumber(port)) return false;
...

由於它會根據數字類型檢查端口號,因此如果您像我一樣從 process.env 讀取端口號,則需要強制轉換為數字。

之后,您可能會發現自己遇到另一個類似的錯誤,但這次錯誤消息更具解釋性。

if (!(0, _helpers.isBoolean)(params.useSSL)) {
    throw new errors.InvalidArgumentError(`Invalid useSSL flag type : ${params.useSSL}, expected to be of type "boolean"`);
} // Validate region only if its set.

因此,如果您確實從 process.env 中讀取了選項,請嘗試將它們轉換為所需的類型。

const minioOptions = {
    "endPoint": process.env.MINIO_ENDPOINT,
    "port": 1 * process.env.MINIO_PORT,
    "useSSL": "true" === process.env.MINIO_USE_SSL,
    "accessKey": process.env.MINIO_ACCESS_KEY,
    "secretKey": process.env.MINIO_SECRET_KEY
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM