云樞智聯視角
關注互聯網,關注技術開發,透析與分享移動互聯網行業最新動態快速搭建移動應用直傳服務
時間:2019-02-14 17:28:48 閱讀:67486次 分類:常見問題
本文主要介紹如何基于STS Policy的使用規則在30分鐘內搭建一個移動應用數據直傳服務。直傳指的是移動應用數據的上傳和下載直接連接OSS,只有控制流連接自己的服務器。
在移動互聯的時代,手機app上傳的數據越來越多。作為開發者,您可以利用OSS處理各種數據存儲需求,從而更加專注于自己的應用邏輯。
您可以通過此移動應用上傳圖片到OSS。上傳的方法支持普通上傳和斷點續傳上傳。在網絡環境差的情況下,推薦使用斷點續傳上傳。您還可以利用圖片處理服務,對要上傳的圖片進行縮略和加水印處理。示例應用的最終效果圖如下:
實現步驟如下:
以下介紹應用服務器如何生成Token以及Android/iOS移動應用如何獲取Token。
{ "AccessKeyID" : "", "AccessKeySecret" : "", "RoleArn" : "", "TokenExpireTime" : "900", "PolicyFile": "policy/all_policy.txt" }
代碼示例中提供了三種最常用的Token權限文件,位于policy目錄下面。分別是:
返回的數據格式解析如下:
//正確返回 { "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
,將示例程序里面的應用服務器修改成上述地址。
OSS初始化的代碼解析如下:
// 推薦使用OSSAuthCredentialsProvider,token過期后會自動刷新。 String stsServer = "應用服務器地址,例如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); // 最大并發請求數,默認5個 conf.setMaxErrorRetry(2); // 失敗后最大重試次數,默認2次 OSS oss = new OSSClient(getApplicationContext(), endpoint, credentialProvider, conf);
OSSClient * client;
...
// 推薦使用OSSAuthCredentialProvider,token過期后會自動刷新。
id<OSSCredentialProvider> credential = [[OSSAuthCredentialProvider alloc] initWithAuthServerUrl:@"應用服務器地址,例如http://abc.com:8080"];
client = [[OSSClient alloc] initWithEndpoint:endPoint credentialProvider:credential];
云樞智聯(海南)信息技術有限公司(原中江網絡),成立于2005年,經過20多年定制開發經驗,積累了大量技術儲備和定制開發經驗,是一家集軟件研發、互聯網應用為一體的綜合信息技術服務提供商。公司擁有核心的策劃團隊和專業的技術研發團隊,致力于采用領先的信息技術,長期為涉及智慧園區/廠區/校園領域的各個企業提供快速、高效、安全的信息技術支持。公司立足智慧園區和智慧教育行業,通過軟硬件的研發和互聯網應用,疏通各企業間“端到端”的信息傳輸,靈活滿足智慧園區和智慧教育企業間不同用戶的需求,為其提供完善的信息化解決方案。
園區管理系統,提供智慧園區綜合管理系統,智慧園區設計方案咨詢,智慧園區管理系統、...