This document provides an overview of APIs and SDK code samples for COS inventory.
API | Operation | Description |
---|---|---|
PUT Bucket inventory | Creating an inventory job | Creates an inventory job for a bucket |
GET Bucket inventory | Querying inventory jobs | Queries the inventory jobs of a bucket |
DELETE Bucket inventory | Deleting an inventory job | Deletes an inventory job from a bucket |
This API (PUT Bucket inventory) is used to create an inventory job for a bucket.
put_bucket_inventory(Bucket, Id, InventoryConfiguration={}, **kwargs)
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# In most cases, set the log level to INFO. If you need to debug, you can set it to DEBUG and the SDK will print the communication information of the client.
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. Set user attributes such as secret_id, secret_key, and region. Appid has been removed from CosConfig and thus needs to be specified in Bucket, which is formatted as BucketName-Appid.
secret_id = 'SecretId' # Replace it with the actual SecretId, which can be viewed and managed at https://console.intl.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # Replace it with the actual SecretKey, which can be viewed and managed at https://console.intl.cloud.tencent.com/cam/capi
region = 'ap-beijing' # Replace it with the actual region, which can be viewed in the console at https://console.intl.cloud.tencent.com/cos5/bucket
# For the list of regions supported by COS, see https://intl.cloud.tencent.com/document/product/436/6224
token = None # Token is required for temporary keys but not permanent keys. For more information about how to generate and use a temporary key, visit https://intl.cloud.tencent.com/document/product/436/14048
scheme = 'https' # Specify whether to use HTTP or HTTPS protocol to access COS. This field is optional and is `https` by default
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
response = client.put_bucket_inventory(
Bucket='examplebucket-1250000000',
Id='string',
InventoryConfiguration={
'Destination': {
'COSBucketDestination': {
'AccountId': '100000000001',
'Bucket': 'qcs::cos:ap-guangzhou::examplebucket-1250000000',
'Format': 'CSV',
'Prefix': 'string',
'Encryption': {
'SSECOS': {}
}
}
},
'IsEnabled': 'true'|'false',
'Filter': {
'Prefix': 'string'
},
'IncludedObjectVersions':'All'|'Current',
'OptionalFields': {
'Field': [
'Size',
'LastModifiedDate',
'ETag',
'StorageClass',
'IsMultipartUploaded',
'ReplicationStatus'
]
},
'Schedule': {
'Frequency': 'Daily'|'Weekly'
}
}
)
Parameter | Description | Type | Required |
---|---|---|---|
Bucket | Bucket for inventory job setting, in the format of BucketName-APPID . For more information, see Bucket Naming Conventions |
String | Yes |
Id | Inventory job name. Valid characters: a-z, A-Z, 0-9, -, _, . | String | Yes |
Destination | Inventory job delivery destination information | Dict | Yes |
COSBucketDestination | Destination bucket information for inventory job result delivery | Dict | Yes |
AccountId | Destination bucket account information | String | No |
Bucket | Destination bucket name | String | Yes |
Format | File format of the inventory result. Valid value: CSV | String | Yes |
Prefix | Delivery path prefix in the destination bucket | String | No |
Encryption | Encryption information for file delivery to the destination bucket. Valid value: SSECOS | Dict | No |
IsEnabled | Inventory job status flag. Valid values: true, false | String | Yes |
Filter | Filter for inventory analysis objects | Dict | No |
Prefix | Filter prefix for inventory analysis objects | String | No |
IncludedObjectVersions | Versioning information inclusion status. Valid values: All, Current | String | Yes |
OptionalFields | Optional inventory fields | Dict | No |
Field | Field name. Valid values: Size, LastModifiedDate, ETag, StorageClass, IsMultipartUploaded, ReplicationStatus | List | No |
Schedule | Inventory job execution schedule | Dict | Yes |
Frequency | Inventory job execution frequency. Valid values: Daily, Weekly | String | Yes |
This API returns None
.
The following describes some common errors that may occur when you call this API:
Error Code | Description | Status Code |
---|---|---|
InvalidArgument | Invalid parameter value | HTTP 400 Bad Request |
TooManyConfigurations | The number of inventories has reached the upper limit of 1,000 | HTTP 400 Bad Request |
AccessDenied | Unauthorized access. You most likely do not have access permission for the bucket | HTTP 403 Forbidden |
This API is used to query the inventory jobs of a bucket.
get_bucket_inventory(Bucket, Id, **kwargs)
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# In most cases, set the log level to INFO. If you need to debug, you can set it to DEBUG and the SDK will print the communication information of the client.
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. Set user attributes such as secret_id, secret_key, and region. Appid has been removed from CosConfig and thus needs to be specified in Bucket, which is formatted as BucketName-Appid.
secret_id = 'SecretId' # Replace it with the actual SecretId, which can be viewed and managed at https://console.intl.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # Replace it with the actual SecretKey, which can be viewed and managed at https://console.intl.cloud.tencent.com/cam/capi
region = 'ap-beijing' # Replace it with the actual region, which can be viewed in the console at https://console.intl.cloud.tencent.com/cos5/bucket
# For the list of regions supported by COS, see https://intl.cloud.tencent.com/document/product/436/6224
token = None # Token is required for temporary keys but not permanent keys. For more information about how to generate and use a temporary key, visit https://intl.cloud.tencent.com/document/product/436/14048
scheme = 'https' # Specify whether to use HTTP or HTTPS protocol to access COS. This field is optional and is `https` by default
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
response = client.get_bucket_inventory(
Bucket='examplebucket-1250000000',
Id='string'
)
Parameter | Description | Type | Required |
---|---|---|---|
Bucket | Bucket for inventory job query, in the format of BucketName-APPID . For more information, see Bucket Naming Conventions. |
String | Yes |
Id | Inventory job name. Valid characters: a-z, A-Z, 0-9, -, _, . | String | Yes |
Inventory job configuration of the bucket in dict
type.
{
'Id': 'string',
'Destination': {
'COSBucketDestination': {
'AccountId': '100000000001',
'Bucket': 'qcs::cos:ap-guangzhou::examplebucket-1250000000',
'Format': 'CSV',
'Prefix': 'string',
'Encryption': {
'SSECOS': {}
}
}
},
'IsEnabled': 'true'|'false',
'Filter': {
'Prefix': 'string'
},
'IncludedObjectVersions':'All'|'Current',
'OptionalFields': {
'Field': [
'Size',
'LastModifiedDate',
'ETag',
'StorageClass',
'IsMultipartUploaded',
'ReplicationStatus'
]
},
'Schedule': {
'Frequency': 'Daily'|'Weekly'
}
}
Parameter | Description | Type |
---|---|---|
Id | Inventory job name. Valid characters: a-z, A-Z, 0-9, -, _, . | String |
Destination | Inventory job delivery destination information | Dict |
COSBucketDestination | Destination bucket information for inventory job result delivery | Dict |
AccountId | Destination bucket account information | String |
Bucket | Destination bucket name | String |
Format | File format of the inventory result. Valid value: CSV | String |
Prefix | Delivery path prefix in the destination bucket | String |
Encryption | Encryption information for file delivery to the destination bucket. Valid value: SSECOS | Dict |
IsEnabled | Inventory job status flag. Valid values: true, false | String |
Filter | Filter for inventory analysis objects | Dict |
Prefix | Filter prefix for inventory analysis objects | String |
IncludedObjectVersions | Versioning information inclusion status. Valid values: All, Current | String |
OptionalFields | Optional inventory fields | Dict |
Field | Field name. Valid values: Size, LastModifiedDate, ETag, StorageClass, IsMultipartUploaded, ReplicationStatus | List |
Schedule | Inventory job execution schedule | Dict |
Frequency | Inventory job execution frequency. Valid values: Daily, Weekly | String |
This API is used to delete a specified inventory job from a bucket.
delete_bucket_inventory(Bucket, Id, **kwargs)
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys
import logging
# In most cases, set the log level to INFO. If you need to debug, you can set it to DEBUG and the SDK will print the communication information of the client.
logging.basicConfig(level=logging.INFO, stream=sys.stdout)
# 1. Set user attributes such as secret_id, secret_key, and region. Appid has been removed from CosConfig and thus needs to be specified in Bucket, which is formatted as BucketName-Appid.
secret_id = 'SecretId' # Replace it with the actual SecretId, which can be viewed and managed at https://console.intl.cloud.tencent.com/cam/capi
secret_key = 'SecretKey' # Replace it with the actual SecretKey, which can be viewed and managed at https://console.intl.cloud.tencent.com/cam/capi
region = 'ap-beijing' # Replace it with the actual region, which can be viewed in the console at https://console.intl.cloud.tencent.com/cos5/bucket
# For the list of regions supported by COS, see https://intl.cloud.tencent.com/document/product/436/6224
token = None # Token is required for temporary keys but not permanent keys. For more information about how to generate and use a temporary key, visit https://intl.cloud.tencent.com/document/product/436/14048
scheme = 'https' # Specify whether to use HTTP or HTTPS protocol to access COS. This field is optional and is `https` by default
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)
response = client.delete_bucket_inventory(
Bucket='examplebucket-1250000000',
Id='string'
)
Parameter | Description | Type | Required |
---|---|---|---|
Bucket | Bucket for inventory job deletion, in the format of BucketName-APPID . For more information, see Bucket Naming Conventions. |
String | Yes |
Id | Inventory job name. Valid characters: a-z, A-Z, 0-9, -, _, . | String | Yes |
This API returns None
.
Was this page helpful?