From 73a53f490021ca2a33fc631b0aaa8d18ebe1d066 Mon Sep 17 00:00:00 2001 From: Harry Martland Date: Thu, 22 Aug 2024 17:16:35 +0000 Subject: [PATCH] Adds s3 storage class configuration --- languages/de.json | 1 + languages/en_CA.json | 1 + languages/fr.json | 1 + languages/it.json | 1 + languages/ja.json | 1 + libs/uploaders/amazonS3.js | 16 ++++++++++++++-- 6 files changed, 19 insertions(+), 2 deletions(-) diff --git a/languages/de.json b/languages/de.json index 185ec88c..739ca7c7 100644 --- a/languages/de.json +++ b/languages/de.json @@ -385,6 +385,7 @@ "Started": "Gestartet", "Status Indicator": "Statusanzeige", "Stop URL": "Stop-URL", + "Storage Class": "Speicherklassen", "Stream": "Stream", "Stream Flags": "Stream-Flags", "Stream Timestamp": "Stream-Timestamp", diff --git a/languages/en_CA.json b/languages/en_CA.json index ea98485e..8d5d04b2 100644 --- a/languages/en_CA.json +++ b/languages/en_CA.json @@ -47,6 +47,7 @@ "Session Key": "Session Key", "Active Monitors": "Active Monitors", "Storage Use": "Storage Use", + "Storage Class": "Storage Class", "Use Raw Snapshot": "Use Raw Snapshot", "Failed to Edit Account": "Failed to Edit Account", "How to Connect": "How to Connect", diff --git a/languages/fr.json b/languages/fr.json index 332fc774..9bc85f0d 100644 --- a/languages/fr.json +++ b/languages/fr.json @@ -504,6 +504,7 @@ "Stop": "Arrêt", "Stop URL": "URL d'arrêt", "Storage Location": "Emplacement de stockage", + "Storage Class": "Classes de Stockage", "Stream": "Flux", "Stream Channel": "Canal du flux de données", "Stream Flags": "Etiquettes du flux", diff --git a/languages/it.json b/languages/it.json index c67e1c41..424faf02 100644 --- a/languages/it.json +++ b/languages/it.json @@ -943,6 +943,7 @@ "Stopping": "Fermarsi", "Storage Location": "Posizione di archiviazione", "Storage Use": "Uso di archiviazione", + "Storage Class": "Classi di Archiviazione", "Stream": "Flusso", "Stream Channel": "Canale di flusso", "Stream Flags": "Flag di streaming", diff --git a/languages/ja.json b/languages/ja.json index 606e6a7b..f0bc29cf 100644 --- a/languages/ja.json +++ b/languages/ja.json @@ -1489,6 +1489,7 @@ "Stopping": "停止中", "Storage Location": "Storage Location", "Storage Use": "使用ストレージ", + "Storage Class": "ストレージクラス", "Stream Channel": "Stream Channel", "Stream Channels": "Stream Channels", "Stream Flags": "ストリームフラグ", diff --git a/libs/uploaders/amazonS3.js b/libs/uploaders/amazonS3.js index 95dd6497..e261c157 100644 --- a/libs/uploaders/amazonS3.js +++ b/libs/uploaders/amazonS3.js @@ -1,7 +1,7 @@ // https://us-east-1.console.aws.amazon.com/iamv2/home#/users const fs = require('fs'); -const { S3Client, PutObjectCommand, DeleteObjectCommand, GetObjectCommand } = require("@aws-sdk/client-s3"); +const { S3Client, PutObjectCommand, DeleteObjectCommand, GetObjectCommand, StorageClass} = require("@aws-sdk/client-s3"); module.exports = function(s,config,lang){ const genericRequest = async (groupKey,requestOptions) => { @@ -123,7 +123,8 @@ module.exports = function(s,config,lang){ Bucket: s.group[groupKey].init.aws_s3_bucket, Key: saveLocation, Body: fileStream, - ContentType: 'video/'+e.ext + ContentType: 'video/'+e.ext, + StorageClass: s.group[groupKey].init.aws_storage_class || StorageClass.STANDARD }).then((response) => { if(response.err){ s.userLog(e,{type:lang['Amazon S3 Upload Error'],msg:response.err}) @@ -433,6 +434,17 @@ module.exports = function(s,config,lang){ } ] }, + { + "hidden": true, + "name": "detail=aws_storage_class", + "field": lang['Storage Class'], + "fieldType": "select", + "form-group-class": "autosave_aws_s3_input autosave_aws_s3_1", + "description": "The storage class of the uploaded objects see https://aws.amazon.com/s3/storage-classes/", + "default": StorageClass.STANDARD, + "example": StorageClass.STANDARD, + "possible": Object.keys(StorageClass).map(k => ({name: k, value: k})), + }, { "hidden": true, "name": "detail=aws_s3_log",