日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

更正文檔

概述

OSS也叫對象存儲服務(Object Storage Service),是阿里云提供的一種存儲服務,隨著智能設備越來越普及,越來越多終端的內(nèi)容需要存儲在云端,例如錄音留言,照片、視頻、文件日志等等。下面介紹幾個OSS中的概念,后面在開發(fā)的過程中會用到

  • 存儲空間(Bucket)存儲空間是您用于存儲對象(Object)的容器,所有的對象都必須隸屬于某個存儲空間。存儲空間具有各種配置屬性,包括地域、訪問權限、存儲類型等。您可以根據(jù)實際需求,創(chuàng)建不同類型的存儲空間來存儲不同的數(shù)據(jù)。

  • 對象(Object)對象是OSS存儲數(shù)據(jù)的基本單元,也被稱為OSS的文件。對象由元信息(Object Meta)、用戶數(shù)據(jù)(Data)和文件名(Key)組成。對象由存儲空間內(nèi)部唯一的Key來標識。對象元信息是一組鍵值對,表示了對象的一些屬性,例如最后修改時間、大小等信息,同時您也可以在元信息中存儲一些自定義的信息。

  • 訪問域名(Endpoint)Endpoint表示OSS對外服務的訪問域名。OSS以HTTP RESTful API的形式對外提供服務,當訪問不同地域的時候,需要不同的域名。通過內(nèi)網(wǎng)和外網(wǎng)訪問同一個地域所需要的域名也是不同的。

  • 訪問密鑰(AccessKey)AccessKey簡稱AK,指的是訪問身份驗證中用到的AccessKey Id和AccessKey Secret。OSS通過使用AccessKey Id和AccessKey Secret對稱加密的方法來驗證某個請求的發(fā)送者身份。AccessKey Id用于標識用戶;AccessKey Secret是用戶用于加密簽名字符串和OSS用來驗證簽名字符串的密鑰,必須保密。

版權信息

Apache license v2.0

目錄結構

