Laravel 获取腾讯云COS临时密钥

目录

1.添加腾讯云SDK 

2.创建控制器 

3.在控制器中引入SDK包并初始化 

参数配置字段说明:

返回值字段详情:

4.创建路由并调用控制器方法

返回数据示例:


1.添加腾讯云SDK 

在composer.json文件添加腾讯云sdk包,内容如下:

{
    "require":{
        "qcloud_sts/qcloud-sts-sdk": "3.0.*"
    }
}

然后在 Terminal 或者 命令行 输入:

composer require qcloud-sdk/qcloud-sts-sdk

如果安装失败则换成这个命令:

composer install

2.创建控制器 

执行此命令

php artisan make:controller CosStsController

3.在控制器中引入SDK包并初始化 

<?php

namespace App\Http\Controllers;

use QCloud\COSSTS\Sts;  //引入SDK包

class CosStsController extends Controller
{
    //腾讯云cos上传临时密钥
    public function getTempKeys()
    {
        //初始化SDK包
        $sts = new Sts();
        //配置
        $config = [
            'url' => 'https://sts.tencentcloudapi.com/',
            'domain' => 'sts.tencentcloudapi.com',
            'secretId' => 'yourSecretId', // 替换为您的 SecretId
            'secretKey' => 'yourSecretKey', // 替换为您的 SecretKey
            'bucket' => 'yourBucket', // 替换为您的 bucket
            'region' => 'ap-guangzhou', // 替换为您的 bucket 所在地区
            'durationSeconds' => 1800, // 密钥有效期,单位/秒,默认半小时
            'allowPrefix' => '*', // 临时密钥允许的前缀
            'allowActions' => ['name/cos:*'] // 临时密钥允许的操作列表
        ];
        // 传入配置获取cos临时密钥
        $result = $sts->getTempKeys($config);
        return $result;
    }
}

参数配置字段说明:

返回值字段详情:


4.创建路由并调用控制器方法

Route::post('cos/getTempKeys',[\App\Http\Controllers\CosStsController::class,'getTempKeys']);

返回数据示例:

{
	"expiredTime": 1589258683,
	"expiration": "2020-05-12T04:44:43Z",
	"credentials": {
		"sessionToken": "Biypn6exa48PpMe7wFerEnNMpBKKPQo180c57e0a5275ebae506d7851a85f36a4P0TV5UFR3FYJjsoZA1tk6uRKoDRzc6-60BmwLqdS75OhjHEa7GlVYpL_ofKQJTpPKziKX7FnI10D_6qtLdjzf2NdsyUtQEd5kPpDCOQJZn9-BpleqWQe8oyH_2u7xi2f0FtjCYaoGIZ_lUqlILXQwr0B0t3hLfL4xNE-EmVjUlUXa16HxVCn4_hJetqo9LmI0AgLOjCbYx9aVrsV10eDsRta-TQSIXmJNP3aJ6oz8d8GBTgTE1I2qSFDnv9pjtQKW8HZWI_glPIfmHXCCwAESxEFL_owGz839Va0qYhF6LkfVmsuoU1zNcvJR1w3cIE6izV3SKHaOtWaew3IOervuOPoN3S2oYGNwv2EavtDAWyUBIeI7X6nMVzlpnyJ-3bkIhOq9QVIQAs8wh5A0u9mvKWugT5t6qgyEgvEZSj9k6p-JjwxMgLC6s5uK1i_nnf4fN7ZQ6I-JAfHnH4jEDiVtJgXqfuWPX_vnzskyR2Co6E",
		"tmpSecretId": "AKIDTRPc-oe6c_avPSRwFVsPDyy3IoAr3szMajlOGuoEXY1232YLy6j4f-xZ5zL-NBMG",
		"tmpSecretKey": "2v29SZztGYk6SGwHYm\/chJXdD3zPRFasmPoJiCmlR\/I="
	},
	"requestId": "69ef6295-b981-464d-9816-9c2ef92189d1",
	"startTime": 1589256883
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你好!要在Python中使用腾讯云COS(对象存储)服务进行上传,你可以按照以下步骤进行操作: 1. 首先,确保你已经在腾讯云上创建了COS存储桶,并获取了访问密钥(SecretId和SecretKey)。 2. 安装腾讯云COS SDK。你可以使用以下命令来安装cos-python-sdk-v5: ``` pip install -U cos-python-sdk-v5 ``` 3. 在你的Python代码中导入COS SDK并进行配置: ```python import os from qcloud_cos import CosConfig from qcloud_cos import CosS3Client # 配置腾讯云COS secret_id = 'your_secret_id' secret_key = 'your_secret_key' region = 'your_bucket_region' # 存储桶所在地域,例如:ap-guangzhou token = None # 若使用临时密钥需要传入 Token,默认为空,可不填 scheme = 'https' # 使用 https 协议 # 配置 COS SDK config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme) client = CosS3Client(config) ``` 请将上述代码中的 `your_secret_id`、`your_secret_key` 和 `your_bucket_region` 替换为你的实际信息。 4. 使用以下代码将文件上传到COS中的指定存储桶: ```python # 上传文件 bucket = 'your_bucket_name' # 存储桶名称 local_file = 'path/to/local/file' # 本地文件路径 cos_file = 'path/to/cos/file' # COS文件路径 with open(local_file, 'rb') as fp: response = client.put_object( Bucket=bucket, Body=fp, Key=cos_file, StorageClass='STANDARD', EnableMD5=False ) ``` 请将上述代码中的 `your_bucket_name`、`path/to/local/file` 和 `path/to/cos/file` 替换为你的实际信息。 这样,你就可以使用Python代码将文件上传到腾讯云COS了。记得适当处理异常和错误情况,以确保上传操作的可靠性和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值