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 |
Crc64 | x-cos-hash-crc64ecma: 11771334129792675085 |
请求ID | x-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 | 请求ID | dcf19bf1-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;
};
支持
May Be —— 开发者,总有一天要做的事!
Chinar 提供一站式《零》基础教程 使有限时间 具备无限可能! |
Chinar 免费服务器、建站教程全攻略!( Chinar Blog )


本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究
对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com
对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址