Bir nesnenin erişim kontrol listesini (ACL) değiştirir. Bu işlemi yalnızca nesne üzerinde okuma ve yazma izinlerine sahip paket sahibi çağırabilir.
Sürüm Oluşturma
PutObjectACL, varsayılan olarak bir nesnenin mevcut sürümünün ACL'sini yapılandırır. Belirli bir sürümün ACL'sini yapılandırmak için bir sürüm kimliği belirtebilirsiniz.
-
Belirtilen sürüm bir silme işaretçisi ise OSS 405 MethodNotAllowed hatası döndürür.
-
Sürüm kimliği belirtilmezse ve en son sürüm bir silme işaretçisi ise OSS 404 NoSuchKey hatası döndürür.
ACL'ye genel bakış
PutObjectACL işlemi, bir nesnenin ACL'sini yapılandırmak üzere x-oss-object-acl başlığını ayarlar. Geçerli ACL değerleri aşağıdaki tabloda açıklanmıştır.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
Nesne ACL'leri, paket ACL'lerinden önceliklidir. Örneğin, özel bir paketteki public-read-write nesnesine tüm kullanıcılar erişebilir. Nesne ACL'si ayarlanmamışsa nesne paket ACL'sini miras alır.
-
Okuma işlemleri: GetObject, HeadObject, CopyObject ve UploadPartCopy. CopyObject ve UploadPartCopy kaynak nesneyi okur. Yazma işlemleri: PutObject, PostObject, AppendObject, DeleteObject, DeleteMultipleObjects, CompleteMultipartUpload ve CopyObject. CopyObject hedef nesneyi yazar.
-
Nesne ACL'sini ayarlamak için yazma işlemlerine x-oss-object-acl başlığını ekleyebilirsiniz. Örneğin, yüklenen nesnenin ACL'sini ayarlamak amacıyla bir PutObject isteğine x-oss-object-acl ekleyin.
İzinler
Varsayılan olarak bir Alibaba Cloud hesabı tam izinlere sahiptir. Bir Alibaba Cloud hesabı altındaki RAM kullanıcıları veya RAM rollerinin varsayılan olarak hiçbir izni yoktur. Alibaba Cloud hesabı veya hesap yöneticisi, işlem izinlerini RAM ilkeleri veya Paket İlkesi aracılığıyla vermelidir.
|
API |
Action |
Description |
|
PutObjectACL |
|
Paketteki bir nesnenin ACL'sini değiştirir. |
|
|
Belirtilen bir nesne sürümünün ACL'sini değiştirir. |
Söz dizimi
PUT /ObjectName?acl HTTP/1.1
x-oss-object-acl: Permission
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
İstek üstbilgileri
|
Başlık |
Tür |
Zorunlu |
Örnek |
Açıklama |
|
x-oss-object-acl |
String |
Evet |
public-read |
Nesnenin ACL'si. Geçerli değerler:
Daha fazla bilgi için bkz. Nesne ACL'leri. |
Host ve Date gibi bir PutObjectACL isteğindeki ortak istek üstbilgileri hakkında daha fazla bilgi için bkz. Ortak istek üstbilgileri.
Yanıt üstbilgileri
PutObjectACL isteğine verilen yanıt yalnızca ortak yanıt üstbilgilerini içerir. Daha fazla bilgi için bkz. Ortak yanıt üstbilgileri.
Örnekler
-
Sürüm oluşturulmamış bir paketteki nesnenin ACL'sini değiştirme
Örnek istek
PUT /test-object?acl HTTP/1.1 x-oss-object-acl: public-read Host: oss-example.oss-cn-hangzhou.aliyuncs.com Date: Wed, 29 Apr 2015 05:21:12 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eÖrnek yanıt
HTTP/1.1 200 OK x-oss-request-id: 559CC9BDC755F95A64485981 Date: Wed, 29 Apr 2015 05:21:12 GMT Content-Length: 0 Connection: keep-alive Server: AliyunOSS -
Sürüm oluşturma etkinleştirilmiş bir paketteki nesnenin ACL'sini değiştirme
Örnek istek
PUT /example?acl&versionId=CAEQMhiBgIC3rpSD0BYiIDBjYTk5MmIzN2JlNjQxZTFiNGIzM2E3OTliODA0**** HTTP/1.1 x-oss-object-acl: public-read Host: oss-example.oss-cn-hangzhou.aliyuncs.com Date: Tue, 09 Apr 2019 06:30:11 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eÖrnek yanıt
HTTP/1.1 200 OK x-oss-version-id: CAEQMhiBgIC3rpSD0BYiIDBjYTk5MmIzN2JlNjQxZTFiNGIzM2E3OTliODA0**** x-oss-request-id: 5CAC3BF3B7AEADE017000624 Date: Tue, 09 Apr 2019 06:30:11 GMT Content-Length: 0 Connection: keep-alive Server: AliyunOSS
OSS SDK'ları
Aşağıdaki OSS SDK'ları PutObjectACL işlemini destekler:
ossutil
PutObjectACL işlemine karşılık gelen ossutil komutu hakkında bilgi için bkz. put-object-acl.
Hata kodları
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|