聰明屋視角
關注互聯網,關注技術開發,透析與分享移動互聯網行業最新動態快速搭建移動應用直傳服務
時間:2019-02-14 17:28:48 閱讀:65849次 分類:常見問題
本文主要介紹如何基于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年,經過10多年定制開發經驗,積累了大量技術儲備和定制開發經驗,率先創建安徽省內自主研發的云計算平臺,具有大數據、高并發等高強度計算能力,為眾多政府、學校、公安部門、中小企業解決數據計算與管理難題。2013年公司內部專門創建電商服務部,為企業提供全方位電商解決方案與配套服務。多次獲得國家、省市級領導接見,被國內近20家電視臺、報紙媒體爭相報道。至今,聰明屋智能科技服務過上市公司、大型國企、各類私企超800家,為多家公司提供各類政務系統、app開發定制、微信小程序開發定制、智能家居、電商系統、連鎖收銀等技術解決方案服務。同時,聰明屋智能科技在智能硬件方面、區塊鏈應用方面持續投入關注及創新。