开发者社区> 问答> 正文

OSS如何通过sdk获取object的签名URL

已解决

展开
收起
游客tlrb24bn3ce4c 2018-04-25 05:42:02 3250 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    详细解答可以参考官方帮助文档

     

    1)  Javasdk:

       Date expiration = new Date(new Date().getTime() + 3600 * 1000);// 生成URL
       URL url = client.generatePresignedUrl(bucketName, key, expiration);

    2)Phpsdk:

        $signedUrl = $ossClient->signUrl($bucket, $object, $timeout);

    3)Pythonsdk:在URL中实现签名,必须至少包含Signature,Expires,OSSAccessKeyId三个参数

         h = hmac.new("OtxrzxIsfpFjA7SwPzILwy8Bw21TLhquhboDYROV",

                 "GET\n\n\n1141889120\n/oss-example/oss-api.pdf",

                 sha)

         urllib.quote_plus (base64.encodestring(h.digest()).strip())

     

    或者

       auth = oss2.Auth('您的AccessKeyId', '您的AccessKeySecret')
       bucket = oss2.Bucket(auth, '您的Endpoint', '您的Bucket名')
       print(bucket.sign_url('GET', 'object-in-bucket.txt', 60))

    4)Androidsdk:

        String url = oss.presignConstrainedObjectURL("<bucketName>", "<objectKey>", 30 * 60);

    5) IOSsdk:

        NSString * constrainURL = nil;// sign constrain url

        OSSTask * task = [client presignConstrainURLWithBucketName:@"<bucket name>"
                                                withObjectKey:@"<object key>"
                                       withExpirationInterval: 30 * 60];

         if (!task.error) {
              constrainURL = task.result;

           } else {    

               NSLog(@"error: %@", task.error);
           }

    6)  osscmd:

    signurl(sign) oss://bucket/object --timeout=[timeout_seconds]

    SDK的具体代码可以参考如下链接:http://docs.aliyun.com/?spm=5176.383338.201.62.MwuAaz#/oss/sdk/java-sdk&preface

     

    如果问题还未能解决,请联系售后技术支持


     

    2018-04-29 10:47:34
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载