├── src
│   ├── auth/*.cc               # 證書認證相關實現(xiàn)函數(shù)
│   ├── client/*.cc             # 客戶端設備核心邏輯實現(xiàn)函數(shù)
│   ├── encryption/*.cc         # 加密安全相關部分
│   ├── external                  
│   │   ├── json/*.cc           # json相關的函數(shù)
│   │   └── tinyxml2/*.cc       # tinyxml2網(wǎng)絡資源
│   ├── http/*.cc               # http相關的網(wǎng)絡函數(shù)
│   ├── model/*.cc              # OSS模型相關的網(wǎng)絡函數(shù)
│   ├── utils/*.cc              # OSS組件資源通用部分
│   ├── resumable/*.cc          # 相關恢復邏輯
│   └── *.cc                    # 其他部分
├── include/alibabacloud/oss
│   ├── auth/*.h                # 證書認證相關頭文件
│   ├── client/*.h              # 客戶端設備核心邏輯頭文件
│   ├── encryption/*.h          # 加密安全相關頭文件
│   ├── http/*.h                # http相關的函數(shù)頭文件
│   ├── model/*.h               # OSS模型相關的網(wǎng)絡函數(shù)頭文件
│   ├── utils/*.h               # OSS組件資源通用部分頭文件
│   └── *.h                     # 其他頭文件
├── package.yaml                # 編譯配置文件
└── example
    └── oss_example.c           # OSS測試代碼

依賴組件

  • haas100

  • mbedtls

  • cplusplus

  • fatfs

常用配置

系統(tǒng)中相關配置已有默認值,如需修改配置,統(tǒng)一在package.yaml修改,具體如下:

選擇使用CRYPTO MBEDTLS加密方式

USE_CRYPTO_MBEDTLS: 1

選擇使用POSIX API的timer接口

USE_AOS_TIME_POSIX_API: 1

選擇支持讀取SD上傳文件,READ_SD_SIZE_MAX可以配置最大讀取的文件大小,默認15KB

USE_SD_FOR_OSS: 1
READ_SD_SIZE_MAX: 1024*15

API說明

在使用OSS組件之前,開發(fā)者需要從阿里云平臺購買OSS服務獲取,在oss_example.c中替換即可。

重要

阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。

請妥善保管好您的AccessKey信息。強烈建議不要將AccessKey ID和AccessKey Secret保存到工程代碼里或者任何容易被泄露的地方,AccessKey泄露會威脅您賬號下所有資源的安全。

// 填入阿里云平臺生成的 AccessKeyID 以及 AccessKeySecret
// getAccessKeyID()和getAccessKeySecret()方法的實現(xiàn),可以通過
// 從kv中讀取或者從文件中讀取都可以,不建議明文寫在代碼中
char AccessKey_ID[] = getAccessKeyID();
char AccessKey_Secret[] = getAccessKeySecret();
char Endpoint[] = "End point";
char Bucket[] = "Bucket";

OSS上傳本地文件的API接口

--------------------------------------------------
--     keyId --> 身份驗證AccessKey Id            --
--     keySecret --> 身份驗證AccessKey Secret    --
--     endPoint --> OSS對外服務的訪問域名          --
--     bucketName --> 存儲空間                   --
--     localfilepath --> 本地文件路徑             --
--------------------------------------------------
char* oss_upload_local_file(char *keyId, 
                            char *keySecret, 
                            char *endPoint, 
                            char *bucketName, 
                            char* localfilepath);

OSS上傳本地字符內(nèi)容API接口

--------------------------------------------------
--     keyId --> 身份驗證AccessKey Id            --
--     keySecret --> 身份驗證AccessKey Secret    --
--     endPoint --> OSS對外服務的訪問域名          --
--     bucketName --> 存儲空間                   --
--     scontent --> 本地字符內(nèi)容                  --
--------------------------------------------------
char* oss_upload_local_content(char *keyId, 
                               char *keySecret, 
                               char *endPoint, 
                               char *bucketName, 
                               char *scontent);

使用示例

組件使用示例相關的代碼下載、編譯和固件燒錄均依賴AliOS Things配套的開發(fā)工具,所以首先需要參考《AliOS Things集成開發(fā)環(huán)境使用說明之搭建開發(fā)環(huán)境》,下載安裝。待開發(fā)環(huán)境搭建完成后,可以按照以下步驟進行示例的測試。

步驟1 創(chuàng)建或打開工程

打開已有工程

如果用于測試的案例工程已存在,可參考《AliOS Things集成開發(fā)環(huán)境使用說明之打開工程》打開已有工程。

創(chuàng)建新的工程

組件的示例代碼可以通過編譯鏈接到AliOS Things的任意案例(solution)來運行,這里選擇helloworld_demo案例。helloworld_demo案例相關的源代碼下載可參考《AliOS Things集成開發(fā)環(huán)境使用說明之創(chuàng)建工程》

步驟2 添加組件

案例下載完成后,需要在helloworld_demo組件的package.yaml中添加對組件的依賴:

depends:
  - linksdk: dev_aos
  - mbedtls: dev_aos
  - netmgr: dev_aos
  - oss: dev_aos

步驟3 下載組件

在已安裝了的開發(fā)環(huán)境工具欄中,選擇Terminal -> New Terminal啟動終端,并且默認工作路徑為當前工程的workspace,此時在終端命令行中輸入:

aos install oss

上述命令執(zhí)行成功后,組件源碼則被下載到了./components/oss路徑中。

步驟4 添加示例

OSS組件的package.yaml中添加example示例代碼

source_file:
  - example/oss_example.c

helloworld.c中添加網(wǎng)絡相關部分,因為OSS依賴網(wǎng)絡的連接

#include <stdio.h>
#include <stdlib.h>
#include <aos/errno.h>
#include <aos/kernel.h>
#include "aos/init.h"
#include "board.h"
#include <k_api.h>

//添加網(wǎng)絡
#include "netmgr.h"
#include <uservice/uservice.h>
#include <uservice/eventid.h>

int application_start(int argc, char *argv[])
{
    int count = 0;

    printf("nano entry here!\r\n");
    aos_set_log_level(AOS_LL_DEBUG);
    event_service_init(NULL);
    netmgr_service_init(NULL); //添加網(wǎng)絡

    while(1) {
        aos_msleep(1000);
    };
}

步驟5 編譯固件

在示例代碼已經(jīng)添加至組件的配置文件,并且helloworld_demo已添加了對該組件的依賴后,就可以編譯helloworld_demo案例來生成固件了,具體編譯方法可參考《AliOS Things集成開發(fā)環(huán)境使用說明之編譯固件》

步驟6 燒錄固件

helloworld_demo案例的固件生成后,可參考《AliOS Things集成開發(fā)環(huán)境使用說明之燒錄固件》來燒錄固件。

步驟7 打開串口

固件燒錄完成后,可以通過串口查看示例的運行結果,打開串口的具體方法可參考《AliOS Things集成開發(fā)環(huán)境使用說明之查看日志》

當串口終端打開成功后,可在串口中輸入help來查看已添加的測試命令。

步驟8 測試示例

CLI命令行輸入:網(wǎng)絡連接:

netmgr -t wifi -c SSID PWD

CLI關鍵日志:

[  41.977]<I>WIFI_SERVICE set sntp server:1.cn.pool.ntp.org successfully
[  41.977]<I>WIFI_SERVICE sntp config servadd end.
[  42.231]<I>WIFI_SERVICE [sntp] OK: sec 1616747078 usec 875314

CLI命令行輸入:測試OSS上傳本地字符內(nèi)容

oss_test 0 hello_oss  # 上傳本地內(nèi)容,例如hello_oss到oss系統(tǒng)中

CLI關鍵日志:

oss upload begin 0...
objectfile_path:oss/test/oss.txt
----- time 1616747084 ---------
read
ProgressCallback[0] => 9 ,9,9
read
ProgressCallback[0] => 0 ,9,9
[makeRequest]response_code: 200
oss ->url:http://xxxxxxxxxx.xxxxxx
oss_upload_local_content success, ETag:ED9BE43B38DDC1254170BEBCA4046368
oss upload end !!!

CLI命令行輸入:測試OSS上傳本地文件

oss_test 1 /sdcard/oss.txt  # 上傳本地文件,例如SD卡讀取oss.txt上傳

CLI關鍵日志:

oss upload begin 1...
objectfile_path:sdcard/oss.txt
localfile_path:/sdcard/oss.txt
[ 106.852]<A>AOS open file /sdcard/oss.txt
[ 106.854]<A>AOS SD open file size <51>.
----- time 1616747022 ---------
oss ->url:http://xxxxxxxxxx.xxxxxxxxxx
oss_upload_local_file success, ETag:22065065146EAA25CFB9FF5E774DD1C9
oss upload end !!!

FAQ

Q1: OSS本組件依賴網(wǎng)絡嗎?

答:是的,OSS組件只有在網(wǎng)絡正常的時候才可以使用。