Согласно документации Spaces , Spaces совместим с API-интерфейсом AWS S3:
API-интерфейс Spaces предназначен для обеспечения взаимодействия с Amazon AWS S3 API.В большинстве случаев при использовании клиентской библиотеки установка «конечной точки» или «базового» URL-адреса в $ {REGION} .digitaloceanspaces.com и создание ключа пробелов вместо вашего ключа IAM AWS позволит вам использовать пробелы вместо S3.
Поэтому я в итоге использовал s3-streamlogger с Winston
для загрузки журналов в мое пространство:
import winston from 'winston';
import { S3StreamLogger } from 's3-streamlogger';
const s3Stream = new S3StreamLogger({
bucket: "mybucket",
config: {
endpoint: 'nyc3.digitaloceanspaces.com',
},
access_key_id: "MY_ACCESS_KEY",
secret_access_key: "MY_SECRET_KEY",
tags: {type: "mytype", project: "myproject"}
});
const s3Transport = new winston.transports.Stream({
stream: s3Stream
});
export const logger = winston.createLogger({
transports: [s3Transport]
});
logger.info('Hello Winston!');
Надеюсь, это поможет