bucket对象中bucketfullaccesscontrol权限的使用

Usage of bucketfullaccesscontrol permission in bucket objects

我在我的应用程序中使用 spring 集成通道技术。我只想将一些文件放入具有完全访问权限的 aws s3 存储桶中。我的配置是 XML 形式。

需要在s3出站网关中使用expression-acl-object属性来实现。

请帮忙配置一下。

你的问题不明确,完全出乎我们的想象,你的代码是什么,没有你方的任何样本。但听起来你仍然在谈论:

    <xsd:attribute name="object-acl-expression">
        <xsd:annotation>
            <xsd:documentation>
                A SpEL expression to evaluate S3Object ACL at runtime against request message
                for the 'upload' operation.
            </xsd:documentation>
        </xsd:annotation>
    </xsd:attribute>

该表达式的结果必须是 AccessControlListCannedAccessControlList 的实例:

Object acl = this.objectAclExpression.getValue(this.evaluationContext, requestMessage);
Assert.state(acl instanceof AccessControlList || acl instanceof CannedAccessControlList,
                    "The 'objectAclExpression' ["
                            + this.objectAclExpression.getExpressionString()
                            + "] must evaluate to com.amazonaws.services.s3.model.AccessControlList " +
                            "or must evaluate to com.amazonaws.services.s3.model.CannedAccessControlList. " +
                            "Gotten: [" + acl + "]");

因此,如果您谈论 完全访问权限 ,看起来您只需要在该表达式中使用 CannedAccessControlList.AwsExecRead

/**
 * Specifies the owner is granted {@link Permission#FullControl}. Amazon EC2
 * is granted {@link Permission#Read} access to GET an Amazon Machine Image
 * (AMI) bundle from Amazon S3.
 */
AwsExecRead("aws-exec-read");

这样的表达式可能如下所示:

object-acl-expression="T(com.amazonaws.services.s3.model.CannedAccessControlList).AwsExecRead"