我正在使用 Minio和 NodeJS 中的 graphql,我想为我的 minio 资源设置一个数据加载器。
我知道 statObject函数让我通过提供资源的存储桶和名称来获取资源的元数据。
我希望能够传入多个名称,并从本质上获得一个数组,其中包含具有我传递的名称的对象的元数据。
例如,类似:
const objectNames = ['a.txt', 'b.txt', 'c.txt'];
minioClient.statObjects('bucket', objectNames, (err, res) => {});
我在文档中或在网上搜索时都没有找到类似的内容。这样的事情存在吗?
最佳答案
我在 JavaScript 存储库上提出了问题:https://github.com/minio/minio-js/issues/889并得到以下回复。
SDK will still have to make a call individually and return the values. There is no S3 API that corresponds to this feature request. I think the application itself can handle this instead of the SDK.Closing this issue, please feel free to reach out to us if you feel otherwsie
由于没有 S3 API 可以做我想做的事,我认为目前这是不可能的。我为自己设计了一种解决方法,即使用我自己的数据库来存储文件的元数据。我可以简单地列出存储桶中的所有对象并将它们的元数据上传到我自己的数据库中。大多数数据库都支持通过值数组进行查询,因此这将有助于避免任何 N+1 问题。
关于javascript - 如何在 minio 上的单个请求中统计多个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65444157/