廣豐視角
關(guān)注互聯(lián)網(wǎng),關(guān)注技術(shù)開發(fā),透析與分享移動互聯(lián)網(wǎng)行業(yè)最新動態(tài)快速搭建移動應(yīng)用直傳服務(wù)
時間:2019-02-14 17:28:48 閱讀:67295次 分類:常見問題
本文主要介紹如何基于STS Policy的使用規(guī)則在30分鐘內(nèi)搭建一個移動應(yīng)用數(shù)據(jù)直傳服務(wù)。直傳指的是移動應(yīng)用數(shù)據(jù)的上傳和下載直接連接OSS,只有控制流連接自己的服務(wù)器。
在移動互聯(lián)的時代,手機app上傳的數(shù)據(jù)越來越多。作為開發(fā)者,您可以利用OSS處理各種數(shù)據(jù)存儲需求,從而更加專注于自己的應(yīng)用邏輯。
您可以通過此移動應(yīng)用上傳圖片到OSS。上傳的方法支持普通上傳和斷點續(xù)傳上傳。在網(wǎng)絡(luò)環(huán)境差的情況下,推薦使用斷點續(xù)傳上傳。您還可以利用圖片處理服務(wù),對要上傳的圖片進行縮略和加水印處理。示例應(yīng)用的最終效果圖如下:
實現(xiàn)步驟如下:
以下介紹應(yīng)用服務(wù)器如何生成Token以及Android/iOS移動應(yīng)用如何獲取Token。
{ "AccessKeyID" : "", "AccessKeySecret" : "", "RoleArn" : "", "TokenExpireTime" : "900", "PolicyFile": "policy/all_policy.txt" }
代碼示例中提供了三種最常用的Token權(quán)限文件,位于policy目錄下面。分別是:
返回的數(shù)據(jù)格式解析如下:
//正確返回 { "StatusCode":200, "AccessKeyId":"STS.3p***dgagdasdg", "AccessKeySecret":"rpnwO9***tGdrddgsR2YrTtI", "SecurityToken":"CAES+wMIARKAAZhjH0EUOIhJMQBMjRywXq7MQ/cjLYg80Aho1ek0Jm63XMhr9Oc5s˙?˙?3qaPer8p1YaX1NTDiCFZWFkvlHf1pQhuxfKBc+mRR9KAbHUefqH+rdjZqjTF7p2m1wJXP8S6k+G2MpHrUe6TYBkJ43GhhTVFMuM3BZajY3VjZWOXBIODRIR1FKZjIiEjMzMzE0MjY0NzM5MTE4NjkxMSoLY2xpZGSSDgSDGAGESGTETqOio6c2RrLWRlbW8vKgoUYWNzOm9zczoqOio6c2RrLWRlbW9KEDExNDg5MzAxMDcyNDY4MThSBTI2ODQyWg9Bc3N1bWVkUm9sZVVzZXJgAGoSMzMzMTQyNjQ3MzkxMTg2OTExcglzZGstZGVtbzI=", "Expiration":"2017-12-12T07:49:09Z",
} //錯誤返回 { "StatusCode":500, "ErrorCode":"InvalidAccessKeyId.NotFound", "ErrorMessage":"Specified access key is not found." }
http://abc.com:8080
,將示例程序里面的應(yīng)用服務(wù)器修改成上述地址。
OSS初始化的代碼解析如下:
// 推薦使用OSSAuthCredentialsProvider,token過期后會自動刷新。 String stsServer = "應(yīng)用服務(wù)器地址,例如http://abc.com:8080" OSSCredentialProvider credentialProvider = new OSSAuthCredentialsProvider(stsServer); //config ClientConfiguration conf = new ClientConfiguration();
conf.setConnectionTimeout(15 * 1000); // 連接超時時間,默認15秒 conf.setSocketTimeout(15 * 1000); // Socket超時時間,默認15秒 conf.setMaxConcurrentRequest(5); // 最大并發(fā)請求數(shù),默認5個 conf.setMaxErrorRetry(2); // 失敗后最大重試次數(shù),默認2次 OSS oss = new OSSClient(getApplicationContext(), endpoint, credentialProvider, conf);
OSSClient * client;
...
// 推薦使用OSSAuthCredentialProvider,token過期后會自動刷新。
id<OSSCredentialProvider> credential = [[OSSAuthCredentialProvider alloc] initWithAuthServerUrl:@"應(yīng)用服務(wù)器地址,例如http://abc.com:8080"];
client = [[OSSClient alloc] initWithEndpoint:endPoint credentialProvider:credential];
蕪湖廣豐軟件有限公司(原中江網(wǎng)絡(luò)),成立于2005年,經(jīng)過10多年定制開發(fā)經(jīng)驗,積累了大量技術(shù)儲備和定制開發(fā)經(jīng)驗,是一家集軟件研發(fā)、互聯(lián)網(wǎng)應(yīng)用為一體的綜合信息技術(shù)服務(wù)提供商。公司擁有核心的策劃團隊和專業(yè)的技術(shù)研發(fā)團隊,致力于采用領(lǐng)先的信息技術(shù),長期為涉及智慧園區(qū)/廠區(qū)/校園領(lǐng)域的各個企業(yè)提供快速、高效、安全的信息技術(shù)支持。公司立足智慧園區(qū)和智慧教育行業(yè),通過軟硬件的研發(fā)和互聯(lián)網(wǎng)應(yīng)用,疏通各企業(yè)間“端到端”的信息傳輸,靈活滿足智慧園區(qū)和智慧教育企業(yè)間不同用戶的需求,為其提供完善的信息化解決方案。
園區(qū)管理系統(tǒng),提供智慧園區(qū)綜合管理系統(tǒng),智慧園區(qū)設(shè)計方案咨詢,智慧園區(qū)管理系統(tǒng)、...