Creating a Signed URL
API Description
You can use this API to generate a URL whose Query parameter is carried with authentication information, by specifying the AK and SK, HTTP method, and request parameter. You can use a signed URL to perform specific operations on OBS.
Method Definition
ObsClient.createSignedUrlSync
Request Parameter
|
Field |
Type |
Optional or Mandatory |
Description |
|---|---|---|---|
|
Method |
String |
Mandatory |
HTTP method. Possible values are:
|
|
Bucket |
String |
Optional |
Bucket name |
|
Key |
String |
Optional |
Object name |
|
SpecialParam |
String |
Optional |
Special operator, which indicates the sub-resource to be operated. Possible values are:
|
|
Expires |
Number |
Optional |
Expiration time of the signed URL, in seconds. The default value is 300. |
|
Headers |
Object |
Optional |
Headers in the request |
|
QueryParams |
Object |
Optional |
Query parameters in the request |
Returned Result
|
Field |
Type |
Description |
|---|---|---|
|
SignedUrl |
String |
Signed URL |
|
ActualSignedRequestHeaders |
Object |
Actual headers in the request initiated by using the signed URL |
Sample Code
// Generate a signed URL for creating a bucket.
var createBucketResult = obsClient.createSignedUrlSync({Method : 'PUT', Bucket : 'bucketname'});
console.log('SignedUrl-->' + createBucketResult['SignedUrl']);
console.log('ActualSignedRequestHeaders-->' + JSON.stringify(createBucketResult['ActualSignedRequestHeaders']));
// Generate a signed URL for uploading an object.
var putObjectResult = obsClient.createSignedUrlSync({Method : 'PUT', Bucket : 'bucketname', Key : 'objectkey', Headers : {'Content-Type' : 'text/plain'}});
console.log('SignedUrl-->' + putObjectResult['SignedUrl']);
console.log('ActualSignedRequestHeaders-->' + JSON.stringify(putObjectResult['ActualSignedRequestHeaders']));
// Generate a signed URL for setting an object ACL.
var setObjectAclResult = obsClient.createSignedUrlSync({Method : 'PUT', Bucket : 'bucketname', Key : 'objectkey', SpecialParam: 'acl', Headers: {'x-obs-acl' : 'public-read'}});
console.log('SignedUrl-->' + setObjectAclResult['SignedUrl']);
console.log('ActualSignedRequestHeaders-->' + JSON.stringify(setObjectAclResult['ActualSignedRequestHeaders']));
// Generate a signed URL for downloading an object.
var getObjectResult = obsClient.createSignedUrlSync({Method : 'GET', Bucket : 'bucketname', Key : 'objectkey'});
console.log('SignedUrl-->' + getObjectResult['SignedUrl']);
console.log('ActualSignedRequestHeaders-->' + JSON.stringify(getObjectResult['ActualSignedRequestHeaders']));
// Generate a signed URL for deleting an object.
var deleteObjectResult = obsClient.createSignedUrlSync({Method : 'DELETE', Bucket : 'bucketname', Key : 'objectkey'});
console.log('SignedUrl-->' + deleteObjectResult['SignedUrl']);
console.log('ActualSignedRequestHeaders-->' + JSON.stringify(deleteObjectResult['ActualSignedRequestHeaders']));
// Generate a signed URL for deleting a bucket.
var deleteBucketResult = obsClient.createSignedUrlSync({Method : 'DELETE', Bucket : 'bucketname'});
console.log('SignedUrl-->' + deleteBucketResult['SignedUrl']);
console.log('ActualSignedRequestHeaders-->' + JSON.stringify(deleteBucketResult['ActualSignedRequestHeaders']));
Last Article: Other APIs
Next Article: Generating Browser-Based Upload Parameters with Authentication Information
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.