Les listes de contrôle d'accès (ACL) des objets comprennent les modes privé, lecture publique et lecture-écriture publique. Cette rubrique explique comment obtenir l'ACL d'un objet.
Notes d'utilisation
Avant d'exécuter l'exemple de code de cette rubrique, créez une instance OSSClient, par exemple en utilisant un nom de domaine personnalisé ou le Security Token Service (STS). Pour plus d'informations, consultez la section Initialisation (SDK Android).
ACL des objets
Il existe trois types d'autorisations d'accès aux fichiers :
|
Autorisations d'accès aux fichiers |
Description |
|
Privé |
Seul le propriétaire de l'objet et les utilisateurs autorisés disposent des autorisations de lecture et d'écriture sur l'objet. |
|
Lecture publique |
Seul le propriétaire de l'objet et les utilisateurs autorisés disposent des autorisations de lecture et d'écriture sur l'objet. Les autres utilisateurs ne disposent que des autorisations de lecture. Soyez prudent lorsque vous définissez l'ACL de l'objet sur cette valeur. |
|
Lecture-écriture publique |
Tous les utilisateurs disposent des autorisations de lecture et d'écriture sur l'objet. Soyez prudent lorsque vous définissez l'ACL de l'objet sur cette valeur. |
Exemples
L'exemple de code suivant montre comment obtenir l'ACL d'un objet nommé exampleobject.txt dans un bucket nommé 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());
}
}
});
Références
Pour plus d'informations sur l'opération API permettant d'interroger l'ACL d'un objet, consultez la section GetObjectACL.
Pour plus d'informations sur l'initialisation d'une instance OSSClient, consultez la section Initialisation.