Использование разрешения bucketfullaccesscontrol в объектах корзины - PullRequest
0 голосов
/ 09 января 2019

Я использую технологию Spring Spring Channel в своем приложении. Я просто хочу поместить несколько файлов в корзину aws s3 с полными правами доступа. моя конфигурация в форме XML.

Необходимо реализовать с помощью атрибута expression-acl-object в исходящем шлюзе s3.

Пожалуйста, помогите настроить это.

1 Ответ

0 голосов
/ 09 января 2019

Ваш вопрос неясен, и это полностью вне нашего воображения, каков ваш код без каких-либо примеров с вашей стороны. Но все равно звучит так, как будто вы говорите:

    <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>

Результатом этого выражения должен быть экземпляр AccessControlList или CannedAccessControlList:

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"
...