tencent cloud

Feedback

Generating a Pre-Signed URL

Last updated: 2024-02-02 14:40:45

    Overview

    This document provides an overview of SDK code samples related to generating pre-signed object URLs.
    For details about how to use a pre-signed URL for uploads, see Upload via Pre-Signed URL. For details about how to use a pre-signed URL for downloads, see Download via Pre-Signed URL.
    Note:
    To learn about signature rules, see Request Signature.
    You are advised to use a temporary key to generate pre-signed URLs for the security of your requests such as uploads and downloads. When you apply for a temporary key, follow the Principle of Least Privilege to avoid leaking resources besides your buckets and objects.
    If you need to use a permanent key to generate a pre-signed URL, you are advised to limit the permission of the permanent key to uploads and downloads only to avoid risks.

    Generating a Pre-Signed URL for Downloading Objects

    Feature description

    This API is used to generate a pre-signed URL for downloading COS objects.

    Sample code

    // Bucket name in the format of `BucketName-APPID` (`APPID` is required), which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket.
    String bucket = "examplebucket-1250000000";
    // The location of the object in the bucket, i.e., the object key
    String cosPath = "exampleobject";
    HashMap<String, String> parameters = HashMap();
    parameters["test1k"] = "test1v";
    parameters["test2k"] = "test2v";
    try {
    // Get a pre-signed URL for downloading objects
    String objectUrl = await Cos().getDefaultService().getPresignedUrl(
    bucket,
    cosPath,
    parameters: parameters
    );
    } catch (e) {
    // An exception will be reported in case of failure. Process the business logic accordingly.
    print(e);
    }

    Parameter description

    Parameter
    Description
    Type
    Required
    bucket
    Bucket name, formatted as BucketName-APPID. For more information, see Bucket Overview.
    String
    Yes
    cosPath
    Object key, the unique identifier of an object in a bucket. For example, if the object endpoint is examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/picture.jpg, its object key is doc/picture.jpg
    String
    Yes
    signValidTime
    Signature validity period, in seconds. Note that this is the signature validity period. You need to ensure the key validity period by yourself.
    Int
    No
    signHost
    Whether to include the Host header in the signature. You can choose not to include it, but the request may fail or vulnerabilities may occur.
    Bool
    No
    parameters
    HTTP request parameters, which should be the same as those passed to the actual request. This can prevent users from tampering with the HTTP request parameters.
    Map
    No

    Response description

    Success: A pre-signed URL for downloading objects is returned.
    Failure: An error occurs (such as authentication failure), with a CosXmlClientException or CosXmlServiceException exception reported. For more information, see Troubleshooting.
    Contact Us

    Contact our sales team or business advisors to help your business.

    Technical Support

    Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

    7x24 Phone Support