㈠ 阿里雲oss對象存儲怎麼收費
包括存儲包,下行流量包,回源流量包等等。
地域有全國通用包,國外各個地方的包。
包的大小從40G~500TB不等。
市場有半年和1年。
為了加深理解,請看阿里雲對象存儲OSS 簡單使用的內容是一步步如何選擇、使用的詳細步驟,供你參考。
還有問題請追問,看到就回答
㈡ oss上傳速度跟伺服器有關系嗎
以下代碼蔽塵使用分片上傳的方式,可有效解決,OSS文件上傳緩慢問題,但如果伺服器的寬頻過低還是會影響上傳速度,可將伺服器寬頻提高,以提升速度
1.引入POM
<!--阿里雲OSS-->
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.9.1</version>
</dependency>
1
2
3
4
5
6
7
1
2
3
4
5
6
7
2.編寫文件上傳工具類
import com.alibaba.fastjson.JSONObject;
import com.aliyun.oss.ClientBuilderConfiguration;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.*;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
/**
* 文件上傳工具類
*/
public class FilesUploadUtil {
/**
* 獲取上傳結果
* @param newFile 上傳文件
* @param folder 父級文件夾名稱
* @return 文件訪問路徑
*/
public static JSONObject obtainTheFileUploadResult(MultipartFile newFile, String folder){
JSONObject result=new JSONObject();
JSONObject data=new JSONObject();
long startTime = System.currentTimeMillis();
try {
// MultipartFile 轉 File
File file=multipartFileToFile(newFile);
//上傳文件
String[] resultArr = uploadObject2OSS(file, folder);
if (resultArr != null) {
String path = resultArr[1];
//絕對路徑,拼顫迅接CND加速域名,或自己的域名
data.put("src", "自己的公網IP".concat("/").concat(path));
//相對路徑
data.put("relativePath", path);
result.put("msg", 1);
result.put("errorMessage", null);
}
// 刪除本地臨時文件
deleteTempFile(file);
} catch (RuntimeException e) {
e.printStackTrace();
result.put("msg", 0);
result.put("errorMessage", "文件大小不能超茄並此過9.7G");
data.put("src", null);
data.put("relativePath", null);
}catch (Exception e) {
result.put("msg", 0);
result.put("errorMessage", "上傳錯誤:"+e.getMessage());
data.put("src", null);
data.put("relativePath", null);
}
result.put("data",data);
long endTime = System.currentTimeMillis();
System.out.println("------文件上傳成功,耗時" + ((endTime - startTime) / 1000) + "s------");
return result;
}
/**
* 上傳圖片至OSS 文件流
*
* @param file 上傳文件(文件全路徑如:D:\\image\\cake.jpg)
* @param folder 阿里雲API的文件夾名稱(父文件夾)
* @return String 返回的唯一MD5數字簽名
*/
public static String[] uploadObject2OSS(File file,String folder) throws Exception{
//獲取OSS客戶端對象
OSS ossClient=getOSSClient();
//OOS 桶名稱 bucketName
String bucketName="自己阿里雲的bucketName";
// 阿里OSS
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
Date date = new Date();
// 阿里雲API的文件夾名稱(子文件夾)
String format = dateFormat.format(date) + "/";
// 文件名
String formats =String.valueOf(UUID.randomUUID());
// 創建一個可重用固定線程數的線程池
ExecutorService executorService = Executors.newFixedThreadPool(5);
String[] resultArr = new String[2];
try {
// 分片上傳
folder =folder +"/"+ format;
// 文件名
String fileName = file.getName();
// 文件擴展名
String fileExtension = fileName.substring(fileName.lastIndexOf("."));
// 最終文件名:UUID + 文件擴展名
fileName = formats + fileExtension;
// 上傳路徑 如:appversion/20200723/a3662009-897c-43ea-a6d8-466ab8310c6b.apk
// objectName表示上傳文件到OSS時需要指定包含文件後綴在內的完整路徑,例如abc/efg/123.jpg
String objectName = folder + fileName;
System.out.println("文件路徑--》》"+objectName);
// 文件大小
long fileSize = file.length();
// 創建上傳Object的Metadata
ObjectMetadata metadata = new ObjectMetadata();
// 指定該Object被下載時的網頁的緩存行為
metadata.setCacheControl("no-cache");
// 指定該Object下設置Header
metadata.setHeader("Pragma", "no-cache");
// 指定該Object被下載時的內容編碼格式
metadata.setContentEncoding("utf-8");
// 文件的MIME,定義文件的類型及網頁編碼,決定瀏覽器將以什麼形式、什麼編碼讀取文件。如果用戶沒有指定則根據Key或文件名的擴展名生成,
// 如果沒有擴展名則填默認值application/octet-stream
metadata.setContentType(getContentType(fileExtension));
// 指定該Object被下載時的名稱(指示MINME用戶代理如何顯示附加的文件,打開或下載,及文件名稱)
metadata.setContentDisposition("filename/filesize=" + fileName + "/" + fileSize + "Byte.");
// 創建對象
request = new (bucketName, objectName, metadata);
// 初始化分片
InitiateMultipartUploadResult upresult = ossClient.initiateMultipartUpload(request);
// 返回uploadId,它是分片上傳事件的唯一標識,您可以根據這個uploadId發起相關的操作,如取消分片上傳、查詢分片上傳等
String uploadId = upresult.getUploadId();
// partETags是PartETag的集合。PartETag由分片的ETag和分片號組成
List<PartETag> partETags = Collections.synchronizedList(new ArrayList<>());
// 計算文件有多少個分片
final long partSize = 1 * 1024 * 1024L; // 1MB
long fileLength = file.length();
int partCount = (int) (fileLength / partSize);
if (fileLength % partSize != 0) {
partCount++;
}
if (partCount > 10000) {
throw new RuntimeException("文件過大");
}
// 遍歷分片上傳
for (int i = 0; i < partCount; i++) {
long startPos = i * partSize;
long curPartSize = (i + 1 == partCount) ? (fileLength - startPos) : partSize;
int partNumber = i + 1;
// 實現並啟動線程
executorService.execute(new Runnable() {
@Override
public void run() {
InputStream inputStream = null;
try {
inputStream = new FileInputStream(file);
// 跳過已經上傳的分片
inputStream.skip(startPos);
UploadPartRequest uploadPartRequest = new UploadPartRequest();
uploadPartRequest.setBucketName(bucketName);
uploadPartRequest.setKey(objectName);
uploadPartRequest.setUploadId(uploadId);
uploadPartRequest.setInputStream(inputStream);
// 設置分片大小。除了最後一個分片沒有大小限制,其他的分片最小為100 KB。
uploadPartRequest.setPartSize(curPartSize);
// 設置分片號。每一個上傳的分片都有一個分片號,取值范圍是1~10000,如果超出這個范圍,OSS將返回InvalidArgument的錯誤碼。
uploadPartRequest.setPartNumber(partNumber);
// 每個分片不需要按順序上傳,甚至可以在不同客戶端上傳,OSS會按照分片號排序組成完整的文件。
UploadPartResult uploadPartResult = ossClient.uploadPart(uploadPartRequest);
//每次上傳分片之後,OSS的返回結果會包含一個PartETag。PartETag將被保存到PartETags中。
synchronized (partETags) {
partETags.add(uploadPartResult.getPartETag());
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (inputStream != null) {
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
});
}
// 等待所有的分片完成
// shutdown方法:通知各個任務(Runnable)的運行結束
executorService.shutdown();
while (!executorService.isTerminated()) {
try {
// 指定的時間內所有的任務都結束的時候,返回true,反之返回false,返回false還有執行完的任務
executorService.awaitTermination(5, TimeUnit.SECONDS);
} catch (InterruptedException e) {
System.out.println(e.getMessage());
}
}
// 立即關閉所有執行中的線程
// executorService.shutdownNow();
// 驗證是否所有的分片都完成
if (partETags.size() != partCount) {
throw new IllegalStateException("文件的某些部分上傳失敗!");
}
// 完成分片上傳 進行排序。partETags必須按分片號升序排列
Collections.sort(partETags, new Comparator<PartETag>() {
@Override
public int compare(PartETag o1, PartETag o2) {
return o1.getPartNumber() - o2.getPartNumber();
}
});
// 創建對象
// 在執行完成分片上傳操作時,需要提供所有有效的partETags。OSS收到提交的partETags後,會逐一驗證每個分片的有效性。當所有的數據分片驗證通過後,OSS將把這些分片組合成一個完整的文件
= new (bucketName, objectName, uploadId, partETags);
// 設置文件訪問許可權
// .setObjectACL(CannedAccessControlList.PublicRead);
// 完成上傳
CompleteMultipartUploadResult completeMultipartUploadResult = ossClient.completeMultipartUpload();
if (completeMultipartUploadResult != null) {
// 解析結果
resultArr[0] = completeMultipartUploadResult.getETag();
resultArr[1] = objectName;
return resultArr;
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("上傳阿里雲OSS伺服器異常." + e.getMessage());
} finally {
// 關閉OSSClient
ossClient.shutdown();
}
return null;
}
/**
* MultipartFile 轉 File
*
* @param file
* @throws Exception
*/
public static File multipartFileToFile(MultipartFile file) {
try {
File toFile;
if (file != null && file.getSize() > 0) {
InputStream ins = null;
ins = file.getInputStream();
toFile = new File(file.getOriginalFilename());
inputStreamToFile(ins, toFile);
ins.close();
return toFile;
}
return null;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
/**
* 獲取流文件
*
* @param ins
* @param file
*/
public static void inputStreamToFile(InputStream ins, File file) {
try {
OutputStream os = new FileOutputStream(file);
int bytesRead;
byte[] buffer = new byte[8192];
while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
os.write(buffer, 0, bytesRead);
}
os.close();
ins.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 獲取阿里雲OSS客戶端對象
*
* @return ossClient
*/
public static OSS getOSSClient() {
ClientBuilderConfiguration conf = new ClientBuilderConfiguration();
// 連接空閑超時時間,超時則關閉
conf.setIdleConnectionTime(1000);
return new OSSClientBuilder().build("自己阿里雲的endpoint", "自己阿里雲的access_key_id", "自己阿里雲的access_key_secret", conf);
}
/**
* 獲得url鏈接
*
* @param bucketName 桶名稱
* @param key Bucket下的文件的路徑名+文件名 如:"appversion/20200723/a3662009-897c-43ea-a6d8-466ab8310c6b.apk"
* @return 圖片鏈接:http://xxxxx.oss-cn-beijing.aliyuncs.com/test/headImage/1546404670068899.jpg?Expires=1861774699&OSSAccessKeyId=****=p%2BuzEEp%2F3JzcHzm%2FtAYA9U5JM4I%3D
* (Expires=1861774699&OSSAccessKeyId=LTAISWCu15mkrjRw&Signature=p%2BuzEEp%2F3JzcHzm%2FtAYA9U5JM4I%3D 分別為:有前期、keyID、簽名)
*/
public static String getUrl(String bucketName, String key) {
// 設置URL過期時間為10年 3600L*1000*24*365*10
Date expiration = new Date(System.currentTimeMillis() + 3600L * 1000 * 24 * 365 * 10);
OSS ossClient = getOSSClient();
// 生成URL
URL url = ossClient.generatePresignedUrl(bucketName, key, expiration);
return url.toString().substring(0, url.toString().lastIndexOf("?"));
}
/**
* 刪除本地臨時文件
*
* @param file
*/
public static void deleteTempFile(File file) {
if (file != null) {
File del = new File(file.toURI());
del.delete();
}
}
/**
* 通過文件名判斷並獲取OSS服務文件上傳時文件的contentType
*
* @param fileExtension 文件名擴展名
* @return 文件的contentType
*/
public static String getContentType(String fileExtension) {
// 文件的後綴名
if (".bmp".equalsIgnoreCase(fileExtension)) {
return "image/bmp";
}
if (".gif".equalsIgnoreCase(fileExtension)) {
return "image/gif";
}
if (".jpeg".equalsIgnoreCase(fileExtension) || ".jpg".equalsIgnoreCase(fileExtension)
|| ".png".equalsIgnoreCase(fileExtension)) {
return "image/jpeg";
}
if (".html".equalsIgnoreCase(fileExtension)) {
return "text/html";
}
if (".txt".equalsIgnoreCase(fileExtension)) {
return "text/plain";
}
if (".vsd".equalsIgnoreCase(fileExtension)) {
return "application/vnd.visio";
}
if (".ppt".equalsIgnoreCase(fileExtension) || "pptx".equalsIgnoreCase(fileExtension)) {
return "application/vnd.ms-powerpoint";
}
if (".doc".equalsIgnoreCase(fileExtension) || "docx".equalsIgnoreCase(fileExtension)) {
return "application/msword";
}
if (".xml".equalsIgnoreCase(fileExtension)) {
return "text/xml";
}
if (".mp4".equalsIgnoreCase(fileExtension)) {
return "video/mp4";
}
// android
if (".apk".equalsIgnoreCase(fileExtension)) {
return "application/vnd.android.package-archive";
}
// ios
if (".ipa".equals(fileExtension)) {
return "application/vnd.iphone";
}
// 默認返回類型
return "application/octet-stream";
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
3.controller編寫
/**
* 上傳文件
*
* @param file 文件
* @return
* @throws IOException
*/
@ResponseBody
@RequestMapping(value = "/urevf", method = RequestMethod.POST, proces = "application/json;charset=UTF-8")
public JSONObject uploadRealEstateVideoFiles(@RequestParam(value = "file") MultipartFile file) throws IOException {
//此處的video_file為阿里雲OSS上最外層文件夾,自己新建即可
return FilesUploadUtil.obtainTheFileUploadResult(file, "video_file");
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
㈢ 阿里雲的高效雲盤擴容到2T就不支持擴容了!
1. 為了方便存儲日誌和轉化透傳點擊,當初選定使用mongodb。於是買了一台ECS伺服器,掛上了300GB高效雲盤,慢慢開始跑廣告業務。
2. 跑了半個月,300GB眼看不夠了,趕緊學習鞏固阿里雲的擴容linux數據盤的操作。
3. 前後擴容到800G,1.4T,最後擴容到2T。再一看,已經不讓擴容了。
4. 尤記得創建雲盤時,有說明不同的雲盤類型支持的最大容量不同。
5.於是翻了翻阿里雲的文檔——ssd和高效雲盤最大支持32T。普通雲盤最大支持2T。
6.於是懷疑難道我購買的是普通雲盤,所以只能擴容到2T?
7. 進入實例中卻看到是高效雲盤啊!那為何不能繼續擴容?
8.於是創建一個新的雲盤試試,發現可以指定2T以上的存儲空間。
9. 回到磁碟擴容頁面,發現2T後,滑鼠懸停過去顯示"當前大於2TB磁碟暫不支持擴容"!
10. 我在想這表示哪怕我之前一下子買了2個T,3個T的高效雲盤,然後想擴容了,是不是也不行?必須得創建數據盤快照,然後恢復到更大的硬碟上?我怎麼對這樣的數據盤快照一點兒都沒有信心呢?
11. 可悲的是,這表明我只能此刻看到mongo伺服器還有500GB存儲空間。以後會越來越少。我將不得不重新考慮存儲方案,一是2T以上的日誌存儲並沒有比以前的文件存儲提高多少價值,反而存儲空間要求更大,每月的純粹存儲費用達到720元以上。這已經是一台性能好的伺服器的價格了。
12. 曾經想過應該在公司內部保留一台伺服器存儲mongo日誌。購買一塊大容量硬碟就好了。但是數據透傳怎麼辦?也在這台伺服器做?還是本地網路掛到公網上?
13. 不得不思考替代的存儲方案了。日誌的用處一是為了透傳,二則是解決一些渠道或這檢測方偶爾提出的問題。也許oss存儲會降低成本,但是如何使用才能更好的滿足我們的需求呢?
㈣ Oss空間用完怎麼辦
清理空間。
阿里雲對象存儲OSS是一款海量、安全、低成本、高可靠的雲存儲服務,可提供99.9999999999%的數據持久性,99.995%的數據可用性。多種存儲類型供選擇,全面優化存儲成本。
您可以通過清單功能獲取Bucket中指定Object的數量、大小、存儲類型、加密狀態等信息。相對於GetBucketListObjects介面,在海量Object的列舉場景中,建議您優先使用清單功能。
㈤ 廣州阿里雲代理,阿里雲對象存儲oss如何收費的
我們也已經在思朴科技開通多年的阿里雲oss對象存儲了,我們是做備份快照的,還是非常不錯的。按容量,調用次數,還有流量等收費。
㈥ 阿里雲oss收費標准
按量計費
網頁鏈接
當您開通OSS服務後,默認的付費方式為按量計費。針對部分計費項目,您也可以購買資源包(包年包月)進一步降低費用。本文主要介紹按量計費的計費詳情。
如需了解OSS費用的組成和計費標准請參見計量項和計費項。
計費周期
OSS系統每小時統計前一小時的實際用量並進行結算,從賬戶余額中扣除實際消費金額。例如,當前時間是9:30,結算的是8:00~9:00產生的費用。
注意 因賬單系統目前存在延遲,您在9:30查看到的可能是7:00~8:00的費用賬單。
計費公式
OSS的使用費用每小時結算一次,計算公式為:費用=實際資源使用量×對應資源每小時單價。
注意 OSS產品定價中明確了存儲費用的單價為元/GB/月,但按量計費的計算方法為實際資源使用量 * 每小時單價。因此當您需要計算實際存儲費用時,需要先將存儲費用的單價轉換為元/GB/小時。例如標准型(本地冗餘存儲)單價為0.12元/GB/月,則按小時結算的單價約為0.000167元/GB/小時(0.12÷30÷24)。
扣費順序
按量計費的扣費順序請參見阿里雲按量計費賬單扣款順序。
舉例
小王在華北1(青島)創建了OSS Bucket,上傳了100 GB的文件,並且開通了CDN加速服務。如果有用戶通過CDN域名訪問了小王的數據,那麼小王需支付如下費用:
存儲費用
CDN流出流量(由CDN服務收取)
CDN回源流出流量費用
請求費用
如果小王還給每個文件設置了標簽,則還會產生對象標簽使用費用。以此類推,您使用了哪些功能,則會產生對應功能的使用費用。詳情請參見計量項和計費項。
包年包月概述
當您開通OSS服務後,默認的付費方式為按量計費。針對部分計費項目,您也可以購買資源包(包年包月)進一步降低費用。包年包月指先購買資源包,後使用資源,按實際用量抵扣額度。超出資源包限額的部分採用按量計費的方式。
資源包抵扣規則
下表列出了OSS目前支持的資源包及資源包相應的抵扣規則,其中「√」表示此類資源包支持對應操作,「×」表示不支持。
資源包名稱 抵扣費用 升級 續費 疊加
標准(LRS)存儲包
標准存儲(本地冗餘)容量費用:存儲空間內存放的標准存儲(本地冗餘)類型文件所產生的存儲費用。
快照容量費用:ECS實例創建ECS快照產生的快照存儲費用。
√ √ ×
低頻(LRS)存儲包 低頻訪問(本地冗餘)容量費用:存儲空間內存放的低頻訪問(本地冗餘)類型文件所產生的存儲費用。 √ √ ×
歸檔(LRS)存儲包 歸檔存儲(本地冗餘)容量費用:歸檔存儲(本地冗餘)類型文件所產生的存儲費用。 √ √ ×
標准(ZRS)存儲包 標准存儲(同城冗餘)容量費用:存儲空間內存放的標准存儲(同城冗餘)類型文件所產生的存儲費用。
說明 您在創建存儲空間時,若冗餘類型選擇同城冗餘,則存儲空間內標准存儲和低頻訪問文件均為同城冗餘類型。
√ √ ×
低頻(ZRS)存儲包 低頻訪問(同城冗餘)容量費用:存儲空間內存放的低頻訪問(同城冗餘)類型文件所產生的存儲費用。 √ √ ×
存儲容量單位包SCU 若您已購買與OSS相同地域的SCU包,可用於抵扣以下費用:
標准存儲(本地冗餘)容量費用
標准存儲(同城冗餘)容量費用
低頻訪問(本地冗餘)容量費用
低頻訪問(同城冗餘)容量費用
歸檔存儲(本地冗餘)容量費用
快照容量費用
注意
若同一地域同時存在OSS存儲包和SCU,則優先使用OSS存儲包抵扣存儲費用,存儲包額度不足時再使用SCU進行抵扣。SCU詳細介紹請參見存儲容量單位包概述。
本文中的購買、續費、升級操作均不適用於SCU。SCU相關操作請參見創建存儲容量單位包。
× × √
下行流量包 外網流出流量費用:通過互聯網瀏覽或下載OSS數據所產生的外網流出流量費用。 × √ √
回源流量包 CDN回源流出流量費用:通過CDN服務層瀏覽或下載OSS數據所產生的回源流量費用。 × × √
傳輸加速包 使用傳輸加速域名訪問OSS產生的傳輸加速費用。
傳輸加速AccM2MIn
傳輸加速AccM2MOut
傳輸加速AccM2OIn
傳輸加速AccM2OOut
傳輸加速AccO2MIn
傳輸加速AccO2MOut
傳輸加速AccO2OIn
傳輸加速AccO2OOut
× × √
說明
對於未提供資源包的計費項,例如數據處理、跨區域復制流量、請求次數、對象標簽等費用需按量計費。
關於計量項和計費項的詳細信息,請參見計量項和計費項。
關於資源包的規格和價格,請參見購買資源包。
資源包使用地域
除傳輸加速包外,OSS資源包按照適用范圍分為地域資源包和中國大陸通用資源包兩大類,詳情請參見購買資源包。
地域資源包
可用於抵扣指定地域內對應資源資源的使用費用,不同地域之間不共享。
例如您購買了華北1(青島)的資源包,則僅能抵扣華北1青島對應資源的使用費用,無法抵扣其他地域的資源使用費用。
中國大陸通用資源包
可用於抵扣中國內地各個地域對應資源的使用費用,例如華東1(杭州)、華東2(上海)、華南1(深圳)等。無法抵扣中國內地以外地域的資源使用費用,例如中國香港、新加坡、美西、美東等。
說明 中國大陸通用資源包與中國內地各地域資源包可以同時購買,抵扣費用時先抵扣地域資源包,超出額度後再抵扣中國大陸通用資源包,若仍有超出,則超出部分按量付費。
傳輸加速包根據訪問地域不同,分為以下三種:
傳輸加速M2M:抵扣通過傳輸加速域名,從中國內地訪問中國內地的OSS時,產生的上傳、下載的傳輸加速費用(AccM2MIn、AccM2MOut)。
傳輸加速M2O_O2M:可抵扣通過傳輸加速域名,從非中國內地訪問中國內地的OSS,或者從中國內地訪問非中國內地的OSS時,產生的上傳、下載的傳輸加速費用(AccM2OIn、AccM2OOut、AccO2MIn、AccO2MOut)。
傳輸加速O2O:可抵扣通過傳輸加速域名,從非中國內地訪問非中國內地的OSS時,產生的上傳、下載的傳輸加速費用(AccO2OIn、AccO2OOut)。
購買資源包
進入資源包購買頁。
根據您的實際情況選擇資源包類型、地域、規格、時長等參數,之後單擊立即購買。
按照購買流程完成付款即可。
目前各類資源包可供購買的地域如下:
資源包名稱 購買地域
標准(LRS)存儲包 中國大陸通用、中國香港、華東1(杭州)、華東2(上海)、華南1(深圳)、華北1(青島)、華北2(北京)、華北3(張家口)、華北5(呼和浩特)、新加坡、美西、美東
低頻(LRS)存儲包 中國大陸通用、華東1(杭州)、華東2(上海)、華南1(深圳)、華北1(青島)、華北2(北京)、華北3(張家口)、華北5(呼和浩特)、西南1(成都)
歸檔(LRS)存儲包 中國大陸通用、華東1(杭州)、華東2(上海)、華南1(深圳)、華北1(青島)、華北2(北京)、華北3(張家口)、華北5(呼和浩特)
標准(ZRS)存儲包 中國大陸通用
低頻(ZRS)存儲包 中國大陸通用
下行流量包 中國大陸通用、中國香港、華東1(杭州)、華東2(上海)、華南1(深圳)、華北1(青島)、華北2(北京)、華北3(張家口)、華北5(呼和浩特)、新加坡、美西、美東
回源流量包 中國大陸通用、華東1(杭州)、華東2(上海)、華南1(深圳)、華北1(青島)、華北2(北京)、華北3(張家口)、華北5(呼和浩特)
傳輸加速包 傳輸加速M2M(中國內地與中國內地之間)、傳輸加速M2O_O2M(中國內地與非中國內地之間)、傳輸加速O2O(非中國內地與非中國內地之間)
升級資源包
如果您需要更高規格的OSS資源包,可以對當前資源包進行升級。詳情請參見升級。
續費資源包
您可以對即將到期的資源包進行續費,以延長資源包使用時間。詳情請參見續費。
資源包使用示例
陳先生2020年6月購買了500 GB的中國大陸通用標准(LRS)存儲包和100 GB的中國大陸通用下行流量包,其6月份的資源使用量為:
華東1(杭州)地域當月標准標准存儲(本地冗餘)類型文件存儲量為300 GB、外網流出流量110 GB、API請求次數10萬次。
華東2(上海)地域當月標准標准存儲(本地冗餘)類型文件存儲量為100 GB、存儲標准存儲(同城冗餘)類型文件存儲量為200 GB。
該用戶的資源包使用情況如下:
地域 資源包抵扣 按量付費
華東1(杭州) 使用500 GB的標准(LRS)存儲包抵扣300 GB標准存儲(本地冗餘)容量費用。 10萬次API請求費用。
使用100 GB下行流量包抵扣其中100 GB外網流出流量費用。 剩餘10 GB外網流出流量費用。
華東2(上海) 使用500 GB的標准(LRS)存儲包抵扣100 GB標准存儲(本地冗餘)容量費用。 200 GB標准存儲(同城冗餘)容量費用。
㈦ 開發軟體費用為什麼這么貴
我就以小程序,為例子閉晌態說明。小程序還算是互聯網開發成本最少的了。
00001.小程序認證費300元/年
00002.雲伺服器費用1000-10000元/每年(應用場景不同,對伺服器配置的要求不同)
00003.購買域名50元/年(這里說的普通域名)
00004.SSL證書費用(可以使用阿里雲免費的)
00005.簡訊費用(部分小程序需要)
00006.物流介面費用(商城類需要)
00007.OSS存儲費用(教育類、商城類需要)
00008.小程序開發費用(根據實際情況做評估)
前面運營可能只有幾千上萬的花費,但第八點開發費用就貴了,一般在4-5萬作用,功能定製更有可能達到謹銷10多萬
最後送一個福利給大家,最近整理了各行各業帶後台的小程序源碼,順便分享給大家,轎源請給這個問答點贊評論一下,然後私信我獲取。