Я пытаюсь взять набор файлов, хранящихся в одной корзине, и скопировать их в другую (один временный, а другой временный - файлы должны храниться в течение более длительного периода времени). Я использую NodeJS ForgeSDK, используя getObject для загрузки файла, затем uploadObject, чтобы поместить его во вторую корзину. Кажется, это работает нормально для большинства файлов, которые я перемещаю, но терпит неудачу, когда я пытаюсь использовать его в файле JSON.
Я пробовал преобразовать JSON как в буфер, так и в строку перед вызовом uploadObject, оба не дают ошибку тайм-аута шлюза.
Есть какие-нибудь предложения, как заставить это работать? Спасибо!
static copyObjectToBucket(oAuth2TwoLegged, bucketName, copyToBucketName, objectName, access, callback) {
console.log(bucketName, copyToBucketName, objectName);
ObjectsApi.getObject(bucketName, objectName, {}, oAuth2TwoLegged, oAuth2TwoLegged.getCredentials())
.then((resp) => {
var headers = resp.headers;
var contentLength = headers['content-length'];
var body = resp.body;
if (objectName.includes('json')){
body = JSON.stringify(body[0]);
}
ObjectsApi.uploadObject(copyToBucketName, objectName, contentLength, body, {}, oAuth2TwoLegged, oAuth2TwoLegged.getCredentials())
.then(
(res) =>{
console.log(res);
callback;
}
)
.catch((err) =>{
console.log(err);
}
);
})
}