腾讯Cos对象储存api用法教程中英图文讲解

71 篇文章 3 订阅
14 篇文章 2 订阅

Chinar blog www.chinar.xin

腾讯云 Cos api/sdk详解


本文提供全流程,中文翻译。

Chinar 的初衷是将一种简单的生活方式带给世人

使有限时间 具备无限可能

Chinar —— 心分享、心创新!

助力快速理解 Cos API 常用函数

为初学者节省宝贵的时间,避免采坑!

Chinar 教程效果:



全文高清图片,点击即可放大观看 (很多人竟然不知道)


1

Presentation —— 介绍


不扯淡,直接开始
例子+工具

举个例子

大家可以自己看下腾讯云文档,地址如下:

腾讯云官方文档


2

Head —— 文件头部信息

GetCrc64 —— 获取 Crc64码

请求文件Head返回Json信息

释义返回信息
请求状态- 200 OK
内容类型Content-Type: application/octet-stream
内容大小Content-Length: 1627
链接Connection: keep-alive
时间Date: Tue, 06 Jul 2021 02:21:32 GMT
标签ETag: “3201df8753c86b4be9cc69c046883d3c”
最后修改时间Last-Modified: Mon, 05 Jul 2021 09:11:22 GMT
服务器Server: tencent-cos
Crc64x-cos-hash-crc64ecma: 11771334129792675085
请求IDx-cos-request-id: NjBlM2JlMmNfODhlM2MwYl8yYzNkMF9hMTMzOGYx

提示:Ccr64 码,多次上传覆盖操作,文件的Ccr64不会更变!

举个例子

函数调用例子

/// <summary>
/// 获取 文件 Head
/// </summary>
public static void GetCrc641(string cosKey)
{
    try
    {
        HeadObjectRequest request = new HeadObjectRequest(bucket, cosKey);
        //同步执行请求
        //HeadObjectResult result = CosXml.HeadObject(request);
        //请求成功
        //Debug.Log(result.GetResultInfo());
        //var crc64 = result.responseHeaders.First(_ => _.Key.Contains("crc64ecma")).Value[0];


       //异步执行请求
       CosXml.HeadObject(request, OnSuccess, OnError);
    }
    catch (COSXML.CosException.CosClientException clientEx)
    {
        //请求失败
        Debug.Log("CosClientException: " + clientEx);
    }
    catch (COSXML.CosException.CosServerException serverEx)
    {
        //请求失败
        Debug.Log("CosServerException: " + serverEx.GetInfo());
    }
}



private static void OnSuccess(CosResult cosresult)
{
    Debug.Log(cosresult.GetResultInfo());
    var crc64 = cosresult.responseHeaders.First(_ => _.Key.Contains("crc64ecma")).Value[0];
    Debug.Log(crc64);
}


private static void OnError(CosClientException clientexception, CosServerException serverexception)
{
    Debug.Log("失败");
    Debug.Log(clientexception.Message);
    Debug.Log(serverexception.errorMessage);
}

cosresult.GetResultInfo() 返回结果

200 OK
Content-Type: application/octet-stream
Content-Length: 1627
Connection: keep-alive
Date: Tue, 06 Jul 2021 02:21:32 GMT
ETag: "3201df8753c86b4be9cc69c046883d3c"
Last-Modified: Mon, 05 Jul 2021 09:11:22 GMT
Server: tencent-cos
x-cos-hash-crc64ecma: 11771334129792675085
x-cos-request-id: NjBlM2JlMmNfZDM1NDAwYl8yNGJjZl84YzgyOWYy
11771334129792675085

2

Download Result —— 请求下载信息

result —— 请求下载结果

var result = await transferManager.DownloadAsync(downloadTask);
请求下载文件,result 提供的可访问

先来看下 返回的Json样子

{
    "QD_Hub": {
        "__type": "COSXML.Transfer.COSXMLDownloadTask+DownloadTaskResult,COSXML",
        "value": {
            "eTag": "\"9454ae6eb0c6ad77e93a95074ba29266\"",
            "httpCode": 200,
            "httpMessage": "OK",
            "responseHeaders": {
                "Accept-Ranges": [
                    "bytes"
                ],
                "Connection": [
                    "keep-alive"
                ],
                "Content-Length": [
                    "693680"
                ],
                "Content-Type": [
                    "application/x-msdownload"
                ],
                "Date": [
                    "Fri, 05 Nov 2021 07:53:27 GMT"
                ],
                "ETag": [
                    "\"9454ae6eb0c6ad77e93a95074ba29266\""
                ],
                "Last-Modified": [
                    "Fri, 05 Nov 2021 07:39:50 GMT"
                ],
                "Server": [
                    "tencent-cos"
                ],
                "x-cos-hash-crc64ecma": [
                    "14847455327140825353"
                ],
                "x-cos-request-id": [
                    "NjE4NGUyZjZfODgxNDZiMGJfMjA1YmVfNDQxYWZhNg=="
                ],
                "x-cos-server-side-encryption": [
                    "AES256"
                ]
            }
        }
    }
}

举个例子


3

FunctionResponse —— 函数响应-信息类

调用云函数后,返回 FunctionResponse 对象,从中获取函数执行信息。

成功,返回结果↓

代码释义返回信息
Data数据{ "id": "8937eaa9614d37430d75da4811199d55","requestId": "2566b330e5fb9-17c159fe05e_1"}
Message消息Null
Code信息码Null
RequestId请求IDdcf19bf1-1cde-11ec-ba91-b6cd4b517051

失败:返回原因↓

举个例子

函数调用例子

/// <summary>
/// 添加 文档/记录
/// </summary>
public static async Task<FunctionResponse> AddDoc<T>(string CollectionName, T data)
{
    var              param = new Dictionary<string, dynamic> {{"CollectionName", CollectionName}, {"Datas", data}};
    FunctionResponse res   = await Cb.Function.CallFunctionAsync("Chinar_AddDatas", param);
    if (res.Code == null)
    {
        Chinar.Print($"记录[{data}]创建成功-【{CollectionName}】");
    }
    else
    {
        Chinar.PrintR($"记录[{data}]创建失败-【{CollectionName}】");
    }
    Debug.Log(res.Data);
    Debug.Log(res.Message);
    Debug.Log(res.Code);
    Debug.Log(res.RequestId);
    return res;
}

打印返回结果

{
  "id": "8937eaa9614d37430d75da4811199d55",
  "requestId": "2566b330e5fb9-17c159fe05e_1"
}

Null

Null

dcf19bf1-1cde-11ec-ba91-b6cd4b517051

4

Cloud Function —— 云函数

云函数创建

举个例子

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

配置
package.json

{
    "name": "app",
    "version": "1.0.0",
    "description": "",
    "main": "index.js",
    "scripts": {},
    "author": "",
    "license": "ISC",
    "dependencies": {
        "@cloudbase/node-sdk": "latest"
    }
}

云函数

const cloudbase = require("@cloudbase/node-sdk");
const app = cloudbase.init({ env: "你的环境ID"});
const db = app.database();
exports.main = async (event, context) => 
{
    let {CollectionName, Datas} = event
    const res = await db.collection(CollectionName).add(Datas)
    return res; 
};

官方文档 physicsScene.Simulate( )


支持

May Be —— 开发者,总有一天要做的事!


拥有自己的服务器,无需再找攻略

Chinar 提供一站式《零》基础教程

使有限时间 具备无限可能!

先点击领取 —— 阿里全产品优惠券 (享受最低优惠)


Chinar 免费服务器、建站教程全攻略!( Chinar Blog )


Chinar

END

本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究

对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com

对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值