В папке ampify / backend / storage / s3-cloudformation-template. json вы можете добавить новую политику для вашего нового префикса, который будет именем папки в корзине s3
"S3AuthStorage1Policy": {
"DependsOn": [
"S3Bucket"
],
"Condition": "CreateAuthStorage1",
"Type": "AWS::IAM::Policy",
"Properties": {
"PolicyName": {
"Ref": "s3Storage1Policy"
},
"Roles": [
{
"Ref": "authRoleName"
}
],
"PolicyDocument": {
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": {
"Fn::Split" : [ "," , {
"Ref": "s3PermissionsAuthenticatedStorage1"
} ]
},
"Resource": [
{
"Fn::Join": [
"",
[
"arn:aws:s3:::",
{
"Ref": "S3Bucket"
},
"/storage1/*"
]
]
}
]
}
]
}
}
},
https://docs.amplify.aws/lib/storage/getting-started/q/platform/js#using -amazon-s3 https://github.com/aws-amplify/amplify-js/issues/332#issuecomment -602606514
Теперь вы можете использовать, например, собственный префикс «storage1» для хранения файлов в папке storage1.
Storage.put("storageTest.png", file, {
contentType: "image/png",
level: 'public',
customPrefix: {
public: "storage1/"
}
})
.then(result => console.log(result))
.catch(err => console.log(err));
};
Сделайте то же самое с другим префиксом (в этом примере хранилище 2), чем вы можете хранить файлы из другого варианта использования в другой папке.
ведро s3 с двумя настраиваемыми префиксами