Bir paket için envanter kuralı yapılandırmak üzere PutBucketInventory işlemini kullanın.
Notlar
Paketinizdeki nesne sayısı, boyut, depolama sınıfı ve şifreleme durumu gibi bilgileri almak için envanter özelliğini kullanabilirsiniz. Envanter kurallarını yapılandırırken aşağıdaki hususlara dikkat edin:
Envanter kuralı yapılandırmadan önce bir RAM rolü oluşturmanız gerekir. Bu rolün kaynak paketten tüm nesneleri okuma ve hedef pakete nesne yazma izinlerine sahip olması gerekir. İlk envanter kuralınızı OSS konsolunda yapılandırmanızı öneririz; konsol gerekli izinlere sahip bir RAM rolü oluşturmanıza yardımcı olur. RAM rolü için gereken izinler hakkında ayrıntılı bilgi için bkz. bucket inventory.
Bir paket için en fazla 1.000 envanter kuralı yapılandırabilirsiniz.
Dışa aktarılan envanter dosyalarının kaynak ve hedef paketleri aynı bölgede bulunmalıdır.
Artımlı envanteri etkinleştirmek için technical support ile iletişime geçin. Bu özellik yalnızca Meksika bölgesinde desteklenir.
İzinler
Varsayılan olarak bir Alibaba Cloud hesabı tam yetkilere sahiptir. Bir Alibaba Cloud hesabı altındaki RAM kullanıcıları veya RAM rolleri varsayılan olarak herhangi bir izne sahip değildir. Alibaba Cloud hesabı veya hesap yöneticisi, işlem izinlerini RAM policies veya Bucket Policy aracılığıyla vermelidir.
|
|
|
|
|
|
|
|
İstek sözdizimi
'inventoryId' sorgu dizesi parametresi gereklidir. Değeri, istek gövdesindeki 'Id' öğesiyle eşleşmelidir.
LastModifyBeginTimeStamp, LastModifyEndTimeStamp, LowerSizeBound, UpperSizeBound ve StorageClass seçeneklerini yalnızca Çin (Qingdao), Çin (Hohhot) ve Almanya (Frankfurt) bölgelerinde kullanabilirsiniz.
PUT /?inventory&inventoryId=report1 HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: Mon, 31 Oct 2016 12:00:00 GMT
Authorization: authorization string
Content-Length: length
<?xml version="1.0" encoding="UTF-8"?>
<InventoryConfiguration>
<Id>report1</Id>
<IsEnabled>true</IsEnabled>
<Destination>
<OSSBucketDestination>
<Format>CSV</Format>
<AccountId>1000000000000000</AccountId>
<RoleArn>acs:ram::1000000000000000:role/AliyunOSSRole</RoleArn>
<Bucket>acs:oss:::destination-bucket</Bucket>
<Prefix>prefix1</Prefix>
<Encryption>
<SSE-KMS>
<KeyId>keyId</KeyId>
</SSE-KMS>
</Encryption>
</OSSBucketDestination>
</Destination>
<Schedule>
<Frequency>Monthly</Frequency>
<DayOfMonth>1</DayOfMonth>
</Schedule>
<IncludedObjectVersions>All</IncludedObjectVersions>
<OptionalFields>
<Field>Size</Field>
<Field>LastModifiedDate</Field>
<Field>TransitionTime</Field>
<Field>ETag</Field>
<Field>StorageClass</Field>
<Field>IsMultipartUploaded</Field>
<Field>EncryptionStatus</Field>
</OptionalFields>
<IncrementalInventory>
<IsEnabled>true</IsEnabled>
<Schedule>
<Frequency>600</Frequency>
</Schedule>
<OptionalFields>
<Field>SequenceNumber</Field>
<Field>RecordType</Field>
<Field>RecordTimestamp</Field>
<Field>Requester</Field>
<Field>RequestId</Field>
<Field>SourceIp</Field>
<Field>Size</Field>
<Field>StorageClass</Field>
<Field>LastModifiedDate</Field>
<Field>ETag</Field>
<Field>IsMultipartUploaded</Field>
<Field>ObjectType</Field>
<Field>ObjectAcl</Field>
<Field>Crc64</Field>
<Field>EncryptionStatus</Field>
</OptionalFields>
</IncrementalInventory>
</InventoryConfiguration>
İstek öğeleri
Parameter | Type | Required | Example | Description |
Id | String | Yes | report1 | Envanterin özel adı. Adın aşağıdaki gereksinimleri karşılaması gerekir:
|
IsEnabled | Boolean | Yes | true | Envanterin etkin olup olmadığını belirtir. Geçerli değerler:
|
Filter | Container | No | N/A | Envantere dahil edilecek nesneler için ölçütleri belirten filtre kapsayıcısı. |
Prefix | String | No | Pics/ | Nesneleri filtrelemek için kullanılan önek. Üst düğüm: Filter |
LastModifyBeginTimeStamp | String | No | 1637883649 | Nesnelerin son değiştirilme zaman aralığının başlangıcı. Değer, saniye cinsinden UNIX zaman damgasıdır. Değer aralığı: [1262275200, 253402271999] |
LastModifyEndTimeStamp | String | No | 1638347592 | Nesnelerin son değiştirilme zaman aralığının bitişi. Değer, saniye cinsinden UNIX zaman damgasıdır. Değer aralığı: [1262275200, 253402271999] |
LowerSizeBound | String | No | 1024 | Envantere dahil edilecek nesnelerin minimum boyutu (bayt cinsinden). Değer 0 B'den büyük veya eşit ve 48,8 TB'den küçük veya eşit olmalıdır. |
UpperSizeBound | String | No | 1048576 | Envantere dahil edilecek nesnelerin maksimum boyutu (bayt cinsinden). Değer 0 B'den büyük ve 48,8 TB'den küçük veya eşit olmalıdır. |
StorageClass | String | No | Standard,IA | Envantere dahil edilecek nesnelerin depolama sınıfları. Birden fazla depolama sınıfı belirtebilirsiniz. Geçerli değerler:
|
Destination | Container | Yes | N/A | Envanter raporlarının depolandığı hedef hakkındaki bilgiler için kapsayıcı. |
OSSBucketDestination | Container | Yes | N/A | Envanter raporlarının depolandığı paket hakkındaki bilgiler için kapsayıcı. Üst düğüm: Destination |
Format | String | Yes | CSV | Envanter raporunun biçimi. Rapor, GZIP sıkıştırmalı bir CSV dosyasıdır. Geçerli değerler: CSV, Parquet (Parquet biçimi şu anda yalnızca İngiltere (Londra) bölgesinde desteklenmektedir.) Üst düğüm: OSSBucketDestination |
AccountId | String | Yes | 100000000000000 | Hedef pakete sahip olan Alibaba Cloud hesabının kimliği. Üst düğüm: OSSBucketDestination |
RoleArn | String | Yes | acs:ram::100000000000000:role/AliyunOSSRole | Kaynak paketten tüm nesneleri okuma ve hedef pakete nesne yazma izinlerine sahip RAM rolünün Alibaba Cloud Kaynak Adı (ARN). Biçim şöyledir: Üst düğüm: OSSBucketDestination |
Bucket | String | Yes | acs:oss:::bucket_0001 | Envanter raporu için hedef paket. Üst düğüm: OSSBucketDestination |
Prefix | String | No | prefix1/ | Envanter raporu dosyalarının depolandığı yol için önek. Üst düğüm: OSSBucketDestination |
Encryption | Container | No | N/A | Envanter raporunun sunucu tarafı şifreleme yapılandırması için kapsayıcı. Geçerli değerler:
Üst düğüm: OSSBucketDestination Sunucu tarafı şifreleme hakkında daha fazla bilgi için bkz. Server-side encryption. |
SSE-OSS | Container | No | N/A | SSE-OSS şifreleme yapılandırması için kapsayıcı. Üst düğüm: Encryption |
SSE-KMS | Container | No | N/A | SSE-KMS şifreleme yapılandırması için kapsayıcı. Üst düğüm: Encryption |
KeyId | String | No | keyId | KMS tarafından yönetilen CMK'nin kimliği. Üst düğüm: SSE-KMS |
Schedule | Container | Yes | N/A | Envanter raporunu oluşturma zamanlaması için kapsayıcı. |
Frequency | String | Yes | Daily | Envanter raporunu oluşturma sıklığını belirtir. Geçerli değerler:
Üst düğüm: Schedule |
DayOfMonth | Positive integer | No | 1 | Frequency Monthly olarak ayarlandığında, envanterin oluşturulacağı ayın gününü belirtir. Değer 1 ile 31 arasında pozitif bir tamsayı olmalıdır.
Not Bu tarih, envanter görevinin ne zaman başladığını belirtir, raporun ne zaman teslim edildiğini değil. Envanter oluşturma asenkron bir görev olduğundan ve süresi nesne sayısına bağlı olduğundan rapor bu tarihten sonra teslim edilir. Üst düğüm: Schedule |
AutoDelete | Boolean | No | true | Tek seferlik bir envanter oluşturulduktan sonra envanter yapılandırmasının silinip silinmeyeceğini belirtir. Bu öğe yalnızca Frequency Once olarak ayarlandığında geçerlidir. Geçerli değerler: true, false Üst düğüm: Schedule |
IncludedObjectVersions | String | Yes | All | Envantere nesne sürümlerinin dahil edilip edilmeyeceğini belirtir. Geçerli değerler:
|
OptionalFields | Container | No | N/A | Envanter raporuna dahil edilecek isteğe bağlı alanlar için kapsayıcı. |
Field | String | No | Size | Envanter raporuna dahil edilecek isteğe bağlı alanlar.
|
IncrementalInventory | Container | No | N/A | Artımlı envanter yapılandırması için kapsayıcı. |
IsEnabled | Boolean | Yes | true | Artımlı envanterin etkinleştirilip etkinleştirilmeyeceğini belirtir. Geçerli değerler:
Bu öğe true olarak ayarlanırsa, InventoryConfiguration/IsEnabled false olarak ayarlanmış olsa bile artımlı envanter etkinleştirilir ve yürürlüğe girer. Üst düğüm: IncrementalInventory |
Schedule | Container | Yes | N/A | Artımlı envanteri oluşturma zamanlaması için kapsayıcı. Üst düğüm: IncrementalInventory |
Frequency | Positive integer | Yes | 600 | Artımlı envanterin oluşturma sıklığı (saniye cinsinden). Sistem 600 saniyelik sabit bir sıklık kullanır. Her dönemde otomatik olarak bir dizin öneki, buna karşılık gelen bir bildirim dosyası ve o dönemde oluşturulan birden fazla CSV dosyası oluşturulur. Özel sıklıklar desteklenmez. Üst düğüm: Schedule |
OptionalFields | Container | No | N/A | Artımlı envanter dosyasına dahil edilecek özellikler için kapsayıcı. Üst düğüm: IncrementalInventory |
Field | String | No | Size | Artımlı envantere dahil edilecek alanlar. Üst düğüm: OptionalFields
|
Yanıt üstbilgileri
Bu arabirim yalnızca Content-Length ve Date gibi ortak yanıt üstbilgilerini döndürür. Ayrıntılar için bkz. Common response headers.
Örnekler
Envanter yapılandırması
-
Örnek istek
PUT /?inventory&inventoryId=report1 HTTP/1.1 Host: oss-example.oss-cn-hangzhou.aliyuncs.com Date: Mon, 31 Oct 2016 12:00:00 GMT Authorization: authorization string Content-Length: length <?xml version="1.0" encoding="UTF-8"?> <InventoryConfiguration> <Id>report1</Id> <IsEnabled>true</IsEnabled> <Filter> <Prefix>Pics/</Prefix> <LastModifyBeginTimeStamp>1637883649</LastModifyBeginTimeStamp> <LastModifyEndTimeStamp>1638347592</LastModifyEndTimeStamp> <LowerSizeBound>1024</LowerSizeBound> <UpperSizeBound>1048576</UpperSizeBound> <StorageClass>Standard,IA</StorageClass> </Filter> <Destination> <OSSBucketDestination> <Format>CSV</Format> <AccountId>100000000000000</AccountId> <RoleArn>acs:ram::100000000000000:role/AliyunOSSRole</RoleArn> <Bucket>acs:oss:::destbucket</Bucket> <Prefix>prefix1/</Prefix> <Encryption> <SSE-KMS> <KeyId>keyId</KeyId> </SSE-KMS> </Encryption> </OSSBucketDestination> </Destination> <Schedule> <Frequency>Daily</Frequency> </Schedule> <IncludedObjectVersions>All</IncludedObjectVersions> <OptionalFields> <Field>Size</Field> <Field>LastModifiedDate</Field> <Field>TransistionTime</Field> <Field>ETag</Field> <Field>StorageClass</Field> <Field>IsMultipartUploaded</Field> <Field>EncryptionStatus</Field> </OptionalFields> </InventoryConfiguration> -
Örnek yanıt
HTTP/1.1 200 OK x-oss-request-id: 56594298207FB3044385**** Date: Mon, 31 Oct 2016 12:00:00 GMT Content-Length: 0 Server: AliyunOSS
Aylık envanter yapılandırması
Aşağıdaki istek, her ayın 3. günü bir rapor oluşturacak şekilde bir envanter yapılandırır.
-
Örnek istek
PUT /?inventory&inventoryId=monthly-report HTTP/1.1 Host: oss-example.oss-cn-hangzhou.aliyuncs.com Date: Mon, 31 Oct 2016 12:00:00 GMT Authorization: authorization string Content-Length: length <?xml version="1.0" encoding="UTF-8"?> <InventoryConfiguration> <Id>monthly-report</Id> <IsEnabled>true</IsEnabled> <Filter> <Prefix>logs/</Prefix> </Filter> <Destination> <OSSBucketDestination> <Format>CSV</Format> <AccountId>100000000000000</AccountId> <RoleArn>acs:ram::100000000000000:role/AliyunOSSRole</RoleArn> <Bucket>acs:oss:::destbucket</Bucket> <Prefix>monthly-inventory/</Prefix> </OSSBucketDestination> </Destination> <Schedule> <Frequency>Monthly</Frequency> <DayOfMonth>3</DayOfMonth> </Schedule> <IncludedObjectVersions>All</IncludedObjectVersions> <OptionalFields> <Field>Size</Field> <Field>LastModifiedDate</Field> <Field>ETag</Field> <Field>StorageClass</Field> <Field>IsMultipartUploaded</Field> <Field>EncryptionStatus</Field> </OptionalFields> </InventoryConfiguration> -
Örnek yanıt
HTTP/1.1 200 OK x-oss-request-id: 56594298207FB3044385**** Date: Mon, 31 Oct 2016 12:00:00 GMT Content-Length: 0 Server: AliyunOSS
Tek seferlik envanter yapılandırması
-
Örnek istek
PUT /?inventory&inventoryId=once-report HTTP/1.1 Host: oss-example.oss-cn-hangzhou.aliyuncs.com Date: Mon, 31 Oct 2016 12:00:00 GMT Authorization: authorization string Content-Length: length <?xml version="1.0" encoding="UTF-8"?> <InventoryConfiguration> <Id>once-report</Id> <IsEnabled>true</IsEnabled> <Filter> <Prefix>log/</Prefix> </Filter> <Destination> <OSSBucketDestination> <Format>CSV</Format> <AccountId>100000000000000</AccountId> <RoleArn>acs:ram::100000000000000:role/AliyunOSSRole</RoleArn> <Bucket>acs:oss:::destbucket</Bucket> <Prefix>once-inventory/</Prefix> </OSSBucketDestination> </Destination> <Schedule> <Frequency>Once</Frequency> <AutoDelete>true</AutoDelete> </Schedule> <IncludedObjectVersions>All</IncludedObjectVersions> <OptionalFields> <Field>Size</Field> <Field>LastModifiedDate</Field> <Field>StorageClass</Field> </OptionalFields> </InventoryConfiguration> -
Örnek yanıt
HTTP/1.1 200 OK x-oss-request-id: 56594298207FB3044385**** Date: Mon, 31 Oct 2016 12:00:00 GMT Content-Length: 0 Server: AliyunOSS
Artımlı envanter yapılandırması
-
Örnek istek
PUT /?inventory&inventoryId=report1 HTTP/1.1 Host: oss-example.oss-cn-hangzhou.aliyuncs.com Date: Mon, 31 Oct 2016 12:00:00 GMT Authorization: authorization string Content-Length: length <?xml version="1.0" encoding="UTF-8"?> <InventoryConfiguration> <Id>Report-1</Id> <IsEnabled>true</IsEnabled> <Filter> <Prefix>test</Prefix> </Filter> <Destination> <OSSBucketDestination> <Format>CSV</Format> <AccountId>12xxxxxx29</AccountId> <RoleArn>acs:ram::12xxxxxx29:role/bucket-inventory-role</RoleArn> <Bucket>acs:oss:::test-inc-bi-bj</Bucket> <Prefix>Report-1</Prefix> </OSSBucketDestination> </Destination> <Schedule> <Frequency>Weekly</Frequency> </Schedule> <IncludedObjectVersions>All</IncludedObjectVersions> <OptionalFields> <Field>Size</Field> <Field>LastModifiedDate</Field> <Field>ETag</Field> <Field>StorageClass</Field> </OptionalFields> <IncrementalInventory> <IsEnabled>true</IsEnabled> <Schedule> <Frequency>600</Frequency> </Schedule> <OptionalFields> <Field>SequenceNumber</Field> <Field>RecordType</Field> <Field>RecordTimestamp</Field> <Field>Requester</Field> <Field>RequestId</Field> <Field>SourceIp</Field> <Field>Size</Field> <Field>StorageClass</Field> <Field>LastModifiedDate</Field> <Field>ETag</Field> <Field>IsMultipartUploaded</Field> <Field>ObjectType</Field> <Field>ObjectAcl</Field> <Field>Crc64</Field> <Field>EncryptionStatus</Field> </OptionalFields> </IncrementalInventory> </InventoryConfiguration> -
Örnek yanıt
HTTP/1.1 200 OK x-oss-request-id: 56594298207FB3044385**** Date: Mon, 31 Oct 2016 12:00:00 GMT Content-Length: 0 Server: AliyunOSS
SDK
Bu işlemi aşağıdaki diller için SDK'ları kullanarak çağırabilirsiniz:
ossutil CLI
PutBucketInventory işlemi için ossutil komutu put-bucket-inventory şeklindedir.
Hata kodları
Error code | HTTP status code | Description |
InvalidArgument | 400 | Belirtilen parametrelerden biri veya birkaçı geçersiz. |
InventoryExceedLimit | 400 | Yapılandırılan envanter kuralı sayısı sınırı aşıyor. |
AccessDenied | 403 |
|
InventoryAlreadyExist | 409 | Envanter kuralı zaten var. |