diff --git a/docs/obs/api-ref/ALL_META.TXT.json b/docs/obs/api-ref/ALL_META.TXT.json
index fc3d210f..4585cec8 100644
--- a/docs/obs/api-ref/ALL_META.TXT.json
+++ b/docs/obs/api-ref/ALL_META.TXT.json
@@ -1,4 +1,7 @@
[
+ {
+ "dockw":"API Reference"
+ },
{
"uri":"obs_04_0001.html",
"node_id":"obs_04_0001.xml",
@@ -1059,11 +1062,91 @@
"title":"Obtaining Storage Information of a Bucket",
"githuburl":""
},
+ {
+ "uri":"obs_04_0055.html",
+ "node_id":"obs_04_0055.xml",
+ "product_code":"obs",
+ "code":"54",
+ "des":"OBS uses the PUT method to configure bucket inventories. Each bucket can have a maximum of 10 inventories.To perform this operation, ensure that you have the PutBucketInv",
+ "doc_type":"api",
+ "kw":"Configuring Bucket Inventories,Advanced Bucket Settings,API Reference",
+ "search_title":"",
+ "metedata":[
+ {
+ "documenttype":"api",
+ "prodname":"obs",
+ "mdname":"Sample Code for Uploading an Object",
+ "opensource":"true"
+ }
+ ],
+ "title":"Configuring Bucket Inventories",
+ "githuburl":""
+ },
+ {
+ "uri":"obs_04_0056.html",
+ "node_id":"obs_04_0056.xml",
+ "product_code":"obs",
+ "code":"55",
+ "des":"OBS uses the GET method to obtain a specific inventory of a bucket.To perform this operation, you must have the GetBucketInventoryConfiguration permission. By default, th",
+ "doc_type":"api",
+ "kw":"Obtaining a Specific Inventory of a Bucket,Advanced Bucket Settings,API Reference",
+ "search_title":"",
+ "metedata":[
+ {
+ "documenttype":"api",
+ "prodname":"obs",
+ "mdname":"Sample Code for Uploading an Object",
+ "opensource":"true"
+ }
+ ],
+ "title":"Obtaining a Specific Inventory of a Bucket",
+ "githuburl":""
+ },
+ {
+ "uri":"obs_04_0057.html",
+ "node_id":"obs_04_0057.xml",
+ "product_code":"obs",
+ "code":"56",
+ "des":"OBS uses the GET method without inventory IDs to obtain all inventories of a specified bucket. Obtained inventories are returned together on only one page.To perform this",
+ "doc_type":"api",
+ "kw":"Listing All Inventories of a Bucket,Advanced Bucket Settings,API Reference",
+ "search_title":"",
+ "metedata":[
+ {
+ "documenttype":"api",
+ "prodname":"obs",
+ "mdname":"Sample Code for Uploading an Object",
+ "opensource":"true"
+ }
+ ],
+ "title":"Listing All Inventories of a Bucket",
+ "githuburl":""
+ },
+ {
+ "uri":"obs_04_0058.html",
+ "node_id":"obs_04_0058.xml",
+ "product_code":"obs",
+ "code":"57",
+ "des":"OBS uses the DELETE method to delete inventories (identified by inventory IDs) of a specified bucket.To perform this operation, you must have the DeleteBucketInventoryCon",
+ "doc_type":"api",
+ "kw":"Deleting Bucket Inventories,Advanced Bucket Settings,API Reference",
+ "search_title":"",
+ "metedata":[
+ {
+ "documenttype":"api",
+ "prodname":"obs",
+ "mdname":"Sample Code for Uploading an Object",
+ "opensource":"true"
+ }
+ ],
+ "title":"Deleting Bucket Inventories",
+ "githuburl":""
+ },
{
"uri":"obs_04_0059.html",
"node_id":"obs_04_0059.xml",
"product_code":"obs",
- "code":"54",
+ "code":"58",
"des":"OBS uses the PUT method to configure a custom domain name for a bucket. After the configuration is successful, you can access the bucket through the domain name.Ensure th",
"doc_type":"api",
"kw":"Configuring a Custom Domain Name for a Bucket,Advanced Bucket Settings,API Reference",
@@ -1083,7 +1166,7 @@
"uri":"obs_04_0060.html",
"node_id":"obs_04_0060.xml",
"product_code":"obs",
- "code":"55",
+ "code":"59",
"des":"OBS uses the GET method to obtain the custom domain name of a bucket.This request message does not contain the request parameters.This request uses common headers. For de",
"doc_type":"api",
"kw":"Obtaining the Custom Domain Name of a Bucket,Advanced Bucket Settings,API Reference",
@@ -1103,7 +1186,7 @@
"uri":"obs_04_0061.html",
"node_id":"obs_04_0061.xml",
"product_code":"obs",
- "code":"56",
+ "code":"60",
"des":"OBS uses the DELETE method to delete the custom domain name of a bucket.This request uses common headers. For details, see Table 3.This request involves no elements.The r",
"doc_type":"api",
"kw":"Deleting the Custom Domain Name of a Bucket,Advanced Bucket Settings,API Reference",
@@ -1123,7 +1206,7 @@
"uri":"obs_04_0062.html",
"node_id":"obs_04_0062.xml",
"product_code":"obs",
- "code":"57",
+ "code":"61",
"des":"OBS uses the PUT method to create or update the default server-side encryption for a bucket.After you configure encryption for a bucket, objects uploaded to this bucket w",
"doc_type":"api",
"kw":"Configuring Bucket Encryption,Advanced Bucket Settings,API Reference",
@@ -1143,7 +1226,7 @@
"uri":"obs_04_0063.html",
"node_id":"obs_04_0063.xml",
"product_code":"obs",
- "code":"58",
+ "code":"62",
"des":"OBS uses the GET method to obtain the encryption configuration of a specified bucket.To perform this operation, you must have the GetEncryptionConfiguration permission. B",
"doc_type":"api",
"kw":"Obtaining Bucket Encryption Configuration,Advanced Bucket Settings,API Reference",
@@ -1163,7 +1246,7 @@
"uri":"obs_04_0064.html",
"node_id":"obs_04_0064.xml",
"product_code":"obs",
- "code":"59",
+ "code":"63",
"des":"OBS uses the DELETE method to delete the encryption configuration of a specified bucket.To perform this operation, you must have the PutEncryptionConfiguration permission",
"doc_type":"api",
"kw":"Deleting the Encryption Configuration of a Bucket,Advanced Bucket Settings,API Reference",
@@ -1183,7 +1266,7 @@
"uri":"obs_04_0068.html",
"node_id":"obs_04_0068.xml",
"product_code":"obs",
- "code":"60",
+ "code":"64",
"des":"The requester-pays configuration allows the requester to pay for data transfer and API calls associated with accessing the requested OBS resources, while the bucket owner",
"doc_type":"api",
"kw":"Configuring the Requester-Pays Function for a Bucket,Advanced Bucket Settings,API Reference",
@@ -1203,7 +1286,7 @@
"uri":"obs_04_0069.html",
"node_id":"obs_04_0069.xml",
"product_code":"obs",
- "code":"61",
+ "code":"65",
"des":"This API obtains the requester-pays configuration information of a bucket.This request contains no message parameters.This request uses common headers. For details, see T",
"doc_type":"api",
"kw":"Obtaining the Requester-Pays Configuration Information of a Bucket,Advanced Bucket Settings,API Refe",
@@ -1223,8 +1306,8 @@
"uri":"obs_04_0167.html",
"node_id":"obs_04_0167.xml",
"product_code":"obs",
- "code":"62",
- "des":"This operation enables WORM for a bucket and allows you to configure the default WORM policy and a retention period.With the bucket's default WORM policy, if you do not s",
+ "code":"66",
+ "des":"This operation allows you to configure the default WORM policy and a retention period for a bucket.With the bucket's default WORM policy, if you do not specify a WORM pol",
"doc_type":"api",
"kw":"Configuring a Default WORM Policy for a Bucket,Advanced Bucket Settings,API Reference",
"search_title":"",
@@ -1243,7 +1326,7 @@
"uri":"obs_04_0168.html",
"node_id":"obs_04_0168.xml",
"product_code":"obs",
- "code":"63",
+ "code":"67",
"des":"This operation returns the default WORM policy of a bucket.To perform this operation, you must have the GetBucketObjectLockConfiguration permission. The bucket owner can ",
"doc_type":"api",
"kw":"Obtaining the Default WORM Policy of a Bucket,Advanced Bucket Settings,API Reference",
@@ -1263,7 +1346,7 @@
"uri":"obs_04_0070.html",
"node_id":"obs_04_0070.xml",
"product_code":"obs",
- "code":"64",
+ "code":"68",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"api",
"kw":"Static Website Hosting",
@@ -1283,7 +1366,7 @@
"uri":"obs_04_0071.html",
"node_id":"obs_04_0071.xml",
"product_code":"obs",
- "code":"65",
+ "code":"69",
"des":"OBS allows you to store static web page resources such as HTML web pages, flash files, videos, and audios in a bucket. When a client accesses these resources from the web",
"doc_type":"api",
"kw":"Configuring Static Website Hosting for a Bucket,Static Website Hosting,API Reference",
@@ -1303,7 +1386,7 @@
"uri":"obs_04_0072.html",
"node_id":"obs_04_0072.xml",
"product_code":"obs",
- "code":"66",
+ "code":"70",
"des":"You can perform this operation to get the static website hosting configuration of a bucket.To perform this operation, you must have the GetBucketWebsite permission. By de",
"doc_type":"api",
"kw":"Obtaining the Static Website Hosting Configuration of a Bucket,Static Website Hosting,API Reference",
@@ -1323,7 +1406,7 @@
"uri":"obs_04_0073.html",
"node_id":"obs_04_0073.xml",
"product_code":"obs",
- "code":"67",
+ "code":"71",
"des":"You can perform this operation to delete the website configuration of a bucket.To perform this operation, you must have the DeleteBucketWebsite permission. By default, on",
"doc_type":"api",
"kw":"Deleting the Static Website Hosting Configuration of a Bucket,Static Website Hosting,API Reference",
@@ -1343,7 +1426,7 @@
"uri":"obs_04_0074.html",
"node_id":"obs_04_0074.xml",
"product_code":"obs",
- "code":"68",
+ "code":"72",
"des":"Cross-origin resource sharing (CORS) is a standard mechanism proposed by World Wide Web Consortium (W3C) and allows cross-origin requests from clients. For standard web p",
"doc_type":"api",
"kw":"Configuring Bucket CORS,Static Website Hosting,API Reference",
@@ -1363,7 +1446,7 @@
"uri":"obs_04_0075.html",
"node_id":"obs_04_0075.xml",
"product_code":"obs",
- "code":"69",
+ "code":"73",
"des":"You can perform this operation to obtain CORS configuration information about a specified bucket.To perform this operation, you must have the GetBucketCORS permission. By",
"doc_type":"api",
"kw":"Obtaining the CORS Configuration of a Bucket,Static Website Hosting,API Reference",
@@ -1383,7 +1466,7 @@
"uri":"obs_04_0076.html",
"node_id":"obs_04_0076.xml",
"product_code":"obs",
- "code":"70",
+ "code":"74",
"des":"This operation is used to delete the CORS configuration of a bucket. After the CORS configuration is deleted, the bucket and objects in it cannot be accessed by requests ",
"doc_type":"api",
"kw":"Deleting the CORS Configuration of a Bucket,Static Website Hosting,API Reference",
@@ -1403,7 +1486,7 @@
"uri":"obs_04_0077.html",
"node_id":"obs_04_0077.xml",
"product_code":"obs",
- "code":"71",
+ "code":"75",
"des":"OPTIONS refers to pre-requests that are sent to servers by clients. Generally, the requests are used to check whether clients have permissions to perform operations on se",
"doc_type":"api",
"kw":"OPTIONS Bucket,Static Website Hosting,API Reference",
@@ -1423,7 +1506,7 @@
"uri":"obs_04_0078.html",
"node_id":"obs_04_0078.xml",
"product_code":"obs",
- "code":"72",
+ "code":"76",
"des":"For details, see OPTIONS Bucket.With the OPTIONS Object, you need to specify an object name in the URL, but an object name is not required with the OPTIONS Bucket, which ",
"doc_type":"api",
"kw":"OPTIONS Object,Static Website Hosting,API Reference",
@@ -1443,7 +1526,7 @@
"uri":"obs_04_0079.html",
"node_id":"obs_04_0079.xml",
"product_code":"obs",
- "code":"73",
+ "code":"77",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"api",
"kw":"Operations on Objects",
@@ -1463,10 +1546,10 @@
"uri":"obs_04_0080.html",
"node_id":"obs_04_0080.xml",
"product_code":"obs",
- "code":"74",
+ "code":"78",
"des":"After creating a bucket in OBS, you can use this operation to upload an object to the bucket. This operation uploads an object to a bucket. To use this operation, you mus",
"doc_type":"api",
- "kw":"Uploading Objects - PUT,Operations on Objects,API Reference",
+ "kw":"Uploading an Object - PUT,Operations on Objects,API Reference",
"search_title":"",
"metedata":[
{
@@ -1476,17 +1559,17 @@
"opensource":"true"
}
],
- "title":"Uploading Objects - PUT",
+ "title":"Uploading an Object - PUT",
"githuburl":""
},
{
"uri":"obs_04_0081.html",
"node_id":"obs_04_0081.xml",
"product_code":"obs",
- "code":"75",
+ "code":"79",
"des":"This operation uploads an object to a bucket. To use this operation, you must have the write permission for the bucket.The name of each object in a bucket must be unique.",
"doc_type":"api",
- "kw":"Uploading Objects - POST,Operations on Objects,API Reference",
+ "kw":"Uploading an Object - POST,Operations on Objects,API Reference",
"search_title":"",
"metedata":[
{
@@ -1496,17 +1579,17 @@
"opensource":"true"
}
],
- "title":"Uploading Objects - POST",
+ "title":"Uploading an Object - POST",
"githuburl":""
},
{
"uri":"obs_04_0082.html",
"node_id":"obs_04_0082.xml",
"product_code":"obs",
- "code":"76",
+ "code":"80",
"des":"You can perform this operation to create a copy of an existing object in OBS.Users can determine whether to copy the metadata of the source object to the target object (b",
"doc_type":"api",
- "kw":"Copying Objects,Operations on Objects,API Reference",
+ "kw":"Copying an Object,Operations on Objects,API Reference",
"search_title":"",
"metedata":[
{
@@ -1516,17 +1599,17 @@
"opensource":"true"
}
],
- "title":"Copying Objects",
+ "title":"Copying an Object",
"githuburl":""
},
{
"uri":"obs_04_0083.html",
"node_id":"obs_04_0083.xml",
"product_code":"obs",
- "code":"77",
- "des":"This operation downloads objects from OBS. Before using this GET operation, check that you have the read permission for the target object. If the object owner has granted",
+ "code":"81",
+ "des":"This operation downloads an object from OBS. Before using this GET operation, check that you have the read permission for the target object. If the object owner has grant",
"doc_type":"api",
- "kw":"Downloading Objects,Operations on Objects,API Reference",
+ "kw":"Downloading an Object,Operations on Objects,API Reference",
"search_title":"",
"metedata":[
{
@@ -1536,14 +1619,14 @@
"opensource":"true"
}
],
- "title":"Downloading Objects",
+ "title":"Downloading an Object",
"githuburl":""
},
{
"uri":"obs_04_0084.html",
"node_id":"obs_04_0084.xml",
"product_code":"obs",
- "code":"78",
+ "code":"82",
"des":"Users with the read permission on objects can perform the HeadObject operation to obtain metadata of objects. The object metadata is included in the response.This operati",
"doc_type":"api",
"kw":"Querying Object Metadata,Operations on Objects,API Reference",
@@ -1563,7 +1646,7 @@
"uri":"obs_04_0085.html",
"node_id":"obs_04_0085.xml",
"product_code":"obs",
- "code":"79",
+ "code":"83",
"des":"You can perform this operation to delete an object. If you try to delete an object that does not exist, OBS will return a success message.When versioning is enabled for a",
"doc_type":"api",
"kw":"Deleting an Object,Operations on Objects,API Reference",
@@ -1583,7 +1666,7 @@
"uri":"obs_04_0086.html",
"node_id":"obs_04_0086.xml",
"product_code":"obs",
- "code":"80",
+ "code":"84",
"des":"This operation can be used to batch delete some objects in a bucket. The deletion cannot be undone. After the operation is implemented, the returned information contains ",
"doc_type":"api",
"kw":"Deleting Objects,Operations on Objects,API Reference",
@@ -1603,7 +1686,7 @@
"uri":"obs_04_0087.html",
"node_id":"obs_04_0087.xml",
"product_code":"obs",
- "code":"81",
+ "code":"85",
"des":"To obtain the content of an object in the Cold storage class, you need to restore the object first and then you can download it. After an object is restored, a copy of th",
"doc_type":"api",
"kw":"Restoring Cold Objects,Operations on Objects,API Reference",
@@ -1623,7 +1706,7 @@
"uri":"obs_04_0089.html",
"node_id":"obs_04_0089.xml",
"product_code":"obs",
- "code":"82",
+ "code":"86",
"des":"OBS supports the control of access permission for objects. By default, only the object creator has the read and write permissions for the object. However, the creator can",
"doc_type":"api",
"kw":"Configuring an Object ACL,Operations on Objects,API Reference",
@@ -1643,7 +1726,7 @@
"uri":"obs_04_0090.html",
"node_id":"obs_04_0090.xml",
"product_code":"obs",
- "code":"83",
+ "code":"87",
"des":"The implementation of this operation returns the ACL configuration of an object. You can perform this operation to view the ACL of an object, as long as you have the read",
"doc_type":"api",
"kw":"Obtaining Object ACL Configuration,Operations on Objects,API Reference",
@@ -1663,7 +1746,7 @@
"uri":"obs_04_0091.html",
"node_id":"obs_04_0091.xml",
"product_code":"obs",
- "code":"84",
+ "code":"88",
"des":"This operation modifies, deletes, or adds metadata to uploaded objects in a bucket.OBS supports the six HTTP request headers: Cache-Control, Expires, Content-Encoding, Co",
"doc_type":"api",
"kw":"Modifying Object Metadata,Operations on Objects,API Reference",
@@ -1683,7 +1766,7 @@
"uri":"obs_04_0092.html",
"node_id":"obs_04_0092.xml",
"product_code":"obs",
- "code":"85",
+ "code":"89",
"des":"This operation can modify an object from a specified position.This API is supported only by parallel file systems. For details about how to create a parallel file system,",
"doc_type":"api",
"kw":"Modifying an Object,Operations on Objects,API Reference",
@@ -1703,7 +1786,7 @@
"uri":"obs_04_0093.html",
"node_id":"obs_04_0093.xml",
"product_code":"obs",
- "code":"86",
+ "code":"90",
"des":"This operation can truncate an object to a specified size.This API is supported only by parallel file systems. For details about how to create a parallel file system, see",
"doc_type":"api",
"kw":"Truncating an Object,Operations on Objects,API Reference",
@@ -1723,7 +1806,7 @@
"uri":"obs_04_0094.html",
"node_id":"obs_04_0094.xml",
"product_code":"obs",
- "code":"87",
+ "code":"91",
"des":"This operation can rename an object.This API is supported only by parallel file systems. For details about how to create a parallel file system, see Sample Request: Creat",
"doc_type":"api",
"kw":"Renaming an Object,Operations on Objects,API Reference",
@@ -1743,7 +1826,7 @@
"uri":"obs_04_0166.html",
"node_id":"obs_04_0166.xml",
"product_code":"obs",
- "code":"88",
+ "code":"92",
"des":"This operation configures or updates the retention period for objects uploaded to a bucket with WORM enabled.When you upload an object, if you do not configure a protecti",
"doc_type":"api",
"kw":"Configuring WORM Retention for an Object,Operations on Objects,API Reference",
@@ -1763,7 +1846,7 @@
"uri":"obs_04_0096.html",
"node_id":"obs_04_0096.xml",
"product_code":"obs",
- "code":"89",
+ "code":"93",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"api",
"kw":"Operations on Multipart Upload",
@@ -1783,7 +1866,7 @@
"uri":"obs_04_0097.html",
"node_id":"obs_04_0097.xml",
"product_code":"obs",
- "code":"90",
+ "code":"94",
"des":"This operation queries all the multipart upload tasks that are initialized but have not been merged or canceled in a bucket.This request uses parameters to specify the qu",
"doc_type":"api",
"kw":"Listing Initiated Multipart Uploads in a Bucket,Operations on Multipart Upload,API Reference",
@@ -1803,7 +1886,7 @@
"uri":"obs_04_0098.html",
"node_id":"obs_04_0098.xml",
"product_code":"obs",
- "code":"91",
+ "code":"95",
"des":"Before using this operation, make an API operation call to create a multipart upload task. The system will return a globally unique upload ID as the multipart upload iden",
"doc_type":"api",
"kw":"Initiating a Multipart Upload,Operations on Multipart Upload,API Reference",
@@ -1823,7 +1906,7 @@
"uri":"obs_04_0099.html",
"node_id":"obs_04_0099.xml",
"product_code":"obs",
- "code":"92",
+ "code":"96",
"des":"After initiating a multipart upload, you can use this operation to upload parts for the multipart upload using its task ID. When parts are uploaded in a multipart upload ",
"doc_type":"api",
"kw":"Uploading Parts,Operations on Multipart Upload,API Reference",
@@ -1843,7 +1926,7 @@
"uri":"obs_04_0100.html",
"node_id":"obs_04_0100.xml",
"product_code":"obs",
- "code":"93",
+ "code":"97",
"des":"After creating a multipart upload job, you can specify its upload ID and upload a part to the job in OBS. Alternatively, you can make an API call to add a part (part of a",
"doc_type":"api",
"kw":"Copying Parts,Operations on Multipart Upload,API Reference",
@@ -1863,7 +1946,7 @@
"uri":"obs_04_0101.html",
"node_id":"obs_04_0101.xml",
"product_code":"obs",
- "code":"94",
+ "code":"98",
"des":"You can perform this operation to query all parts associated to a multipart upload. The size of each part listed by this API is the same as the size of the part uploaded.",
"doc_type":"api",
"kw":"Listing Uploaded Parts,Operations on Multipart Upload,API Reference",
@@ -1883,7 +1966,7 @@
"uri":"obs_04_0102.html",
"node_id":"obs_04_0102.xml",
"product_code":"obs",
- "code":"95",
+ "code":"99",
"des":"After uploading all parts for a multipart upload, you can use this operation to complete the multipart upload. Before performing this operation, you cannot download the u",
"doc_type":"api",
"kw":"Completing a Multipart Upload,Operations on Multipart Upload,API Reference",
@@ -1903,7 +1986,7 @@
"uri":"obs_04_0103.html",
"node_id":"obs_04_0103.xml",
"product_code":"obs",
- "code":"96",
+ "code":"100",
"des":"You can perform this operation to abort a multipart upload. You cannot upload or list parts after operations to merge parts or abort a multipart upload are performed.This",
"doc_type":"api",
"kw":"Canceling a Multipart Upload Task,Operations on Multipart Upload,API Reference",
@@ -1923,7 +2006,7 @@
"uri":"obs_04_0104.html",
"node_id":"obs_04_0104.xml",
"product_code":"obs",
- "code":"97",
+ "code":"101",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"api",
"kw":"Server-Side Encryption",
@@ -1943,7 +2026,7 @@
"uri":"obs_04_0105.html",
"node_id":"obs_04_0105.xml",
"product_code":"obs",
- "code":"98",
+ "code":"102",
"des":"You can configure server-side encryption for objects, so that they will be encrypted or decrypted when you upload them to or download them from a bucket.The encryption an",
"doc_type":"api",
"kw":"Server-Side Encryption Overview,Server-Side Encryption,API Reference",
@@ -1963,7 +2046,7 @@
"uri":"obs_04_0106.html",
"node_id":"obs_04_0106.xml",
"product_code":"obs",
- "code":"99",
+ "code":"103",
"des":"With SSE-KMS, OBS uses the keys provided by Key Management Service (KMS) for server-side encryption. You can create custom keys on KMS to encrypt your objects. If you do ",
"doc_type":"api",
"kw":"SSE-KMS,Server-Side Encryption,API Reference",
@@ -1983,7 +2066,7 @@
"uri":"obs_04_0107.html",
"node_id":"obs_04_0107.xml",
"product_code":"obs",
- "code":"100",
+ "code":"104",
"des":"With SSE-C used, OBS uses the keys and MD5 values provided by customers for server-side encryption.OBS does not store your encryption keys. If you lost them, you lost the",
"doc_type":"api",
"kw":"SSE-C,Server-Side Encryption,API Reference",
@@ -2003,7 +2086,7 @@
"uri":"obs_04_0108.html",
"node_id":"obs_04_0108.xml",
"product_code":"obs",
- "code":"101",
+ "code":"105",
"des":"This section lists the operations related to server-side encryption and describes HTTP protocols applicable to the operations.The following table describes the requiremen",
"doc_type":"api",
"kw":"API Operations Related to Server-Side Encryption,Server-Side Encryption,API Reference",
@@ -2023,7 +2106,7 @@
"uri":"obs_04_0115.html",
"node_id":"obs_04_0115.xml",
"product_code":"obs",
- "code":"102",
+ "code":"106",
"des":"If an API call fails, no result data is returned. You can locate the cause of the error according to the error code of each API. If an API call fails, HTTP status code 3x",
"doc_type":"api",
"kw":"Error Codes,API Reference",
@@ -2039,11 +2122,91 @@
"title":"Error Codes",
"githuburl":""
},
+ {
+ "uri":"obs_04_0109.html",
+ "node_id":"obs_04_0109.xml",
+ "product_code":"obs",
+ "code":"107",
+ "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
+ "doc_type":"api",
+ "kw":"IAM Policies and Supported Actions",
+ "search_title":"",
+ "metedata":[
+ {
+ "documenttype":"api",
+ "prodname":"obs",
+ "mdname":"Sample Code for Uploading an Object",
+ "opensource":"true"
+ }
+ ],
+ "title":"IAM Policies and Supported Actions",
+ "githuburl":""
+ },
+ {
+ "uri":"obs_04_0110.html",
+ "node_id":"obs_04_0110.xml",
+ "product_code":"obs",
+ "code":"108",
+ "des":"This section describes fine-grained permissions management for your OBS. If your account does not require individual IAM users, skip this section.By default, new IAM user",
+ "doc_type":"api",
+ "kw":"Introduction,IAM Policies and Supported Actions,API Reference",
+ "search_title":"",
+ "metedata":[
+ {
+ "documenttype":"api",
+ "prodname":"obs",
+ "mdname":"Sample Code for Uploading an Object",
+ "opensource":"true"
+ }
+ ],
+ "title":"Introduction",
+ "githuburl":""
+ },
+ {
+ "uri":"obs_04_0111.html",
+ "node_id":"obs_04_0111.xml",
+ "product_code":"obs",
+ "code":"109",
+ "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
+ "doc_type":"api",
+ "kw":"Bucket Actions,IAM Policies and Supported Actions,API Reference",
+ "search_title":"",
+ "metedata":[
+ {
+ "documenttype":"api",
+ "prodname":"obs",
+ "mdname":"Sample Code for Uploading an Object",
+ "opensource":"true"
+ }
+ ],
+ "title":"Bucket Actions",
+ "githuburl":""
+ },
+ {
+ "uri":"obs_04_0112.html",
+ "node_id":"obs_04_0112.xml",
+ "product_code":"obs",
+ "code":"110",
+ "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
+ "doc_type":"api",
+ "kw":"Object Actions,IAM Policies and Supported Actions,API Reference",
+ "search_title":"",
+ "metedata":[
+ {
+ "documenttype":"api",
+ "prodname":"obs",
+ "mdname":"Sample Code for Uploading an Object",
+ "opensource":"true"
+ }
+ ],
+ "title":"Object Actions",
+ "githuburl":""
+ },
{
"uri":"obs_04_0113.html",
"node_id":"obs_04_0113.xml",
"product_code":"obs",
- "code":"103",
+ "code":"111",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"api",
"kw":"Appendixes",
@@ -2063,7 +2226,7 @@
"uri":"obs_04_0114.html",
"node_id":"obs_04_0114.xml",
"product_code":"obs",
- "code":"104",
+ "code":"112",
"des":"Table 1 lists the status codes and prompt message returned by the server to the user.Send API requests using the HTTP/HTTPS format that complies with https://www.ietf.org",
"doc_type":"api",
"kw":"Status Codes,Appendixes,API Reference",
@@ -2083,8 +2246,8 @@
"uri":"obs_04_0116.html",
"node_id":"obs_04_0116.xml",
"product_code":"obs",
- "code":"105",
- "des":"When you call APIs, you need to use the AK and SK for authentication. To obtain the AK and SK, perform the following steps:Keep AKs and SKs properly to prevent informatio",
+ "code":"113",
+ "des":"When you call APIs, you need to use the AK and SK for authentication. To obtain the AK and SK, perform the following steps:This step is required only when you have enable",
"doc_type":"api",
"kw":"Obtaining Access Keys (AK/SK),Appendixes,API Reference",
"search_title":"",
@@ -2103,7 +2266,7 @@
"uri":"obs_04_0117.html",
"node_id":"obs_04_0117.xml",
"product_code":"obs",
- "code":"106",
+ "code":"114",
"des":"When making API calls, you may need to specify the domain ID (DomainID) and user ID (UserID) in some requests. To obtain them from the console, do as follows:On the My Cr",
"doc_type":"api",
"kw":"Obtaining a Domain ID and a User ID,Appendixes,API Reference",
@@ -2123,7 +2286,7 @@
"uri":"obs_04_0118.html",
"node_id":"obs_04_0118.xml",
"product_code":"obs",
- "code":"107",
+ "code":"115",
"des":"After a success message is returned in response to a client's write or deletion request, the client can obtain the latest data. If a client that initiates a write request",
"doc_type":"api",
"kw":"Consistency of Concurrent Operations,Appendixes,API Reference",
@@ -2143,7 +2306,7 @@
"uri":"obs_04_0000.html",
"node_id":"obs_04_0000.xml",
"product_code":"obs",
- "code":"108",
+ "code":"116",
"des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
"doc_type":"api",
"kw":"Change History,API Reference",
diff --git a/docs/obs/api-ref/CLASS.TXT.json b/docs/obs/api-ref/CLASS.TXT.json
index a34350be..d8a709d0 100644
--- a/docs/obs/api-ref/CLASS.TXT.json
+++ b/docs/obs/api-ref/CLASS.TXT.json
@@ -476,6 +476,42 @@
"p_code":"28",
"code":"53"
},
+ {
+ "desc":"OBS uses the PUT method to configure bucket inventories. Each bucket can have a maximum of 10 inventories.To perform this operation, ensure that you have the PutBucketInv",
+ "product_code":"obs",
+ "title":"Configuring Bucket Inventories",
+ "uri":"obs_04_0055.html",
+ "doc_type":"api",
+ "p_code":"28",
+ "code":"54"
+ },
+ {
+ "desc":"OBS uses the GET method to obtain a specific inventory of a bucket.To perform this operation, you must have the GetBucketInventoryConfiguration permission. By default, th",
+ "product_code":"obs",
+ "title":"Obtaining a Specific Inventory of a Bucket",
+ "uri":"obs_04_0056.html",
+ "doc_type":"api",
+ "p_code":"28",
+ "code":"55"
+ },
+ {
+ "desc":"OBS uses the GET method without inventory IDs to obtain all inventories of a specified bucket. Obtained inventories are returned together on only one page.To perform this",
+ "product_code":"obs",
+ "title":"Listing All Inventories of a Bucket",
+ "uri":"obs_04_0057.html",
+ "doc_type":"api",
+ "p_code":"28",
+ "code":"56"
+ },
+ {
+ "desc":"OBS uses the DELETE method to delete inventories (identified by inventory IDs) of a specified bucket.To perform this operation, you must have the DeleteBucketInventoryCon",
+ "product_code":"obs",
+ "title":"Deleting Bucket Inventories",
+ "uri":"obs_04_0058.html",
+ "doc_type":"api",
+ "p_code":"28",
+ "code":"57"
+ },
{
"desc":"OBS uses the PUT method to configure a custom domain name for a bucket. After the configuration is successful, you can access the bucket through the domain name.Ensure th",
"product_code":"obs",
@@ -483,7 +519,7 @@
"uri":"obs_04_0059.html",
"doc_type":"api",
"p_code":"28",
- "code":"54"
+ "code":"58"
},
{
"desc":"OBS uses the GET method to obtain the custom domain name of a bucket.This request message does not contain the request parameters.This request uses common headers. For de",
@@ -492,7 +528,7 @@
"uri":"obs_04_0060.html",
"doc_type":"api",
"p_code":"28",
- "code":"55"
+ "code":"59"
},
{
"desc":"OBS uses the DELETE method to delete the custom domain name of a bucket.This request uses common headers. For details, see Table 3.This request involves no elements.The r",
@@ -501,7 +537,7 @@
"uri":"obs_04_0061.html",
"doc_type":"api",
"p_code":"28",
- "code":"56"
+ "code":"60"
},
{
"desc":"OBS uses the PUT method to create or update the default server-side encryption for a bucket.After you configure encryption for a bucket, objects uploaded to this bucket w",
@@ -510,7 +546,7 @@
"uri":"obs_04_0062.html",
"doc_type":"api",
"p_code":"28",
- "code":"57"
+ "code":"61"
},
{
"desc":"OBS uses the GET method to obtain the encryption configuration of a specified bucket.To perform this operation, you must have the GetEncryptionConfiguration permission. B",
@@ -519,7 +555,7 @@
"uri":"obs_04_0063.html",
"doc_type":"api",
"p_code":"28",
- "code":"58"
+ "code":"62"
},
{
"desc":"OBS uses the DELETE method to delete the encryption configuration of a specified bucket.To perform this operation, you must have the PutEncryptionConfiguration permission",
@@ -528,7 +564,7 @@
"uri":"obs_04_0064.html",
"doc_type":"api",
"p_code":"28",
- "code":"59"
+ "code":"63"
},
{
"desc":"The requester-pays configuration allows the requester to pay for data transfer and API calls associated with accessing the requested OBS resources, while the bucket owner",
@@ -537,7 +573,7 @@
"uri":"obs_04_0068.html",
"doc_type":"api",
"p_code":"28",
- "code":"60"
+ "code":"64"
},
{
"desc":"This API obtains the requester-pays configuration information of a bucket.This request contains no message parameters.This request uses common headers. For details, see T",
@@ -546,16 +582,16 @@
"uri":"obs_04_0069.html",
"doc_type":"api",
"p_code":"28",
- "code":"61"
+ "code":"65"
},
{
- "desc":"This operation enables WORM for a bucket and allows you to configure the default WORM policy and a retention period.With the bucket's default WORM policy, if you do not s",
+ "desc":"This operation allows you to configure the default WORM policy and a retention period for a bucket.With the bucket's default WORM policy, if you do not specify a WORM pol",
"product_code":"obs",
"title":"Configuring a Default WORM Policy for a Bucket",
"uri":"obs_04_0167.html",
"doc_type":"api",
"p_code":"28",
- "code":"62"
+ "code":"66"
},
{
"desc":"This operation returns the default WORM policy of a bucket.To perform this operation, you must have the GetBucketObjectLockConfiguration permission. The bucket owner can ",
@@ -564,7 +600,7 @@
"uri":"obs_04_0168.html",
"doc_type":"api",
"p_code":"28",
- "code":"63"
+ "code":"67"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
@@ -573,7 +609,7 @@
"uri":"obs_04_0070.html",
"doc_type":"api",
"p_code":"19",
- "code":"64"
+ "code":"68"
},
{
"desc":"OBS allows you to store static web page resources such as HTML web pages, flash files, videos, and audios in a bucket. When a client accesses these resources from the web",
@@ -581,8 +617,8 @@
"title":"Configuring Static Website Hosting for a Bucket",
"uri":"obs_04_0071.html",
"doc_type":"api",
- "p_code":"64",
- "code":"65"
+ "p_code":"68",
+ "code":"69"
},
{
"desc":"You can perform this operation to get the static website hosting configuration of a bucket.To perform this operation, you must have the GetBucketWebsite permission. By de",
@@ -590,8 +626,8 @@
"title":"Obtaining the Static Website Hosting Configuration of a Bucket",
"uri":"obs_04_0072.html",
"doc_type":"api",
- "p_code":"64",
- "code":"66"
+ "p_code":"68",
+ "code":"70"
},
{
"desc":"You can perform this operation to delete the website configuration of a bucket.To perform this operation, you must have the DeleteBucketWebsite permission. By default, on",
@@ -599,8 +635,8 @@
"title":"Deleting the Static Website Hosting Configuration of a Bucket",
"uri":"obs_04_0073.html",
"doc_type":"api",
- "p_code":"64",
- "code":"67"
+ "p_code":"68",
+ "code":"71"
},
{
"desc":"Cross-origin resource sharing (CORS) is a standard mechanism proposed by World Wide Web Consortium (W3C) and allows cross-origin requests from clients. For standard web p",
@@ -608,8 +644,8 @@
"title":"Configuring Bucket CORS",
"uri":"obs_04_0074.html",
"doc_type":"api",
- "p_code":"64",
- "code":"68"
+ "p_code":"68",
+ "code":"72"
},
{
"desc":"You can perform this operation to obtain CORS configuration information about a specified bucket.To perform this operation, you must have the GetBucketCORS permission. By",
@@ -617,8 +653,8 @@
"title":"Obtaining the CORS Configuration of a Bucket",
"uri":"obs_04_0075.html",
"doc_type":"api",
- "p_code":"64",
- "code":"69"
+ "p_code":"68",
+ "code":"73"
},
{
"desc":"This operation is used to delete the CORS configuration of a bucket. After the CORS configuration is deleted, the bucket and objects in it cannot be accessed by requests ",
@@ -626,8 +662,8 @@
"title":"Deleting the CORS Configuration of a Bucket",
"uri":"obs_04_0076.html",
"doc_type":"api",
- "p_code":"64",
- "code":"70"
+ "p_code":"68",
+ "code":"74"
},
{
"desc":"OPTIONS refers to pre-requests that are sent to servers by clients. Generally, the requests are used to check whether clients have permissions to perform operations on se",
@@ -635,8 +671,8 @@
"title":"OPTIONS Bucket",
"uri":"obs_04_0077.html",
"doc_type":"api",
- "p_code":"64",
- "code":"71"
+ "p_code":"68",
+ "code":"75"
},
{
"desc":"For details, see OPTIONS Bucket.With the OPTIONS Object, you need to specify an object name in the URL, but an object name is not required with the OPTIONS Bucket, which ",
@@ -644,8 +680,8 @@
"title":"OPTIONS Object",
"uri":"obs_04_0078.html",
"doc_type":"api",
- "p_code":"64",
- "code":"72"
+ "p_code":"68",
+ "code":"76"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
@@ -654,43 +690,43 @@
"uri":"obs_04_0079.html",
"doc_type":"api",
"p_code":"19",
- "code":"73"
+ "code":"77"
},
{
"desc":"After creating a bucket in OBS, you can use this operation to upload an object to the bucket. This operation uploads an object to a bucket. To use this operation, you mus",
"product_code":"obs",
- "title":"Uploading Objects - PUT",
+ "title":"Uploading an Object - PUT",
"uri":"obs_04_0080.html",
"doc_type":"api",
- "p_code":"73",
- "code":"74"
+ "p_code":"77",
+ "code":"78"
},
{
"desc":"This operation uploads an object to a bucket. To use this operation, you must have the write permission for the bucket.The name of each object in a bucket must be unique.",
"product_code":"obs",
- "title":"Uploading Objects - POST",
+ "title":"Uploading an Object - POST",
"uri":"obs_04_0081.html",
"doc_type":"api",
- "p_code":"73",
- "code":"75"
+ "p_code":"77",
+ "code":"79"
},
{
"desc":"You can perform this operation to create a copy of an existing object in OBS.Users can determine whether to copy the metadata of the source object to the target object (b",
"product_code":"obs",
- "title":"Copying Objects",
+ "title":"Copying an Object",
"uri":"obs_04_0082.html",
"doc_type":"api",
- "p_code":"73",
- "code":"76"
+ "p_code":"77",
+ "code":"80"
},
{
- "desc":"This operation downloads objects from OBS. Before using this GET operation, check that you have the read permission for the target object. If the object owner has granted",
+ "desc":"This operation downloads an object from OBS. Before using this GET operation, check that you have the read permission for the target object. If the object owner has grant",
"product_code":"obs",
- "title":"Downloading Objects",
+ "title":"Downloading an Object",
"uri":"obs_04_0083.html",
"doc_type":"api",
- "p_code":"73",
- "code":"77"
+ "p_code":"77",
+ "code":"81"
},
{
"desc":"Users with the read permission on objects can perform the HeadObject operation to obtain metadata of objects. The object metadata is included in the response.This operati",
@@ -698,8 +734,8 @@
"title":"Querying Object Metadata",
"uri":"obs_04_0084.html",
"doc_type":"api",
- "p_code":"73",
- "code":"78"
+ "p_code":"77",
+ "code":"82"
},
{
"desc":"You can perform this operation to delete an object. If you try to delete an object that does not exist, OBS will return a success message.When versioning is enabled for a",
@@ -707,8 +743,8 @@
"title":"Deleting an Object",
"uri":"obs_04_0085.html",
"doc_type":"api",
- "p_code":"73",
- "code":"79"
+ "p_code":"77",
+ "code":"83"
},
{
"desc":"This operation can be used to batch delete some objects in a bucket. The deletion cannot be undone. After the operation is implemented, the returned information contains ",
@@ -716,8 +752,8 @@
"title":"Deleting Objects",
"uri":"obs_04_0086.html",
"doc_type":"api",
- "p_code":"73",
- "code":"80"
+ "p_code":"77",
+ "code":"84"
},
{
"desc":"To obtain the content of an object in the Cold storage class, you need to restore the object first and then you can download it. After an object is restored, a copy of th",
@@ -725,8 +761,8 @@
"title":"Restoring Cold Objects",
"uri":"obs_04_0087.html",
"doc_type":"api",
- "p_code":"73",
- "code":"81"
+ "p_code":"77",
+ "code":"85"
},
{
"desc":"OBS supports the control of access permission for objects. By default, only the object creator has the read and write permissions for the object. However, the creator can",
@@ -734,8 +770,8 @@
"title":"Configuring an Object ACL",
"uri":"obs_04_0089.html",
"doc_type":"api",
- "p_code":"73",
- "code":"82"
+ "p_code":"77",
+ "code":"86"
},
{
"desc":"The implementation of this operation returns the ACL configuration of an object. You can perform this operation to view the ACL of an object, as long as you have the read",
@@ -743,8 +779,8 @@
"title":"Obtaining Object ACL Configuration",
"uri":"obs_04_0090.html",
"doc_type":"api",
- "p_code":"73",
- "code":"83"
+ "p_code":"77",
+ "code":"87"
},
{
"desc":"This operation modifies, deletes, or adds metadata to uploaded objects in a bucket.OBS supports the six HTTP request headers: Cache-Control, Expires, Content-Encoding, Co",
@@ -752,8 +788,8 @@
"title":"Modifying Object Metadata",
"uri":"obs_04_0091.html",
"doc_type":"api",
- "p_code":"73",
- "code":"84"
+ "p_code":"77",
+ "code":"88"
},
{
"desc":"This operation can modify an object from a specified position.This API is supported only by parallel file systems. For details about how to create a parallel file system,",
@@ -761,8 +797,8 @@
"title":"Modifying an Object",
"uri":"obs_04_0092.html",
"doc_type":"api",
- "p_code":"73",
- "code":"85"
+ "p_code":"77",
+ "code":"89"
},
{
"desc":"This operation can truncate an object to a specified size.This API is supported only by parallel file systems. For details about how to create a parallel file system, see",
@@ -770,8 +806,8 @@
"title":"Truncating an Object",
"uri":"obs_04_0093.html",
"doc_type":"api",
- "p_code":"73",
- "code":"86"
+ "p_code":"77",
+ "code":"90"
},
{
"desc":"This operation can rename an object.This API is supported only by parallel file systems. For details about how to create a parallel file system, see Sample Request: Creat",
@@ -779,8 +815,8 @@
"title":"Renaming an Object",
"uri":"obs_04_0094.html",
"doc_type":"api",
- "p_code":"73",
- "code":"87"
+ "p_code":"77",
+ "code":"91"
},
{
"desc":"This operation configures or updates the retention period for objects uploaded to a bucket with WORM enabled.When you upload an object, if you do not configure a protecti",
@@ -788,8 +824,8 @@
"title":"Configuring WORM Retention for an Object",
"uri":"obs_04_0166.html",
"doc_type":"api",
- "p_code":"73",
- "code":"88"
+ "p_code":"77",
+ "code":"92"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
@@ -798,7 +834,7 @@
"uri":"obs_04_0096.html",
"doc_type":"api",
"p_code":"19",
- "code":"89"
+ "code":"93"
},
{
"desc":"This operation queries all the multipart upload tasks that are initialized but have not been merged or canceled in a bucket.This request uses parameters to specify the qu",
@@ -806,8 +842,8 @@
"title":"Listing Initiated Multipart Uploads in a Bucket",
"uri":"obs_04_0097.html",
"doc_type":"api",
- "p_code":"89",
- "code":"90"
+ "p_code":"93",
+ "code":"94"
},
{
"desc":"Before using this operation, make an API operation call to create a multipart upload task. The system will return a globally unique upload ID as the multipart upload iden",
@@ -815,8 +851,8 @@
"title":"Initiating a Multipart Upload",
"uri":"obs_04_0098.html",
"doc_type":"api",
- "p_code":"89",
- "code":"91"
+ "p_code":"93",
+ "code":"95"
},
{
"desc":"After initiating a multipart upload, you can use this operation to upload parts for the multipart upload using its task ID. When parts are uploaded in a multipart upload ",
@@ -824,8 +860,8 @@
"title":"Uploading Parts",
"uri":"obs_04_0099.html",
"doc_type":"api",
- "p_code":"89",
- "code":"92"
+ "p_code":"93",
+ "code":"96"
},
{
"desc":"After creating a multipart upload job, you can specify its upload ID and upload a part to the job in OBS. Alternatively, you can make an API call to add a part (part of a",
@@ -833,8 +869,8 @@
"title":"Copying Parts",
"uri":"obs_04_0100.html",
"doc_type":"api",
- "p_code":"89",
- "code":"93"
+ "p_code":"93",
+ "code":"97"
},
{
"desc":"You can perform this operation to query all parts associated to a multipart upload. The size of each part listed by this API is the same as the size of the part uploaded.",
@@ -842,8 +878,8 @@
"title":"Listing Uploaded Parts",
"uri":"obs_04_0101.html",
"doc_type":"api",
- "p_code":"89",
- "code":"94"
+ "p_code":"93",
+ "code":"98"
},
{
"desc":"After uploading all parts for a multipart upload, you can use this operation to complete the multipart upload. Before performing this operation, you cannot download the u",
@@ -851,8 +887,8 @@
"title":"Completing a Multipart Upload",
"uri":"obs_04_0102.html",
"doc_type":"api",
- "p_code":"89",
- "code":"95"
+ "p_code":"93",
+ "code":"99"
},
{
"desc":"You can perform this operation to abort a multipart upload. You cannot upload or list parts after operations to merge parts or abort a multipart upload are performed.This",
@@ -860,8 +896,8 @@
"title":"Canceling a Multipart Upload Task",
"uri":"obs_04_0103.html",
"doc_type":"api",
- "p_code":"89",
- "code":"96"
+ "p_code":"93",
+ "code":"100"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
@@ -870,7 +906,7 @@
"uri":"obs_04_0104.html",
"doc_type":"api",
"p_code":"19",
- "code":"97"
+ "code":"101"
},
{
"desc":"You can configure server-side encryption for objects, so that they will be encrypted or decrypted when you upload them to or download them from a bucket.The encryption an",
@@ -878,8 +914,8 @@
"title":"Server-Side Encryption Overview",
"uri":"obs_04_0105.html",
"doc_type":"api",
- "p_code":"97",
- "code":"98"
+ "p_code":"101",
+ "code":"102"
},
{
"desc":"With SSE-KMS, OBS uses the keys provided by Key Management Service (KMS) for server-side encryption. You can create custom keys on KMS to encrypt your objects. If you do ",
@@ -887,8 +923,8 @@
"title":"SSE-KMS",
"uri":"obs_04_0106.html",
"doc_type":"api",
- "p_code":"97",
- "code":"99"
+ "p_code":"101",
+ "code":"103"
},
{
"desc":"With SSE-C used, OBS uses the keys and MD5 values provided by customers for server-side encryption.OBS does not store your encryption keys. If you lost them, you lost the",
@@ -896,8 +932,8 @@
"title":"SSE-C",
"uri":"obs_04_0107.html",
"doc_type":"api",
- "p_code":"97",
- "code":"100"
+ "p_code":"101",
+ "code":"104"
},
{
"desc":"This section lists the operations related to server-side encryption and describes HTTP protocols applicable to the operations.The following table describes the requiremen",
@@ -905,8 +941,8 @@
"title":"API Operations Related to Server-Side Encryption",
"uri":"obs_04_0108.html",
"doc_type":"api",
- "p_code":"97",
- "code":"101"
+ "p_code":"101",
+ "code":"105"
},
{
"desc":"If an API call fails, no result data is returned. You can locate the cause of the error according to the error code of each API. If an API call fails, HTTP status code 3x",
@@ -915,7 +951,43 @@
"uri":"obs_04_0115.html",
"doc_type":"api",
"p_code":"",
- "code":"102"
+ "code":"106"
+ },
+ {
+ "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
+ "product_code":"obs",
+ "title":"IAM Policies and Supported Actions",
+ "uri":"obs_04_0109.html",
+ "doc_type":"api",
+ "p_code":"",
+ "code":"107"
+ },
+ {
+ "desc":"This section describes fine-grained permissions management for your OBS. If your account does not require individual IAM users, skip this section.By default, new IAM user",
+ "product_code":"obs",
+ "title":"Introduction",
+ "uri":"obs_04_0110.html",
+ "doc_type":"api",
+ "p_code":"107",
+ "code":"108"
+ },
+ {
+ "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
+ "product_code":"obs",
+ "title":"Bucket Actions",
+ "uri":"obs_04_0111.html",
+ "doc_type":"api",
+ "p_code":"107",
+ "code":"109"
+ },
+ {
+ "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
+ "product_code":"obs",
+ "title":"Object Actions",
+ "uri":"obs_04_0112.html",
+ "doc_type":"api",
+ "p_code":"107",
+ "code":"110"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
@@ -924,7 +996,7 @@
"uri":"obs_04_0113.html",
"doc_type":"api",
"p_code":"",
- "code":"103"
+ "code":"111"
},
{
"desc":"Table 1 lists the status codes and prompt message returned by the server to the user.Send API requests using the HTTP/HTTPS format that complies with https://www.ietf.org",
@@ -932,17 +1004,17 @@
"title":"Status Codes",
"uri":"obs_04_0114.html",
"doc_type":"api",
- "p_code":"103",
- "code":"104"
+ "p_code":"111",
+ "code":"112"
},
{
- "desc":"When you call APIs, you need to use the AK and SK for authentication. To obtain the AK and SK, perform the following steps:Keep AKs and SKs properly to prevent informatio",
+ "desc":"When you call APIs, you need to use the AK and SK for authentication. To obtain the AK and SK, perform the following steps:This step is required only when you have enable",
"product_code":"obs",
"title":"Obtaining Access Keys (AK/SK)",
"uri":"obs_04_0116.html",
"doc_type":"api",
- "p_code":"103",
- "code":"105"
+ "p_code":"111",
+ "code":"113"
},
{
"desc":"When making API calls, you may need to specify the domain ID (DomainID) and user ID (UserID) in some requests. To obtain them from the console, do as follows:On the My Cr",
@@ -950,8 +1022,8 @@
"title":"Obtaining a Domain ID and a User ID",
"uri":"obs_04_0117.html",
"doc_type":"api",
- "p_code":"103",
- "code":"106"
+ "p_code":"111",
+ "code":"114"
},
{
"desc":"After a success message is returned in response to a client's write or deletion request, the client can obtain the latest data. If a client that initiates a write request",
@@ -959,8 +1031,8 @@
"title":"Consistency of Concurrent Operations",
"uri":"obs_04_0118.html",
"doc_type":"api",
- "p_code":"103",
- "code":"107"
+ "p_code":"111",
+ "code":"115"
},
{
"desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.",
@@ -969,6 +1041,6 @@
"uri":"obs_04_0000.html",
"doc_type":"api",
"p_code":"",
- "code":"108"
+ "code":"116"
}
]
\ No newline at end of file
diff --git a/docs/obs/api-ref/obs_04_0000.html b/docs/obs/api-ref/obs_04_0000.html
index 02485d39..ea972521 100644
--- a/docs/obs/api-ref/obs_04_0000.html
+++ b/docs/obs/api-ref/obs_04_0000.html
@@ -8,7 +8,28 @@
-
2023-08-15
+ |
2024-03-21
+ |
+This is the eleventh official release.
+This issue incorporates the following change:
+
+ |
+
+2024-02-18
+ |
+This is the tenth official release.
+This issue incorporates the following change:
+- In Deleting an Object, added an example of performing the DeleteObject operation that has the versionId parameter specified.
+ |
+
+2023-12-27
+ |
+This is the ninth official release.
+This issue incorporates the following change:
+
+ |
+
+2023-08-15
|
This is the eighth official release.
This issue incorporates the following change:
diff --git a/docs/obs/api-ref/obs_04_0005.html b/docs/obs/api-ref/obs_04_0005.html
index b3ff58b4..e40c0b69 100644
--- a/docs/obs/api-ref/obs_04_0005.html
+++ b/docs/obs/api-ref/obs_04_0005.html
@@ -174,6 +174,26 @@
| Obtains the number of objects in a bucket and the space occupied by the objects.
|
+Configuring Bucket Inventories
+ |
+Configures an inventory rule for a bucket. OBS provides bucket inventories to facilitate your management of objects in a bucket. You can configure bucket inventories to periodically list objects in a bucket. During the listing of objects, object metadata is saved in a CSV file, which is uploaded to the specified bucket.
+ |
+
+Obtaining a Specific Inventory of a Bucket
+ |
+Obtains an inventory rule of a specified bucket.
+ |
+
+Listing All Inventories of a Bucket
+ |
+Obtains all inventory rules of a specified bucket.
+ |
+
+Deleting Bucket Inventories
+ |
+Deletes an inventory rule of a specified bucket.
+ |
+
Configuring a Custom Domain Name for a Bucket
|
Configures a custom domain name for a bucket. Once a user-defined domain name is successfully configured, the bucket can be accessed through the user-defined domain name.
@@ -286,24 +306,24 @@
|
-Uploading Objects - PUT
+ |
Uploading an Object - PUT
|
-Uploads simple objects to a specified bucket.
+ | Uploads an object to a specified bucket.
|
-Uploading Objects - POST
+ |
Uploading an Object - POST
|
-Uploads objects to a specified bucket based on tables.
+ | Uploads an object to a specified bucket based on tables.
|
-Copying Objects
+ |
Copying an Object
|
Creates a copy for an existing object in OBS.
|
-Downloading Objects
+ |
Downloading an Object
|
-Downloads objects.
+ | Downloads an object.
|
Querying Object Metadata
diff --git a/docs/obs/api-ref/obs_04_0010.html b/docs/obs/api-ref/obs_04_0010.html
index b0d2c9ef..31a57ff9 100644
--- a/docs/obs/api-ref/obs_04_0010.html
+++ b/docs/obs/api-ref/obs_04_0010.html
@@ -57,7 +57,7 @@
|
Indicates the OBS resource specified by an HTTP request. This parameter is constructed as follows:
<Bucket name + Object name> + [Subresource 1] + [Subresource 2] + ...
-- Bucket name and object name, for example, /bucket/object. If no object name is specified, for example, /bucket/, the entire bucket is listed. If no bucket name is specified either, the value of this field is /.
- If a subresource (such as ?acl and ?logging) exists, the subresource must be added.
OBS supports a variety of sub-resources, including acl, attname, cors, customdomain, delete, deletebucket, encryption, length, lifecycle, location, logging, metadata, modify, name, notification, partNumber, policy, position, quota, rename, replication, requestPayment, response-cache-control, response-content-disposition, response-content-encoding, response-content-language, response-content-type, response-expires, restore, storageClass, storagePolicy, storageinfo, tagging, torrent, truncate, uploadId, uploads, versionId, versioning, versions, website, object-lock, retention, and x-obs-security-token.
+- Bucket name and object name, for example, /bucket/object. If no object name is specified, for example, /bucket/, the entire bucket is listed. If no bucket name is specified either, the value of this field is /.
- If a subresource (such as ?acl and ?logging) exists, the subresource must be added.
OBS supports a variety of sub-resources, including acl, attname, cors, customdomain, delete, deletebucket, encryption, inventory, length, lifecycle, location, logging, metadata, modify, name, notification, partNumber, policy, position, quota, rename, replication, requestPayment, response-cache-control, response-content-disposition, response-content-encoding, response-content-language, response-content-type, response-expires, restore, storageClass, storagePolicy, storageinfo, tagging, torrent, truncate, uploadId, uploads, versionId, versioning, versions, website, object-lock, retention, and x-obs-security-token.
- If there are multiple subresources, sort them in the alphabetical order from a to z, and use & to combine the subresources.
NOTE: - A subresource is unique. Do not add subresources with the same keyword (for example, key=value1&key=value2) in the same request URL. In this case, signature is computed only based on the first subresource, and only the value of the first subresource takes effect on the actual service.
- Using the GetObject API as an example, assume there is a bucket named bucket-test and an object named object-test in the bucket, and the object version is xxx. When obtaining the object, you need to rewrite Content-Type to text/plain. Then, the CanonicalizedResource calculated by the signature is /bucket-test/object-test?response-content-type=text/plain&versionId=xxx.
@@ -490,7 +490,9 @@ Authorization: OBS UDSIAMSTUBTEST000254:ydH8ffpcbS6YpeOMcEZfn0wE90c=
217
218
219
-220
| import java.io.UnsupportedEncodingException;
+220
+221
+222 | import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
@@ -520,7 +522,7 @@ Authorization: OBS UDSIAMSTUBTEST000254:ydH8ffpcbS6YpeOMcEZfn0wE90c=
private static final List<String> SUB_RESOURCES = Collections.unmodifiableList(Arrays.asList(
"CDNNotifyConfiguration", "acl", "attname", "cors", "customdomain", "delete",
- "deletebucket", "encryption", "length", "lifecycle", "location", "logging",
+ "deletebucket", "encryption", "inventory", "length", "lifecycle", "location", "logging",
"metadata", "mirrorBackToSource", "modify", "name", "notification", "obscompresspolicy",
"partNumber", "policy", "position", "quota","rename", "replication", "requestPayment", "response-cache-control",
"response-content-disposition","response-content-encoding", "response-content-language", "response-content-type",
@@ -691,10 +693,12 @@ Authorization: OBS UDSIAMSTUBTEST000254:ydH8ffpcbS6YpeOMcEZfn0wE90c=
}
public static void main(String[] args) throws Exception {
-
SignDemo demo = new SignDemo();
- demo.ak = "<your-access-key-id>";
- demo.sk = "<your-secret-key-id>";
+
+ /* Hard-coded or plaintext AK and SK are risky. For security purposes, encrypt your AK and SK and store them in the configuration file or environment variables.
+ In this example, the AK and SK are stored in environment variables for identity authentication. Before running the code in this example, configure environment variables OTCCLOUD_SDK_AK and OTCCLOUD_SDK_SK. */
+ demo.ak = System.getenv("OTCCLOUD_SDK_AK");
+ demo.sk = System.getenv("OTCCLOUD_SDK_SK");
String bucketName = "bucket-test";
String objectName = "hello.jpg";
@@ -736,14 +740,18 @@ Authorization: OBS UDSIAMSTUBTEST000254:ydH8ffpcbS6YpeOMcEZfn0wE90c=
19
20
21
-22 | | import sys
import hashlib
import hmac
import binascii
from datetime import datetime
IS_PYTHON2 = sys.version_info.major == 2 or sys.version < '3'
-yourSecretAccessKeyID = '275hSvB6EEOorBNsMDEfOaICQnilYaPZhXUaSK64'
+# Hard-coded or plaintext AK and SK are risky. For security purposes, encrypt your AK and SK and store them in the configuration file or environment variables.
+# In this example, the AK and SK are stored in environment variables for identity authentication. Before running the code in this example, configure environment variables OTCCLOUD_SDK_AK and OTCCLOUD_SDK_SK.
+yourSecretAccessKeyID = os.getenv('OTCCLOUD_SDK_SK')
httpMethod = "PUT"
contentType = "application/xml"
# "date" is the time when the request was actually generated
diff --git a/docs/obs/api-ref/obs_04_0011.html b/docs/obs/api-ref/obs_04_0011.html
index 03270a1d..8e1eaa36 100644
--- a/docs/obs/api-ref/obs_04_0011.html
+++ b/docs/obs/api-ref/obs_04_0011.html
@@ -2,10 +2,10 @@
Authentication of Signature in a URL
OBS allows users to construct a URL for a specific operation. The URL contains information such as the user's AK, signature, validity period, and resources. Any user who obtains the URL can perform the operation. After receiving the request, the OBS deems that the operation is performed by the user who issues the URL. For example, if the URL of an object download request carries signature information is constructed, the user who obtains the URL can download the object, but the URL is valid only within the expiration time specified by the parameter of Expires. The URL that carries the signature is used to allow others to use the pre-issued URL for identity authentication when the SK is not provided, and perform the predefined operation.
- The format of the message containing the signature request in the URL is as follows:
+ The format of the message where a signature is contained in the URL:
GET /ObjectKey?AccessKeyId=AccessKeyID&Expires=ExpiresValue&Signature=signature HTTP/1.1
Host: bucketname.obs.region.example.com
- The format of the message containing the temporary AK/SK and security token in the URL for downloading objects is as follows:
+ The format of the message where a temporary AK/SK pair and a security token are used in the URL for downloading objects:
GET /ObjectKey?AccessKeyId=AccessKeyID&Expires=ExpiresValue&Signature=signature&x-obs-security-token=securitytoken HTTP/1.1
Host: bucketname.obs.region.example.com
Table 1 describes the parameters.
@@ -53,12 +53,8 @@ Host: bucketname.obs. region.example.com<
|
-The signature computing process is as follows:
-1. Construct the StringToSign.
-2. Perform UTF-8 encoding on the result obtained from the preceding step.
-3. Use the SK to perform the HMAC-SHA1 signature calculation on the result obtained from step 2.
-4. Perform Base64 encoding on the result obtained from step 3.
-5. Perform URL encoding on the result of step 4 to obtain the signature.
+The process of calculating a signature is as follows:
+- Construct the StringToSign.
- Encode the result of 1 in UTF-8.
- Use the SK to calculate the HMAC-SHA1 signature on the result of 2.
- Encode the result of 3 in Base64.
- Encode the result of 4 in URL to obtain the signature.
The StringToSign is constructed according to the following rules. Table 2 describes the parameters.
StringToSign =
@@ -68,44 +64,44 @@ Host: bucketname.obs.region.example.com<
Expires + "\n" +
CanonicalizedHeaders + CanonicalizedResource;
-Table 2 Parameters required for constructing a StringToSignParameter
+Table 2 Parameters required for constructing a StringToSignParameter
|
-Description
+ | Description
|
-HTTP-Verb
+ | HTTP-Verb
|
-Indicates an HTTP request method supported by the OBS REST API. The value can be an HTTP verb such as PUT, GET, or DELETE.
+ | Indicates an HTTP request method supported by the OBS REST API. The value can be an HTTP verb such as PUT, GET, or DELETE.
|
-Content-MD5
+ | Content-MD5
|
-Base64-encoded 128-bit MD5 digest of the message according to RFC 1864. This parameter can be empty.
+ | Base64-encoded 128-bit MD5 digest of the message according to RFC 1864. This parameter can be empty.
|
-Content-Type
+ | Content-Type
|
-Specifies the message type, for example, text/plain.
+ | Specifies the message type, for example, text/plain.
If a request does not contain this header field, this parameter is deemed as an empty string.
|
-Expires
+ | Expires
|
-Expiration time of the temporary authorization, that is, the value of parameter Expires in the request message: ExpiresValue.
+ | Expiration time of the temporary authorization, that is, the value of parameter Expires in the request message: ExpiresValue.
|
-CanonicalizedHeaders
+ | CanonicalizedHeaders
|
-OBS request header field in an HTTP request header, referring to header fields started with x-obs-, for example, x-obs-date, x-obs-acl, and x-obs-meta-*.
-- All characters of keywords in the header field must be converted to lower-case letters. If a request contains multiple header fields, these fields should be organized by keywords in the alphabetical order from a to z.
- If multiple header fields in a request have the same prefix, combine the header fields into one. For example, x-obs-meta-name:name1 and x-obs-meta-name:name2 should be reorganized into x-obs-meta-name:name1,name2. Use comma to separate the values.
- Keywords in the request header field cannot contain non-ASCII or unrecognizable characters, which are also not advisable for values in the request header field. If the two types of characters are necessary, they should be encoded and decoded on the client side. Either URL encoding or Base64 encoding is acceptable, but the server does not perform decoding.
- Delete meaningless spaces and tabs in a header field. For example, x-obs-meta-name: name (with a meaningless space in the front of name) must be changed to x-obs-meta-name:name.
- Each header field occupies a separate line.
+ | OBS request header field in an HTTP request header, referring to header fields starting with x-obs-, such as, x-obs-date, x-obs-acl, and x-obs-meta-*.
+- All characters of keywords in the header field must be converted to lower-case letters. If a request contains multiple header fields, these fields should be organized by keywords in the alphabetical order from a to z.
- If multiple header fields in a request have the same prefix, combine the header fields into one. For example, x-obs-meta-name:name1 and x-obs-meta-name:name2 should be reorganized into x-obs-meta-name:name1,name2. Use comma to separate the values.
- Keywords in the request header field cannot contain non-ASCII or unrecognizable characters, which are also not advisable for values in the request header field. If the two types of characters are necessary, they should be encoded and decoded on the client side. Either URL encoding or Base64 encoding is acceptable, but the server does not perform decoding.
- Delete meaningless spaces and tabs in a header field. For example, x-obs-meta-name: name (with a meaningless space before name) must be changed to x-obs-meta-name:name.
- Each header field occupies a separate line.
|
-CanonicalizedResource
+ | CanonicalizedResource
|
-Indicates the OBS resource specified by an HTTP request. This parameter is constructed as follows:
+ | Indicates the OBS resource specified by an HTTP request. This parameter is constructed as follows:
<Bucket name + Object name> + [Subresource 1] + [Subresource 2] + ...
-- Bucket name and object name, for example, /bucket/object. If no object name is specified, for example, /bucket/, the entire bucket is listed. If no bucket name is specified either, the value of this field is /.
- If a subresource (such as ?acl and ?logging) exists, the subresource must be added.
OBS supports a variety of sub-resources, including acl, attname, cors, customdomain, delete, deletebucket, encryption, length, lifecycle, location, logging, metadata, modify, name, notification, partNumber, policy, position, quota, rename, replication, requestPayment, response-cache-control, response-content-disposition, response-content-encoding, response-content-language, response-content-type, response-expires, restore, storageClass, storagePolicy, storageinfo, tagging, torrent, truncate, uploadId, uploads, versionId, versioning, versions, website, object-lock, retention, and x-obs-security-token.
+- Bucket name and object name, for example, /bucket/object. If no object name is specified, for example, /bucket/, the entire bucket is listed. If no bucket name is specified either, the value of this field is /.
- If a subresource (such as ?acl and ?logging) exists, the subresource must be added.
OBS supports a variety of sub-resources, including acl, attname, cors, customdomain, delete, deletebucket, encryption, inventory, length, lifecycle, location, logging, metadata, modify, name, notification, partNumber, policy, position, quota, rename, replication, requestPayment, response-cache-control, response-content-disposition, response-content-encoding, response-content-language, response-content-type, response-expires, restore, storageClass, storagePolicy, storageinfo, tagging, torrent, truncate, uploadId, uploads, versionId, versioning, versions, website, object-lock, retention, and x-obs-security-token.
- If there are multiple subresources, sort them in the alphabetical order from a to z, and use & to combine the subresources.
NOTE: - A subresource is unique. Do not add subresources with the same keyword (for example, key=value1&key=value2) in the same request URL. In this case, signature is computed only based on the first subresource, and only the value of the first subresource takes effect on the actual service.
- Using the GetObject API as an example, assume there is a bucket named bucket-test and an object named object-test in the bucket, and the object version is xxx. When obtaining the object, you need to rewrite Content-Type to text/plain. Then, the CanonicalizedResource calculated by the signature is /bucket-test/object-test?response-content-type=text/plain&versionId=xxx.
@@ -116,22 +112,21 @@ Host: bucketname.obs.region.example.com<
The signature is generated as follows based on the StringToSign and SK. The hash-based message authentication code algorithm (HMAC algorithm) is used to generate the signature.
Signature = URL-Encode( Base64( HMAC-SHA1( YourSecretAccessKeyID, UTF-8-Encoding-Of( StringToSign ) ) ) )
-
The method for calculating the signature carried in the URL is different from that for calculating the authorization signature carried in a header.
- The signature in the URL must be encoded using the URL after Base64 encoding.
- Expires in StringToSign corresponds to Date in authorization information.
Generate a predefined URL instance for the browser by carrying the signature in the URL.
-Table 3 Request that has the signature carried in the URL and the StringToSignRequest Headers
+Table 3 Request that has the signature carried in the URL and the StringToSignRequest Header
|
-StringToSign
+ | StringToSign
|
-GET /objectkey?AccessKeyId=MFyfvK41ba2giqM7Uio6PznpdUKGpownRZlmVmHc&Expires=1532779451&Signature=0Akylf43Bm3mD1bh2rM3dmVp1Bo%3D HTTP/1.1
+ | GET /objectkey?AccessKeyId=MFyfvK41ba2giqM7Uio6PznpdUKGpownRZlmVmHc&Expires=1532779451&Signature=0Akylf43Bm3mD1bh2rM3dmVp1Bo%3D HTTP/1.1
Host: examplebucket.obs.region.example.com
|
-GET \n
+ | GET \n
\n
\n
1532779451\n
@@ -142,16 +137,16 @@ Host: bucketname.obs.region.example.com<
|
-Table 4 Object download request that has the temporary AK/SK and security token carried in the URL and the StringToSignRequest Header
+Table 4 Object download request that has the temporary AK/SK and security token carried in the URL and the StringToSignRequest Header
|
-StringToSign
+ | StringToSign
|
-GET /objectkey?AccessKeyId=MFyfvK41ba2giqM7Uio6PznpdUKGpownRZlmVmHc&Expires=1532779451&Signature=0Akylf43Bm3mD1bh2rM3dmVp1Bo%3D&x-obs-security-token=YwkaRTbdY8g7q.... HTTP/1.1
+ | GET /objectkey?AccessKeyId=MFyfvK41ba2giqM7Uio6PznpdUKGpownRZlmVmHc&Expires=1532779451&Signature=0Akylf43Bm3mD1bh2rM3dmVp1Bo%3D&x-obs-security-token=YwkaRTbdY8g7q.... HTTP/1.1
Host: examplebucket.obs.region.example.com
|
-GET \n
+ | GET \n
\n
\n
1532779451\n
@@ -170,7 +165,7 @@ Host: bucketname.obs.region.example.com<
curl http(s)://examplebucket.obs.region.example.com/objectkey?AccessKeyId=AccessKeyID\&Expires=1532779451\&Signature=0Akylf43Bm3mD1bh2rM3dmVp1Bo%3D -X GET -o output
If you want to use the pre-defined URL generated by the signature carried in the URL in the browser, do not use Content-MD5, Content-Type, or CanonicalizedHeaders that can only be carried in the header to calculate the signature. Otherwise, the browser cannot carry these parameters. After the request is sent to the server, a message is displayed indicating that the signature is incorrect.
-Signature Algorithm in Java 1
+Signature Calculation in Java 1
2
3
4
@@ -419,28 +414,7 @@ Host: bucketname.obs.region.example.com<
247
248
249
-250
-251
-252
-253
-254
-255
-256
-257
-258
-259
-260
-261
-262
-263
-264
-265
-266
-267
-268
-269
-270
-271 | import java.io.UnsupportedEncodingException;
+250 | import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
@@ -468,7 +442,7 @@ Host: bucketname.obs.region.example.com<
private static final List<String> SUB_RESOURCES = Collections.unmodifiableList(Arrays.asList(
"CDNNotifyConfiguration", "acl", "attname", "cors", "customdomain", "delete",
- "deletebucket", "encryption", "length", "lifecycle", "location", "logging",
+ "deletebucket", "encryption", "inventory", "length", "lifecycle", "location", "logging",
"metadata", "mirrorBackToSource", "modify", "name", "notification", "obscompresspolicy",
"partNumber", "policy", "position", "quota","rename", "replication", "requestPayment", "response-cache-control",
"response-content-disposition","response-content-encoding", "response-content-language", "response-content-type",
@@ -547,61 +521,42 @@ Host: bucketname.obs.region.example.com<
}
private String stringToSign(String httpMethod, Map<String, String[]> headers, Map<String, String> queries,
- String bucketName, String objectName) throws Exception {
- String contentMd5 = "";
- String contentType = "";
- String date = "";
-
- TreeMap<String, String> canonicalizedHeaders = new TreeMap<String, String>();
-
- String key;
- List<String> temp = new ArrayList<String>();
- for (Map.Entry<String, String[]> entry : headers.entrySet()) {
- key = entry.getKey();
- if (key == null || entry.getValue() == null || entry.getValue().length == 0) {
- continue;
- }
-
- key = key.trim().toLowerCase(Locale.ENGLISH);
- if (key.equals("content-md5")) {
- contentMd5 = entry.getValue()[0];
- continue;
- }
-
- if (key.equals("content-type")) {
- contentType = entry.getValue()[0];
- continue;
- }
-
- if (key.equals("date")) {
- date = entry.getValue()[0];
- continue;
- }
-
- if (key.startsWith(OBS_PREFIX)) {
-
- for (String value : entry.getValue()) {
- if (value != null) {
- temp.add(value.trim());
- }
- }
-
- canonicalizedHeaders.put(key, this.join(temp, ","));
- temp.clear();
- }
- }
-
- if (canonicalizedHeaders.containsKey("x-obs-date")) {
- date = "";
- }
-
-
- // handle method/content-md5/content-type/date
+ String bucketName, String objectName, long expires) throws Exception {
+ String contentMd5 = "";
+ String contentType = "";
+ TreeMap<String, String> canonicalizedHeaders = new TreeMap<String, String>();
+ String key;
+ List<String> temp = new ArrayList<String>();
+ for (Map.Entry<String, String[]> entry : headers.entrySet()) {
+ key = entry.getKey();
+ if (key == null || entry.getValue() == null || entry.getValue().length == 0) {
+ continue;
+ }
+ key = key.trim().toLowerCase(Locale.ENGLISH);
+ if (key.equals("content-md5")) {
+ contentMd5 = entry.getValue()[0];
+ continue;
+ }
+ if (key.equals("content-type")) {
+ contentType = entry.getValue()[0];
+ continue;
+ }
+ if (key.startsWith(OBS_PREFIX)) {
+ for (String value : entry.getValue()) {
+ if (value != null) {
+ temp.add(value.trim());
+ }
+ }
+ canonicalizedHeaders.put(key, this.join(temp, ","));
+ temp.clear();
+ }
+ }
+ // handle method/content-md5/content-type
StringBuilder stringToSign = new StringBuilder();
stringToSign.append(httpMethod).append(SIGN_SEP)
.append(contentMd5).append(SIGN_SEP)
.append(contentType).append(SIGN_SEP)
- .append(date).append(SIGN_SEP);
+ .append(expires).append(SIGN_SEP);
// handle canonicalizedHeaders
@@ -647,22 +602,17 @@ Host: bucketname.obs.region.example.com<
return stringToSign.toString();
}
- public String querySignature(String httpMethod, Map<String, String[]> headers, Map<String, String> queries,
- String bucketName, String objectName, long expires) throws Exception {
- if (!isBucketNameValid(bucketName)) {
- throw new IllegalArgumentException("the bucketName is illegal");
- }
- if (headers.containsKey("x-obs-date")) {
- headers.put("x-obs-date", new String[]{String.valueOf(expires)});
- } else {
- headers.put("date", new String[]{String.valueOf(expires)});
- }
- //1. stringToSign
- String stringToSign = this.stringToSign(httpMethod, headers, queries, bucketName, objectName);
-
- //2. signature
- return this.encodeUrlString(this.hmacSha1(stringToSign));
- }
+ public String querySignature(String httpMethod, Map<String, String[]> headers, Map<String, String> queries,
+ String bucketName, String objectName, long expires) throws Exception {
+ if (!isBucketNameValid(bucketName)) {
+ throw new IllegalArgumentException("the bucketName is illegal");
+ }
+ //1. stringToSign
+ String stringToSign = this.stringToSign(httpMethod, headers, queries, bucketName, objectName, expires);
+
+ //2. signature
+ return this.encodeUrlString(this.hmacSha1(stringToSign));
+ }
public String getURL(String endpoint, Map<String, String> queries,
String bucketName, String objectName, String signature, long expires) throws UnsupportedEncodingException {
@@ -692,8 +642,11 @@ Host: bucketname.obs.region.example.com<
public static void main(String[] args) throws Exception {
SignDemo demo = new SignDemo();
- demo.ak = "<your-access-key-id>";
- demo.sk = "<your-secret-key-id>";
+
+ /* Hard-coded or plaintext AK and SK are risky. For security purposes, encrypt your AK and SK and store them in the configuration file or environment variables.
+ In this example, the AK and SK are stored in environment variables for identity authentication. Before running the code in this example, configure environment variables OTCCLOUD_SDK_AK and OTCCLOUD_SDK_SK. */
+ demo.ak = System.getenv("OTCCLOUD_SDK_AK");
+ demo.sk = System.getenv("OTCCLOUD_SDK_SK");
String endpoint = "<your-endpoint>";
String bucketName = "bucket-test";
diff --git a/docs/obs/api-ref/obs_04_0012.html b/docs/obs/api-ref/obs_04_0012.html
index 8514e57c..2028eb92 100644
--- a/docs/obs/api-ref/obs_04_0012.html
+++ b/docs/obs/api-ref/obs_04_0012.html
@@ -1,12 +1,11 @@
Authentication of Signature Carried in the Table Uploaded Through a Browser
-OBS supports browser-based object upload using the POST method. Signatures of such requests are uploaded in tables. First, create a security policy and specify the requirements in the request, for example, Bucket name and object name prefix. Then, create a signature based on this policy. The request form to be signed must contain valid signature and policy. Finally, create a table to upload the object to the bucket.
- The signature calculation process is as follows:
- - The policy content is encoded in UTF-8 format.
- Perform Base64 encoding on the result obtained from the preceding step.
- Use the SK to perform the HMAC-SHA1 signature calculation on the result obtained from step 2.
- Perform Base64 encoding on the result of step 3 to obtain the signature.
+ OBS supports browser-based object upload using the POST method. Signatures of such requests are uploaded in tables. First, create a security policy and specify the requirements in the request, for example, bucket name and object name prefix. Then, create a signature based on this policy. The request form to be signed must contain valid signature and policy. Finally, create a table to upload the object to the bucket.
+ The process of calculating a signature is as follows:
+ - Encode the policy content in UTF-8.
- Encode the result of 1 in Base64.
- Use the SK to calculate the HMAC-SHA1 signature on the result of 2.
- Encode the result of 3 in Base64 to obtain the signature.
StringToSign = Base64( UTF-8-Encoding-Of( policy ) )
Signature = Base64( HMAC-SHA1( YourSecretAccessKeyID, StringToSign ) )
-
The content of the policy is as follows: { "expiration": "2017-12-31T12:00:00.000Z",
"conditions": [
{"x-obs-acl": "public-read" },
@@ -21,69 +20,69 @@ Signature = Base64( HMAC-SHA1( YourSecretAccessKeyID, StringToSign ) )
ConditionsA mechanism used to verify the validity of a request. Conditions are used to define the content that must be contained in a request. In the example, the requested bucket name is book, the object name is prefixed with user/, and the ACL of the object is public read. All items in the form, excluding AccessKeyId, signature, file, policy, token, field names, and the prefix x-ignore-, must be included in the policy. The following table lists the items that should be contained in Conditions.
- Table 1 Conditions contained in a policyElement
+Table 1 Conditions contained in a policyElement
|
-Description
+ | Description
|
-x-obs-acl
+ | x-obs-acl
|
-ACL in the request.
+ | ACL in the request.
Supports exact match and conditional match such as starts-with.
|
-content-length-range
+ | content-length-range
|
-Maximum and minimum length of an object to be uploaded. The value can be a range.
+ | Maximum and minimum length of an object to be uploaded. The value can be a range.
|
-Cache-Control, Content-Type, Content-Disposition, Content-Encoding, Expires
+ | Cache-Control, Content-Type, Content-Disposition, Content-Encoding, Expires
|
-Headers specially for REST requests
+ | Headers specially for REST requests
Supports exact match and conditional match such as starts-with.
|
-key
+ | key
|
-Name of an object to be uploaded.
+ | Name of an object to be uploaded.
Supports exact match and conditional match such as starts-with.
|
-bucket
+ | bucket
|
-Name of the requested bucket.
+ | Name of the requested bucket.
Supports exact match.
|
-success_action_redirect
+ | success_action_redirect
|
-Redirection address after the upload is successful. For details, see Uploading Objects - POST.
+ | Redirection address after the upload is successful. For details, see Uploading an Object - POST.
Supports exact match and conditional match such as starts-with.
|
-success_action_status
+ | success_action_status
|
-If success_action_redirect is not specified, the status code is returned to the client when the upload is successful. For details, see Uploading Objects - POST.
+ | If success_action_redirect is not specified, the status code is returned to the client when the upload is successful. For details, see Uploading an Object - POST.
Supports exact match.
|
-x-obs-meta-*
+ | x-obs-meta-*
|
-User-defined metadata.
+ | User-defined metadata.
Keywords in an element cannot contain non-ASCII or unrecognizable characters. If non-ASCII or unrecognizable characters are necessary, they should be encoded and decoded on the client side. Either URL encoding or Base64 encoding is acceptable, but the server does not perform decoding.
Supports exact match and conditional match such as starts-with.
|
-x-obs-*
+ | x-obs-*
|
-Other header fields with prefix x-obs-.
+ | Other header fields with prefix x-obs-.
Supports exact match and conditional match such as starts-with.
|
-x-obs-security-token
+ | x-obs-security-token
|
-Field name in the request header.
+ | Field name in the request header.
Mandatory field for the temporary AK/SK and security token authentication.
|
@@ -92,33 +91,33 @@ Signature = Base64( HMAC-SHA1( YourSecretAccessKeyID, StringToSign ) )
The table below describes how policy conditions can be matched.
-Table 2 Policy condition matching methodsMatching Method
+Table 2 Policy condition matching methodsMatching Method
|
-Description
+ | Description
|
-Exact Matches
+ | Exact Matches
|
-Exact match by default. The value in the POST table must be the same as that in the policy. For example, if object ACL is set to public-read when the object is uploaded, the value of the x-obs-acl element in the table is public-read. Therefore, the conditions in the policy can be set to
+ | Exact match by default. The value in the POST table must be the same as that in the policy. For example, if object ACL is set to public-read when the object is uploaded, the value of the x-obs-acl element in the table is public-read. Therefore, the conditions in the policy can be set to
{"x-obs-acl": "public-read"} or ["eq", "$x-obs-acl", "public-read"], which are equivalent.
|
-Starts With
+ | Starts With
|
-If this condition is used, the value set in the POST table must start with a fixed character string. For example, if the name of uploaded objects must be prefixed with user/, the value of the key element in the table can be user/test1, user/test2, and so on. Therefore, conditions in the policy can be set to:
+ | If this condition is used, the value set in the POST table must start with a fixed character string. For example, if the name of uploaded objects must be prefixed with user/, the value of the key element in the table can be user/test1, user/test2, and so on. Therefore, conditions in the policy can be set to:
["starts-with", "$key", "user/"]
|
-Matching Any Content
+ | Matching Any Content
|
-The corresponding element in the POST table can be any value. For example, if the redirection address upon request success can be any address, the value of the success_action_redirect element in the table can be any value. Therefore, conditions in the policy can be set to:
+ | The corresponding element in the POST table can be any value. For example, if the redirection address upon request success can be any address, the value of the success_action_redirect element in the table can be any value. Therefore, conditions in the policy can be set to:
["starts-with", "$success_action_redirect", ""]
|
-Specifying Ranges
+ | Specifying Ranges
|
-The content length of the file element in the POST table can be a specified range and is used only to limit the object size. For example, if the size of the uploaded object is between 1 MB to 10 MB, the content length of the file element in the table can be from 1048576 to 10485760. Therefore, conditions in the policy can be set to (the value does not contain quotation marks)
+ | The content length of the file element in the POST table can be a specified range and is used only to limit the object size. For example, if the size of the uploaded object is between 1 MB to 10 MB, the content length of the file element in the table can be from 1048576 to 10485760. Therefore, conditions in the policy can be set to (the value does not contain quotation marks)
["content-length-range", 1048576, 10485760]
|
@@ -129,55 +128,55 @@ Signature = Base64( HMAC-SHA1( YourSecretAccessKeyID, StringToSign ) )
The table below lists the characters that must be escaped in a policy.
-Table 3 Characters that must be escaped in a policyCharacter After Escape
+Table 3 Characters that must be escaped in a policyCharacter After Escape
|
-Real Character
+ | Real Character
|
-\\
+ | \\
|
-Backslash (\)
+ | Backslash (\)
|
-\$
+ | \$
|
-Dollar symbol ($)
+ | Dollar symbol ($)
|
-\b
+ | \b
|
-Backspace
+ | Backspace
|
-\f
+ | \f
|
-Page up and down
+ | Page up and down
|
-\n
+ | \n
|
-Line breaks
+ | Newline characters
|
-\r
+ | \r
|
-Enter
+ | Enter
|
-\t
+ | \t
|
-Horizontal table
+ | Horizontal table
|
-\v
+ | \v
|
-Vertical table
+ | Vertical table
|
-\uxxxx
+ | \uxxxx
|
-All Unicode characters
+ | All Unicode characters
|
@@ -187,13 +186,13 @@ Signature = Base64( HMAC-SHA1( YourSecretAccessKeyID, StringToSign ) )
Request and Policy ExamplesThe following tables provide examples of requests and policies.
Example 1: Upload the testfile.txt object to bucket examplebucket and set the object ACL to public-read.
- Request
+Request
|
-policy
+ | Policy
|
-POST / HTTP/1.1
+ | POST / HTTP/1.1
Host: examplebucket.obs.region.example.com
Content-Type: multipart/form-data; boundary=7e32233530b26
Content-Length: 1250
@@ -233,7 +232,7 @@ Signature = Base64( HMAC-SHA1( YourSecretAccessKeyID, StringToSign ) )
Upload
--7e32233530b26--
|
-{
+ | {
"expiration": "2019-07-01T12:00:00.000Z",
"conditions": [
{"bucket": "examplebucket" },
@@ -249,13 +248,13 @@ Signature = Base64( HMAC-SHA1( YourSecretAccessKeyID, StringToSign ) )
Example 2: Upload the file/obj1 object to bucket examplebucket and configure the four custom metadata items of the object.
-Request
+Request
|
-policy
+ | Policy
|
-POST / HTTP/1.1
+ | POST / HTTP/1.1
Host: examplebucket.obs.region.example.com
Content-Type: multipart/form-data; boundary=7e329d630b26
Content-Length: 1597
@@ -303,7 +302,7 @@ Signature = Base64( HMAC-SHA1( YourSecretAccessKeyID, StringToSign ) )
Upload
--7e3542930b26--
|
-{
+ | {
"expiration": "2019-07-01T12:00:00.000Z",
"conditions": [
{"bucket": "examplebucket" },
diff --git a/docs/obs/api-ref/obs_04_0015.html b/docs/obs/api-ref/obs_04_0015.html
index c77ad3ee..5e5db41f 100644
--- a/docs/obs/api-ref/obs_04_0015.html
+++ b/docs/obs/api-ref/obs_04_0015.html
@@ -102,7 +102,8 @@
93
94
95
-96 | package com.obsclient;
+96
+97 | package com.obsclient;
import java.io.*;
@@ -114,9 +115,10 @@
import org.apache.http.impl.client.HttpClients;
public class TestMain {
-
- public static String accessKey = "UDSIAMSTUBTEST000012"; //The value of this parameter is the AK obtained.
- public static String securityKey = "Udsiamstubtest000000UDSIAMSTUBTEST000012"; //The value of this parameter is the SK obtained.
+ /* Hard-coded or plaintext AK and SK are risky. For security purposes, encrypt your AK and SK and store them in the configuration file or environment variables.
+ In this example, the AK and SK are stored in environment variables for identity authentication. Before running the code in this example, configure environment variables OTCCLOUD_SDK_AK and OTCCLOUD_SDK_SK. */
+ public static String accessKey = System.getenv("OTCCLOUD_SDK_AK"); //The value is the AK obtained.
+ public static String securityKey = System.getenv("OTCCLOUD_SDK_SK"); //The value is the SK obtained.
public static String region = "a1"; // The value is the region where the planned bucket resides.
public static String createBucketTemplate =
"<CreateBucketConfiguration " +
diff --git a/docs/obs/api-ref/obs_04_0016.html b/docs/obs/api-ref/obs_04_0016.html
index c74f9618..1c222581 100644
--- a/docs/obs/api-ref/obs_04_0016.html
+++ b/docs/obs/api-ref/obs_04_0016.html
@@ -101,7 +101,9 @@
92
93
94
-95 | package com.obsclient;
+95
+96
+97 | package com.obsclient;
import java.io.*;
import java.util.ArrayList;
@@ -124,8 +126,10 @@
public class TestMain {
- public static String accessKey = "UDSIAMSTUBTEST000012"; //The value of this parameter is the AK obtained.
- public static String securityKey = "Udsiamstubtest000000UDSIAMSTUBTEST000012"; //The value of this parameter is the SK obtained.
+ /* Hard-coded or plaintext AK and SK are risky. For security purposes, encrypt your AK and SK and store them in the configuration file or environment variables.
+ In this example, the AK and SK are stored in environment variables for identity authentication. Before running the code in this example, configure environment variables OTCCLOUD_SDK_AK and OTCCLOUD_SDK_SK. */
+ public static String accessKey = System.getenv("OTCCLOUD_SDK_AK"); //The value is the AK obtained.
+ public static String securityKey = System.getenv("OTCCLOUD_SDK_SK"); //The value is the SK obtained.
public static void main(String[] str) {
diff --git a/docs/obs/api-ref/obs_04_0017.html b/docs/obs/api-ref/obs_04_0017.html
index 420903b9..e094a568 100644
--- a/docs/obs/api-ref/obs_04_0017.html
+++ b/docs/obs/api-ref/obs_04_0017.html
@@ -110,7 +110,9 @@
101
102
103
-104 | package com.obsclient;
+104
+105
+106 | package com.obsclient;
import java.io.*;
import java.util.ArrayList;
@@ -133,8 +135,10 @@
public class TestMain {
- public static String accessKey = "UDSIAMSTUBTEST000012"; //The value of this parameter is the AK obtained.
- public static String securityKey = "Udsiamstubtest000000UDSIAMSTUBTEST000012"; //The value of this parameter is the SK obtained.
+ /* Hard-coded or plaintext AK and SK are risky. For security purposes, encrypt your AK and SK and store them in the configuration file or environment variables.
+ In this example, the AK and SK are stored in environment variables for identity authentication. Before running the code in this example, configure environment variables OTCCLOUD_SDK_AK and OTCCLOUD_SDK_SK. */
+ public static String accessKey = System.getenv("OTCCLOUD_SDK_AK"); //The value is the AK obtained.
+ public static String securityKey = System.getenv("OTCCLOUD_SDK_SK"); //The value is the SK obtained.
public static void main(String[] str) {
diff --git a/docs/obs/api-ref/obs_04_0021.html b/docs/obs/api-ref/obs_04_0021.html
index 2c958da2..9d151251 100644
--- a/docs/obs/api-ref/obs_04_0021.html
+++ b/docs/obs/api-ref/obs_04_0021.html
@@ -2,12 +2,12 @@
Creating a Bucket
FunctionsThis operation is used to create a bucket with a specified name.
- - By default, a user can have a maximum of 100 buckets.
- The name of a deleted bucket can be reused for a bucket or a parallel file system at least 30 minutes after the deletion.
- You can enable WORM when you create a bucket, but you cannot enable WORM for an existing bucket. In a bucket with WORM enabled, you can further configure retention policies for objects you upload to this bucket. For more information, see the WORM sections. Once enabled, WORM cannot be disabled for a bucket. When you create a bucket with WORM enabled, OBS automatically enables versioning for the bucket and the versioning cannot be suspended for that bucket. When you create a parallel file system, you cannot enable WORM for it.
+ - By default, a user can have a maximum of 100 buckets.
- The name of a deleted bucket can be reused for a bucket or a parallel file system at least 30 minutes after the deletion.
- You can enable WORM when you create a bucket, but you cannot enable WORM for an existing bucket. In a bucket with WORM enabled, you can further configure retention policies for objects you upload to this bucket. For more information, see Configuring a Default WORM Policy for a Bucket. Once enabled, WORM cannot be disabled for a bucket. When you create a bucket with WORM enabled, OBS automatically enables versioning for the bucket and the versioning cannot be suspended for that bucket. When you create a parallel file system, you cannot enable WORM for it.
A bucket name must be unique in OBS. If a user creates a bucket with the same name as that of an existing bucket under the same account and in the same region, a 200 code (indicating success) is returned. In scenarios other than the preceding one, the request for creating a bucket with the same name as that of an existing one will receive the 409 code (indicating that a namesake bucket already exists). To set an access control policy for the bucket to be created, you can add the x-obs-acl parameter to request headers.
Storage ClassYou can create buckets with different storage classes. The x-obs-storage-class header in a bucket creation request specifies the bucket's storage class. If you do not specify a storage class when you upload an object to the bucket, the object inherits the storage class of the bucket. The storage class options are as follows: STANDARD (Standard), WARM (Warm), COLD (Cold). If the x-obs-storage-class header is not in the request, a Standard bucket will be created.
- If the storage class of an object is not specified when it is uploaded to a bucket (see Uploading Objects - PUT), the object will be stored in the default storage class of the bucket.
+ If the storage class of an object is not specified when it is uploaded to a bucket (see Uploading an Object - PUT), the object will be stored in the default storage class of the bucket.
- OBS Standard features low access latency and high throughput. It is most suitable for storing frequently accessed (multiple times per month) hot files. Potential application scenarios include big data, mobile applications, trending videos, and social media images.
- OBS Warm storage class is suitable for storing data that is infrequently accessed (less than 12 times a year) yet has quick response requirements. Potential application scenarios include file synchronization or sharing and enterprise backup. It provides the same durability, access latency, and throughput as the Standard storage class but at a lower price. However, the Warm storage class has lower availability than the Standard one.
- OBS Cold storage class is applicable to archiving rarely-accessed (averagely once a year) data. The application scenarios include data archiving and long-term data retention for backup. The Cold storage class is secure, durable, and inexpensive, which can replace tape libraries. To keep cost low, it may take hours to restore data from the Cold storage class.
Request Syntax1
diff --git a/docs/obs/api-ref/obs_04_0022.html b/docs/obs/api-ref/obs_04_0022.html
index dc232aa5..c391a898 100644
--- a/docs/obs/api-ref/obs_04_0022.html
+++ b/docs/obs/api-ref/obs_04_0022.html
@@ -96,7 +96,7 @@ Authorization: authorization
|
- Request HeadersThis request uses common request headers. Table 3 lists the common request headers.
+ Request HeadersThis request uses common request headers. For details, see Table 3.
Request ElementsThis request contains no elements.
@@ -139,119 +139,119 @@ Authorization: authorization
|
Object metadata
Type: XML
-Ancestor: ListBucketResult
+Parent: ListBucketResult
|
CommonPrefixes
|
Group information. If you specify a delimiter in the request, the response contains group information in CommonPrefixes.
Type: XML
-Ancestor: ListBucketResult
+Parent: ListBucketResult
|
Delimiter
|
The delimiter parameter specified in a request
Type: string
-Ancestor: ListBucketResult
+Parent: ListBucketResult
|
ETag
|
Base64-encoded 128-bit MD5 digest of an object. ETag is the unique identifier of the object content. It can be used to determine whether the object content is changed. For example, if the ETag value is A when an object is uploaded, but this value has changed to B when the object is downloaded, it indicates that the object content has been changed. The ETag value is a hash of the object. The ETag reflects changes to the object content, rather than the object metadata. An uploaded object or copied object has a unique ETag after being encrypted using MD5. (If the object is encrypted on the server side, the ETag value is not the MD5 digest of the object, but the unique identifier calculated through server-side encryption.)
Type: string
-Ancestor: ListBucketResult.Contents
+Parent: ListBucketResult.Contents
|
Type
|
Object type. This parameter is returned when the object type is not Normal.
Type: string
-Ancestor: ListBucketResult.Contents
+Parent: ListBucketResult.Contents
|
ID
|
Domain ID of the object owner
Type: string
-Ancestor: ListBucketResult.Contents.Owner
+Parent: ListBucketResult.Contents.Owner
|
IsTruncated
|
Determines whether the returned list of objects is truncated. The value true indicates that the list was truncated and false indicates that the list was not truncated.
Type: boolean
-Ancestor: ListBucketResult
+Parent: ListBucketResult
|
Key
|
Object name
Type: string
-Ancestor: ListBucketResult.Contents
+Parent: ListBucketResult.Contents
|
LastModified
|
Time (UTC) when an object was last modified
Type: date
-Ancestor: ListBucketResult.Contents
+Parent: ListBucketResult.Contents
|
Marker
|
Marker for the position from which objects in a bucket will be listed
Type: string
-Ancestor: ListBucketResult
+Parent: ListBucketResult
|
NextMarker
|
A marker for the last returned object in the list. NextMarker is returned when not all the objects are listed. You can set the Marker value to list the remaining objects in follow-up requests.
Type: string
-Ancestor: ListBucketResult
+Parent: ListBucketResult
|
MaxKeys
|
Maximum number of objects returned
Type: string
-Ancestor: ListBucketResult
+Parent: ListBucketResult
|
Name
|
Name of the requested bucket
Type: string
-Ancestor: ListBucketResult
+Parent: ListBucketResult
|
Owner
|
User information, including the domain ID and name of the object owner
Type: XML
-Ancestor: ListBucketResult.Contents
+Parent: ListBucketResult.Contents
|
DisplayName
|
Name of the object owner
Type: string
-Ancestor: ListBucketResult.Contents.Owner
+Parent: ListBucketResult.Contents.Owner
|
Prefix
|
Prefix of an object name. Only objects whose names have this prefix are listed.
Type: string
-Ancestor: ListBucketResult
+Parent: ListBucketResult
|
Size
|
Object size in bytes
Type: string
-Ancestor: ListBucketResult.Contents
+Parent: ListBucketResult.Contents
|
StorageClass
@@ -259,7 +259,7 @@ Authorization: authorization
| Storage class of an object
Type: string
Value options: STANDARD, WARM, COLD
-Ancestor: ListBucketResult.Contents
+Parent: ListBucketResult.Contents
|
@@ -282,139 +282,139 @@ Authorization: authorization
Bucket name
Type: string
-Ancestor: ListVersionsResult
+Parent: ListVersionsResult
|
Prefix
|
Prefix of an object name. Only objects whose names have this prefix are listed. Type: string
-Ancestor: ListVersionsResult
+Parent: ListVersionsResult
|
KeyMarker
|
Marker for the object key from which objects will be listed
Type: string
-Ancestor: ListVersionsResult
+Parent: ListVersionsResult
|
VersionIdMarker
|
Object version ID to start with when objects are listed
Type: string
-Ancestor: ListVersionsResult
+Parent: ListVersionsResult
|
NextKeyMarker
|
Key marker for the last returned object in the list. NextKeyMarker is returned when not all the objects are listed. You can set the KeyMarker value to list the remaining objects in follow-up requests.
Type: string
-Ancestor: ListVersionsResult
+Parent: ListVersionsResult
|
NextVersionIdMarker
|
Version ID marker for the last returned object in the list. NextVersionIdMarker is returned when not all the objects are listed. You can set the VersionIdMarker value to list the remaining objects in follow-up requests.
Type: string
-Ancestor: ListVersionsResult
+Parent: ListVersionsResult
|
MaxKeys
|
Maximum number of objects returned
Type: string
-Ancestor: ListVersionsResult
+Parent: ListVersionsResult
|
IsTruncated
|
Indicates whether the returned list of objects is truncated. The value true indicates that the list was truncated and false indicates that the list was not truncated.
Type: boolean
-Ancestor: ListVersionsResult
+Parent: ListVersionsResult
|
Version
|
Container of version information
Type: container
-Ancestor: ListVersionsResult
+Parent: ListVersionsResult
|
DeleteMarker
|
-Container for objects with deletion markers
+ | Container for objects with delete markers
Type: container
-Ancestor: ListVersionsResult
+Parent: ListVersionsResult
|
Key
|
Object name
Type: string
-Ancestor: ListVersionsResult.Version | ListVersionsResult.DeleteMarker
+Parent: ListVersionsResult.Version | ListVersionsResult.DeleteMarker
|
VersionId
|
Object version ID
Type: string
-Ancestor: ListVersionsResult, Version | ListVersionsResult, DeleteMarker
+Parent: ListVersionsResult.Version | ListVersionsResult.DeleteMarker
|
IsLatest
|
Whether the object is the latest version. If the parameter value is true, the object is the latest version.
Type: boolean
-Ancestor: ListVersionsResult.Version | ListVersionsResult.DeleteMarker
+Parent: ListVersionsResult.Version | ListVersionsResult.DeleteMarker
|
LastModified
|
Time (UTC) when an object was last modified
Type: date
-Ancestor: ListVersionsResult.Version | ListVersionsResult.DeleteMarker
+Parent: ListVersionsResult.Version | ListVersionsResult.DeleteMarker
|
ETag
|
Base64-encoded 128-bit MD5 digest of an object. ETag is the unique identifier of the object content. It can be used to determine whether the object content is changed. The actual ETag is the hash value of the object. For example, if the ETag value is A when an object is uploaded, but this value has changed to B when the object is downloaded, it indicates that the object content has been changed. The ETag reflects changes to the object content, rather than the object metadata. An uploaded object or copied object has a unique ETag after being encrypted using MD5.
Type: string
-Ancestor: ListVersionsResult.Version
+Parent: ListVersionsResult.Version
|
Type
|
Object type. This parameter is returned when the object type is not Normal.
Type: string
-Ancestor: ListVersionsResult.Version
+Parent: ListVersionsResult.Version
|
Size
|
Object size in bytes
Type: string
-Ancestor: ListVersionsResult.Version
+Parent: ListVersionsResult.Version
|
Owner
|
User information, including the domain ID and name of the object owner
Type: container
-Ancestor: ListVersionsResult.Version | ListVersionsResult.DeleteMarker
+Parent: ListVersionsResult.Version | ListVersionsResult.DeleteMarker
|
ID
|
Domain ID of the object owner
Type: string
-Ancestor: ListVersionsResult.Version.Owner | ListVersionsResult.DeleteMarker.Owner
+Parent: ListVersionsResult.Version.Owner | ListVersionsResult.DeleteMarker.Owner
|
DisplayName
|
Name of the object owner
Type: string
-Ancestor: ListVersionsResult.Version.Owner | ListVersionsResult.DeleteMarker.Owner
+Parent: ListVersionsResult.Version.Owner | ListVersionsResult.DeleteMarker.Owner
|
StorageClass
@@ -422,21 +422,21 @@ Authorization: authorization
| Storage class of an object
Type: string
Value options: STANDARD, WARM, COLD
-Ancestor: ListVersionsResult.Version
+Parent: ListVersionsResult.Version
|
CommonPrefixes
|
Group information. If you specify a delimiter in the request, the response contains group information in CommonPrefixes.
Type: container
-Ancestor: ListVersionsResult
+Parent: ListVersionsResult
|
Prefix
|
Indicates a different prefix in the group information in CommonPrefixes.
Type: string
-Ancestor: ListVersionsResult.CommonPrefixes
+Parent: ListVersionsResult.CommonPrefixes
|
diff --git a/docs/obs/api-ref/obs_04_0023.html b/docs/obs/api-ref/obs_04_0023.html
index 93b930da..53328eb0 100644
--- a/docs/obs/api-ref/obs_04_0023.html
+++ b/docs/obs/api-ref/obs_04_0023.html
@@ -59,67 +59,67 @@ Date: date
Response HeadersThe response to the request uses common headers. For details, see Table 1.
- In addition to the common response headers, the message headers listed in Table 2 may be used.
+ In addition to the common response headers, the headers listed in Table 2 may be used.
- Table 2 Additional response headersHeader
+Table 2 Additional response headersHeader
|
-Description
+ | Description
|
-x-obs-bucket-location
+ | x-obs-bucket-location
|
-The region where the bucket resides.
+ | The region where the bucket resides.
Type: string
|
-x-obs-storage-class
+ | x-obs-storage-class
|
-Default storage class of the bucket. The options are as follows: STANDARD (Standard), WARM (Warm), COLD (Cold).
+ | Default storage class of the bucket. The options are as follows: STANDARD (Standard), WARM (Warm), COLD (Cold).
Type: string
|
-x-obs-version
+ | x-obs-version
|
-OBS version of the bucket.
+ | OBS version of the bucket.
Type: string
|
-x-obs-fs-file-interface
+ | x-obs-fs-file-interface
|
-Indicates whether the bucket is a parallel file system. The value can be Enabled (parallel file system).
+ | Indicates whether the bucket is a parallel file system. The value can be Enabled (parallel file system).
If this header field is not carried, the bucket is not a parallel file system.
Type: string
|
-Access-Control-Allow-Origin
+ | Access-Control-Allow-Origin
|
-Indicates that the origin is included in the response if the origin in the request meets the CORS configuration requirements when CORS is configured for buckets.
+ | Indicates that the origin is included in the response if the origin in the request meets the CORS configuration requirements when CORS is configured for buckets.
Type: string
|
-Access-Control-Allow-Headers
+ | Access-Control-Allow-Headers
|
-Indicates that the headers are included in the response if headers in the request meet the CORS configuration requirements when CORS is configured for buckets.
+ | Indicates that the headers are included in the response if headers in the request meet the CORS configuration requirements when CORS is configured for buckets.
Type: string
|
-Access-Control-Max-Age
+ | Access-Control-Max-Age
|
-Value of MaxAgeSeconds in the CORS configuration of the server when CORS is configured for buckets.
+ | Value of MaxAgeSeconds in the CORS configuration of the server when CORS is configured for buckets.
Type: integer
|
-Access-Control-Allow-Methods
+ | Access-Control-Allow-Methods
|
-Indicates that methods in the rule are included in the response if Access-Control-Request-Method in the request meets the CORS configuration requirements when CORS is configured for buckets.
+ | Indicates that methods in the rule are included in the response if Access-Control-Request-Method in the request meets the CORS configuration requirements when CORS is configured for buckets.
Type: string
Value options: GET, PUT, HEAD, POST, DELETE
|
-Access-Control-Expose-Headers
+ | Access-Control-Expose-Headers
|
-Value of ExposeHeader in the CORS configuration of a server when CORS is configured for buckets.
+ | Value of ExposeHeader in the CORS configuration of a server when CORS is configured for buckets.
Type: string
|
diff --git a/docs/obs/api-ref/obs_04_0024.html b/docs/obs/api-ref/obs_04_0024.html
index ae9f8e4d..9a60d9a2 100644
--- a/docs/obs/api-ref/obs_04_0024.html
+++ b/docs/obs/api-ref/obs_04_0024.html
@@ -49,7 +49,7 @@ Content-Length: length
Location
|
-Indicates the region where the bucket resides.
+ | Indicates the region where the bucket resides.
Type: string
|
diff --git a/docs/obs/api-ref/obs_04_0025.html b/docs/obs/api-ref/obs_04_0025.html
index 38711376..ea40dd36 100644
--- a/docs/obs/api-ref/obs_04_0025.html
+++ b/docs/obs/api-ref/obs_04_0025.html
@@ -16,7 +16,7 @@ Authorization: authorization
-
Response ElementsThis response contains no elements.
-Error ResponsesNo special error responses are returned. For details, see Table 2.
+ Error ResponsesNo special error responses are returned. For details about error responses, see Table 2.
Sample Request 1
2
diff --git a/docs/obs/api-ref/obs_04_0032.html b/docs/obs/api-ref/obs_04_0032.html
index d3830caa..c535c6b9 100644
--- a/docs/obs/api-ref/obs_04_0032.html
+++ b/docs/obs/api-ref/obs_04_0032.html
@@ -20,6 +20,8 @@
}
To disable the bucket logging function, upload a logging file with an empty BucketLoggingStatus tag.
By default, a bucket whose storage class is Warm or Cold cannot be used for storing log files. Stored log files occupy storage space in a bucket. Therefore, users are charged for the logging service based on the pricing for data storage.
+ If the target bucket has KMS encryption enabled, grant the agency access to KMS.
+
Request Syntax 1
2
@@ -175,7 +177,7 @@ Authorization: signatureValue
- bucket-log is the target prefix specified by the user.
- 2015-06-29-12-22-07 indicates the time when the log is generated.
- N7MXLAF1BDG7MPDV is a string automatically generated by OBS
Format of bucket access logsThe following shows an access log delivered to the target bucket:
- | 787f2f92b20943998a4fe2ab75eb09b8 bucket [13/Aug/2015:01:43:42 +0000] xx.xx.xx.xx 787f2f92b20943998a4fe2ab75eb09b8 281599BACAD9376ECE141B842B94535B REST.GET.BUCKET.LOCATION - "GET /bucket?location HTTP/1.1" 200 - 211 - 6 6 "-" "HttpClient" - -
+ | 787f2f92b20943998a4fe2ab75eb09b8 bucket [13/Aug/2015:01:43:42 +0000] xx.xx.xx.xx 787f2f92b20943998a4fe2ab75eb09b8 281599BACAD9376ECE141B842B94535B REST.GET.BUCKET.LOCATION - "GET /bucket?location HTTP/1.1" 200 - 211 - 6 6 "-" "HttpClient" - -
|
@@ -183,167 +185,167 @@ Authorization: signatureValue
Table 2 Format of bucket access logsParameter
|
-Example
+ | Example
|
-Description
+ | Description
|
BucketOwner
|
-787f2f92b20943998a4fe2ab75eb09b8
+ | 787f2f92b20943998a4fe2ab75eb09b8
|
-ID of the bucket owner
+ | ID of the bucket owner
|
Bucket
|
-bucket
+ | bucket
|
-Bucket name
+ | Bucket name
|
Time
|
-[13/Aug/2015:01:43:42 +0000]
+ | [13/Aug/2015:14:43:42 +0000]
|
-Request timestamp
+ | Request timestamp in the [dd/MMM/yyyy:HH:mm:ss Z] format
|
Remote IP
|
-xx.xx.xx.xx
+ | xx.xx.xx.xx
|
-Request IP address
+ | Request IP address
|
Requester
|
-787f2f92b20943998a4fe2ab75eb09b8
+ | 787f2f92b20943998a4fe2ab75eb09b8
|
-ID of the requester
+ | ID of the requester
- When an account initiates a request, this parameter value is the account ID. When an IAM user initiates a request, this parameter value is the ID of the account where the IAM user belongs.
- When an anonymous user initiates a request, this parameter value is Anonymous.
|
RequestID
|
-281599BACAD9376ECE141B842B94535B
+ | 281599BACAD9376ECE141B842B94535B
|
-Request ID
+ | Request ID
|
Operation
|
-REST.GET.BUCKET.LOCATION
+ | REST.GET.BUCKET.LOCATION
|
-Operation
+ | Operation
|
Key
|
--
+ | -
|
-Object name
+ | Object name
|
Request-URI
|
-GET /bucket?location HTTP/1.1
+ | GET /bucket?location HTTP/1.1
|
-Request URI
+ | Request URI
|
HTTPStatus
|
-200
+ | 200
|
-Response code
+ | Response code
|
ErrorCode
|
--
+ | -
|
-Error code
+ | Error code
|
BytesSent
|
-211
+ | 211
|
-Size of the HTTP response, expressed in bytes
+ | Size of the HTTP response, expressed in bytes
|
ObjectSize
|
--
+ | -
|
-Object size
+ | Object size
|
TotalTime
|
-6
+ | 6
|
-Processing time on the server
+ | Processing time on the server
Unit: ms
|
Turn-AroundTime
|
-6
+ | 6
|
-Total request processing time
+ | Total request processing time
Unit: ms
|
Referer
|
--
+ | -
|
-Referer header of the request
+ | Referer header of the request
|
User-Agent
|
-HttpClient
+ | HttpClient
|
-User-Agent header of the request
+ | User-Agent header of the request
|
VersionID
|
--
+ | -
|
-Version ID contained in a request
+ | Version ID contained in a request
|
STSLogUrn
|
--
+ | -
|
-Federated authentication and agency information
+ | Federated authentication and agency information
|
StorageClass
|
-STANDARD_IA
+ | STANDARD_IA
|
-Current object storage class
+ | Current object storage class
|
TargetStorageClass
|
-GLACIER
+ | GLACIER
|
-Storage class that the object will be transitioned to
+ | Storage class that the object will be transitioned to
|
DentryName
|
-12456/file.txt
+ | 12456%2Ffile.txt
|
-- For a parallel file system, this field indicates an internal identifier of a file or directory. Its value consists of a parent directory inode number and a file or directory name.
- For a bucket, the value of this field is -.
+ | - For a parallel file system, this field represents an internal identifier of a file or directory. Its value consists of a parent directory's inode number and a file or directory name and is displayed in the URL-encoded format.
- For a bucket, the value of this field is -.
|
diff --git a/docs/obs/api-ref/obs_04_0034.html b/docs/obs/api-ref/obs_04_0034.html
index 95a53743..10006555 100644
--- a/docs/obs/api-ref/obs_04_0034.html
+++ b/docs/obs/api-ref/obs_04_0034.html
@@ -92,7 +92,7 @@ Content-MD5: MD5
-Request ParametersThis request contains no message parameters.
+ Request ParametersThis request contains no parameters.
Request HeadersTable 1 lists the request header.
@@ -117,7 +117,7 @@ Content-MD5: MD5
-Request ElementsIn this request, you need to specify the lifecycle configuration in the request body. The lifecycle configuration can be uploaded in the form of an XML file with elements described in Table 2.
+ Request ElementsIn this request body, you need to specify the lifecycle configuration in XML format. Table 2 describes the specific configuration elements.
- If the versioning of a bucket is enabled or suspended, you can set NoncurrentVersionTransition or NoncurrentVersionExpiration to control the lifecycle of historical object versions. The lifecycle of a historical version depends on the time when it becomes a historical one (time when the version is replaced by a new version) and the value of NoncurrentDays. For object deletion, if NoncurrentDays is set to 1, an object version will be deleted only after it becomes a historical one for one day. If the version V1 of object A is created on the first date of a month and new version V2 is uploaded on the fifth date of the month, V1 becomes a historical version. At 00:00 on the seventh date of the month, V1 will expire. If an object version does not meet the deletion conditions, but NoncurrentDays is set to 1 and StorageClass is set to WARM, the version transitions to the Warm storage class one day after it has become a historical version. For example, the V1 version of object A is created on the first day of a month, and its new version V2 is uploaded on the fifth day of the month. Then V1 becomes a historical version. One day later, that is, at 0 o'clock of the seventh day, V1 transitions to the Warm storage class. The deletion or transition of the object after the expiration time may be delayed. The delay is within 48 hours.
- Objects are processed according to the following procedures, if their latest versions meet the expiration rule and versioning is enabled or suspended for the bucket.
- Versioning enabled:
If the latest object version is not a delete marker, a new delete marker will be inserted for the object.
If the latest object version is a delete marker and is the only version of the object, this latest version will be deleted.
If the object of the latest version has the DeleteMarker and the object has other versions, all versions of the object remain unchanged.
@@ -141,7 +141,7 @@ Content-MD5: MD5
|
Specifies that OBS executes lifecycle rules for objects before the specified date. The date must be compliant with the ISO8601 format, and the time must be compliant with the UTC format of 00:00:00. For example, 2018-01-01T00:00:00.000Z indicates that objects whose last modification time is earlier than 2018-01-01T00:00:00.000Z are deleted or transitioned to another storage class. Objects whose last modification time is equal to or later than the specified time are not deleted or transitioned to another storage class.
Type: string
-Ancestor node: Expiration, Transition
+Parent: Expiration, Transition
|
Required if the Days element is absent.
|
@@ -150,7 +150,7 @@ Content-MD5: MD5
Specifies the number of days (since the latest update to the latest object version) after which the lifecycle rule takes effect.
Type: integer
-Ancestor node: Expiration, Transition
+Parent: Expiration, Transition
|
Required if the Date element is absent.
|
@@ -160,7 +160,7 @@ Content-MD5: MD5
The storage class to which the object is transitioned.
Type: string
Value options: WARM, COLD
-Ancestor node: Transition, NoncurrentVersionTransition
+Parent: Transition, NoncurrentVersionTransition
|
Required if the Transition or NoncurrentVersionTransition element is present.
|
@@ -169,8 +169,8 @@ Content-MD5: MD5
Transition time and the object storage class after transition (valid only for the latest object version).
Type: XML
-Children node: Date or Days, StorageClass
-Ancestor node: Rule
+Child: Date or Days, StorageClass
+Parent: Rule
|
Required if the NoncurrentVersionTransition, Expiration, AbortIncompleteMultipartUpload, or NoncurrentVersionExpiration element is absent.
|
@@ -179,8 +179,8 @@ Content-MD5: MD5
Container for the object expiration rule (only applicable to the latest versions of objects).
Type: XML
-Children node: Date or Days
-Ancestor node: Rule
+Child: Date or Days
+Parent: Rule
|
Required if Transition, NoncurrentVersionTransition, AbortIncompleteMultipartUpload, or NoncurrentVersionExpiration is absent.
|
@@ -189,7 +189,7 @@ Content-MD5: MD5
Unique identifier of a rule. The value can contain a maximum of 255 characters.
Type: string
-Ancestor node: Rule
+Parent: Rule
|
No
|
@@ -198,8 +198,8 @@ Content-MD5: MD5
Container for lifecycle rules. You can add multiple rules. The total size of the rules cannot exceed 20 KB.
Type: XML
-Children node: Rule
-Ancestor node: none
+Child: Rule
+Parent: none
|
Yes
|
@@ -208,7 +208,7 @@ Content-MD5: MD5
Number of days when the specified rule takes effect after the object becomes a historical version (only applicable to an object's historical version).
Type: integer
-Ancestor node: NoncurrentVersionExpiration, NoncurrentVersionTransition
+Parent: NoncurrentVersionExpiration, NoncurrentVersionTransition
|
Required if the NoncurrentVersionExpiration or NoncurrentVersionTransition element is present.
|
@@ -217,18 +217,18 @@ Content-MD5: MD5
Transition time of historical object versions and the object storage class after transition.
Type: XML
-Children node: NoncurrentDays, StorageClass
-Ancestor node: Rule
+Child: NoncurrentDays, StorageClass
+Parent: Rule
|
-Required if the Transition, Expiration, AbortIncompleteMultipartUpload, or NoncurrentVersionExpiration element is absent.
+ | Required if the Transition, Expiration, AbortIncompleteMultipartUpload, or NoncurrentVersionExpiration element is absent.
|
NoncurrentVersionExpiration
|
Container for the expiration time of objects' historical versions. If versioning is enabled or suspended for a bucket, you can set NoncurrentVersionExpiration to delete historical versions of objects that match the lifecycle rule (only applicable to the historical versions of objects).
Type: XML
-Children node: NoncurrentDays
-Ancestor node: Rule
+Child: NoncurrentDays
+Parent: Rule
|
No
|
@@ -237,10 +237,8 @@ Content-MD5: MD5
Container for specifying when the not merged parts (fragments) in an incomplete upload will be deleted.
Type: XML
-Children node: DaysAfterInitiation
-Ancestor node: Rule
- NOTE: AbortIncompleteMultipartUpload does not support filtering by tag.
-
+Child: DaysAfterInitiation
+Parent: Rule
|
Required if the Transition, Expiration, NoncurrentVersionExpiration, or NoncurrentVersionTransition element is absent.
|
@@ -249,7 +247,7 @@ Content-MD5: MD5
Specifies the number of days since the initiation of an incomplete multipart upload that OBS will wait before deleting the not merged parts (fragments) of the upload.
Type: integer
-Ancestor node: AbortIncompleteMultipartUpload
+Parent: AbortIncompleteMultipartUpload
|
Required if the AbortIncompleteMultipartUpload element is present.
|
@@ -258,7 +256,7 @@ Content-MD5: MD5
Object name prefix that identifies one or more objects to which the rule applies.
Type: string
-Ancestor node: Rule
+Parent: Rule
Constraints:
- When you configure a lifecycle rule by specifying a prefix, if the specified prefix and the prefix of an existing lifecycle rule overlap, OBS regards these two rules as one and forbids you to configure this rule. For example, if there is a rule with the object prefix abc configured in the system, another rule with the object prefix starting with abc cannot be configured.
- If there is already a lifecycle rule that is based on an object prefix, you are not allowed to configure another rule that is applied to the entire bucket.
|
@@ -269,7 +267,7 @@ Content-MD5: MD5
Container for a specific lifecycle rule.
Type: container
-Ancestor node: LifecycleConfiguration
+Parent: LifecycleConfiguration
|
Yes
|
@@ -278,7 +276,7 @@ Content-MD5: MD5
Indicates whether the rule is enabled.
Type: string
-Ancestor node: Rule
+Parent: Rule
Value options: Enabled, Disabled
|
Yes
diff --git a/docs/obs/api-ref/obs_04_0035.html b/docs/obs/api-ref/obs_04_0035.html
index d9eb775c..e03fd839 100644
--- a/docs/obs/api-ref/obs_04_0035.html
+++ b/docs/obs/api-ref/obs_04_0035.html
@@ -116,14 +116,14 @@ Content-Length: length
|
Specifies that OBS executes lifecycle rules for objects before the specified date. The date must be compliant with the ISO8601 format, and the time must be compliant with the UTC format of 00:00:00. For example, 2018-01-01T00:00:00.000Z indicates that objects whose last modification time is earlier than 2018-01-01T00:00:00.000Z are deleted or transitioned to another storage class. Objects whose last modification time is equal to or later than the specified time are not deleted or transitioned to another storage class.
Type: string
-Ancestor node: Expiration, Transition
+Parent: Expiration, Transition
|
Days
|
Specifies the number of days (since the latest update to the latest object version) after which the lifecycle rule is executed.
Type: integer
-Ancestor node: Expiration, Transition
+Parent: Expiration, Transition
|
StorageClass
@@ -131,97 +131,97 @@ Content-Length: length
| The storage class to which the object is transitioned.
Type: string
Value options: WARM, COLD
-Ancestor node: Transition, NoncurrentVersionTransition
+Parent: Transition, NoncurrentVersionTransition
|
Transition
|
Transition time and the object storage class after transition (valid only for the latest object version).
Type: XML
-Children node: Date or Days
-Ancestor node: Rule
+Child: Date or Days
+Parent: Rule
|
Expiration
|
Container for the object expiration rule.
Type: XML
-Children node: Date or Days
-Ancestor node: Rule
+Child: Date or Days
+Parent: Rule
|
ID
|
Unique identifier of a rule. The value can contain a maximum of 255 characters.
Type: string
-Ancestor node: Rule
+Parent: Rule
|
LifecycleConfiguration
|
Container for lifecycle rules. You can add multiple rules. The total size of the rules cannot exceed 20 KB.
Type: XML
-Children node: Rule
-Ancestor node: none
+Child: Rule
+Parent: none
|
NoncurrentDays
|
Number of days when the specified rule takes effect after the object becomes a historical version.
Type: integer
-Ancestor node: NoncurrentVersionExpiration, NoncurrentVersionTransition
+Parent: NoncurrentVersionExpiration, NoncurrentVersionTransition
|
NoncurrentVersionTransition
|
Transition time of historical object versions and the object storage class after transition.
Type: XML
-Children node: NoncurrentDays, StorageClass
-Ancestor node: Rule
+Child: NoncurrentDays, StorageClass
+Parent: Rule
|
NoncurrentVersionExpiration
|
Container for the expiration time of objects' historical versions. If versioning is enabled or suspended for a bucket, you can set NoncurrentVersionExpiration to delete objects whose life cycles have expired.
Type: XML
-Children node: NoncurrentDays
-Ancestor node: Rule
+Child: NoncurrentDays
+Parent: Rule
|
AbortIncompleteMultipartUpload
|
Container for specifying when the not merged parts (fragments) in an incomplete upload will be deleted.
Type: XML
-Children node: DaysAfterInitiation
-Ancestor node: Rule
+Child: DaysAfterInitiation
+Parent: Rule
|
DaysAfterInitiation
|
Specifies the number of days since the initiation of an incomplete multipart upload that OBS will wait before deleting the not merged parts (fragments) of the upload.
Type: integer
-Ancestor node: AbortIncompleteMultipartUpload
+Parent: AbortIncompleteMultipartUpload
|
Prefix
|
Object name prefix identifying one or more objects to which the rule applies.
Type: string
-Ancestor node: Rule
+Parent: Rule
|
Rule
|
Container for a specific lifecycle rule.
Type: container
-Ancestor node: LifecycleConfiguration
+Parent: LifecycleConfiguration
|
Status
|
Indicates whether the rule is enabled.
Type: string
-Ancestor node: Rule
+Parent: Rule
Value options: Enabled, Disabled
|
diff --git a/docs/obs/api-ref/obs_04_0037.html b/docs/obs/api-ref/obs_04_0037.html
index 9e688c0f..41cfed56 100644
--- a/docs/obs/api-ref/obs_04_0037.html
+++ b/docs/obs/api-ref/obs_04_0037.html
@@ -6,9 +6,9 @@
Once WORM is enabled for a bucket, OBS automatically enables versioning for the bucket and the versioning cannot be suspended for that bucket.
You can perform this operation to enable or suspend versioning for a bucket.
After versioning is enabled for a bucket:
-- OBS creates a unique version ID for each uploaded object. Namesake objects are not overwritten and are distinguished by their own version IDs.
- You can download objects by specifying version IDs. By default, the latest object is downloaded if the version ID is not specified.
- Objects can be deleted by version ID. If an object is deleted with no version ID specified, the object is only attached with a deletion marker and a unique version ID but is not physically deleted.
- The latest objects in a bucket are returned by default after a GET Object request. You can also send a request to obtain a bucket's objects with all version IDs.
- Except deletion markers and object metadata, storage space occupied by objects with all version IDs is charged.
+- OBS creates a unique version ID for each uploaded object. Namesake objects are not overwritten and are distinguished by their own version IDs.
- You can download objects by specifying version IDs. By default, the latest object is downloaded if the version ID is not specified.
- You can specify a version ID to permanently delete a specific object. If an object is deleted with no version ID specified, only a delete marker with a unique version ID is generated, but the object is not physically deleted.
- The latest objects in a bucket are returned by default after a GET Object request. You can also send a request to obtain a bucket's objects with all version IDs.
- Except delete markers, storage space occupied by objects with all version IDs, excluding object metadata, is billed.
After versioning is suspended for a bucket:
-- Existing objects with version IDs are not affected.
- The system creates version ID null to an uploaded object and the object will be overwritten after a namesake one is uploaded.
- You can download objects by specifying version IDs. By default, the latest object is downloaded if the version ID is not specified.
- Objects can be deleted by version ID. If an object is deleted with no version ID specified, the object is attached with a deletion marker whose version ID is null. The object with version ID null is physically deleted.
- Except deletion markers and object metadata, storage space occupied by objects with all version IDs is charged.
+- Existing objects with version IDs are not affected.
- The system creates version ID null to an uploaded object and the object will be overwritten after a namesake one is uploaded.
- You can download objects by specifying version IDs. By default, the latest object is downloaded if the version ID is not specified.
- You can specify a version ID to delete a specific object. If an object is deleted with no version ID specified, OBS creates a delete marker with a version ID of null and deletes the object whose version ID is null.
- Except delete markers, storage space occupied by objects with all version IDs, excluding object metadata, is billed.
Only the bucket owner can set versioning for the bucket.
Request Syntax1
@@ -32,7 +32,7 @@ Content-Length: length
-Request ParametersThis request contains no message parameters.
+ Request ParametersThis request contains no parameters.
Request HeadersThis request uses common headers. For details, see Table 3.
@@ -49,7 +49,7 @@ Content-Length: length
VersioningConfiguration
|
Root node for configuring versioning
-Ancestor node: none
+Parent: none
|
Yes
|
@@ -58,7 +58,7 @@ Content-Length: length
Versioning status of the bucket
Type: string
-Ancestor node: VersioningConfiguration
+Parent: VersioningConfiguration
Value options: Enabled, Suspended
|
Yes
diff --git a/docs/obs/api-ref/obs_04_0039.html b/docs/obs/api-ref/obs_04_0039.html
index e1a80294..f323dc32 100644
--- a/docs/obs/api-ref/obs_04_0039.html
+++ b/docs/obs/api-ref/obs_04_0039.html
@@ -87,8 +87,8 @@ Authorization: authorization strin
|
Root element for configuring the event notification function of a bucket. If the sub element is null, the function is disabled.
Type: container
-Ancestor: none
-Children: zero or multiple TopicConfiguration elements
+Parent: none
+Child: zero or multiple TopicConfiguration elements
|
Yes
|
@@ -97,8 +97,8 @@ Authorization: authorization strin
Element for configuring the event notification topic.
Type: container
-Ancestor: NotificationConfiguration
-Children: Id, Filter, Topic, Event, or Events
+Parent: NotificationConfiguration
+Child: Id, Filter, Topic, and one or more Event elements
|
No
|
@@ -107,7 +107,7 @@ Authorization: authorization strin
URN of the event notification topic. When OBS detects a specific event in the bucket, it publishes a notification message to the topic. The topic value can be found in SMN topics.
Type: string
-Ancestor: TopicConfiguration
+Parent: TopicConfiguration
Template:
| <Topic>urn:smn:region:project_id:smn_topic</Topic>
|
@@ -124,9 +124,9 @@ Authorization: authorization strin
|
Id
|
-Unique ID of each event notification. If the user does not specify an ID, the system assigns an ID automatically.
+ | Unique ID of each event notification. If the ID is not specified, OBS automatically assigns an ID.
Type: string
-Ancestor: TopicConfiguration
+Parent: TopicConfiguration
|
No
|
@@ -135,8 +135,8 @@ Authorization: authorization strin
Element used to store rules of filtering object names.
Type: container
-Ancestor: TopicConfiguration
-Children: Object
+Parent: TopicConfiguration
+Child: Object
|
No
|
@@ -145,8 +145,8 @@ Authorization: authorization strin
Element that defines the filtering rule. The rule filters objects based on the prefixes and suffixes of object names.
Type: container
-Ancestor: Filter
-Children: one or more FilterRules
+Parent: Filter
+Child: one or more FilterRule elements
|
No
|
@@ -155,8 +155,8 @@ Authorization: authorization strin
Element that defines key-value pairs of the filtering rule
Type: container
-Ancestor: Object
-Children: Name, Value
+Parent: Object
+Child: Name and Value
|
No
|
@@ -165,7 +165,7 @@ Authorization: authorization strin
Prefix or suffix of object names for filtering
Type: string
-Ancestor: FilterRule
+Parent: FilterRule
Value options: prefix, suffix
|
No
@@ -175,7 +175,7 @@ Authorization: authorization strin
|
Key word of object names. Based on the prefix or suffix defined by Name, enter the key word for filtering objects. A longer string of characters delivers a more accurate filtering result. A maximum of 1024 characters are supported.
Type: string
-Ancestor: FilterRule
+Parent: FilterRule
|
No
|
@@ -196,7 +196,7 @@ Authorization: authorization strin
Or use wildcard characters to support all delete operations:
-Ancestor: TopicConfiguration
+Parent: TopicConfiguration
Required if TopicConfiguration is added
|
diff --git a/docs/obs/api-ref/obs_04_0040.html b/docs/obs/api-ref/obs_04_0040.html
index 1887f913..e8cfcc16 100644
--- a/docs/obs/api-ref/obs_04_0040.html
+++ b/docs/obs/api-ref/obs_04_0040.html
@@ -92,60 +92,60 @@ Content-Length: length
Element for configuring the event notification function of a bucket. If this element is null, the function is disabled.
Type: container
-Ancestor: none
-Children: one or more TopicConfiguration elements
+Parent: none
+Child: one or more TopicConfiguration elements
|
TopicConfiguration
|
Element for configuring the event notification topic.
Type: container
-Ancestor: NotificationConfiguration
-Children: Id, Filter, Topic, Event, or Events
+Parent: NotificationConfiguration
+Child: Id, Filter, Topic, and one or more Event elements
|
Topic
|
URN of the event notification topic. After detecting a specific event in the bucket, OBS sends a message to the topic.
Type: string
-Ancestor: TopicConfiguration
+Parent: TopicConfiguration
|
Id
|
-Unique ID of each event notification. If the user does not specify an ID, the system assigns an ID automatically.
+ | Unique ID of each event notification. If the ID is not specified, OBS automatically assigns an ID.
Type: string
-Ancestor: TopicConfiguration
+Parent: TopicConfiguration
|
Filter
|
Element used to store rules of filtering object names.
Type: container
-Ancestor: TopicConfiguration
-Children: Object
+Parent: TopicConfiguration
+Child: Object
|
Object
|
Element used to store rules of filtering object names.
Type: container
-Ancestor: TopicConfiguration
+Parent: TopicConfiguration
|
FilterRule
|
Element that defines key-value pairs of the filtering rule.
Type: container
-Ancestor: Object
-Children: Name, Value
+Parent: Object
+Child: Name and Value
|
Name
|
Prefix or suffix of object names for filtering
Type: string
-Ancestor: FilterRule
+Parent: FilterRule
Value options: prefix, suffix
|
@@ -153,7 +153,7 @@ Content-Length: length
Keywords of object names so that objects can be filtered based on the prefixes or suffixes
Type: string
-Ancestor: FilterRule
+Parent: FilterRule
|
Event
@@ -172,7 +172,7 @@ Content-Length: length
Or use wildcard characters to support all delete operations:
-Ancestor: TopicConfiguration
+Parent: TopicConfiguration
|
diff --git a/docs/obs/api-ref/obs_04_0044.html b/docs/obs/api-ref/obs_04_0044.html
index 23fda8be..e29fbe85 100644
--- a/docs/obs/api-ref/obs_04_0044.html
+++ b/docs/obs/api-ref/obs_04_0044.html
@@ -3,7 +3,7 @@
Configuring Storage Class for a Bucket
FunctionsThis operation sets or updates the default storage class of a bucket.
To perform this operation, you must have the PutBucketStoragePolicy permission. By default, only the bucket owner can perform this operation. The bucket owner can grant the permission to other users by configuring the bucket policy or user policy.
- After the default storage class has been set for a bucket, if the storage class of an object is not specified during uploading, copying, or initialization of multi-part upload, the object storage class is the same as the default storage class of the bucket.
+ If you do not specify a storage class when uploading or copying an object, or initiating a multipart upload, the object inherits the bucket's storage class.
The default storage class of a bucket is Standard.
Request Syntax1
@@ -41,14 +41,14 @@ Authorization: authorization
|
-StorageClass
+ | StorageClass
|
-Specifies the default storage class for a bucket.
-Type: string
-Value options: STANDARD, WARM, COLD
-The available storage classes are as follows: Standard (STANDARD), Warm (WARM), Cold (COLD).
+ | Specifies the default storage class for a bucket.
+Type: string
+Value options: STANDARD, WARM, COLD
+The available storage classes are as follows: Standard (STANDARD), Warm (WARM), Cold (COLD).
|
-Yes
+ | Yes
|
diff --git a/docs/obs/api-ref/obs_04_0046.html b/docs/obs/api-ref/obs_04_0046.html
index 7d2a5265..33ed8225 100644
--- a/docs/obs/api-ref/obs_04_0046.html
+++ b/docs/obs/api-ref/obs_04_0046.html
@@ -2,8 +2,10 @@
Configuring Cross-Region Replication for a Bucket
FunctionsCross-region replication refers to the automatic and asynchronous replication of objects across buckets in different regions. By activating cross-region replication, OBS can copy new objects and modified objects from a source bucket in one region to a destination bucket in a different region.
- The following two requirements must be met when configuring the cross-region replication for a bucket:
- - Cross-region replication can be configured only when the versioning statuses of the source and destination buckets are the same. For details about how to configure bucket versioning, see Configuring Versioning for a Bucket.
- The owner and agency (OBS) of the source bucket must have the permission to write the destination bucket (configured with BucketPolicy), and the agency (OBS) must have the read permission for the source bucket. This permission delegation needs to be implemented by calling the BucketPolicy API.
+ An IAM agency is required for configuring cross-region replication. For details, see section "Creating an IAM Agency" in the Object Storage Service User Guide.
+
+ To configure cross-region replication for a bucket, the following two requirements must be met:
+ - The versioning statuses of the source and destination buckets are the same. For details, see Configuring Versioning for a Bucket.
- The source bucket's owner and agency (OBS) have the write permission for the destination bucket (with a bucket policy configured), and the agency (OBS) also has the read permission for the source bucket. This permission delegation needs to be implemented by using a bucket policy.
For details about how to configure the bucket policy, see Configuring a Bucket Policy. After the bucket policy is set, the agency (OBS) can read objects from the source bucket and copy objects to the destination bucket.
Request Syntax 1
@@ -88,8 +90,8 @@ Content-Length: contentlength
|
Container for the replication rules. A maximum of 100 rules can be configured. The size of the XML file can reach 50 KB.
Type: container
-Children: Rule
-Ancestor: none
+Child: Rule
+Parent: none
|
Yes
|
@@ -98,7 +100,7 @@ Content-Length: contentlength
Name of the agency, which can have a maximum of 64 characters.
Type: string
-Ancestor: ReplicationConfiguration
+Parent: ReplicationConfiguration
|
Yes
|
@@ -108,7 +110,7 @@ Content-Length: contentlength
Container of a specified replication rule.
The replication configuration must contain at least one rule. The maximum number of rules is 100.
Type: container
-Ancestor:
+Parent:
ReplicationConfiguration
|
Yes
@@ -118,7 +120,7 @@ Content-Length: contentlength
|
Unique identifier of a rule, with a maximum length of 255 characters.
Type: string
-Ancestor: Rule
+Parent: Rule
|
No
|
@@ -127,7 +129,7 @@ Content-Length: contentlength
If the value of this element is Disabled, this rule will be ignored.
Type: string
-Ancestor: Rule
+Parent: Rule
Value options: Enabled, Disabled
|
Yes
@@ -138,7 +140,7 @@ Content-Length: contentlength
| Prefix of an object key name, applicable to one or more objects. If the Prefix is left blank, the cross-region replication rule is applied to the whole bucket.
The maximum length of a prefix is 1024 characters. Duplicated prefixes are not supported.
Type: string
-Ancestor: Rule
+Parent: Rule
|
Yes
|
@@ -147,7 +149,7 @@ Content-Length: contentlength
Container for the destination bucket information.
Type: container
-Ancestor: Rule
+Parent: Rule
|
Yes
|
@@ -157,7 +159,7 @@ Content-Length: contentlength
Bucket used to store object copies that are marked by rules.
If the replication configuration contains multiple rules, the rules must specify the same bucket as the destination bucket.
Type: string
-Ancestor: Destination
+Parent: Destination
|
Yes
|
@@ -166,7 +168,7 @@ Content-Length: contentlength
Storage class of an object
Type: string
-Ancestor: Destination
+Parent: Destination
Value options: STANDARD, WARM, COLD
|
No
@@ -176,7 +178,7 @@ Content-Length: contentlength
|
Keyword for synchronizing object deletion operations. If the value is Enabled, the object deletion for the source bucket will be replicated to the destination bucket.
Type: string
-Ancestor: Destination
+Parent: Destination
Value options: Enabled and Disabled (If this element is absent from the request, Disabled is applied by default.)
|
No
@@ -186,7 +188,7 @@ Content-Length: contentlength
|
Keyword for copying a historical object. If the value is Enabled, historical objects meeting this rule are copied.
Type: string
-Ancestor: Rule
+Parent: Rule
Value options: Enabled and Disabled (If this element is absent from the request, Disabled is applied by default.)
|
No
diff --git a/docs/obs/api-ref/obs_04_0047.html b/docs/obs/api-ref/obs_04_0047.html
index e6c9cef6..e7a026d9 100644
--- a/docs/obs/api-ref/obs_04_0047.html
+++ b/docs/obs/api-ref/obs_04_0047.html
@@ -77,15 +77,15 @@ Content-Length: contentlength
|
Container for the replication rules. A maximum of 100 rules can be configured. The size of the XML file can reach 50 KB.
Type: container
-Children: Rule
-Ancestor: none
+Child: Rule
+Parent: none
|
Agency
|
Name of the agency, which can have a maximum of 64 characters.
Type: string
-Ancestor: ReplicationConfiguration
+Parent: ReplicationConfiguration
|
Rule
@@ -93,21 +93,21 @@ Content-Length: contentlength
| Container of a specified replication rule.
The replication configuration must contain at least one rule. The maximum number of rules is 100.
Type: container
-Ancestor: ReplicationConfiguration
+Parent: ReplicationConfiguration
|
ID
|
Unique identifier of a rule, with a maximum length of 255 characters.
Type: string
-Ancestor: Rule
+Parent: Rule
|
Status
|
If the value of this element is Disabled, this rule will be ignored.
Type: string
-Ancestor: Rule
+Parent: Rule
Value options: Enabled, Disabled
|
@@ -116,14 +116,14 @@ Content-Length: contentlength
Prefix of an object key name, applicable to one or more objects. If the Prefix is left blank, the cross-region replication rule is applied to the whole bucket.
The maximum length of a prefix is 1,024 characters. Duplicated prefixes are not supported.
Type: string
-Ancestor: Rule
+Parent: Rule
|
Destination
|
Container for the destination bucket information.
Type: container
-Ancestor: Rule
+Parent: Rule
|
Bucket
@@ -131,14 +131,14 @@ Content-Length: contentlength
| Bucket used to store object copies that are marked by rules.
If the replication configuration contains multiple rules, the rules must specify the same bucket as the destination bucket.
Type: string
-Ancestor: Destination
+Parent: Destination
|
StorageClass
|
Storage class of an object.
Type: string
-Ancestor: Destination
+Parent: Destination
Value options: STANDARD, WARM, COLD
|
@@ -146,16 +146,16 @@ Content-Length: contentlength
Keyword for synchronizing object deletion operations. If the value is Enabled, the object deletion for the source bucket will be replicated to the destination bucket.
Type: string
-Ancestor: Destination
-Value options: Enabled and Disabled (If this element is absent from the request, Disabled is applied by default.)
+Parent: Destination
+Value options: Enabled and Disabled (If this element is absent from the request, Disabled is applied by default.)
|
HistoricalObjectReplication
|
Keyword for copying a historical object. If the value is Enabled, historical objects meeting this rule are copied.
Type: string
-Ancestor: Rule
-Value options: Enabled and Disabled (If this element is absent from the request, Disabled is applied by default.)
+Parent: Rule
+Value options: Enabled and Disabled (If this element is absent from the request, Disabled is applied by default.)
|
diff --git a/docs/obs/api-ref/obs_04_0049.html b/docs/obs/api-ref/obs_04_0049.html
index 244b525d..2727ae13 100644
--- a/docs/obs/api-ref/obs_04_0049.html
+++ b/docs/obs/api-ref/obs_04_0049.html
@@ -75,7 +75,7 @@ Content-MD5: md5
Root element for TagSet and Tag
Type: container
-Ancestor: none
+Parent: none
|
Yes
|
@@ -84,7 +84,7 @@ Content-MD5: md5
Element of the tag set
Type: container
-Ancestor: Tagging
+Parent: Tagging
|
Yes
|
@@ -93,7 +93,7 @@ Content-MD5: md5
Information element of Tag
Type: container
-Ancestor: TagSet
+Parent: TagSet
|
Yes
|
@@ -102,7 +102,7 @@ Content-MD5: md5
Tag name
Type: string
-Ancestor: Tag
+Parent: Tag
|
Yes
|
@@ -111,7 +111,7 @@ Content-MD5: md5
Tag value
Type: string
-Ancestor: Tag
+Parent: Tag
|
Yes
|
diff --git a/docs/obs/api-ref/obs_04_0050.html b/docs/obs/api-ref/obs_04_0050.html
index 50a793a2..6b8e25cd 100644
--- a/docs/obs/api-ref/obs_04_0050.html
+++ b/docs/obs/api-ref/obs_04_0050.html
@@ -68,35 +68,35 @@ Date: date
Element of the tag set and tag.
Type: container
-Ancestor: none
+Parent: none
|
TagSet
|
Element of the tag set.
Type: container
-Ancestor: Tagging
+Parent: Tagging
|
Tag
|
Element of the tag information.
Type: container
-Ancestor: TagSet
+Parent: TagSet
|
Key
|
Tag name.
Type: string
-Ancestor: Tag
+Parent: Tag
|
Value
|
Tag value.
Type: string
-Ancestor: Tag
+Parent: Tag
|
diff --git a/docs/obs/api-ref/obs_04_0055.html b/docs/obs/api-ref/obs_04_0055.html
new file mode 100644
index 00000000..ed145e8c
--- /dev/null
+++ b/docs/obs/api-ref/obs_04_0055.html
@@ -0,0 +1,347 @@
+
+
+Configuring Bucket Inventories
+FunctionsOBS uses the PUT method to configure bucket inventories. Each bucket can have a maximum of 10 inventories.
+ To perform this operation, ensure that you have the PutBucketInventoryConfiguration permission. By default, the bucket owner has this permission and can grant it to others.
+ In order for inventory files to be successfully generated in a target bucket, it is necessary to configure a custom policy for this target bucket. For details, see Configuring a Bucket Policy.
+ Policy body:
+ {
+ "Sid": "bucktetInventoryPolicyStatementId",
+ "Effect": "Allow",
+ "Principal": {
+ "Service": "obs"
+ },
+ "Action": "PutObject",
+ "Resource": "target-bucket-name/*"
+ }
+
+ Request SyntaxPUT /?inventory&id=configuration-id HTTP/1.1
+User-Agent: curl/7.29.0
+Host: bucketname.obs.region.example.com
+Accept: */*
+Date: date
+Authorization: authorization string
+Content-Length: length
+Expect: 100-continue
+
+<InventoryConfiguration>
+ <Id>configuration-id</Id>
+ <IsEnabled>true</IsEnabled>
+ <Filter>
+ <Prefix>inventoryTestPrefix</Prefix>
+ </Filter>
+ <Destination>
+ <Format>CSV</Format>
+ <Bucket>destbucket</Bucket>
+ <Prefix>dest-prefix</Prefix>
+ </Destination>
+ <Schedule>
+ <Frequency>Daily</Frequency>
+ </Schedule>
+ <IncludedObjectVersions>All</IncludedObjectVersions>
+ <OptionalFields>
+ <Field>Size</Field>
+ <Field>LastModifiedDate</Field>
+ <Field>ETag</Field>
+ <Field>StorageClass</Field>
+ <Field>IsMultipartUploaded</Field>
+ <Field>ReplicationStatus</Field>
+ <Field>EncryptionStatus</Field>
+ </OptionalFields>
+</InventoryConfiguration>
+
+ Request Parameters
+ Table 1 Request parametersParameter
+ |
+Description
+ |
+Mandatory
+ |
+
+
+id
+ |
+ID of the inventory configuration, which must be consistent with the inventory configuration ID in the message body.
+Type: string
+Specifications: A maximum of 64 characters
+There is no default value.
+Valid characters: letters, digits, hyphens (-), periods (.) and underscores (_)
+ |
+Yes
+ |
+
+
+
+
+
+ Request HeadersThis request uses common headers. For details, see Table 3.
+
+ Request ElementsIn this request, you must configure the bucket inventory in the request body. Upload the inventory configuration information in an XML file. Table 2 lists the configuration elements.
+
+ Table 2 Bucket inventory configuration elementsElement
+ |
+Description
+ |
+Mandatory
+ |
+
+
+InventoryConfiguration
+ |
+Inventory configuration.
+Type: container
+Parent: none
+Child: Id, IsEnabled, Filter, Destination, Schedule, IncludedObjectVersions, and OptionalFields
+ |
+Yes
+ |
+
+Id
+ |
+ID of an inventory configuration, which must be consistent with the inventory configuration ID specified in the request.
+Type: string
+Specifications: A maximum of 64 characters
+There is no default value.
+Valid characters: letters, digits, hyphens (-), periods (.) and underscores (_)
+Parent: InventoryConfiguration
+ |
+Yes
+ |
+
+IsEnabled
+ |
+Indicates whether the rule is enabled. If this parameter is set to true, the inventory is generated. If not, the inventory will not be generated.
+Type: boolean
+Value options: true, false
+Parent: InventoryConfiguration
+ |
+Yes
+ |
+
+Filter
+ |
+Inventory filter configuration. The inventory contains only objects that meet the filter criteria (filtering by object name prefix). If no filter criteria is configured, all objects are included.
+Type: container
+Parent: InventoryConfiguration
+Child: Prefix
+ |
+No
+ |
+
+Prefix
+ |
+Filtering by name prefix. Only objects with the specified name prefix are included in the inventory.
+Type: string
+Parent: Filter
+ |
+No
+ |
+
+Schedule
+ |
+Time scheduled for generation of inventories.
+Type: container
+Parent: InventoryConfiguration
+Child: Frequency
+ |
+Yes
+ |
+
+Frequency
+ |
+Intervals when inventories are generated. You can set this parameter to Daily or Weekly. An inventory is generated within one hour after it is configured for the first time. Then it is generated at the specified intervals.
+Type: string
+Parent: Schedule
+Value options: Daily, Weekly
+ |
+Yes
+ |
+
+Destination
+ |
+Destination bucket of an inventory.
+Type: container
+Parent: InventoryConfiguration
+ |
+Yes
+ |
+
+Format
+ |
+Inventory format. Only the CSV format is supported.
+Type: string
+Parent: Destination
+Value options: CSV
+ |
+Yes
+ |
+
+Bucket
+ |
+Name of the bucket for saving inventories.
+Type: string
+Parent: Destination
+ |
+Yes
+ |
+
+Prefix
+ |
+The name prefix of inventory files. If no prefix is configured, the names of inventory files will start with the BucketInventory by default.
+Type: string
+Parent: Destination
+ |
+No
+ |
+
+IncludedObjectVersions
+ |
+Indicates whether versions of objects are included in an inventory.
+- If this parameter is set to All, all the versions of objects are included in the inventory, and versioning related fields are added to the inventory, including: VersionId, IsLatest, and DeleteMarker.
- If this parameter is set to Current, the inventory contains only the current objects versions at the time when the inventory is generated. No versioning fields are displayed in the inventory.
+Type: string
+Parent: InventoryConfiguration
+Value options: All, Current
+ |
+Yes
+ |
+
+OptionalFields
+ |
+Extra metadata fields that can be added to an inventory. If this parameter is configured, fields specified in this parameter are contained in the inventory.
+Type: container
+Parent: InventoryConfiguration
+Child: Field
+ |
+No
+ |
+
+Field
+ |
+Optional fields. The OptionalFields can contain multiple field elements.
+Type: string
+Parent: OptionalFields
+Value options: Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus, EncryptionStatus
+ |
+No
+ |
+
+
+
+
+
+ Response Syntax | HTTP/1.1 status_code
+x-obs-request-id: request id
+x-obs-id-2: id
+Date: date
+Content-Length: length
+ |
+
+
+
+ Response HeadersThe response to the request uses common headers. For details, see Table 1.
+
+ Response ElementsThis response contains no elements.
+
+ Error ResponsesIn addition to common error codes, this API also returns other error codes. The following lists some common errors and possible causes of this API. For details, see Table 3.
+
+ Table 3 Inventory configuration error codesError Code
+ |
+Description
+ |
+HTTP Status Code
+ |
+
+
+MalformedXML
+ |
+Incorrect XML format of the inventory.
+ |
+400 Bad Request
+ |
+
+InvalidArgument
+ |
+Invalid parameter.
+ |
+400 Bad Request
+ |
+
+InventoryCountOverLimit
+ |
+The number of inventories reached the upper limit.
+ |
+400 Bad Request
+ |
+
+PrefixExistInclusionRelationship
+ |
+The prefix configured for this inventory overlaps with prefixes of existing inventories.
+ |
+400 Bad Request
+ |
+
+
+
+
+
+ Sample RequestPUT /?inventory&id=test_id HTTP/1.1
+User-Agent: curl/7.29.0
+Host: examplebucket.obs.region.example.com
+Accept: */*
+Date: Tue, 08 Jan 2019 08:17:10 +0000
+Authorization: OBS UDSIAMSTUBTEST000001:/e2fqSfzLDb+0M36D4Op/s5KKr0=
+Content-Length: 600
+Expect: 100-continue
+
+<InventoryConfiguration>
+ <Id>test_id</Id>
+ <IsEnabled>true</IsEnabled>
+ <Filter>
+ <Prefix>inventoryTestPrefix</Prefix>
+ </Filter>
+ <Destination>
+ <Format>CSV</Format>
+ <Bucket>destbucket</Bucket>
+ <Prefix>dest-prefix</Prefix>
+ </Destination>
+ <Schedule>
+ <Frequency>Daily</Frequency>
+ </Schedule>
+ <IncludedObjectVersions>All</IncludedObjectVersions>
+ <OptionalFields>
+ <Field>Size</Field>
+ <Field>LastModifiedDate</Field>
+ <Field>ETag</Field>
+ <Field>StorageClass</Field>
+ <Field>IsMultipartUploaded</Field>
+ <Field>ReplicationStatus</Field>
+ <Field>EncryptionStatus</Field>
+ </OptionalFields>
+</InventoryConfiguration>
+
+ Sample Response | HTTP/1.1 200 OK
+Server: OBS
+x-obs-request-id: 000001682C8545B0680893425D60AB83
+x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSIGTuRtBfo7lpHSt0ZknhdDHmllwd/p
+Date: Tue, 08 Jan 2019 08:12:38 GMT
+Content-Length: 0
+ |
+
+
+
+
+
+
diff --git a/docs/obs/api-ref/obs_04_0056.html b/docs/obs/api-ref/obs_04_0056.html
new file mode 100644
index 00000000..b8f5db4d
--- /dev/null
+++ b/docs/obs/api-ref/obs_04_0056.html
@@ -0,0 +1,337 @@
+
+
+Obtaining a Specific Inventory of a Bucket
+FunctionsOBS uses the GET method to obtain a specific inventory of a bucket.
+ To perform this operation, you must have the GetBucketInventoryConfiguration permission. By default, the bucket owner has this permission and can grant it to others.
+
+ Request SyntaxGET /?inventory&id=configuration-id HTTP/1.1
+User-Agent: curl/7.29.0
+Host: bucketname.obs.region.example.com
+Accept: */*
+Date: date
+Authorization: authorization string
+
+ Request Parameters
+ Table 1 Request parametersParameter
+ |
+Description
+ |
+Mandatory
+ |
+
+
+id
+ |
+ID of the inventory configuration that you want to obtain.
+Type: string
+Specifications: A maximum of 64 characters
+There is no default value.
+Valid characters: letters, digits, hyphens (-), periods (.) and underscores (_)
+ |
+Yes
+ |
+
+
+
+
+
+ Request HeadersThis request uses common headers. For details, see Table 3.
+
+ Request ElementsThis request involves no elements.
+
+ Response Syntax 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34 | HTTP/1.1 status_code
+Server: OBS
+x-obs-request-id: request id
+x-obs-id-2: id
+Content-Type: application/xml
+Date: date
+Content-Length: length
+
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<InventoryConfiguration xmlns="http://obs.region.example.com/doc/2015-06-30/">
+ <Id>configuration-id</Id>
+ <IsEnabled>true</IsEnabled>
+ <Filter>
+ <Prefix>inventoryTestPrefix</Prefix>
+ </Filter>
+ <Destination>
+ <Format>CSV</Format>
+ <Bucket>destbucket</Bucket>
+ <Prefix>prefix</Prefix>
+ </Destination>
+ <Schedule>
+ <Frequency>Daily</Frequency>
+ </Schedule>
+ <IncludedObjectVersions>Current</IncludedObjectVersions>
+ <OptionalFields>
+ <Field>Size</Field>
+ <Field>LastModifiedDate</Field>
+ <Field>ETag</Field>
+ <Field>StorageClass</Field>
+ <Field>IsMultipartUploaded</Field>
+ <Field>ReplicationStatus</Field>
+ <Field>EncryptionStatus</Field>
+ </OptionalFields>
+</InventoryConfiguration>
+ |
+
+
+
+ Response HeadersThe response to the request uses common headers. For details, see Table 1.
+
+ Response ElementsTable 2 lists elements contained in the response body.
+
+ Table 2 Elements in a response body to the request for bucket inventory configurationsElement
+ |
+Description
+ |
+
+
+InventoryConfiguration
+ |
+Inventory configuration.
+Type: container
+Parent: none
+Child: Id, IsEnabled, Filter, Destination, Schedule, IncludedObjectVersions, and OptionalFields
+ |
+
+Id
+ |
+ID of an inventory configuration, which must be consistent with the inventory configuration ID specified in the request.
+Type: string
+Specifications: A maximum of 64 characters
+There is no default value.
+Valid characters: letters, digits, hyphens (-), periods (.) and underscores (_)
+Parent: InventoryConfiguration
+ |
+
+IsEnabled
+ |
+Indicates whether the rule is enabled. If this parameter is set to true, the inventory is generated. If not, the inventory will not be generated.
+Type: boolean
+Value options: true, false
+Parent: InventoryConfiguration
+ |
+
+Filter
+ |
+Inventory filter configuration. The inventory contains only objects that meet the filter criteria (filtering by object name prefix). If no filter criteria is configured, all objects are included.
+Type: container
+Parent: InventoryConfiguration
+Child: Prefix
+ |
+
+Prefix
+ |
+Filtering by name prefix. Only objects with the specified name prefix are included in the inventory.
+Type: string
+Parent: Filter
+ |
+
+Schedule
+ |
+Time scheduled for generation of inventories.
+Type: container
+Parent: InventoryConfiguration
+Child: Frequency
+ |
+
+Frequency
+ |
+Intervals when inventories are generated. You can set this parameter to Daily or Weekly. An inventory is generated within one hour after it is configured for the first time. Then it is generated at the specified intervals.
+Type: string
+Parent: Schedule
+Value options: Daily, Weekly
+ |
+
+Destination
+ |
+Destination bucket of an inventory.
+Type: container
+Parent: InventoryConfiguration
+ |
+
+Format
+ |
+Inventory format. Only the CSV format is supported.
+Type: string
+Parent: Destination
+Value options: CSV
+ |
+
+Bucket
+ |
+Name of the bucket for saving inventories.
+Type: string
+Parent: Destination
+ |
+
+Prefix
+ |
+The name prefix of inventory files. If no prefix is configured, the names of inventory files will start with the BucketInventory by default.
+Type: string
+Parent: Destination
+ |
+
+IncludedObjectVersions
+ |
+Indicates whether versions of objects are included in an inventory.
+- If this parameter is set to All, all the versions of objects are included in the inventory, and versioning related fields are added to the inventory, including: VersionId, IsLatest, and DeleteMarker.
- If this parameter is set to Current, the inventory contains only the current objects versions at the time when the inventory is generated. No versioning fields are displayed in the inventory.
+Type: string
+Parent: InventoryConfiguration
+Value options: All, Current
+ |
+
+OptionalFields
+ |
+Extra metadata fields that can be added to an inventory. If this parameter is configured, fields specified in this parameter are contained in the inventory.
+Type: container
+Parent: InventoryConfiguration
+Child: Field
+ |
+
+Field
+ |
+Optional fields. The OptionalFields can contain multiple field elements.
+Type: string
+Parent: OptionalFields
+Value options: Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus, EncryptionStatus
+ |
+
+
+
+
+
+ Error ResponsesIn addition to common error codes, this API also returns other error codes. The following table lists common errors and possible causes. For details, see Table 3.
+
+ Table 3 Error codes related to obtaining inventory configurationsError Code
+ |
+Description
+ |
+HTTP Status Code
+ |
+
+
+NoSuchInventoryConfiguration
+ |
+No inventory configuration found matching the specified ID.
+ |
+404 Not Found
+ |
+
+
+
+
+
+ Sample RequestGET /?inventory&id=id1 HTTP/1.1
+User-Agent: curl/7.29.0
+Host: examplebucket.obs.region.example.com
+Accept: */*
+Date: Tue, 08 Jan 2019 09:32:24 +0000
+Authorization: OBS UDSIAMSTUBTEST000001:ySWncC9M08jNsyXdJLSMJkpi7XM=
+
+ Sample Response 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31 | HTTP/1.1 200 OK
+Server: OBS
+x-obs-request-id: 000001682CB4C2EE6808A0D8DF9F3D00
+x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSBjn5O7Jv9CqvUMO0BenehRdil1n8rR
+Content-Type: application/xml
+Date: Tue, 08 Jan 2019 09:04:30 GMT
+Content-Length: 626
+
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<InventoryConfiguration xmlns="http://obs.region.example.com/doc/2015-06-30/">
+ <Id>id1</Id>
+ <IsEnabled>true</IsEnabled>
+ <Destination>
+ <Format>CSV</Format>
+ <Bucket>bucket</Bucket>
+ <Prefix>prefix</Prefix>
+ </Destination>
+ <Schedule>
+ <Frequency>Daily</Frequency>
+ </Schedule>
+ <IncludedObjectVersions>Current</IncludedObjectVersions>
+ <OptionalFields>
+ <Field>Size</Field>
+ <Field>LastModifiedDate</Field>
+ <Field>ETag</Field>
+ <Field>StorageClass</Field>
+ <Field>IsMultipartUploaded</Field>
+ <Field>ReplicationStatus</Field>
+ <Field>EncryptionStatus</Field>
+ </OptionalFields>
+</InventoryConfiguration>
+ |
+
+
+
+
+
+
diff --git a/docs/obs/api-ref/obs_04_0057.html b/docs/obs/api-ref/obs_04_0057.html
new file mode 100644
index 00000000..f9273066
--- /dev/null
+++ b/docs/obs/api-ref/obs_04_0057.html
@@ -0,0 +1,216 @@
+
+
+Listing All Inventories of a Bucket
+FunctionsOBS uses the GET method without inventory IDs to obtain all inventories of a specified bucket. Obtained inventories are returned together on only one page.
+ To perform this operation, you must have the GetBucketInventoryConfiguration permission. By default, the bucket owner has this permission and can grant it to others.
+
+ Request Syntax | GET /?inventory HTTP/1.1
+User-Agent: curl/7.29.0
+Host: bucketname.obs.region.example.com
+Accept: */*
+Date: date
+Authorization: authorization string
+ |
+
+
+
+ Request ParametersThis request message does not contain the request parameters.
+
+ Request HeadersThis request uses common headers. For details, see Table 3.
+
+ Request ElementsThis request involves no elements.
+
+ Response Syntax 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33 | HTTP/1.1 status_code
+Server: OBS
+x-obs-request-id: request id
+x-obs-id-2: id
+Content-Type: application/xml
+Date: date
+Content-Length: length
+
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<ListInventoryConfiguration xmlns="http://obs.region.example.com/doc/2015-06-30/">
+ <InventoryConfiguration>
+ <Id>id</Id>
+ <IsEnabled>true</IsEnabled>
+ <Destination>
+ <Format>CSV</Format>
+ <Bucket>bucket</Bucket>
+ <Prefix>prefix</Prefix>
+ </Destination>
+ <Schedule>
+ <Frequency>Daily</Frequency>
+ </Schedule>
+ <IncludedObjectVersions>Current</IncludedObjectVersions>
+ <OptionalFields>
+ <Field>Size</Field>
+ <Field>LastModifiedDate</Field>
+ <Field>ETag</Field>
+ <Field>StorageClass</Field>
+ <Field>IsMultipartUploaded</Field>
+ <Field>ReplicationStatus</Field>
+ <Field>EncryptionStatus</Field>
+ </OptionalFields>
+ </InventoryConfiguration>
+</ListInventoryConfiguration>
+ |
+
+
+
+ Response HeadersThe response to the request uses common headers. For details, see Table 1.
+
+ Response ElementsTable 1 lists elements contained in the response body.
+
+ Table 1 Bucket inventory configuration elementsElement
+ |
+Description
+ |
+
+
+ListInventoryConfiguration
+ |
+List of bucket inventories.
+Type: container
+ |
+
+InventoryConfiguration
+ |
+Bucket inventory configuration. For details about the configuration elements, see Table 2.
+Type: container
+Parent: ListInventoryConfiguration
+ |
+
+
+
+
+
+ Error ResponsesNo special error responses are returned. For details about error responses, see Table 2.
+
+ Sample Request | GET /?inventory HTTP/1.1
+User-Agent: curl/7.29.0
+Host: examplebucket.obs.region.example.com
+Accept: */*
+Date: Tue, 08 Jan 2019 09:32:24 +0000
+Authorization: OBS UDSIAMSTUBTEST000001:ySWncC9M08jNsyXdJLSMJkpi7XM=
+ |
+
+
+
+ Sample Response 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33 | HTTP/1.1 200 OK
+Server: OBS
+x-obs-request-id: 000001682CB4C2EE6808A0D8DF9F3D00
+x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSBjn5O7Jv9CqvUMO0BenehRdil1n8rR
+Content-Type: application/xml
+Date: Tue, 08 Jan 2019 09:04:30 GMT
+Content-Length: 626
+
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<ListInventoryConfiguration xmlns="http://obs.region.example.com/doc/2015-06-30/">
+ <InventoryConfiguration>
+ <Id>id1</Id>
+ <IsEnabled>true</IsEnabled>
+ <Destination>
+ <Format>CSV</Format>
+ <Bucket>bucket</Bucket>
+ <Prefix>prefix</Prefix>
+ </Destination>
+ <Schedule>
+ <Frequency>Daily</Frequency>
+ </Schedule>
+ <IncludedObjectVersions>Current</IncludedObjectVersions>
+ <OptionalFields>
+ <Field>Size</Field>
+ <Field>LastModifiedDate</Field>
+ <Field>ETag</Field>
+ <Field>StorageClass</Field>
+ <Field>IsMultipartUploaded</Field>
+ <Field>ReplicationStatus</Field>
+ <Field>EncryptionStatus</Field>
+ </OptionalFields>
+ </InventoryConfiguration>
+</ListInventoryConfiguration>
+ |
+
+
+
+
+
+
diff --git a/docs/obs/api-ref/obs_04_0058.html b/docs/obs/api-ref/obs_04_0058.html
new file mode 100644
index 00000000..530aa8f3
--- /dev/null
+++ b/docs/obs/api-ref/obs_04_0058.html
@@ -0,0 +1,87 @@
+
+
+Deleting Bucket Inventories
+FunctionsOBS uses the DELETE method to delete inventories (identified by inventory IDs) of a specified bucket.
+ To perform this operation, you must have the DeleteBucketInventoryConfiguration permission. By default, the bucket owner has this permission and can grant it to others.
+
+ Request SyntaxDELETE /?inventory&id=configuration-id HTTP/1.1
+User-Agent: curl/7.29.0
+Host: bucketname.obs.region.example.com
+Accept: */*
+Date: date
+Authorization: authorization string
+
+ Request Parameters
+ Table 1 Request parametersParameter
+ |
+Description
+ |
+Mandatory
+ |
+
+
+id
+ |
+ID of the inventory to be deleted.
+Type: string
+Specifications: A maximum of 64 characters
+There is no default value.
+Valid characters: letters, digits, hyphens (-), periods (.) and underscores (_)
+ |
+Yes
+ |
+
+
+
+
+
+ Request HeadersThis request uses common headers. For details, see Table 3.
+
+ Request ElementsThis request involves no elements.
+
+ Response Syntax | HTTP/1.1 status_code
+Server: OBS
+x-obs-request-id: request id
+x-obs-id-2: id
+Date: date
+ |
+
+
+
+ Response HeadersThe response to the request uses common headers. For details, see Table 1.
+
+ Response ElementsThis response contains no elements.
+
+ Error ResponsesNo special error responses are returned. For details about error responses, see Table 2.
+
+ Sample RequestDELETE /test?inventory&id=id1 HTTP/1.1
+User-Agent: curl/7.29.0
+Host: examplebucket.obs.region.example.com
+Accept: */*
+Date: Tue, 08 Jan 2019 13:18:35 +0000
+Authorization: OBS UDSIAMSTUBTEST000001:UT9F2YUgaFu9uFGMmxFj2CBgQHs=
+
+ Sample Response | HTTP/1.1 204 No Content
+Server: OBS
+x-obs-request-id: 000001682D993B666808E265A3F6361D
+x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSyB46jGSQsu06m1nyIeKxTuJ+H27ooC
+Date: Tue, 08 Jan 2019 13:14:03 GMT
+ |
+
+
+
+
+
+
diff --git a/docs/obs/api-ref/obs_04_0060.html b/docs/obs/api-ref/obs_04_0060.html
index ea7b5cb5..5b991292 100644
--- a/docs/obs/api-ref/obs_04_0060.html
+++ b/docs/obs/api-ref/obs_04_0060.html
@@ -71,32 +71,32 @@ Content-Length: 272
Container of the returned result
Type: container
-Children: Domains
-Ancestor: none
+Child: Domains
+Parent: none
|
Domains
|
Element indicating the custom domain name
Type: container
-Children: DomainName, CreateTime
-Ancestor: ListBucketCustomDomainsResult
+Child: DomainName and CreateTime
+Parent: ListBucketCustomDomainsResult
|
DomainName
|
Custom domain name
Type: string
-Children: none
-Ancestor: Domains
+Child: none
+Parent: Domains
|
CreateTime
|
Time when a custom domain name is created
Type: string, which must be a UTC time.
-Children: none
-Ancestor: Domains
+Child: none
+Parent: Domains
|
diff --git a/docs/obs/api-ref/obs_04_0062.html b/docs/obs/api-ref/obs_04_0062.html
index 45b7f8aa..cb6c7a2b 100644
--- a/docs/obs/api-ref/obs_04_0062.html
+++ b/docs/obs/api-ref/obs_04_0062.html
@@ -58,8 +58,8 @@ Content-Length: length
Root element of the default encryption configuration of a bucket.
Type: container
-Ancestor: none
-Children: Rule
+Parent: none
+Child: Rule
|
Yes
|
@@ -68,8 +68,8 @@ Content-Length: length
Sub-element of the default encryption configuration of a bucket.
Type: container
-Ancestor: ServerSideEncryptionConfiguration
-Children: ApplyServerSideEncryptionByDefault
+Parent: ServerSideEncryptionConfiguration
+Child: ApplyServerSideEncryptionByDefault
|
Yes
|
@@ -78,8 +78,8 @@ Content-Length: length
Sub-element of the default encryption configuration of a bucket.
Type: container
-Ancestor: Rule
-Children: SSEAlgorithm, KMSMasterKeyID
+Parent: Rule
+Child: SSEAlgorithm and KMSMasterKeyID
|
Yes
|
@@ -89,7 +89,7 @@ Content-Length: length
Server-side encryption algorithm used for the default encryption configuration of a bucket.
Type: string
Value options: kms
-Ancestor: ApplyServerSideEncryptionByDefault
+Parent: ApplyServerSideEncryptionByDefault
|
Yes
|
@@ -102,7 +102,7 @@ Content-Length: length
- regionID:domainID:key/key_id
- key_id
In the preceding formats:
- regionID indicates the ID of the region where the key belongs.
- domainID indicates the ID of the domain to which the key belongs. For details, see Obtaining a Domain ID and a User ID.
- key_id indicates the ID of the key created in KMS.
-Ancestor: ApplyServerSideEncryptionByDefault
+Parent: ApplyServerSideEncryptionByDefault
No
|
@@ -113,7 +113,7 @@ Content-Length: length
Type: string
Value options:
- Project ID that matches KMSMasterKeyID.
- If KMSMasterKeyID is not specified, do not set the project ID.
-Ancestor: ApplyServerSideEncryptionByDefault
+Parent: ApplyServerSideEncryptionByDefault
NOTE: When a custom key in a non-default IAM project is used to encrypt objects, only the key owner can upload or download the encrypted objects.
diff --git a/docs/obs/api-ref/obs_04_0063.html b/docs/obs/api-ref/obs_04_0063.html
index c58a71ee..c199c1ba 100644
--- a/docs/obs/api-ref/obs_04_0063.html
+++ b/docs/obs/api-ref/obs_04_0063.html
@@ -76,24 +76,24 @@ Date: date
Root element of the default encryption configuration of a bucket.
Type: container
-Ancestor: none
-Children: Rule
+Parent: none
+Child: Rule
|
Rule
|
Sub-element of the default encryption configuration of a bucket.
Type: container
-Ancestor: ServerSideEncryptionConfiguration
-Children: ApplyServerSideEncryptionByDefault
+Parent: ServerSideEncryptionConfiguration
+Child: ApplyServerSideEncryptionByDefault
|
ApplyServerSideEncryptionByDefault
|
Sub-element of the default encryption configuration of a bucket.
Type: container
-Ancestor: Rule
-Children: SSEAlgorithm, KMSMasterKeyID
+Parent: Rule
+Child: SSEAlgorithm and KMSMasterKeyID
|
SSEAlgorithm
@@ -101,21 +101,21 @@ Date: date
| The server-side encryption algorithm used for encryption configuration of a bucket.
Type: string
Value options: kms
-Ancestor: ApplyServerSideEncryptionByDefault
+Parent: ApplyServerSideEncryptionByDefault
|
KMSMasterKeyID
|
ID of the customer master key (CMK) used for SSE-KMS.
Type: string
-Ancestor: ApplyServerSideEncryptionByDefault
+Parent: ApplyServerSideEncryptionByDefault
|
ProjectID
|
ID of the project where the KMS master key belongs when SSE-KMS is used.
Type: string
-Ancestor: ApplyServerSideEncryptionByDefault
+Parent: ApplyServerSideEncryptionByDefault
NOTE: When a custom key in a non-default IAM project is used to encrypt objects, only the key owner can upload or download the encrypted objects.
|
diff --git a/docs/obs/api-ref/obs_04_0068.html b/docs/obs/api-ref/obs_04_0068.html
index 3ae21007..028e8243 100644
--- a/docs/obs/api-ref/obs_04_0068.html
+++ b/docs/obs/api-ref/obs_04_0068.html
@@ -43,7 +43,7 @@ Content-Length: length
RequestPaymentConfiguration
|
Root node of the requester-pays configuration.
-Ancestor: none
+Parent: none
|
Yes
|
@@ -52,7 +52,7 @@ Content-Length: length
Specifies who pays for accessing resources in the bucket.
Type: string
-Ancestor: RequestPaymentConfiguration
+Parent: RequestPaymentConfiguration
Value options:
- BucketOwner: The bucket owner pays all fees associated with the bucket.
- Requester: The requester pays for data transfer and API calls associated with accessing resources in the bucket, while the bucket owner pays for data storage in the bucket.
|
diff --git a/docs/obs/api-ref/obs_04_0069.html b/docs/obs/api-ref/obs_04_0069.html
index eea72c48..0d38fe3a 100644
--- a/docs/obs/api-ref/obs_04_0069.html
+++ b/docs/obs/api-ref/obs_04_0069.html
@@ -63,7 +63,7 @@ Content-Length: length
Identifier of who pays for the bucket.
Type: string
-Ancestor: RequestPaymentConfiguration
+Parent: RequestPaymentConfiguration
Value options:
- BucketOwner: The bucket owner pays all fees associated with the bucket.
- Requester: The requester pays for data transfer and API calls associated with accessing resources in the bucket, while the bucket owner pays for data storage in the bucket.
|
diff --git a/docs/obs/api-ref/obs_04_0071.html b/docs/obs/api-ref/obs_04_0071.html
index b50b166c..4f473aec 100644
--- a/docs/obs/api-ref/obs_04_0071.html
+++ b/docs/obs/api-ref/obs_04_0071.html
@@ -32,7 +32,7 @@ Authorization: authorization
-Request ParametersThis request contains no message parameters.
+ Request ParametersThis request contains no parameters.
Request HeadersThis request uses common headers. For details, see Table 3.
@@ -50,7 +50,7 @@ Authorization: authorization
Root node configured on the website
Type: container
-Ancestor: none
+Parent: none
|
Yes
|
@@ -59,7 +59,7 @@ Authorization: authorization
Describes the redirection behavior for every request to this bucket's website endpoint. If this element is present, no other siblings are allowed.
Type: container
-Ancestor: WebsiteConfiguration
+Parent: WebsiteConfiguration
|
Yes
|
@@ -68,7 +68,7 @@ Authorization: authorization
Name of the host where requests will be redirected
Type: string
-Ancestor: RedirectAllRequestsTo
+Parent: RedirectAllRequestsTo
|
Yes
|
@@ -77,7 +77,7 @@ Authorization: authorization
The HTTP or HTTPS protocol used in redirecting requests. The default protocol is HTTP.
Type: string
-Ancestor: RedirectAllRequestsTo
+Parent: RedirectAllRequestsTo
|
No
|
@@ -99,7 +99,7 @@ Authorization: authorization
Root element for the website configuration
Type: container
-Ancestor: none
+Parent: none
|
Yes
|
@@ -108,7 +108,7 @@ Authorization: authorization
Suff element
Type: container
-Ancestor: WebsiteConfiguration
+Parent: WebsiteConfiguration
|
Yes
|
@@ -117,7 +117,7 @@ Authorization: authorization
Suffix that is appended to a request initiated for a directory on the website endpoint. For example, if the suffix is index.html and you request for samplebucket/images/, the data that is returned will be for the object with the key name images/index.html in the samplebucket bucket. Suffix cannot be empty or contain slashes (/).
Type: string
-Ancestor: IndexDocument
+Parent: IndexDocument
|
Yes
|
@@ -126,7 +126,7 @@ Authorization: authorization
Key element
Type: container
-Ancestor: WebsiteConfiguration
+Parent: WebsiteConfiguration
|
No
|
@@ -135,7 +135,7 @@ Authorization: authorization
Object key that is used when a 4XX error occurs. This element identifies the page that is returned when a 4XX error occurs.
Type: string
-Ancestor: ErrorDocument
+Parent: ErrorDocument
Condition: Required when ErrorDocument is specified.
|
No
@@ -145,7 +145,7 @@ Authorization: authorization
|
Routing element
Type: container
-Ancestor: WebsiteConfiguration
+Parent: WebsiteConfiguration
|
No
|
@@ -154,7 +154,7 @@ Authorization: authorization
Element of a redirection rule. A redirection rule contains a Condition and a Redirect. When the Condition is matched, Redirect takes effect.
Type: container
-Ancestor: RoutingRules
+Parent: RoutingRules
At least the RoutingRule element is required.
|
Yes
@@ -164,7 +164,7 @@ Authorization: authorization
|
Element for describing a condition that must be met for the specified redirection to apply.
Type: container
-Ancestor: RoutingRule
+Parent: RoutingRule
|
No
|
@@ -175,7 +175,7 @@ Authorization: authorization
Example:
- To redirect the request for object ExamplePage.html, the KeyPrefixEquals is set to ExamplePage.html.
Type: string
- Ancestor: Condition
+ Parent: Condition
Condition: Required when the ancestor element Condition is specified and sibling HttpErrorCodeReturnedEquals is not specified. If two conditions are specified, both conditions must be true for the Redirect to be applied.
No
@@ -187,7 +187,7 @@ Authorization: authorization
Example:
- If you want to redirect requests to NotFound.html when HTTP error code 404 is returned, set HttpErrorCodeReturnedEquals to 404 in Condition, and set ReplaceKeyWith to NotFound.html in Redirect.
Type: string
-Ancestor: Condition
+Parent: Condition
Condition: Required when ancestor element Condition is specified and sibling KeyPrefixEquals is not specified. If multiple conditions are specified, the Redirect takes effect only after all conditions are met.
|
No
@@ -197,7 +197,7 @@ Authorization: authorization
|
Element for redirection information. You can redirect requests to another host, to another web page, or with another protocol. You can specify an error code to be returned after an error.
Type: container
-Ancestor: RoutingRule
+Parent: RoutingRule
|
Yes
|
@@ -206,7 +206,7 @@ Authorization: authorization
Protocol used in the redirection request
Type: string
-Ancestor: Redirect
+Parent: Redirect
Value options: http, https
Condition: Not required if one of the siblings is present.
|
@@ -217,7 +217,7 @@ Authorization: authorization
Host name used in the redirection request.
Type: string
-Ancestor: Redirect
+Parent: Redirect
Condition: Not required if one of the siblings is present.
|
No
@@ -225,11 +225,11 @@ Authorization: authorization
|
ReplaceKeyPrefixWith
|
-Object key prefix used in the redirection request.
-Example:
-- To redirect all requests for (objects under) docs to (objects under) documents, set KeyPrefixEquals to docs in Condition and ReplaceKeyPrefixWith to documents in Redirect.
+ | The object name prefix used in the redirection request. OBS replaces the value of KeyPrefixEquals with the value you specified here for ReplaceKeyPrefixWith.
+Example:
+To redirect all requests for docs (objects in the docs directory) to documents (objects in the documents directory), set KeyPrefixEquals to docs under Condition and ReplaceKeyPrefixWith to documents under Redirect. This way, requests for object docs/a.html will be redirected to documents/a.html.
Type: string
-Ancestor: Redirect
+Parent: Redirect
Condition: Not required if one of the siblings is present. Can be present only if ReplaceKeyWith is not provided.
|
No
@@ -237,9 +237,11 @@ Authorization: authorization
|
ReplaceKeyWith
|
-Object key used in the redirection request. For example, redirect requests to error.html.
+ | The object name used in the redirection request. OBS replaces the entire object name in the request with the value you specified here for ReplaceKeyWith.
+Example:
+To redirect requests for all objects in the docs directory to documents/error.html, set KeyPrefixEquals to docs under Condition and ReplaceKeyWith to documents/error.html under Redirect. This way, requests for both objects docs/a.html and docs/b.html will be redirected to documents/error.html.
Type: string
-Ancestor: Redirect
+Parent: Redirect
Condition: Not required if one of the siblings is present. Can be present only if ReplaceKeyPrefixWith is not provided.
|
No
@@ -249,7 +251,7 @@ Authorization: authorization
|
HTTP status code returned after the redirection request
Type: string
-Ancestor: Redirect
+Parent: Redirect
Condition: Not required if one of the siblings is present.
|
No
@@ -275,7 +277,7 @@ Content-Length: length
Error ResponsesNo special error responses are returned. For details about error responses, see Table 2.
-Sample Request 1
+Sample Request: Redirecting All Requests for a Bucket to Another Bucket or URL 1
2
3
4
@@ -304,7 +306,7 @@ Content-Length: 194
-Sample Response1
+Sample Response: Redirecting All Requests for a Bucket to Another Bucket or URL1
2
3
4
diff --git a/docs/obs/api-ref/obs_04_0074.html b/docs/obs/api-ref/obs_04_0074.html
index 2f8424f8..b7ccbadf 100644
--- a/docs/obs/api-ref/obs_04_0074.html
+++ b/docs/obs/api-ref/obs_04_0074.html
@@ -44,7 +44,7 @@ Content-MD5: MD5
-Request ParametersThis request contains no message parameters.
+ Request ParametersThis request contains no parameters.
Request HeadersThis request uses common headers and CORS request headers. For details, see Table 3 and Table 1.
@@ -69,7 +69,7 @@ Content-MD5: MD5
|
- Request ElementsIn this request, you must configure the CORS of buckets in the request body. The lifecycle configuration is specified as XML with elements described in Table 2.
+ Request ElementsIn this request body, you must configure the CORS rules for a bucket in XML format. Table 2 describes the specific configuration elements.
Table 2 CORS configuration elementsElement
|
@@ -83,7 +83,7 @@ Content-MD5: MD5
Root node of CORSRule and its capacity cannot exceed 64 KB.
Type: container
-Ancestor: none
+Parent: none
|
Yes
|
@@ -92,7 +92,7 @@ Content-MD5: MD5
CORS rules. CORSConfiguration can contain a maximum of 100 rules.
Type: container
-Ancestor: CORSConfiguration
+Parent: CORSConfiguration
|
Yes
|
@@ -101,7 +101,7 @@ Content-MD5: MD5
Unique identifier of a rule. The value can contain a maximum of 255 characters.
Type: string
-Ancestor: CORSRule
+Parent: CORSRule
|
No
|
@@ -111,35 +111,35 @@ Content-MD5: MD5
Method allowed by a CORS rule
Type: string
Value options: GET, PUT, HEAD, POST, DELETE
-Ancestor: CORSRule
+Parent: CORSRule
|
Yes
|
AllowedOrigin
|
-An origin that is allowed by a CORS rule. It is a character string and can contain a wildcard (*), and allows one wildcard character (*) at most.
+ | Origins that are allowed in the CORS rule. Only English domain names are supported for configuring origins, and regular expressions can be used for matching origins. Each AllowedOrigin allows one wildcard character (*) at most.
Type: string
-Ancestor: CORSRule
+Parent: CORSRule
|
Yes
|
AllowedHeader
|
-Headers that are allowed in a PutBucketCORS request via the Access-Control-Request-Headers header. If a request contains Access-Control-Request- Headers, only a CORS request that matches the configuration of AllowedHeader is considered as a valid request. Each AllowedHeader can contain at most one wildcard (*) and cannot contain spaces.
+ | Headers that are allowed in a PutBucketCORS request via the Access-Control-Request-Headers header. If a CORS request contains Access-Control-Request-Headers, this request is considered valid only when it matches the configuration of AllowedHeader. The match is based on regular expressions. Each AllowedHeader can contain at most one wildcard (*) and cannot contain spaces.
Type: string
-Ancestor: CORSRule
+Parent: CORSRule
|
No
|
MaxAgeSeconds
|
-Indicates the response time of CORS that can be cached by a client. It is expressed in seconds.
+ | The time in seconds that the client can cache CORS responses.
Each CORSRule can contain only one MaxAgeSeconds. It can be set to a negative value.
Type: integer
-Ancestor: CORSRule
+Parent: CORSRule
|
No
|
@@ -148,7 +148,7 @@ Content-MD5: MD5
An additional header in CORS responses. The header provides additional information for clients. It cannot contain spaces.
Type: string
-Ancestor: CORSRule
+Parent: CORSRule
|
No
|
diff --git a/docs/obs/api-ref/obs_04_0075.html b/docs/obs/api-ref/obs_04_0075.html
index 75a0206d..73089af4 100644
--- a/docs/obs/api-ref/obs_04_0075.html
+++ b/docs/obs/api-ref/obs_04_0075.html
@@ -60,21 +60,21 @@ Content-Length: length
Root node of CORSRules and its capacity cannot exceed 64 KB.
Type: container
-Ancestor: none
+Parent: none
|
CORSRule
|
CORS rule. CORSConfiguration can contain a maximum of 100 rules.
Type: container
-Ancestor: CORSConfiguration
+Parent: CORSConfiguration
|
ID
|
Unique identifier of a rule. The value can contain a maximum of 255 characters.
Type: string
-Ancestor: CORSRule
+Parent: CORSRule
|
AllowedMethod
@@ -82,21 +82,21 @@ Content-Length: length
| Method allowed by a CORS rule.
Type: string
Value options: GET, PUT, HEAD, POST, DELETE
-Ancestor: CORSRule
+Parent: CORSRule
|
AllowedOrigin
|
Indicates an origin that is allowed by a CORS rule. It is a character string and can contain a wildcard (*), and allows one wildcard character (*) at most.
Type: string
-Ancestor: CORSRule
+Parent: CORSRule
|
AllowedHeader
|
Indicates which headers are allowed in a PUT Bucket CORS request via the Access-Control-Request-Headers header. If a request contains Access-Control-Request- Headers, only a CORS request that matches the configuration of AllowedHeader is considered as a valid request. Each AllowedHeader can contain at most one wildcard (*) and cannot contain spaces.
Type: string
-Ancestor: CORSRule
+Parent: CORSRule
|
MaxAgeSeconds
@@ -104,14 +104,14 @@ Content-Length: length
| Response time of CORS that can be cached by a client. It is expressed in seconds.
Each CORSRule can contain only one MaxAgeSeconds. It can be set to a negative value.
Type: integer
-Ancestor: CORSRule
+Parent: CORSRule
|
ExposeHeader
|
Indicates a supplemented header in CORS responses. The header provides additional information for clients. It cannot contain spaces.
Type: string
-Ancestor: CORSRule
+Parent: CORSRule
|
diff --git a/docs/obs/api-ref/obs_04_0079.html b/docs/obs/api-ref/obs_04_0079.html
index c727c32d..3ff57e08 100644
--- a/docs/obs/api-ref/obs_04_0079.html
+++ b/docs/obs/api-ref/obs_04_0079.html
@@ -4,13 +4,13 @@
-- Uploading Objects - PUT
+ - Uploading an Object - PUT
-- Uploading Objects - POST
+ - Uploading an Object - POST
-- Copying Objects
+ - Copying an Object
-- Downloading Objects
+ - Downloading an Object
- Querying Object Metadata
diff --git a/docs/obs/api-ref/obs_04_0080.html b/docs/obs/api-ref/obs_04_0080.html
index 54398767..d1573e98 100644
--- a/docs/obs/api-ref/obs_04_0080.html
+++ b/docs/obs/api-ref/obs_04_0080.html
@@ -1,6 +1,6 @@
-Uploading Objects - PUT
+Uploading an Object - PUT
FunctionsAfter creating a bucket in OBS, you can use this operation to upload an object to the bucket. This operation uploads an object to a bucket. To use this operation, you must have the write permission for the bucket.
The name of each object in a bucket must be unique.
@@ -11,17 +11,16 @@
OBS does not have real folders. To facilitate data management, OBS provides a method to simulate a folder by adding a slash (/) to the object name, for example, test/123.jpg. You can simulate test as a folder and 123.jpg as the name of a file under the test folder. However, the object key remains test/123.jpg. Objects named in this format appear as folders on the console. When you upload an object larger than 0 in size using this format, an empty folder will be displayed on the console, but the occupied storage capacity is the actual object size.
Differences Between PUT and POST MethodsParameters are passed through the request header if the PUT method is used to upload objects; if the POST method is used to upload objects, parameters are passed through the form field in the message body.
- With the PUT method, you need to specify the object name in the URL, but object name is not required with the POST method, which uses the bucket domain name as the URL. The request lines of the two methods are as follows:
+ With the PUT method, you need to specify the object name in the URL, but object name is not required with the POST method, which uses the bucket domain name as the URL. Request lines of these two methods are given as follows:
PUT /ObjectName HTTP/1.1
POST / HTTP/1.1
- For details about POST upload, see Uploading Objects - POST.
+ For details about POST upload, see Uploading an Object - POST.
VersioningIf versioning is enabled for a bucket, the system automatically generates a unique version ID for the requested object in this bucket and returns the version ID in response header x-obs-version-id. If versioning is suspended for the bucket, the object version ID is null. For details about the versioning statuses of a bucket, see Configuring Versioning for a Bucket.
WORMIf a bucket has WORM enabled, you can configure retention policies for objects in the bucket. You can specify the x-obs-object-lock-mode and x-obs-object-lock-retain-until-date headers to configure a retention policy when you upload an object. If you do not specify these two headers but have configured a default bucket-level WORM policy, this default policy automatically applies to the object newly uploaded. You can also configure or update a WORM retention policy for an existing object.
When you enable WORM for a bucket, OBS automatically enables versioning for the bucket. WORM protects objects based on the object version IDs. Only object versions with any WORM retention policy configured will be protected. Assume that object test.txt 001 is protected by WORM. If another file with the same name is uploaded, a new object version test.txt 002 with no WORM policy configured will be generated. In such case, test.txt 002 is not protected and can be deleted. When you download an object without specifying a version ID, the current object version (test.txt 002) will be downloaded.
-
Request Syntax1
2
@@ -156,15 +155,14 @@ Date: date
|
x-obs-server-side-encryption-kms-key-id
|
-Indicates the master key when SSE-KMS is used. If this header is not provided, the default master key will be used. If there is no such a default master key, OBS will create one and use it by default.
-Type: string
-The following two formats are supported:
-- regionID:domainID:key/key_id
-- key_id
-regionID indicates the ID of the region where the key belongs. domainID indicates the ID of the tenant where the key belongs. key_id indicates the ID of the key created in KMS.
-Example:
-- x-obs-server-side-encryption-kms-key-id: region:domainiddomainiddomainiddoma0001: key/4f1cd4de-ab64-4807-920a-47fc42e7f0d0
-- x-obs-server-side-encryption-kms-key-id: 4f1cd4de-ab64-4807-920a-47fc42e7f0d0
+ | Explanation:
+The key used to encrypt objects. This header can be specified using either of the following formats:
+1. regionID:domainID:key/key_id: regionID indicates the ID of the region where the key belongs. domainID indicates the ID of the tenant where the key belongs. key_id indicates the ID of the key created in KMS on the DEW console. An example is given as follows: x-obs-server-side-encryption-kms-key-id: region:exampledomainid: key/4f1cd4de-ab64-4807-920a-47fc42e7f0d0.
+2. key_id: It indicates the ID of the key created in KMS on the DEW console. An example is given as follows: x-obs-server-side-encryption-kms-key-id: 4f1cd4de-ab64-4807-920a-47fc42e7f0d0.
+Restrictions:
+This header can be used only when you set the x-obs-server-side-encryption header to kms.
+Default value:
+If you choose the KMS encryption but do not specify this header, the default master key will be used. If there is no such a default master key, OBS will create one and use it by default.
|
No
|
@@ -252,7 +250,7 @@ Content-Type: type
Response HeadersThe response to the request uses common headers. For details, see Table 1.
- In addition to the common response headers, the message headers listed in Table 2 may be used.
+ In addition to the common response headers, the headers listed in Table 2 may be used.
Table 2 Additional response headersHeader
|
@@ -298,7 +296,7 @@ Content-Type: type
x-obs-storage-class
|
-This header is returned when the storage class of an object is not Standard. The value can be WARM or COLD.
+ | This header is returned when the storage class of an object is not Standard. The value can be WARM or COLD.
Type: string
|
diff --git a/docs/obs/api-ref/obs_04_0081.html b/docs/obs/api-ref/obs_04_0081.html
index d049e95a..9a51050f 100644
--- a/docs/obs/api-ref/obs_04_0081.html
+++ b/docs/obs/api-ref/obs_04_0081.html
@@ -1,6 +1,6 @@
-Uploading Objects - POST
+Uploading an Object - POST
FunctionsThis operation uploads an object to a bucket. To use this operation, you must have the write permission for the bucket.
The name of each object in a bucket must be unique.
@@ -13,7 +13,7 @@
With the PUT method, you need to specify the object name in the URL, but object name is not required with the POST method, which uses the bucket domain name as the URL. Request lines of these two methods are given as follows:
PUT /ObjectName HTTP/1.1
POST / HTTP/1.1
- For details about PUT upload, see Uploading Objects - PUT.
+ For details about PUT upload, see Uploading an Object - PUT.
VersioningIf versioning is enabled for a bucket, the system automatically generates a unique version ID for the requested object in this bucket and returns the version ID in response header x-obs-version-id. If versioning is suspended for a bucket, the version ID of the requested object in this bucket is null. For details about the versioning statuses of a bucket, see Configuring Versioning for a Bucket.
@@ -456,7 +456,7 @@ ETag: etag
Response HeadersThe response to the request uses common headers. For details, see Table 1.
- In addition to the common response headers, the message headers listed in Table 3 may be used.
+ In addition to the common response headers, the headers listed in Table 3 may be used.
Table 3 Additional response headersHeader
|
@@ -926,7 +926,7 @@ Content-Disposition: form-data; name="key"
object01
--148828969260233905620870
-Content-Disposition: form-data; name="AwsAccessKeyId"
+Content-Disposition: form-data; name="ObsAccessKeyId"
55445349414d5354554254455354303030303033
--148828969260233905620870
@@ -981,7 +981,7 @@ Content-Disposition: form-data; name="key"
obj
----------------------------285613759795901770404350
-Content-Disposition: form-data; name="AwsAccessKeyId"
+Content-Disposition: form-data; name="ObsAccessKeyId"
XXXXXXXXXXXXXXX000003
----------------------------285613759795901770404350
@@ -1020,7 +1020,7 @@ x-obs-id-2: 32AAAUJAIAABAAAQAAEAABAAAQAAEAABCScDjcXgZ7oMYSVnZnk4+HrClVwLVPTi
x-forward-status: 0x40020000000001
x-dae-api-type: REST.POST.OBJECT
-Sample Request: Configuring a WORM Retention Policy When Uploading an ObjectPOST /srcbucket HTTP/1.1
+Sample Request: Uploading an Object (with a WORM Retention Policy Configured)POST /srcbucket HTTP/1.1
User-Agent: PostmanRuntime/7.26.8
Accept: */*
Postman-Token: 4c2f4c7e-2e0b-46c0-b1a7-4a5da560b6a1
@@ -1035,7 +1035,7 @@ Content-Disposition: form-data; name="key"
obj
----------------------------940435396775653808840608
-Content-Disposition: form-data; name="AwsAccessKeyId"
+Content-Disposition: form-data; name="ObsAccessKeyId"
XXXXXXXXXXXXXXX000003
----------------------------940435396775653808840608
@@ -1065,7 +1065,7 @@ Content-Disposition: form-data; name="submit"
Upload to OBS
----------------------------940435396775653808840608--
-Sample Response: Configuring a WORM Retention Policy When Uploading an ObjectHTTP/1.1 204 No Content
+Sample Response: Uploading an Object (with a WORM Retention Policy Configured)HTTP/1.1 204 No Content
Server: OBS
Date: Thu, 15 Jun 2023 13:24:03 GMT
Connection: keep-alive
diff --git a/docs/obs/api-ref/obs_04_0082.html b/docs/obs/api-ref/obs_04_0082.html
index 0cb8877e..4103ae2e 100644
--- a/docs/obs/api-ref/obs_04_0082.html
+++ b/docs/obs/api-ref/obs_04_0082.html
@@ -1,17 +1,18 @@
-Copying Objects
+Copying an Object
FunctionsYou can perform this operation to create a copy of an existing object in OBS.
Users can determine whether to copy the metadata of the source object to the target object (by default) or replace the metadata of the target object with the metadata contained in the request. The ACL of the source object is not copied to the target object. By default, the ACL of the target object is private. You can set an ACL for the target object by sending an API request.
The request for copying an object needs to carry the information about the bucket and object to be copied in the header field. The message body cannot be carried.
This operation supports server-side encryption.
An object copy can be up to 5 GB in size. If the source object size exceeds 5 GB, you can only copy part of the object.
+ You cannot determine whether a request is executed successfully only using status_code in the header returned by HTTP. If 200 in status_code is returned, the server has received the request and starts to process the request. The body in the response shows whether the copy succeeds. If the body contains ETag, the copy succeeds. Otherwise, the copy failed.
+
- VersioningBy default, x-obs-copy-source specifies the latest version of the source object. If the latest version of the source object has a deletion marker, the object is considered to have been deleted. You can add versionId to request header x-obs-copy-source to copy an object with the specified version ID.
+ VersioningBy default, x-obs-copy-source specifies the latest version of the source object. If the latest version of the source object is a delete marker, the object is considered deleted. You can add versionId to request header x-obs-copy-source to copy an object with the specified version ID.
If a bucket has versioning enabled, the system automatically generates a unique version ID for the requested object in this bucket and returns the version ID in response header x-obs-version-id. If versioning is suspended for the bucket, the object version ID is null.
When the bucket versioning status is disabled, if you make a copy of object_A and save it as object_B, and an object named as object_B already exists, the new object_B will overwrite the existing one. After the copying is executed successfully, only new object_B can be downloaded because old object_B has been deleted. Therefore, before copying an object, ensure that there is no object with the same name as the object copy to prevent data from being deleted mistakenly. During the copying, object_A has no changes.
- You cannot determine whether a request is executed successfully only using status_code in the header returned by HTTP. If 200 in status_code is returned, the server has received the request and starts to process the request. The body in the response shows whether the copy succeeds. If the body contains ETag, the copy succeeds. Otherwise, the copy failed.
WORMIf a bucket has WORM enabled, you can configure retention policies for objects in the bucket. You can specify the x-obs-object-lock-mode and x-obs-object-lock-retain-until-date headers to configure a retention policy when you copy an object. If you do not specify these two headers but have configured a default bucket-level WORM policy, this default policy automatically applies to the object newly copied. You can also configure or update a WORM retention policy after an object is copied to the bucket.
In a copy operation, the object protection status is not copied, so the protection status of an object copy is independent of that of the source object. After the copy is complete, WORM retention changes made on the source object does not affect the object copy.
@@ -44,7 +45,7 @@ Date: date
- Request ParametersThis request contains no message parameters.
+ Request ParametersThis request contains no parameters.
Request HeadersYou can add optional headers to specify the object to be copied. Table 3 describes the optional headers.
@@ -58,7 +59,7 @@ Date: date
x-obs-acl
|
-This header can be added to set access control policies for objects when copying the objects. The access control policies are the predefined common policies, including private, public-read, public-read-write.
+ | When copying an object, you can add this header to configure the object ACL using the predefined common policies, including private, public-read, and public-read-write.
Type: string
Example: x-obs-acl: acl
|
@@ -107,7 +108,7 @@ Date: date
Yes
|
-x-obs-metadata- directive
+ | x-obs-metadata-directive
|
Indicates whether the metadata of the target object is copied from the source object or replaced with the metadata contained in the request.
Type: string
@@ -121,17 +122,17 @@ Date: date
|
x-obs-copy-source-if-match
|
-Copies the source object only if its ETag matches the one specified by this header. Otherwise, a 412 HTTP status code error (failed precondition) is returned.
+ | Indicates that the source object is copied only if its ETag matches the one specified in this header. Otherwise, a 412 status code (failed precondition) is returned.
Type: string
Example: x-obs-copy-source-if-match: etag
-Constraint: This parameter can be used with x-obs-copy-source-if-unmodified-since but not other conditional copy parameters.
+Constraint: This header can be used with x-obs-copy-source-if-unmodified-since but not other conditional copy headers.
|
No
|
x-obs-copy-source-if-none-match
|
-Copies the object only if its ETag does not match the one specified in this header. Otherwise, a 412 HTTP status code error (failed precondition) is returned.
+ | Indicates that the source object is copied only if its ETag does not match the one specified in this header. Otherwise, a 412 status code (failed precondition) is returned.
Type: string
Example: x-obs-copy-source-if-none-match: etag
Constraint: This parameter can be used with x-obs-copy-source-if-modified-since but not other conditional copy parameters.
@@ -144,9 +145,9 @@ Date: date
| Indicates that the source object is copied only if it has not been modified since the time specified by this header. Otherwise, error code 412 (failed precondition) is returned. This header can be used with x-obs-copy-source-if-match, but cannot be used with other conditional copy headers.
Type: string
Format: HTTP time string complying with the format specified at http://www.ietf.org/rfc/rfc2616.txt, which can be any of the following:
-- EEE, dd MMM yyyy HH:mm:ss z
- EEEE, dd-MMM-yy HH:mm:ss z
- EEE MMM dd HH:mm:ss yyyy
+- EEE, dd MMM yyyy HH:mm:ss z
- EEEE, dd-MMM-yy HH:mm:ss z
- EEE MMM dd HH:mm:ss yyyy
Examples:
-- x-obs-copy-source-if-unmodified-since: Sun, 06 Nov 1994 08:49:37 GMT
- x-obs-copy-source-if-unmodified-since: Sunday, 06-Nov-94 08:49:37 GMT
- x-obs-copy-source-if-unmodified-since: Sun Nov 6 08:49:37 1994
+- x-obs-copy-source-if-unmodified-since: Sun, 06 Nov 1994 08:49:37 GMT
- x-obs-copy-source-if-unmodified-since: Sunday, 06-Nov-94 08:49:37 GMT
- x-obs-copy-source-if-unmodified-since: Sun Nov 6 08:49:37 1994
Constraint: The time specified by this header cannot be later than the current server time (GMT time), or this header does not take effect.
|
No
@@ -157,9 +158,9 @@ Date: date
| Indicates that the source object is copied only if it has been modified since the time specified by this header. Otherwise, error code 412 (failed precondition) is returned. This header can be used with x-obs-copy-source-if-none-match, but cannot be used with other conditional copy headers.
Type: string
Format: HTTP time string complying with the format specified at http://www.ietf.org/rfc/rfc2616.txt, which can be any of the following:
-- EEE, dd MMM yyyy HH:mm:ss z
- EEEE, dd-MMM-yy HH:mm:ss z
- EEE MMM dd HH:mm:ss yyyy
+- EEE, dd MMM yyyy HH:mm:ss z
- EEEE, dd-MMM-yy HH:mm:ss z
- EEE MMM dd HH:mm:ss yyyy
Examples:
-- x-obs-copy-source-if-unmodified-since: Sun, 06 Nov 1994 08:49:37 GMT
- x-obs-copy-source-if-unmodified-since: Sunday, 06-Nov-94 08:49:37 GMT
- x-obs-copy-source-if-unmodified-since: Sun Nov 6 08:49:37 1994
+- x-obs-copy-source-if-unmodified-since: Sun, 06 Nov 1994 08:49:37 GMT
- x-obs-copy-source-if-unmodified-since: Sunday, 06-Nov-94 08:49:37 GMT
- x-obs-copy-source-if-unmodified-since: Sun Nov 6 08:49:37 1994
Constraint: The time specified by this header cannot be later than the current server time (GMT time), or this header does not take effect.
|
No
@@ -327,7 +328,7 @@ Content-Length: length
Response HeadersThe response to the request uses common headers. For details, see Table 1.
- In addition to the common response headers, the message headers listed in Table 2 may be used.
+ In addition to the common response headers, the headers listed in Table 2 may be used.
Table 2 Additional response headersHeader
|
@@ -379,7 +380,7 @@ Content-Length: length
x-obs-storage-class
|
-This header is returned when the storage class of an object is not Standard. The value can be WARM or COLD.
+ | This header is returned when the storage class of an object is not Standard. The value can be WARM or COLD.
Type: string
|
diff --git a/docs/obs/api-ref/obs_04_0083.html b/docs/obs/api-ref/obs_04_0083.html
index fa5f3459..00163538 100644
--- a/docs/obs/api-ref/obs_04_0083.html
+++ b/docs/obs/api-ref/obs_04_0083.html
@@ -1,11 +1,11 @@
-Downloading Objects
-FunctionsThis operation downloads objects from OBS. Before using this GET operation, check that you have the read permission for the target object. If the object owner has granted anonymous users the read permission for the object, anonymous users can access this object without using the authentication header field.
+ Downloading an Object
+ FunctionsThis operation downloads an object from OBS. Before using this GET operation, check that you have the read permission for the target object. If the object owner has granted anonymous users the read permission for the object, anonymous users can access this object without using the authentication header field.
Server-Side EncryptionIf the object uploaded to the server is encrypted on the server using the encryption key provided by the client, downloading the object requires including the encryption key in the message.
- VersioningBy default, the GET operation returns the current version of an object. If the current version of the object is a deletion marker, OBS returns a code meaning non-existence of the object. To obtain an object of a specified version, the versionId parameter can be used to specify the desired version.
+ VersioningBy default, the GET operation returns the current version of an object. If the current version of the object is a delete marker, OBS returns a code meaning that the object does not exist. To obtain an object of a specified version, the versionId parameter can be used to specify the desired version.
Cold ObjectsIf the object you want to download is in the Cold storage class, ensure that this object has been restored before you download it. The response varies depending on the object's restore state. If an object has been restored, the x-obs-restore header (indicating the expiry date of the object) is returned when the object is successfully downloaded. If you send a request to download Cold objects that are not restored or are being restored, a 403 Forbidden error will be returned.
@@ -100,7 +100,7 @@ Range:bytes=byte_range
attname
|
-Rewrites the Content-Disposition header in the response.
+ | Rewrites the Content-Disposition header in the response.
Type: string
Example:
attname=name1
@@ -227,7 +227,7 @@ Last-Modified: time
Response HeadersThe response to the request uses common headers. For details, see Table 1.
- In addition to the common response headers, the message headers listed in Table 3 may be used.
+ In addition to the common response headers, the headers listed in Table 3 may be used.
Table 3 Additional response headersHeader
|
@@ -249,7 +249,7 @@ Last-Modified: time
x-obs-delete-marker
|
-Indicates whether an object is a deletion marker. If the object is not marked as deleted, the response does not contain this header.
+ | Indicates whether an object is a delete marker. If the object is not marked as deleted, the response does not contain this header.
Type: boolean
Value options: true, false
The default value is false.
@@ -258,7 +258,7 @@ Last-Modified: time
| x-obs-version-id
|
Object version ID. If the object has no version number specified, the response does not contain this header.
-Valid value: character string
+Valid value: string
Default value: none
|
@@ -271,7 +271,7 @@ Last-Modified: time
x-obs-server-side-encryption-kms-key-id
|
-Indicates the master key ID. This header is included in a response if SSE-KMS is used.
+ | Indicates the master key ID. This header is included in a response when SSE-KMS is used.
Type: string
Format: regionID:domainID:key/key_id
regionID indicates the ID of the region where the key belongs. domainID indicates the ID of the tenant where the key belongs. key_id indicates the key ID used in this encryption.
diff --git a/docs/obs/api-ref/obs_04_0084.html b/docs/obs/api-ref/obs_04_0084.html
index 559f6109..76de5349 100644
--- a/docs/obs/api-ref/obs_04_0084.html
+++ b/docs/obs/api-ref/obs_04_0084.html
@@ -118,7 +118,7 @@ Last-Modified: time
Response HeadersThe response to the request uses common headers. For details, see Table 1.
- In addition to the common response headers, the message headers listed in Table 3 may be used.
+ In addition to the common response headers, the headers listed in Table 3 may be used.
Table 3 Additional response headersHeader
|
@@ -185,7 +185,7 @@ Last-Modified: time
x-obs-server-side-encryption-kms-key-id
|
-Indicates the master key ID. This header is included in a response if SSE-KMS is used.
+ | Indicates the master key ID. This header is included in a response when SSE-KMS is used.
Type: string
Format: regionID:domainID:key/key_id regionID indicates the ID of the region where the key belongs. domainID indicates the ID of the tenant where the key belongs. key_id indicates the key ID used in this encryption.
Example: x-obs-server-side-encryption-kms-key-id:region:domainiddomainiddomainiddoma0001:key/4f1cd4de-ab64-4807-920a-47fc42e7f0d0
diff --git a/docs/obs/api-ref/obs_04_0085.html b/docs/obs/api-ref/obs_04_0085.html
index 4b897f4c..cfd51fca 100644
--- a/docs/obs/api-ref/obs_04_0085.html
+++ b/docs/obs/api-ref/obs_04_0085.html
@@ -3,8 +3,9 @@
Deleting an Object
FunctionsYou can perform this operation to delete an object. If you try to delete an object that does not exist, OBS will return a success message.
- VersioningWhen versioning is enabled for a bucket, a deletion marker with a unique version number is generated when an object is deleted without specifying the version. However, the object is not actually deleted. If versioning is suspended for a bucket and no version is specified when you delete an object, the object whose version number is null is deleted, and a deletion marker with version number null is generated.
+ VersioningWhen versioning is enabled for a bucket, a delete request that does not specify a version ID cannot permanently delete the object. Instead, OBS creates a delete marker with a unique version ID. When versioning is suspended for a bucket, a delete request that does not specify a version ID deletes the object whose version ID is null and creates a delete marker with a version ID of null.
To delete an object of a specified version, the versionId parameter can be used to specify the desired version.
+ To restore a deleted object, you need to specify the delete marker version in the versionId parameter when deleting it.
WORMOBS automatically enables versioning when you enable WORM for a bucket. If you delete an object without specifying a version ID, OBS does not really delete this object thanks to versioning, but inserts a delete marker with a unique version ID, which turns into the current version. If you specify a version ID when deleting an object protected by WORM, OBS prevents you from deleting this object and returns a 403 error. Delete markers are not protected by WORM.
@@ -74,7 +75,7 @@ Date: date
x-obs-version-id
|
Object version ID. If the object has no version number specified, the response does not contain this header.
-Valid value: character string
+Valid value: string
Default value: none
|
@@ -114,6 +115,32 @@ Date: WED, 01
+ Sample Request: Specifying versionId to Delete a Specific Object VersionDELETE /object2?versionId=G001118A49821905FFFFD28739D419DA HTTP/1.1
+Authorization: OBS H4IPJX0TQTHTHEBQQCEC:iqSPeUBl66PwXDApxjRKk6hlcN4=
+User-Agent: curl/7.29.0
+Host: examplebucket.obs.region.example.com
+Date: WED, 01 Jul 2015 02:37:22 GMT
+Content-Type: application/xml
+
+ Sample Response: Specifying versionId to Delete a Specific Object Versionx-obs-id-2: 32AAAUgAIAABAAAQAAEAABAAAQAAEAABCS3WJqDiMsxgGHKQrlqST9veFKpDgE50
+x-obs-request-id: 0000018A4997390DD306CCDA0DEC814F
+Server: OBS
+Date: WED, 01 Jul 2015 02:37:22 GMT
+x-obs-version-id: G001118A49821905FFFFD28739D419DA
+
+ Sample Request: Specifying versionId to Delete a Delete MarkerDELETE /object2?versionId=G001118A6456208AFFFFD24829FCF614
+Authorization: OBS H4IPJX0TQTHTHEBQQCEC:iqSPeUBl66PwXDApxjRKk6hlcN4=
+User-Agent: curl/7.29.0
+Host: examplebucket.obs.region.example.com
+Date: WED, 01 Jul 2015 02:37:22 GMT
+Content-Type: application/xml
+
+ Sample Response: Specifying versionId to Delete a Delete Markerx-obs-id-2: 32AAAUgAIAABAAAQAAEAABAAAQAAEAABCS3WJqDiMsxgGHKQrlqST9veFKpDgE50
+x-obs-request-id: 0000018A4997390DD306CCDA0DEC814F
+Server: OBS
+Date: WED, 01 Jul 2015 02:37:22 GMT
+x-obs-version-id: G001118A6456208AFFFFD24829FCF614
+
diff --git a/docs/obs/api-ref/obs_04_0086.html b/docs/obs/api-ref/obs_04_0086.html
index c2b7ac6d..38d16d41 100644
--- a/docs/obs/api-ref/obs_04_0086.html
+++ b/docs/obs/api-ref/obs_04_0086.html
@@ -84,7 +84,7 @@ Content-Length: length
|
Key
|
-Key of the object to be deleted
+ | Key of the object to be deleted.
Type: string
|
Yes
@@ -193,15 +193,15 @@ Content-Length: length
|
DeleteMarker
|
-If this element is specified, true will be returned when you create or delete a deletion marker in the requested bucket with versioning enabled.
+ | If this element is specified, true will be returned when you create or delete a delete marker in a bucket with versioning enabled.
Type: boolean
|
DeleteMarkerVersionId
|
-Indicates the version ID of the deletion marker deleted or created by the request.
-If the request either creates or deletes a deletion marker, OBS returns this element in response with the version ID of the deletion marker. This element will be returned in either of the following cases:
-- You send a versionless request, that is, you specify only the object name but not the version ID. In this case, the UDS creates a deletion marker and returns its version ID in the response.
- You send a request with versions, that is, you specify object keys and version IDs that identify deletion markers. In this case, OBS deletes the deletion marker and returns its version ID in the response.
+ | Indicates the version ID of the delete marker deleted or created by the request.
+If you create or delete a delete marker in a bucket with versioning enabled, OBS returns this element in the response. This element will be returned in either of the following cases:
+- You send a request that has only the object name but not the version ID specified. In this case, OBS creates a delete marker and returns its version ID in the response.
- You send a request that has both the object key and version ID (that identifies a delete marker) specified. In this case, OBS deletes the delete marker and returns its version ID in the response.
Type: boolean
|
diff --git a/docs/obs/api-ref/obs_04_0089.html b/docs/obs/api-ref/obs_04_0089.html
index 8b16fd04..097c82ce 100644
--- a/docs/obs/api-ref/obs_04_0089.html
+++ b/docs/obs/api-ref/obs_04_0089.html
@@ -163,7 +163,7 @@ Content-Type: application/xml
Response HeadersThe response to the request uses common headers. For details, see Table 1.
- In addition to the common response headers, the message headers listed in Table 3 may be used.
+ In addition to the common response headers, the headers listed in Table 3 may be used.
Table 3 Additional response headersHeader
|
diff --git a/docs/obs/api-ref/obs_04_0090.html b/docs/obs/api-ref/obs_04_0090.html
index 1e7b062a..d395cecf 100644
--- a/docs/obs/api-ref/obs_04_0090.html
+++ b/docs/obs/api-ref/obs_04_0090.html
@@ -86,7 +86,7 @@ Content-Type: application/xml
Response HeadersThe response to the request uses common headers. For details, see Table 1.
- In addition to the common response headers, the message headers listed in Table 2 may be used.
+ In addition to the common response headers, the headers listed in Table 2 may be used.
Table 2 Additional response headerHeader
|
diff --git a/docs/obs/api-ref/obs_04_0091.html b/docs/obs/api-ref/obs_04_0091.html
index 71d17061..d803a941 100644
--- a/docs/obs/api-ref/obs_04_0091.html
+++ b/docs/obs/api-ref/obs_04_0091.html
@@ -165,7 +165,7 @@ Last-Modified: time
Response Headers
- Table 3 Additional response header parametersHeader
+Table 3 Additional response headersHeader
|
Description
|
diff --git a/docs/obs/api-ref/obs_04_0097.html b/docs/obs/api-ref/obs_04_0097.html
index 57111d4a..f97c2239 100644
--- a/docs/obs/api-ref/obs_04_0097.html
+++ b/docs/obs/api-ref/obs_04_0097.html
@@ -135,144 +135,144 @@ Content-Length: length
Container for responses of requests.
Type: container
-Children: Bucket, KeyMarker, UploadIdMarker, NextKeyMarker, NextUploadIdMarker, MaxUploads, Delimiter, Prefix, Upload, CommonPrefixes, IsTruncated
-Ancestor: none
+Child: Bucket, KeyMarker, UploadIdMarker, NextKeyMarker, NextUploadIdMarker, MaxUploads, Delimiter, Prefix, Upload, CommonPrefixes, and IsTruncated
+Parent: none
|
Bucket
|
Name of the bucket to which the multipart upload was initiated
Type: string
-Ancestor: ListMultipartUploadsResult
+Parent: ListMultipartUploadsResult
|
KeyMarker
|
Object keys at or after which the multipart upload listing begins
Type: string
-Ancestor: ListMultipartUploadsResult
+Parent: ListMultipartUploadsResult
|
UploadIdMarker
|
Upload ID after which the multipart upload listing begins
Type: string
-Ancestor: ListMultipartUploadsResult
+Parent: ListMultipartUploadsResult
|
NextKeyMarker
|
Value of KeyMarker in a subsequent request after a multipart upload list is truncated
Type: string
-Ancestor: ListMultipartUploadsResult
+Parent: ListMultipartUploadsResult
|
NextUploadIdMarker
|
Value of UploadMarker in a subsequent request when a multipart upload list is truncated.
Type: string
-Ancestor: ListMultipartUploadsResult
+Parent: ListMultipartUploadsResult
|
MaxUploads
|
Maximum of multipart uploads to be returned in the response
Type: integer
-Ancestor: ListMultipartUploadsResult
+Parent: ListMultipartUploadsResult
|
IsTruncated
|
Indicates whether the returned list of multipart uploads is truncated. The value true indicates that the list was truncated and false indicates that the list was not truncated.
Type: boolean
-Ancestor: ListMultipartUploadsResult
+Parent: ListMultipartUploadsResult
|
Upload
|
Container for elements related to a specific multipart upload
Type: container
-Children: Key, UploadId, InitiatorOwner, StorageClass, Initiated
-Ancestor: ListMultipartUploadsResult
+Child: Key, UploadId, InitiatorOwner, StorageClass, and Initiated
+Parent: ListMultipartUploadsResult
|
Key
|
Indicates the name of the object for which a multipart upload is initiated.
Type: string
-Ancestor: Upload
+Parent: Upload
|
UploadId
|
ID of the multipart upload
Type: string
-Ancestor: Upload
+Parent: Upload
|
Initiator
|
Container element that identifies who initiated the multipart upload
-Children: ID
+Child: ID
Type: container
-Ancestor: Upload
+Parent: Upload
|
ID
|
ID of the account to which the owner belongs.
Type: string
-Ancestor: Initiator or Owner
+Parent: Initiator or Owner
|
Owner
|
Owner of the part.
Type: container
-Children: ID
-Ancestor: Upload
+Child: ID
+Parent: Upload
|
StorageClass
|
Indicates the storage class that will be used for storing an object when the multipart is uploaded.
Type: string
-Ancestor: Upload
+Parent: Upload
|
Initiated
|
Date and time when the multipart upload was initiated
Type: date
-Ancestor: Upload
+Parent: Upload
|
ListMultipartUploadsResult.Prefix
|
Specified prefix in a request.
Type: string
-Ancestor: ListMultipartUploadsResult
+Parent: ListMultipartUploadsResult
|
Delimiter
|
Delimiter in a request.
Type: string
-Ancestor: ListMultipartUploadsResult
+Parent: ListMultipartUploadsResult
|
CommonPrefixes
|
Indicates group information. If you specify a delimiter in the request, the response contains group information in CommonPrefixes.
Type: container
-Ancestor: ListMultipartUploadsResult
+Parent: ListMultipartUploadsResult
|
CommonPrefixes. Prefix
|
Indicates a different prefix in the group information in CommonPrefixes.
Type: string
-Ancestor: CommonPrefixes
+Parent: CommonPrefixes
|
diff --git a/docs/obs/api-ref/obs_04_0098.html b/docs/obs/api-ref/obs_04_0098.html
index 21abfb5c..88c66045 100644
--- a/docs/obs/api-ref/obs_04_0098.html
+++ b/docs/obs/api-ref/obs_04_0098.html
@@ -32,6 +32,8 @@ Authorization: authorization
Indicates a multipart upload.
Type: string
+ NOTE: - This parameter is an empty string.
- If this parameter is not contained in a request, the request performs a common upload using POST.
+
|
Yes
|
@@ -64,7 +66,7 @@ Authorization: authorization
When initiating a multipart upload, you can use this header to grant all users in an account the permissions to read the object and obtain the object metadata.
Type: string
-Example: x-obs-grant-read: ID=domainID If multiple accounts are authorized, separate them with commas (,).
+Example: x-obs-grant-read: ID=domainID. If multiple accounts are authorized, separate them with commas (,).
|
No
|
@@ -73,7 +75,7 @@ Authorization: authorization
When initiating a multipart upload, you can use this header to grant all users in an account the permission to obtain the object ACL.
Type: string
-Example: x-obs-grant-read-acp: ID=domainID If multiple accounts are authorized, separate them with commas (,).
+Example: x-obs-grant-read-acp: ID=domainID. If multiple accounts are authorized, separate them with commas (,).
|
No
|
@@ -82,7 +84,7 @@ Authorization: authorization
When initiating a multipart upload, you can use this header to grant all users in an account the permission to write the object ACL.
Type: string
-Example: x-obs-grant-write-acp: ID=domainID If multiple accounts are authorized, separate them with commas (,).
+Example: x-obs-grant-write-acp: ID=domainID. If multiple accounts are authorized, separate them with commas (,).
|
No
|
@@ -91,7 +93,7 @@ Authorization: authorization
When initiating a multipart upload, you can use this header to grant all users in an account the permissions to read the object, obtain the object metadata and ACL, and write the object ACL.
Type: string
-Example: x-obs-grant-full-control: ID=domainID If multiple accounts are authorized, separate them with commas (,).
+Example: x-obs-grant-full-control: ID=domainID. If multiple accounts are authorized, separate them with commas (,).
|
No
|
@@ -120,7 +122,7 @@ Authorization: authorization
Indicates that SSE-KMS is used.
Type: string
-Example: x-obs-server-side-encryption:kms
+Example: x-obs-server-side-encryption: kms
|
No. This header is required when SSE-KMS is used.
|
@@ -134,8 +136,9 @@ Authorization: authorization
- key_id
regionID indicates the ID of the region where the key belongs. domainID indicates the ID of the tenant where the key belongs. key_id indicates the ID of the key created in KMS.
Examples:
-- x-obs-server-side-encryption-kms-key-id:region:domainiddomainiddomainiddoma0001:key/4f1cd4de-ab64-4807-920a-47fc42e7f0d0
-- x-obs-server-side-encryption-kms-key-id:4f1cd4de-ab64-4807-920a-47fc42e7f0d0
+1. x-obs-server-side-encryption-kms-key-id: region:domainiddomainiddomainiddoma0001:key/4f1cd4de-ab64-4807-920a-47fc42e7f0d0
+or
+2. x-obs-server-side-encryption-kms-key-id: 4f1cd4de-ab64-4807-920a-47fc42e7f0d0
No
|
@@ -144,7 +147,7 @@ Authorization: authorization
Indicates the encryption algorithm when SSE-C is used.
Type: string
-Example: x-obs-server-side-encryption-customer-algorithm:AES256
+Example: x-obs-server-side-encryption-customer-algorithm: AES256
Constraint: This header must be used together with x-obs-server-side-encryption-customer-key and x-obs-server-side-encryption-customer-key-MD5.
|
No. This header is required when SSE-C is used.
@@ -250,23 +253,23 @@ Connection: status
|
This header is included in a response if SSE-KMS is used.
Type: string
-Example: x-obs-server-side-encryption:kms
+Example: x-obs-server-side-encryption: kms
|
x-obs-server-side-encryption-kms-key-id
|
-Indicates the master key ID. This header is included in a response if SSE-KMS is used.
+ | Indicates the master key ID. This header is included in a response when SSE-KMS is used.
Type: string
Format: regionID:domainID:key/key_id
regionID indicates the ID of the region where the key belongs. domainID indicates the ID of the tenant where the key belongs. key_id indicates the key ID used in this encryption.
-Example: x-obs-server-side-encryption-kms-key-id:region:domainiddomainiddomainiddoma0001:key/4f1cd4de-ab64-4807-920a-47fc42e7f0d0
+Example: x-obs-server-side-encryption-kms-key-id: region:domainiddomainiddomainiddoma0001:key/4f1cd4de-ab64-4807-920a-47fc42e7f0d0
|
x-obs-server-side-encryption-customer-algorithm
|
-Indicates an encryption algorithm. This header is included in a response if SSE-C is used.
+ | Indicates the encryption algorithm. This header is included in a response when SSE-C is used.
Type: string
-Example: x-obs-server-side-encryption-customer-algorithm:AES256
+Example: x-obs-server-side-encryption-customer-algorithm: AES256
|
x-obs-server-side-encryption-customer-key-MD5
@@ -318,7 +321,7 @@ Connection: status
Error Responses1. If the AK or signature is invalid, OBS returns 403 Forbidden and the error code is AccessDenied.
2. If the bucket is not found, OBS returns 404 Not Found and the error code is NoSuchBucket.
- 3. Check whether the user has the write permission for the specified bucket. If no, OBS returns 403 Forbidden and the error code is AccessDenied.
+ 3. Check whether the user has the write permission for the specified bucket. If not, OBS returns 403 Forbidden and the error code is AccessDenied.
Other errors are included in Table 2.
Sample Request: Initiating a Multipart Upload1
diff --git a/docs/obs/api-ref/obs_04_0100.html b/docs/obs/api-ref/obs_04_0100.html
index 7d0256fa..ab7aacf7 100644
--- a/docs/obs/api-ref/obs_04_0100.html
+++ b/docs/obs/api-ref/obs_04_0100.html
@@ -135,6 +135,52 @@ Content-Length: length
No. This header is required when SSE-C is used to copy a source object.
|
|
+x-obs-copy-source-if-match
+ |
+Indicates that the source object is copied only if its ETag matches the one specified in this header. Otherwise, a 412 status code (failed precondition) is returned.
+Type: string
+Example: x-obs-copy-source-if-match: etag
+Constraint: This header can be used with x-obs-copy-source-if-unmodified-since but not other conditional copy headers.
+ |
+No
+ |
+
+x-obs-copy-source-if-none-match
+ |
+Indicates that the source object is copied only if its ETag does not match the one specified in this header. Otherwise, a 412 status code (failed precondition) is returned.
+Type: string
+Example: x-obs-copy-source-if-none-match: etag
+Constraint: This header can be used with x-obs-copy-source-if-modified-since but not other conditional copy headers.
+ |
+No
+ |
+
+x-obs-copy-source-if-unmodified-since
+ |
+Indicates that the source object is copied only if it has not been modified since the time specified by this header. Otherwise, a 412 status code (failed precondition) is returned. This header can be used with x-obs-copy-source-if-match but not other conditional copy headers.
+Type: string
+Format: HTTP time string complying with the format specified at http://www.ietf.org/rfc/rfc2616.txt, which can be any of the following:
+- EEE, dd MMM yyyy HH:mm:ss z
- EEEE, dd-MMM-yy HH:mm:ss z
- EEE MMM dd HH:mm:ss yyyy
+Examples:
+- x-obs-copy-source-if-unmodified-since: Sun, 06 Nov 1994 08:49:37 GMT
- x-obs-copy-source-if-unmodified-since: Sunday, 06-Nov-94 08:49:37 GMT
- x-obs-copy-source-if-unmodified-since: Sun Nov 6 08:49:37 1994
+Constraint: The time specified by this header cannot be later than the current server time (GMT time), or this header does not take effect.
+ |
+No
+ |
+
+x-obs-copy-source-if-modified-since
+ |
+Indicates that the source object is copied only if it has been modified since the time specified by this header. Otherwise, a 412 status code (failed precondition) is returned. This header can be used with x-obs-copy-source-if-none-match but not other conditional copy headers.
+Type: string
+Format: HTTP time string complying with the format specified at http://www.ietf.org/rfc/rfc2616.txt, which can be any of the following:
+- EEE, dd MMM yyyy HH:mm:ss z
- EEEE, dd-MMM-yy HH:mm:ss z
- EEE MMM dd HH:mm:ss yyyy
+Examples:
+- x-obs-copy-source-if-unmodified-since: Sun, 06 Nov 1994 08:49:37 GMT
- x-obs-copy-source-if-unmodified-since: Sunday, 06-Nov-94 08:49:37 GMT
- x-obs-copy-source-if-unmodified-since: Sun Nov 6 08:49:37 1994
+Constraint: The time specified by this header cannot be later than the current server time (GMT time), or this header does not take effect.
+ |
+No
+ |
+
@@ -167,7 +213,7 @@ Date: date
|
x-obs-server-side-encryption-kms-key-id
|
-Indicates the master key ID. This header is included in a response if SSE-KMS is used.
+ | Indicates the master key ID. This header is included in a response when SSE-KMS is used.
Type: string
Format: regionID:domainID:key/key_id
regionID indicates the ID of the region where the key belongs. domainID indicates the ID of the tenant where the key belongs. key_id indicates the key ID used in this encryption.
@@ -176,14 +222,14 @@ Date: date
|
x-obs-server-side-encryption-customer-algorithm
|
-Indicates an encryption algorithm. This header is included in a response if SSE-C is used.
+ | Indicates the encryption algorithm. This header is included in a response when SSE-C is used.
Type: string
Example: x-obs-server-side-encryption-customer-algorithm:AES256
|
x-obs-server-side-encryption-customer-key-MD5
|
-Indicates the MD5 value of a key used to encrypt objects. This header is included in a response if SSE-C is used.
+ | Indicates the MD5 value of the key for encrypting objects. This header is included in a response when SSE-C is used.
Type: string
Example: x-obs-server-side-encryption-customer-key-MD5:4XvB3tbNTN+tIEVa0/fGaQ==
|
diff --git a/docs/obs/api-ref/obs_04_0101.html b/docs/obs/api-ref/obs_04_0101.html
index 40ba8a9f..38863a52 100644
--- a/docs/obs/api-ref/obs_04_0101.html
+++ b/docs/obs/api-ref/obs_04_0101.html
@@ -125,52 +125,52 @@ Content-Length: length
Container for responses to part listing requests
Type: container
-Children: Bucket, Key, UploadId, PartNumberMarker, NextPartNumberMarker, MaxParts, IsTruncated, Part
-Ancestor: none
+Child: Bucket, Key, UploadId, PartNumberMarker, NextPartNumberMarker, MaxParts, IsTruncated, and Part
+Parent: none
|
Bucket
|
Name of the bucket
Type: string
-Ancestor: ListPartsResult
+Parent: ListPartsResult
|
Key
|
Object name
Type: string
-Ancestor: ListPartsResult
+Parent: ListPartsResult
|
UploadId
|
ID of the multipart upload
Type: string
-Ancestor: ListPartsResult
+Parent: ListPartsResult
|
Initiator
|
Initiator of the multipart upload
Type: container
-Children: ID
-Ancestor: ListPartsResult
+Child: ID
+Parent: ListPartsResult
|
Owner
|
The value of this parameter is the same as that of Initiator.
Type: container
-Children: ID
-Ancestor: ListPartsResult
+Child: ID
+Parent: ListPartsResult
|
ID
|
ID of the domain where the owner belongs
Type: string
-Ancestor: Initiator or Owner
+Parent: Initiator or Owner
|
StorageClass
@@ -178,43 +178,43 @@ Content-Length: length
| Storage class
Type: string
Value options: STANDARD, WARM, COLD
-Ancestor: ListPartsResult
+Parent: ListPartsResult
|
PartNumberMarker
|
Part number after which listing parts begins
Type: integer
-Ancestor: ListPartsResult
+Parent: ListPartsResult
|
NextPartNumberMarker
|
Value of PartNumberMarker in the next request when the returned result is incomplete
Type: integer
-Ancestor: ListPartsResult
+Parent: ListPartsResult
|
MaxParts
|
Maximum number of parts returned in a response
Type: integer
-Ancestor: ListPartsResult
+Parent: ListPartsResult
|
IsTruncated
|
Whether the returned part list is truncated. The value true indicates that the list was truncated and false indicates that the list was not truncated.
Type: boolean
-Ancestor: ListPartsResult
+Parent: ListPartsResult
|
Part
|
Container for elements related to a particular part.
Type: string
-Children: PartNumber, LastModified, ETag, Size
-Ancestor: ListPartsResult
+Child: PartNumber, LastModified, ETag, and Size
+Parent: ListPartsResult
PartNumber identifies a part.
|
@@ -222,28 +222,28 @@ Content-Length: length
Number of an uploaded part
Type: integer
-Ancestor: ListPartsResult.Part
+Parent: ListPartsResult.Part
|
LastModified
|
When a part was uploaded
Type: date
-Ancestor: ListPartsResult.Part
+Parent: ListPartsResult.Part
|
ETag
|
ETag value of the uploaded parts. It is the unique identifier of the part content and is used to verify data consistency during the combination of parts.
Type: string
-Ancestor: ListPartsResult.Part
+Parent: ListPartsResult.Part
|
Size
|
Size of an uploaded part
Type: integer
-Ancestor: ListPartsResult.Part
+Parent: ListPartsResult.Part
|
diff --git a/docs/obs/api-ref/obs_04_0106.html b/docs/obs/api-ref/obs_04_0106.html
index 9462d7eb..849fa5d3 100644
--- a/docs/obs/api-ref/obs_04_0106.html
+++ b/docs/obs/api-ref/obs_04_0106.html
@@ -3,7 +3,8 @@
SSE-KMS
FunctionsWith SSE-KMS, OBS uses the keys provided by Key Management Service (KMS) for server-side encryption. You can create custom keys on KMS to encrypt your objects. If you do not specify a key, OBS creates a default key the first time you upload an object to the bucket. Custom keys or default keys are used to encrypt and decrypt data encryption keys (DEKs).
- When a custom key in a non-default IAM project is used to encrypt objects, only the key owner can upload or download the encrypted objects.
+ When a custom KMS key in a non-default IAM project is used to encrypt objects, only the key owner can upload or download the encrypted objects.
+ When the default KMS key in a region is used to encrypt an object, this default key belongs to the object owner. Only the key owner (also the object owner) can upload or download this object.
Newly Added HeadersTwo headers are added for SSE-KMS. You can configure the headers listed in Table 1 to enable SSE-KMS.
diff --git a/docs/obs/api-ref/obs_04_0107.html b/docs/obs/api-ref/obs_04_0107.html
index 062f0e64..273f1781 100644
--- a/docs/obs/api-ref/obs_04_0107.html
+++ b/docs/obs/api-ref/obs_04_0107.html
@@ -35,7 +35,7 @@
APIs where the newly added headers apply:
-
+
The following table lists three headers that are added for CopyObject and UploadPart-Copy operations to support source objects encrypted using SSE-C.
diff --git a/docs/obs/api-ref/obs_04_0109.html b/docs/obs/api-ref/obs_04_0109.html
new file mode 100644
index 00000000..2214ee17
--- /dev/null
+++ b/docs/obs/api-ref/obs_04_0109.html
@@ -0,0 +1,15 @@
+
+
+IAM Policies and Supported Actions
+
+
+
diff --git a/docs/obs/api-ref/obs_04_0110.html b/docs/obs/api-ref/obs_04_0110.html
new file mode 100644
index 00000000..c6423ab1
--- /dev/null
+++ b/docs/obs/api-ref/obs_04_0110.html
@@ -0,0 +1,22 @@
+
+
+Introduction
+This section describes fine-grained permissions management for your OBS. If your account does not require individual IAM users, skip this section.
+ By default, new IAM users do not have any permissions assigned. You need to add a user to one or more groups, and attach IAM policies to these groups. The user then inherits permissions from the groups it is a member of. This process is called authorization. After authorization, the user can perform specified operations on OBS based on the IAM policies.
+ For details about user policies related to OBS, see Permissions Management in the "Service Overview" section of Object Storage Service User Guide. For details about the syntax structure and examples of IAM policies, see IAM Policies in the section "Permission Control" > "Permission Control Mechanisms" in the "Console Operation Guide" of Object Storage Service User Guide.
+ There are fine-grained policies and role-based access control (RBAC) policies. An RBAC policy consists of permissions for an entire service. Users in a group with such a policy assigned are granted all of the permissions required for that service. A fine-grained policy consists of API-based permissions for operations on specific resource types. Fine-grained policies, as the name suggests, allow for more fine-grained control than RBAC policies.
+ - If you want to allow or deny the access to an API, fine-grained authorization is a good choice.
- Because of the cache, it takes about 10 to 15 minutes for the RBAC policy to take effect after being granted to users and user groups. After a fine-grained OBS policy is granted, it takes about 5 minutes for the policy to take effect.
+
+ An account has all of the permissions required to call all APIs, but IAM users must have the required permissions specifically assigned. The required permissions are determined by the actions supported by the API. Only users with the policies allowing for those actions can call the API successfully. For example, if an IAM user needs to create buckets using an API, the user must have been granted permissions that allow the obs:bucket:CreateBucket action.
+ Supported ActionsOperations supported by a fine-grained policy are specific to APIs. The following describes the headers of the actions provided in this section:
+ - Permissions: defined by actions in a custom policy
- APIs: REST APIs that can be called by a user who has been granted specific permissions
- Actions: specific operations that are allowed or denied in a custom policy
+ OBS supports the following actions in custom policies:
+ - Bucket-related actions include actions supported by all OBS bucket-related APIs, such as the APIs for listing all buckets, creating and deleting buckets, configuring bucket policies, configuring bucket event notification, configuring cross-region replication, and configuring bucket logging.
- Object-related actions include APIs for uploading, downloading, and deleting objects.
+
+
+
+
diff --git a/docs/obs/api-ref/obs_04_0111.html b/docs/obs/api-ref/obs_04_0111.html
new file mode 100644
index 00000000..d2e17416
--- /dev/null
+++ b/docs/obs/api-ref/obs_04_0111.html
@@ -0,0 +1,470 @@
+
+
+Bucket Actions
+
+
+
diff --git a/docs/obs/api-ref/obs_04_0112.html b/docs/obs/api-ref/obs_04_0112.html
new file mode 100644
index 00000000..d25f04a9
--- /dev/null
+++ b/docs/obs/api-ref/obs_04_0112.html
@@ -0,0 +1,168 @@
+
+
+Object Actions
+
+
+
diff --git a/docs/obs/api-ref/obs_04_0115.html b/docs/obs/api-ref/obs_04_0115.html
index 56ae868f..e36e6e2c 100644
--- a/docs/obs/api-ref/obs_04_0115.html
+++ b/docs/obs/api-ref/obs_04_0115.html
@@ -78,9 +78,9 @@ QUFBQUFBYmJiYmJiYmJD</HostId>
| Error Code
|
-Error Message
+ | Error Message
|
-Solution
+ | Solution
|
@@ -88,813 +88,813 @@ QUFBQUFBYmJiYmJiYmJD</HostId>
PermanentRedirect
|
-The requested bucket can be accessed only through the specified address. Send subsequent requests to the address.
+ | The requested bucket can be accessed only through the specified address. Send subsequent requests to the address.
|
-Send the request to the returned redirection address.
+ | Send the request to the returned redirection address.
|
301 Moved Permanently
|
WebsiteRedirect
|
-The website request lacks bucketName.
+ | The website request lacks bucketName.
|
-Put the bucket name in the request and try again.
+ | Put the bucket name in the request and try again.
|
307 Moved Temporarily
|
TemporaryRedirect
|
-Temporary redirection. If the DNS is updated, the request is redirected to the bucket.
+ | Temporary redirection. If the DNS is updated, the request is redirected to the bucket.
|
-The system automatically redirects the request or sends the request to the redirection address.
+ | The system automatically redirects the request or sends the request to the redirection address.
|
400 Bad Request
|
BadDigest
|
-The specified value of Content-MD5 does not match the value received by OBS.
+ | The specified value of Content-MD5 does not match the value received by OBS.
|
-Check whether the MD5 value carried in the header is the same as that calculated by the message body.
+ | Check whether the MD5 value carried in the header is the same as that calculated by the message body.
|
400 Bad Request
|
BadDomainName
|
-The domain name is invalid.
+ | The domain name is invalid.
|
-Use a valid domain name.
+ | Use a valid domain name.
|
400 Bad Request
|
BadRequest
|
-Invalid request parameters.
+ | Invalid request parameters.
|
-Modify the parameters according to the error details in the message body.
+ | Modify the parameters according to the error details in the message body.
|
400 Bad Request
|
CustomDomainAreadyExist
|
-The configured domain already exists.
+ | The configured domain already exists.
|
-It has been configured and does not need to be configured again.
+ | It has been configured and does not need to be configured again.
|
400 Bad Request
|
CustomDomainNotExist
|
-Delete the domain that does not exist.
+ | Delete the domain that does not exist.
|
-It is not configured or has been deleted. You do not need to delete it.
+ | It is not configured or has been deleted. You do not need to delete it.
|
400 Bad Request
|
EntityTooLarge
|
-- The size of the file uploaded using the PUT, POST, or Append methods of SDKs or APIs exceeds 5 GB.
- The part uploaded is larger than 5 GB in size.
- The size of the bucket configurations exceeds 20 KB.
- The file size exceeds the upper limit defined in the policy of the POST form.
+ | - The size of the file uploaded using the PUT, POST, or Append methods of SDKs or APIs exceeds 5 GB.
- The part uploaded is larger than 5 GB in size.
- The size of the bucket configurations exceeds 20 KB.
- The file size exceeds the upper limit defined in the policy of the POST form.
- The size of the file uploaded using the multipart upload of SDKs or APIs or the resumable upload of SDKs exceeds 48.8 TB.
|
-Modify the conditions specified in the upload policy or reduce the object size.
+ | Modify the conditions specified in the upload policy or reduce the object size.
|
400 Bad Request
|
EntityTooSmall
|
-- The part uploaded, except the last one, is smaller than 100 KB.
- The file size is smaller than the lower limit defined in the policy of the POST form.
+ | - The part uploaded, except the last one, is smaller than 100 KB.
- The file size is smaller than the lower limit defined in the policy of the POST form.
|
-Modify the conditions specified in the upload policy or increase the object size.
+ | Modify the conditions specified in the upload policy or increase the object size.
|
400 Bad Request
|
IllegalLocationConstraintException
|
-A request without Location is sent for creating a bucket in a non-default region.
+ | A request without Location is sent for creating a bucket in a non-default region.
|
-Send the bucket creation request to the default region, or send the request with the Location of the non-default region.
+ | Send the bucket creation request to the default region, or send the request with the Location of the non-default region.
|
400 Bad Request
|
IncompleteBody
|
-No complete request body is received due to network or other problems.
+ | No complete request body is received due to network or other problems.
|
-Upload the object again.
+ | Upload the object again.
|
400 Bad Request
|
IncorrectNumberOfFilesInPost Request
|
-Each POST request must contain one file to be uploaded.
+ | Each POST request must contain one file to be uploaded.
|
-Carry a file to be uploaded.
+ | Carry a file to be uploaded.
|
400 Bad Request
|
InvalidArgument
|
-Invalid parameter.
+ | Invalid parameter.
|
-Modify the parameter according to the error details in the message body.
+ | Modify the parameter according to the error details in the message body.
|
400 Bad Request
|
InvalidBucket
|
-The bucket to be accessed does not exist.
+ | The bucket to be accessed does not exist.
|
-Change the bucket name.
+ | Change the bucket name.
|
400 Bad Request
|
InvalidBucketName
|
-The bucket name specified in the request is invalid, which may have exceeded the maximum length, or contain special characters that are not allowed.
+ | The bucket name specified in the request is invalid, which may have exceeded the maximum length, or contain special characters that are not allowed.
|
-Change the bucket name.
+ | Change the bucket name.
|
400 Bad Request
|
InvalidContentLength
|
-Invalid Content-Length value.
+ | Invalid Content-Length value.
|
-Check the encapsulation header or contact technical support.
+ | Check the encapsulation header or contact technical support.
|
400 Bad Request
|
InvalidDefaultStorageClass
|
-The default storage class is invalid.
+ | The default storage class is invalid.
|
-Check which storage classes can be used.
+ | Check which storage classes can be used.
|
400 Bad Request
|
InvalidEncryptionAlgorithmError
|
-Incorrect encryption algorithm. The object cannot be decrypted due to incorrect encryption header carried when downloading the SSE-C encrypted object.
+ | Incorrect encryption algorithm. The object cannot be decrypted due to incorrect encryption header carried when downloading the SSE-C encrypted object.
|
-Carry the correct encryption header when downloading the object.
+ | Carry the correct encryption header when downloading the object.
|
400 Bad Request
|
InvalidLocationConstraint
|
-The specified Location in the bucket creation request is invalid or does not exist.
+ | The specified Location in the bucket creation request is invalid or does not exist.
|
-Correct the Location in the bucket creation request.
+ | Correct the Location in the bucket creation request.
|
400 Bad Request
|
InvalidPart
|
-One or more specified parts are not found. The parts may not be uploaded or the specified entity tags (ETags) do not match the parts' ETags.
+ | One or more specified parts are not found. The parts may not be uploaded or the specified entity tags (ETags) do not match the parts' ETags.
|
-Merge the parts correctly according to the ETags.
+ | Merge the parts correctly according to the ETags.
|
400 Bad Request
|
InvalidPartOrder
|
-Parts are not listed in ascending order by part number.
+ | Parts are not listed in ascending order by part number.
|
-Sort the parts in ascending order and merge them again.
+ | Sort the parts in ascending order and merge them again.
|
400 Bad Request
|
InvalidPolicyDocument
|
-The content of the form does not meet the conditions specified in the policy document.
+ | The content of the form does not meet the conditions specified in the policy document.
|
-Modify the policy in the constructed form according to the error details in the message body and try again.
+ | Modify the policy in the constructed form according to the error details in the message body and try again.
|
400 Bad Request
|
InvalidRedirectLocation
|
-Invalid redirect location.
+ | Invalid redirect location.
|
-Specifies the correct IP address.
+ | Specifies the correct IP address.
|
400 Bad Request
|
InvalidRequest
|
-Invalid request.
+ | Invalid request.
|
-Modify the parameter according to the error details in the message body.
+ | Modify the parameter according to the error details in the message body.
|
400 Bad Request
|
InvalidRequestBody
|
-The request body is invalid. The request requires a message body but no message body is uploaded.
+ | The request body is invalid. The request requires a message body but no message body is uploaded.
|
-Upload the message body in the correct format.
+ | Upload the message body in the correct format.
|
400 Bad Request
|
InvalidTargetBucketForLogging
|
-The delivery group has no ACL permission for the target bucket.
+ | The delivery group has no ACL permission for the target bucket.
|
-Configure the target bucket ACL and try again.
+ | Configure the target bucket ACL and try again.
|
400 Bad Request
|
KeyTooLongError
|
-The provided key is too long.
+ | The provided key is too long.
|
-Use a shorter key.
+ | Use a shorter key.
|
400 Bad Request
|
KMS.DisabledException
|
-The customer master key (CMK) is disabled in SSE-KMS mode.
+ | The customer master key (CMK) is disabled in SSE-KMS mode.
|
-Replace the key and try again, or contact technical support.
+ | Replace the key and try again, or contact technical support.
|
400 Bad Request
|
KMS.NotFoundException
|
-The customer master key (CMK) does not exist in SSE-KMS mode.
+ | The customer master key (CMK) does not exist in SSE-KMS mode.
|
-Retry with the correct CMK.
+ | Retry with the correct CMK.
|
400 Bad Request
|
MalformedACLError
|
-The provided XML file is in an incorrect format or does not meet format requirements.
+ | The provided XML file is in an incorrect format or does not meet format requirements.
|
-Use the correct XML format to retry.
+ | Use the correct XML format to retry.
|
400 Bad Request
|
MalformedError
|
-The XML format in the request is incorrect.
+ | The XML format in the request is incorrect.
|
-Use the correct XML format to retry.
+ | Use the correct XML format to retry.
|
400 Bad Request
|
MalformedLoggingStatus
|
-The XML format of Logging is incorrect.
+ | The XML format of Logging is incorrect.
|
-Use the correct XML format to retry.
+ | Use the correct XML format to retry.
|
400 Bad Request
|
MalformedPolicy
|
-The bucket policy does not pass.
+ | The bucket policy does not pass.
|
-Modify the bucket policy according to the error details returned in the message body.
+ | Modify the bucket policy according to the error details returned in the message body.
|
400 Bad Request
|
MalformedQuotaError
|
-The Quota XML format is incorrect.
+ | The Quota XML format is incorrect.
|
-Use the correct XML format to retry.
+ | Use the correct XML format to retry.
|
400 Bad Request
|
MalformedXML
|
-An XML file of a configuration item is in incorrect format.
+ | An XML file of a configuration item is in incorrect format.
|
-Use the correct XML format to retry.
+ | Use the correct XML format to retry.
|
400 Bad Request
|
MaxMessageLengthExceeded
|
-Copying an object does not require a message body in the request.
+ | Copying an object does not require a message body in the request.
|
-Remove the message body and retry.
+ | Remove the message body and retry.
|
400 Bad Request
|
MetadataTooLarge
|
-The size of the metadata header has exceeded the upper limit.
+ | The size of the metadata header has exceeded the upper limit.
|
-Reduce the size of the metadata header.
+ | Reduce the size of the metadata header.
|
400 Bad Request
|
MissingRegion
|
-No region contained in the request and no default region defined in the system.
+ | No region contained in the request and no default region defined in the system.
|
-Carry the region information in the request.
+ | Carry the region information in the request.
|
400 Bad Request
|
MissingRequestBodyError
|
-This error code is returned after you send an empty XML file.
+ | This error code is returned after you send an empty XML file.
|
-Provide the correct XML file.
+ | Provide the correct XML file.
|
400 Bad Request
|
MissingRequiredHeader
|
-Required headers are missing in the request.
+ | Required headers are missing in the request.
|
-Provide required headers.
+ | Provide required headers.
|
400 Bad Request
|
MissingSecurityHeader
|
-A required header is not provided.
+ | A required header is not provided.
|
-Provide required headers.
+ | Provide required headers.
|
400 Bad Request
|
MultipleContentLengths
|
-There are multiple Content-Length headers.
+ | There are multiple Content-Length headers.
|
-Check the encapsulation header or contact technical support.
+ | Check the encapsulation header or contact technical support.
|
400 Bad Request
|
TooManyBuckets
|
-You have attempted to create more buckets than allowed.
+ | You have attempted to create more buckets than allowed.
|
-Delete some buckets and try again.
+ | Delete some buckets and try again.
|
400 Bad Request
|
TooManyCustomDomains
|
-Too many user accounts are configured.
+ | Too many user accounts are configured.
|
-Delete some user accounts and try again.
+ | Delete some user accounts and try again.
|
400 Bad Request
|
TooManyWrongSignature
|
-The request is rejected due to high-frequency errors.
+ | The request is rejected due to high-frequency errors.
|
-Replace the Access Key and try again.
+ | Replace the Access Key and try again.
|
400 Bad Request
|
UnexpectedContent
|
-The request requires a message body which is not carried by the client, or the request does not require a message body but the client carries the message body.
+ | The request requires a message body which is not carried by the client, or the request does not require a message body but the client carries the message body.
|
-Try again according to the instruction.
+ | Try again according to the instruction.
|
400 Bad Request
|
UserKeyMustBeSpecified
|
-This operation is available only to specific users.
+ | This operation is available only to specific users.
|
-Contact technical support.
+ | Contact technical support.
|
403 Forbidden
|
AccessDenied
|
-Access denied, because the request does not carry a date header or the header format is incorrect.
+ | Access denied, because the request does not carry a date header or the header format is incorrect.
|
-Provide a correct date header in the request.
+ | Provide a correct date header in the request.
|
403 Forbidden
|
AccessDenied
|
-The object you specified is immutable, can not delete.
+ | The object you specified is immutable, can not delete.
|
-Wait until the WORM retention expires and then modify or delete the object.
+ | Wait until the WORM retention expires and then modify or delete the object.
|
403 Forbidden
|
AccessForbidden
|
-Insufficient permission. No CORS configuration exists for the bucket or the CORS rule does not match.
+ | Insufficient permission. No CORS configuration exists for the bucket or the CORS rule does not match.
|
-Modify the CORS configuration of the bucket or send the matched OPTIONS request based on the CORS configuration of the bucket.
+ | Modify the CORS configuration of the bucket or send the matched OPTIONS request based on the CORS configuration of the bucket.
|
403 Forbidden
|
AllAccessDisabled
|
-You have no permission to perform the operation. The bucket name is forbidden.
+ | You have no permission to perform the operation. The bucket name is forbidden.
|
-Change the bucket name.
+ | Change the bucket name.
|
403 Forbidden
|
DeregisterUserId
|
-The user has been deregistered.
+ | The user has been deregistered.
|
-Top up or re-register.
+ | Top up or re-register.
|
403 Forbidden
|
InArrearOrInsufficientBalance
|
-The subscriber owes fees or the account balance is insufficient, and the subscriber does not have the permission to perform an operation.
+ | The subscriber owes fees or the account balance is insufficient, and the subscriber does not have the permission to perform an operation.
|
-Top up.
+ | Top up.
|
403 Forbidden
|
InsufficientStorageSpace
|
-Insufficient storage space.
+ | Insufficient storage space.
|
-If the quota is exceeded, increase quota or delete some objects.
+ | If the quota is exceeded, increase quota or delete some objects.
|
403 Forbidden
|
InvalidAccessKeyId
|
-The access key ID provided by the customer does not exist in the system.
+ | The access key ID provided by the customer does not exist in the system.
|
-Provide correct access key Id.
+ | Provide correct access key Id.
|
403 Forbidden
|
InvalidObjectState
|
-You need to restore Cold objects first before downloading them.
+ | You need to restore Cold objects first before downloading them.
|
-Restore the object first.
+ | Restore the object first.
|
403 Forbidden
|
NotSignedUp
|
-Your account has not been registered with the system. Only a registered account can be used.
+ | Your account has not been registered with the system. Only a registered account can be used.
|
-Register OBS.
+ | Register OBS.
|
403 Forbidden
|
RequestTimeTooSkewed
|
-There was a large time offset between the OBS server time and the time when the client initiated a request.
+ | There was a large time offset between the OBS server time and the time when the client initiated a request.
For security purposes, OBS verifies the time offset between the client and server. If the offset is longer than 15 minutes, the OBS server will reject your requests and this error message is reported.
|
-Check whether there is a large time offset between the client time and server time. If there is, adjust the client time based on your local time (UTC) and try again.
+ | Check whether there is a large time offset between the client time and server time. If there is, adjust the client time based on your local time (UTC) and try again.
|
403 Forbidden
|
SignatureDoesNotMatch
|
-The provided signature does not match the signature calculated by OBS.
+ | The provided signature does not match the signature calculated by OBS.
|
-Check your secret access key and signature algorithm.
+ | Check your secret access key and signature algorithm.
|
403 Forbidden
|
VirtualHostDomainRequired
|
-Virtual hosting access domain name is not used.
+ | Virtual hosting access domain name is not used.
|
-Use the virtual hosting access domain name. For details, see Constructing a Request.
+ | Use the virtual hosting access domain name. For details, see Constructing a Request.
|
403 Forbidden
|
Unauthorized
|
-The user has not been authenticated in real name.
+ | The user has not been authenticated in real name.
|
-Authenticate the user's real name and try again.
+ | Authenticate the user's real name and try again.
|
403 Forbidden
|
RequestPayerDenied
|
-This is a requester-pays bucket.
+ | This is a requester-pays bucket.
|
-Carry the header x-obs-request-payer: requester in the access request.
+ | Carry the header x-obs-request-payer: requester in the access request.
|
404 Not Found
|
NoSuchBucket
|
-The specified bucket does not exist.
+ | The specified bucket does not exist.
|
-Create a bucket and perform the operation again.
+ | Create a bucket and perform the operation again.
|
404 Not Found
|
NoSuchBucketPolicy
|
-No bucket policy exists.
+ | No bucket policy exists.
|
-Configure a bucket policy.
+ | Configure a bucket policy.
|
404 Not Found
|
NoSuchCORSConfiguration
|
-No CORS configuration exists.
+ | No CORS configuration exists.
|
-Configure CORS first.
+ | Configure CORS first.
|
404 Not Found
|
NoSuchCustomDomain
|
-The requested user account does not exist.
+ | The requested user account does not exist.
|
-Set a user account first.
+ | Set a user account first.
|
404 Not Found
|
NoSuchKey
|
-The specified key does not exist.
+ | The specified key does not exist.
|
-Upload the object first.
+ | Upload the object first.
|
404 Not Found
|
NoSuchLifecycleConfiguration
|
-The requested lifecycle rule does not exist.
+ | The requested lifecycle rule does not exist.
|
-Configure a lifecycle rule first.
+ | Configure a lifecycle rule first.
|
404 Not Found
|
NoSuchUpload
|
-The specified multipart upload does not exist. The upload ID does not exist or the multipart upload has been terminated or completed.
+ | The specified multipart upload does not exist. The upload ID does not exist or the multipart upload has been terminated or completed.
|
-Use the existing part or reinitialize the part.
+ | Use the existing part or reinitialize the part.
|
404 Not Found
|
NoSuchVersion
|
-The specified version ID does not match any existing version.
+ | The specified version ID does not match any existing version.
|
-Use a correct version ID.
+ | Use a correct version ID.
|
404 Not Found
|
NoSuchWebsiteConfiguration
|
-The requested website does not exist.
+ | The requested website does not exist.
|
-Configure the website first.
+ | Configure the website first.
|
405 Method Not Allowed
|
MethodNotAllowed
|
-The specified method is not allowed against the requested resource.
+ | The specified method is not allowed against the requested resource.
The message "Specified method is not supported." is returned.
|
-The method is not allowed.
+ | The method is not allowed.
|
405 Method Not Allowed
|
FsNotSupport
|
-POSIX buckets do not support this API.
+ | POSIX buckets do not support this API.
|
-The method is not allowed.
+ | The method is not allowed.
|
408 Request Timeout
|
RequestTimeout
|
-The socket connection to the server has no read or write operations within the timeout period.
+ | The socket connection to the server has no read or write operations within the timeout period.
|
-Check the network and try again, or contact technical support.
+ | Check the network and try again, or contact technical support.
|
409 Conflict
|
BucketAlreadyExists
|
-The requested bucket name already exists. The bucket namespace is shared by all users of OBS. Select another name and retry.
+ | The requested bucket name already exists. The bucket namespace is shared by all users of OBS. Select another name and retry.
|
-Change the bucket name.
+ | Change the bucket name.
|
409 Conflict
|
BucketAlreadyOwnedByYou
|
-Your previous request for creating the namesake bucket succeeded and you already own it.
+ | Your previous request for creating the namesake bucket succeeded and you already own it.
|
-No more buckets need to be created.
+ | No more buckets need to be created.
|
409 Conflict
|
BucketNotEmpty
|
-The bucket that you tried to delete is not empty.
+ | The bucket that you tried to delete is not empty.
|
-Delete the objects in the bucket and then delete the bucket.
+ | Delete the objects in the bucket and then delete the bucket.
|
409 Conflict
|
InvalidBucketState
|
-Invalid bucket status. After cross-region replication is configured, bucket versioning cannot be disabled.
+ | Invalid bucket status. After cross-region replication is configured, bucket versioning cannot be disabled.
|
-Enable bucket versioning or cancel cross-region replication.
+ | Enable bucket versioning or cancel cross-region replication.
|
409 Conflict
|
OperationAborted
|
-A conflicting operation is being performed on this resource. Retry later.
+ | A conflicting operation is being performed on this resource. Retry later.
|
-Try again later.
+ | Try again later.
|
409 Conflict
|
ServiceNotSupported
|
-The request method is not supported by the server.
+ | The request method is not supported by the server.
|
-Contact technical support.
+ | Contact technical support.
|
409 ObjectNotAppendable
|
ObjectNotAppendable
|
-The object is not appendable.
+ | The object is not appendable.
|
-Check the bucket type. Parallel file systems do not support append upload. Check the object type. Cold objects are not appendable.
+ | Check the bucket type. Parallel file systems do not support append upload. Check the object type. Cold objects are not appendable.
|
411 Length Required
|
MissingContentLength
|
-The HTTP header Content-Length is not provided.
+ | The HTTP header Content-Length is not provided.
|
-Provide the Content-Length header.
+ | Provide the Content-Length header.
|
412 Precondition Failed
|
PreconditionFailed
|
-At least one of the specified preconditions is not met.
+ | At least one of the specified preconditions is not met.
|
-Modify according to the condition prompt in the returned message body.
+ | Modify according to the condition prompt in the returned message body.
|
414 URI Too Long
|
Request-URI Too Large
|
-The URI used in the request was too long.
+ | The URI used in the request was too long.
|
-Shorten the URI length.
+ | Shorten the URI length.
|
416 Client Requested Range Not Satisfiable
|
InvalidRange
|
-The requested range cannot be obtained.
+ | The requested range cannot be obtained.
|
-Retry with the correct range.
+ | Retry with the correct range.
|
500 Internal Server Error
|
InternalError
|
-An internal error occurs. Retry later.
+ | An internal error occurs. Retry later.
|
-Contact technical support.
+ | Contact technical support.
|
501 Not Implemented
|
ServiceNotImplemented
|
-The request method is not implemented by the server.
+ | The request method is not implemented by the server.
|
-Contact technical support.
+ | Contact technical support.
|
503 Service Unavailable
|
ServiceUnavailable
|
-The server is overloaded or has internal errors.
+ | The server is overloaded or has internal errors.
|
-Try later or contact technical support.
+ | Try later or contact technical support.
|
503 Service Unavailable
|
SlowDown
|
-Too frequent requests. Reduce your request frequency.
+ | Too frequent requests. Reduce your request frequency.
|
-Too frequent requests. Reduce your request frequency.
+ | Too frequent requests. Reduce your request frequency.
|
diff --git a/docs/obs/api-ref/obs_04_0116.html b/docs/obs/api-ref/obs_04_0116.html
index 1425febb..2622f1fc 100644
--- a/docs/obs/api-ref/obs_04_0116.html
+++ b/docs/obs/api-ref/obs_04_0116.html
@@ -2,7 +2,9 @@
Obtaining Access Keys (AK/SK)
When you call APIs, you need to use the AK and SK for authentication. To obtain the AK and SK, perform the following steps:
- - Log in to the console.
- Click on the login username in the upper right corner and choose My Credentials from the drop-down list.
- Choose Access Keys.
- Click Create Access Key.
- Enter the login password.
- Enter the verification code your mobile phone, or email received, and click OK.
- View the access key file that was automatically downloaded.
Keep AKs and SKs properly to prevent information leakage.
+ - Log in to the console.
- Click on the login username in the upper right corner and choose My Credentials from the drop-down list.
- Choose Access Keys.
- Click Create Access Key.
- Enter an access key description (optional) and click OK.
- Enter the verification code your mobile phone, virtual MFA device, or email received, and click OK.
This step is required only when you have enabled operation protection.
+
+ - Click Download to obtain the access key file.
Keep AKs and SKs properly to prevent information leakage.
diff --git a/docs/obs/api-ref/obs_04_0160.html b/docs/obs/api-ref/obs_04_0160.html
index f720242f..69d96a0c 100644
--- a/docs/obs/api-ref/obs_04_0160.html
+++ b/docs/obs/api-ref/obs_04_0160.html
@@ -129,35 +129,35 @@ Authorization: authorization
Object metadata
Type: XML
-Ancestor: ListBucketResult
+Parent: ListBucketResult
|
CommonPrefixes
|
Group information. If you specify a delimiter in the request, the response contains group information in CommonPrefixes.
Type: XML
-Ancestor: ListBucketResult
+Parent: ListBucketResult
|
ContinuationToken
|
Parameter ContinuationToken specified in a request
Type: string
-Ancestor: ListBucketResult
+Parent: ListBucketResult
|
KeyCount
|
Number of objects returned
Type: integer
-Ancestor: ListBucketResult
+Parent: ListBucketResult
|
NextContinuationToken
|
ContinuationToken is returned when not all the objects are listed. The next list requests can be continued with this ContinuationToken.
Type: string
-Ancestor: ListVersionsResult
+Parent: ListVersionsResult
|
StartAfter
@@ -169,84 +169,84 @@ Authorization: authorization
|
Parameter delimiter specified in a request
Type: string
-Ancestor: ListBucketResult
+Parent: ListBucketResult
|
ETag
|
Base64-encoded 128-bit MD5 digest of an object. ETag is the unique identifier of the object content. It can be used to determine whether the object content is changed. For example, if the ETag value is A when an object is uploaded, but this value has changed to B when the object is downloaded, it indicates that the object content has been changed. The ETag value is a hash of the object. The ETag reflects changes to the object content, rather than the object metadata. An uploaded object or copied object has a unique ETag after being encrypted using MD5. (If the object is encrypted on the server side, the ETag value is not the MD5 digest of the object, but the unique identifier calculated through server-side encryption.)
Type: string
-Ancestor: ListBucketResult.Contents
+Parent: ListBucketResult.Contents
|
Type
|
Object type. This parameter is returned when the object type is not Normal.
Type: string
-Ancestor: ListBucketResult.Contents
+Parent: ListBucketResult.Contents
|
ID
|
Tenant ID of the object owner
Type: string
-Ancestor: ListBucketResult.Contents.Owner
+Parent: ListBucketResult.Contents.Owner
|
IsTruncated
|
Determines whether the returned list of objects is truncated. The value true indicates that the list was truncated and false indicates that the list was not truncated.
Type: boolean
-Ancestor: ListBucketResult
+Parent: ListBucketResult
|
Key
|
Object name
Type: string
-Ancestor: ListBucketResult.Contents
+Parent: ListBucketResult.Contents
|
LastModified
|
Time (UTC) when an object was last modified
Type: date
-Ancestor: ListBucketResult.Contents
+Parent: ListBucketResult.Contents
|
MaxKeys
|
Maximum number of objects returned
Type: string
-Ancestor: ListBucketResult
+Parent: ListBucketResult
|
Name
|
Name of the requested bucket
Type: string
-Ancestor: ListBucketResult
+Parent: ListBucketResult
|
Owner
|
User information, including the domain ID and username
Type: XML
-Ancestor: ListBucketResult.Contents
+Parent: ListBucketResult.Contents
|
Prefix
|
Prefix of an object name. Only objects whose names have this prefix are listed.
Type: string
-Ancestor: ListBucketResult
+Parent: ListBucketResult
|
Size
|
Object size in bytes
Type: string
-Ancestor: ListBucketResult.Contents
+Parent: ListBucketResult.Contents
|
StorageClass
@@ -254,7 +254,7 @@ Authorization: authorization
| Storage class of an object
Type: string
Value options: STANDARD, WARM, COLD
-Ancestor: ListBucketResult.Contents
+Parent: ListBucketResult.Contents
|
diff --git a/docs/obs/api-ref/obs_04_0166.html b/docs/obs/api-ref/obs_04_0166.html
index c8429b14..bfecda21 100644
--- a/docs/obs/api-ref/obs_04_0166.html
+++ b/docs/obs/api-ref/obs_04_0166.html
@@ -72,12 +72,14 @@ Authorization: authorization
RetainUntilDate
|
-Protection period for the object. Its value is a timestamp accurate to milliseconds, for example, 1435728035000 (corresponding to 13:20:35 on July 1, 2015).
+ | Protection period for the object. The value can be a timestamp or in the ISO format.
+A timestamp must be accurate to milliseconds. For example, the timestamp for 13:20:35 on July 1, 2015 should be 1435728035000.
+A time zone is required in the ISO time format. For example, the ISO UTC time for 13:20:35 on July 1, 2015 should be 2015-07-01T13:20:35Z.
NOTE: The value of this field must be later than the current time and can be extended but not shortened.
-Type: long
-Example: 1435728035000
-Remarks: Its value is a timestamp accurate to milliseconds in Unix time.
+Type: string
+Example: 1435728035000 (a timestamp) or 2015-07-01T13:20:35Z (in the ISO format)
+Remarks: timestamp value is accurate to milliseconds in Unix time.
|
Yes
|
@@ -138,7 +140,8 @@ Content-Length: length
For other errors, see Table 2.
-Sample RequestPUT /objectname?retention HTTP/1.1
+Sample Request 1Configure the WORM protection (with the protection period specified as a timestamp) for an object.
+ PUT /objectname?retention HTTP/1.1
Host: bucketname.obs.region.example.com
Date: WED, 01 Jul 2015 02:25:05 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:75/Y4Ng1izvzc1nTGxpMXTE6ynw=
@@ -149,13 +152,32 @@ Content-Length: 157
<RetainUntilDate>1435728035000</RetainUntilDate>
</Retention>
-Sample ResponseHTTP/1.1 200 OK
+Sample Response 1HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BF260000016435CE298386946AE4C482
x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCT9W2tcvLmMJ+plfdopaD62S0npbaRUz
Date: WED, 01 Jul 2015 02:25:06 GMT
Content-Length: 0
+Sample Request 2Configure the WORM protection (with the protection period specified in the ISO format) for an object.
+ PUT /objectname?retention HTTP/1.1
+Host: bucketname.obs.region.example.com
+WED, 01 Jul 2015 02:25:06 GMT
+Authorization: OBS UDSIAMSTUBTEST043961:qWxD1d0LIT6fGT4Lp7KNUTZ+ikU=
+Content-Type: application/xml
+Content-Length: 193
+<Retention>
+ <Mode>COMPLIANCE</Mode>
+ <RetainUntilDate>2015-07-01T13:20:35Z</RetainUntilDate>
+</Retention>
+
+Sample Response 2HTTP/1.1 200 OK
+Server: OBS
+x-obs-request-id: 0000018E3CC039E75306D1560F6A5B61
+x-obs-id-2: 32AAAUgAIAABAAAQAAEAABAAAQAAEAABCS14XamzycaPY1tivqczu/2SI2sbVBNZ
+Date: WED, 01 Jul 2015 02:25:06 GMT
+Content-Length: 0
+
diff --git a/docs/obs/api-ref/obs_04_0167.html b/docs/obs/api-ref/obs_04_0167.html
index 261ee4c0..d4358230 100644
--- a/docs/obs/api-ref/obs_04_0167.html
+++ b/docs/obs/api-ref/obs_04_0167.html
@@ -1,7 +1,7 @@
Configuring a Default WORM Policy for a Bucket
- FunctionsThis operation enables WORM for a bucket and allows you to configure the default WORM policy and a retention period.
+ FunctionsThis operation allows you to configure the default WORM policy and a retention period for a bucket.
With the bucket's default WORM policy, if you do not specify a WORM policy or a retention period when you upload an object to the bucket, the default policy will be automatically applied to the newly uploaded object. In an object-level WORM policy, a specific date is required to make the object protected before the date. In the default bucket-level WORM policy, a retention period is required, and the protection for an object starts when the object is uploaded to the bucket.
To perform this operation, you must have the PutBucketObjectLockConfiguration permission. The bucket owner can perform this operation by default and can grant this permission to others by using a bucket policy or a user policy.
- You can modify or even delete the default WORM policy of a bucket. The change applies only to the objects uploaded after the change, but not to those uploaded before.
- During a multipart upload, the object parts uploaded are not protected before they are assembled. After object parts are assembled, the new object is protected by the default bucket-level WORM policy. You can also configure an object-level WORM policy for the new object.
- You can also configure an object-level WORM policy when initializing a multipart upload or for an already assembled multipart object.
---|
---|
| | |
|
|
|
|
|
|
|
|
---|
|
---|
|
|
---|
|
---|
|
---|
|
---|
|
|
| |
---|
|
---|
| |
---|