Las listas de control de acceso (ACL) de los objetos incluyen private, public-read y public-read-write. En este tema se describe cómo obtener la ACL de un objeto.
Notas de uso
Antes de ejecutar el código de ejemplo de este tema, debe crear una instancia de OSSClient mediante métodos como el uso de un nombre de dominio personalizado o Security Token Service (STS). Para más información, consulte Initialization (Android SDK).
Permisos de acceso de los objetos
Existen tres tipos de permisos de acceso para archivos:
|
Permisos de acceso del archivo |
Descripción |
|
Private |
Solo el propietario del objeto y los usuarios autorizados tienen permisos de lectura y escritura sobre el objeto. |
|
Public-read |
Solo el propietario del objeto y los usuarios autorizados tienen permisos de lectura y escritura sobre el objeto. Los demás usuarios únicamente cuentan con permisos de lectura. Tenga precaución al establecer este valor en la ACL del objeto. |
|
Public-read-write |
Todos los usuarios tienen permisos de lectura y escritura sobre el objeto. Tenga precaución al establecer este valor en la ACL del objeto. |
Ejemplos
A continuación se muestra un ejemplo de código para obtener la ACL de un objeto llamado exampleobject.txt dentro de un bucket denominado examplebucket:
// Specify the bucket name and the full path of the object. Example: examplebucket and exampledir/exampleobject.txt. The full path of the object cannot contain the bucket name.
GetObjectACLRequest request = new GetObjectACLRequest("examplebucket", "exampledir/exampleobject.txt");
// OSS SDK for Android does not support setting object ACLs. You can only get object ACLs.
// The following code shows how to get the ACL of an object.
oss.asyncGetObjectACL(request, new OSSCompletedCallback<GetObjectACLRequest, GetObjectACLResult>() {
@Override
public void onSuccess(GetObjectACLRequest request, GetObjectACLResult result) {
Log.d("GetObjectACL", "Success!");
Log.d("ObjectAcl", result.getObjectACL());
Log.d("Owner", result.getObjectOwner());
Log.d("ID", result.getObjectOwnerID());
}
@Override
public void onFailure(GetObjectACLRequest request, ClientException clientException, ServiceException serviceException) {
// Request exceptions.
if (clientException != null) {
// Client exceptions, such as network exceptions.
clientException.printStackTrace();
}
if (serviceException != null) {
// Server exceptions.
Log.e("ErrorCode", serviceException.getErrorCode());
Log.e("RequestId", serviceException.getRequestId());
Log.e("HostId", serviceException.getHostId());
Log.e("RawMessage", serviceException.getRawMessage());
}
}
});
Referencias
Para más información sobre la operación de API que permite consultar la ACL de un objeto, consulte GetObjectACL.
Para más información sobre cómo inicializar una instancia de OSSClient, consulte Initialization.