amazon-web-services - 具有通配符条件的 AWS S3 RoutingRule

标签 amazon-web-services amazon-s3

我有一组具有相同文件夹结构但内容不同的用户文件夹,存储在 S3 中。

/user/userA/application/folder/structure/file.xml
/user/userB/application/folder/structure/file.xml

如果该用户尚不存在 s3 文件夹结构,我想将用户重定向到后备文件夹(带有后备内容)。
/user-fallback/application/folder/structure/file.xml

我尝试在重定向规则中添加通配符参数,但 S3 正在读取 *作为字面意思
<RoutingRules>
    <RoutingRule>
        <Condition>
            <KeyPrefixEquals>user/*/</KeyPrefixEquals>
            <HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals>
        </Condition>
        <Redirect>
            <ReplaceKeyPrefixWith>user-fallback/</ReplaceKeyPrefixWith>
        </Redirect>
    </RoutingRule>
</RoutingRules>

所以只有以 /user/*/ 开头的网址被正确重定向到 user-fallback文件夹结构。

我有 20 多个用户,因此创建单个 RoutingRules 也不起作用(S3 有路由规则限制)

有什么想法吗?

最佳答案

路由规则不允许使用通配符——但是您不能为任何 404 错误设置一个自定义重定向吗?请参见此处的示例#2:
Example 2: Redirect requests for a deleted folder to a page
只需将条件更改为:

404

那行得通吗?

关于amazon-web-services - 具有通配符条件的 AWS S3 RoutingRule,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24685950/

相关文章:

amazon-web-services - 如何在 redash 服务器后面设置代理

java - 使用 SDK 对 AWS S3 存储桶中的对象进行计数时计数不正确

java - AWS Java SDK - 将 ProgressListener 与 TransferManager 结合使用

amazon-web-services - 使用Pyspark在S3中写入 Parquet 文件时出错

python - Flask Web 服务器在处理和上传到 S3 时损坏图像

scala - Spark : read csv file from s3 using scala

java - 带有弹性负载均衡器的 AWS EC2 不发送 SSL 证书

amazon-web-services - 在 AWS::Serverless::Api SAM 模板中定义 URL 查询字符串参数

amazon-web-services - 如何使用 CodePipeline 删除 S3 中的文件

java - 使用 Java 查询 DynamoDB 中的最大属性值