import*asMiniofrom'minio'constrequired=(name)=>{constvalue=process.env[name]if(!value)thrownewError(`${name} is required`)returnvalue}constclient=newMinio.Client({endPoint:required('S3_ENDPOINT'),port:Number(process.env.S3_PORT||9000),useSSL:process.env.S3_USE_SSL==='true',accessKey:required('S3_ACCESS_KEY'),secretKey:required('S3_SECRET_KEY'),})constbucket='javascript-quickstart'constobjectName='hello.txt'if(!(awaitclient.bucketExists(bucket))){awaitclient.makeBucket(bucket,'us-east-1')}awaitclient.putObject(bucket,objectName,Buffer.from('hello from SILO\n'),{'Content-Type':'text/plain'},)conststat=awaitclient.statObject(bucket,objectName)console.log(`Uploaded ${objectName}: ${stat.size} bytes`)
运行:
node quickstart.mjs
存储桶策略、通知、对象锁、预签名 URL、分段操作与其他 API 见仓库的 API 参考和持续维护的示例目录。长期文档应优先链接稳定目录,而不是持续复制单个示例文件名的假设。