Так что я использую aws-amplify
, чтобы получить или добавить к своему aws s3 ведро из приложения реакции. Конфигурация выглядит следующим образом -
Amplify.configure({
Auth: {
region: process.env.REACT_APP_AWS_AUTH_REGION,
userPoolId: process.env.REACT_APP_AWS_COGNITO_USER_POOL_ID,
userPoolWebClientId: process.env.REACT_APP_AWS_COGNITO_USER_POOL_CLIENT_ID,
identityPoolId: process.env.REACT_APP_AWS_COGNITO_IDENTITY_POOL_ID,
mandatorySignIn: true,
},
Storage: {
AWSS3: {
bucket: process.env.REACT_APP_S3_BUCKET_NAME,
region: process.env.REACT_APP_AWS_APPSYNC_REGION,
},
},
});
Ранее корзина не была versioning-enabled
. Теперь я включил управление версиями для корзины s3 с консоли aws.
Так что, когда я добавляю объекты в свою корзину, я вижу, что существуют разные версии некоторых объектов. Но я испытываю трудности с получением указанной c версии объекта из моего приложения через aws-amplify
. Из документации из amplify-storage
я не вижу, как я могу добавить version-id
к моему запросу для получения конкретной c версии объекта.
Из amplify
code Я вижу, что он поддерживает только следующие параметры -
'bucket',
'region',
'level',
'track',
'customPrefix',
'serverSideEncryption',
'SSECustomerAlgorithm',
'SSECustomerKey',
'SSECustomerKeyMD5',
'SSEKMSKeyId',
Поэтому мой вопрос - есть ли способ получить указанную c версию объекта из ведро s3 с использованием aws-amplify
? Чтобы быть более точным c - При вызове Amplify.Storage.Get
или Amplify.Storage.list
, как также передать versionId
, чтобы получить указанную c версию объекта?
Я пытался pass versionId
вот так -
Storage.get(key, {
versionId: 'version id found from the aws console',
});
И это -
Storage.get(key, {
customPrefix: {
versionId: 'version id found from the aws console',
}
});
Но ни один из них не работает. Как я уже говорил выше - в коде amplify
не определен параметр для versionId
.
Примечание. Я знаю, что это можно сделать, используя REST API
, используя AWS-SDK
. Но мне нужно сделать это с aws-amplify
.