Paket içindeki nesnelerin sayısı, boyutu, depolama sınıfı ve şifreleme durumu gibi bilgilerini almak için inventory özelliğini kullanabilirsiniz. Çok sayıda nesneyi listelemek için GetBucket (ListObjects) işlemi yerine inventory özelliğini kullanın. Bu konu, bir paket için inventory kurallarını eklemek, sorgulamak, listelemek veya silmek amacıyla inventory komutunun nasıl kullanılacağını açıklar.
Dikkat Edilmesi Gerekenler
Bir inventory kuralı eklemek için
oss:PutBucketInventoryiznine, bir inventory kuralını sorgulamak içinoss:GetBucketInventoryiznine ve bir inventory kuralını silmek içinoss:DeleteBucketInventoryiznine sahip olmanız gerekir. Daha fazla bilgi için bkz. RAM kullanıcıya özel ilke ekleme.ossutil v1.6.16 ve sonraki sürümlerde, herhangi bir işletim sistemi için komut satırında binary adı olarak ossutil kullanabilirsiniz. 1.6.16'dan önceki bir ossutil sürümü kullanıyorsanız, işletim sisteminize karşılık gelen bir binary adı belirtmeniz gerekir. Daha fazla bilgi için bkz. ossutil komut referansı.
Paket inventory özelliği hakkında daha fazla bilgi için bkz. Paket inventory.
Inventory kuralı ekleme
Bir inventory kuralı eklemek için aşağıdaki adımları izleyin:
Resource Access Management (RAM) rolü oluşturun. Rolün, kaynak paketteki tüm nesneleri okuma ve hedef pakete dosya yazma izinlerine sahip olması gerekir. Rolü yapılandırma hakkında daha fazla bilgi için bkz. Güvenilen Alibaba Cloud hizmeti için RAM rolü oluşturma.
Yerel bir dosya oluşturun ve dosyada XML biçiminde inventory kuralını yapılandırın.
ossutil, inventory yapılandırmasını yerel dosyadan okur ve ardından yapılandırmayı belirtilen pakete ekler.
-
Komut sözdizimi
ossutil inventory --method put oss://bucketname local_xml_fileParametrelerin açıklamaları aşağıdadır:
Parametre
Açıklama
bucketname
Inventory kuralını eklemek istediğiniz paketin adı.
local_xml_file
Inventory kuralı yapılandırmasını içeren yerel dosyanın adı. Örnek:localfile.xml. -
Örnekler
-
localfile.xml adlı yerel bir dosya oluşturun ve senaryonuz doğrultusunda inventory kuralını yapılandırın.
Örneğin, inventorytest adlı bir inventory kuralı oluşturabilirsiniz. Bu kural, haftalık bir inventory raporunu destbucket adlı hedef pakete dışa aktarır. Rapor,
dir/önekiyle eşleşen kaynak paketteki tüm nesneleri listeler ve depolama sınıfı, son değiştirilme zamanı ve çok parçalı yükleme durumu gibi ayrıntıları içerir. Manifest dosyası AES256 şifreleme algoritması kullanılarak şifrelenir.<?xml version="1.0" encoding="UTF-8"?> <InventoryConfiguration> <Id>inventorytest</Id> <IsEnabled>true</IsEnabled> <Filter> <Prefix>dir/</Prefix> </Filter> <Destination> <OSSBucketDestination> <Format>CSV</Format> <AccountId>1746495857602745</AccountId> <RoleArn>acs:ram::174649585760****:role/AliyunOSSRole</RoleArn> <Bucket>acs:oss:::destbucket</Bucket> <Encryption> <SSE-OSS></SSE-OSS> </Encryption> </OSSBucketDestination> </Destination> <Schedule> <Frequency>Weekly</Frequency> </Schedule> <IncludedObjectVersions>All</IncludedObjectVersions> <OptionalFields> <Field>LastModifiedDate</Field> <Field>StorageClass</Field> <Field>IsMultipartUploaded</Field> <Field>ETag</Field> <Field>EncryptionStatus</Field> <Field>Size</Field> </OptionalFields> </InventoryConfiguration>ÖnemliBir pakete birden fazla inventory kuralı ekleyebilirsiniz. Kural adı (ID), bir inventory yapılandırmasının benzersiz tanımlayıcısıdır. Zaten mevcut olan bir ID'ye sahip bir kural eklerseniz 409 hatası döndürülür.
-
examplebucket paketine bir inventory kuralı ekleyin.
ossutil inventory --method put oss://examplebucket localfile.xmlAşağıdaki çıktı, inventory kuralının eklendiğini gösterir.
0.299514(s) elapsed
-
Belirli bir inventory kuralını sorgulama
-
Komut sözdizimi
ossutil inventory --method get oss://bucketname inventory_id [--local_xml_file ]Parametrelerin açıklamaları aşağıdadır:
Parametre
Açıklama
bucketname
Inventory kuralını sorgulamak istediğiniz paketin adı.
inventory_id
Inventory kuralının adı.
local_xml_file
Inventory yapılandırmasının kaydedileceği yerel dosyanın adı. Örnek:localfile.txt. Bu parametreyi belirtmezseniz inventory yapılandırması ekrana yazdırılır. -
Örnek
ossutil inventory --method get oss://examplebucket inventorytest localfile.txtAşağıdaki çıktı, examplebucket paketi için inventorytest kuralının sorgulandığını ve sonucun localfile.txt dosyasına yazıldığını gösterir.
0.212407(s) elapsed
Tüm inventory kurallarını sorgulama
-
Komut sözdizimi
ossutil inventory --method list oss://bucketname [--local_xml_file ] [--marker <value>]Parametreler aşağıda açıklanmıştır:
Parametre
Açıklama
bucketname
Inventory kurallarını almak istediğiniz paketin adı.
local_xml_file
Inventory yapılandırmalarının kaydedileceği yerel XML dosyasının adı. Bu parametreyi belirtmezseniz inventory yapılandırmaları ekrana yazdırılır.
markerKontrol listesi filtre koşulu, yalnızca belirtilen önekle eşleşen nesneler için bir manifest dosyası oluşturur. Boş bırakılırsa hedef paketteki tüm nesneler için bir manifest dosyası oluşturulur.
-
Örnek
ossutil inventory --method list oss://examplebucket localfile.txt destAşağıdaki çıktı, examplebucket paketindeki ID'leri
destönekiyle başlayan tüm inventory kurallarının sorgulandığını ve sonuçların localfile.txt dosyasına yazıldığını gösterir.0.216897(s) elapsed
Belirli bir inventory kuralını silme
-
Komut sözdizimi
ossutil inventory --method delete oss://bucketname inventory_idParametrelerin açıklamaları aşağıdadır:
Parametre
Açıklama
bucketname
Inventory kuralını silmek istediğiniz paketin adı.
inventory_id
Inventory kuralının adı. -
Örnek
ossutil inventory --method delete oss://examplebucket inventorytestAşağıdaki çıktı, examplebucket paketi için inventorytest kuralının silindiğini gösterir.
0.212407(s) elapsed
Ortak seçenekler
Farklı bir bölgedeki bir pakete erişmek için uç noktayı belirtmek amacıyla -e seçeneğini kullanın. Farklı bir Alibaba Cloud hesabına ait bir pakete erişmek için AccessKey ID için -i ve AccessKey secret için -k seçeneklerini kullanın.
Örneğin, Çin (Hangzhou) bölgesinde bulunan ve başka bir Alibaba Cloud hesabına ait olan examplebucket adlı bir pakete inventory kuralı eklemek için aşağıdaki komutu çalıştırın:
ossutil inventory --method put oss://examplebucket local_xml_file -e oss-cn-hangzhou.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret