-
זה מאוד פשוט.
באנגולר אתם שולחים את הקובץ לשרת, אם את השלב הזה גם מוקשה, פתחו על זה אשכול חדש.
בצד השרת יש לכם אוסף בתים (byte[]), או זרם (stream).
אתם אמורים להעלות, לקבל תשובה עם מזהה, ולהחזיר ללקוח אישור + מזהה אם נדרש.יש לכם כבר חשבון בAWS?
פתחתם כבר BUCKET בS3?אשמח לעזור, תעדכנו סטטוס.
-
לא יודע אם זה עוד רלבנטי לך, אבל לתועלת הציבור.
תתקיני בפרויקט את הSDK הזה: https://aws.amazon.com/sdk-for-net/
(ישנה שם אפשרות להתקין את זה דרך Nuget)הנה מחלקה שמשתמשת בAPI הזה כדי לגבות את הדטה בייסים שלי:
בהצלחה!
זה מציג את הקוד לא הכי מושלם..
using Amazon.S3;
using Amazon.S3.Transfer;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;namespace AwsEmptyApp1
{
public class UploadFiles
{
string bucket = "";//your backet
string SubDirectoryInBucket = "";//your directory
Dictionary<string,string> allFiles = new Dictionary<string, string>(); //fileName, fullPathpublic void Start() { try { //כאן נכתב הקוד שמגבה את הדטה בייסים השונים //אחרי זה רצים בלולאה ויוצרים את מערך השמות שלהם עבור ההלאה foreach (var db in dbNames) { var fileName = ""; var fullPath = ""; allFiles.Add(fileName, fullPath); } //העלאה לאמזון Task.Run(async () => { var isUpload = await UploadFiles(allFiles); }).GetAwaiter().GetResult(); } catch (Exception ex) { // } Console.WriteLine("---- DB Backup succesfuly --- "); } public static async Task<bool> UploadFolder(string pathDirectory) { IAmazonS3 s3Client = new AmazonS3Client(); var transfer = new TransferUtilityUploadDirectoryRequest(); transfer.BucketName = bucket; transfer.KeyPrefix = SubDirectoryInBucket; transfer.Directory = pathDirectory; var transferUtility = new TransferUtility(); //כאן אפשר ליצור מנוי לפונקציה שמציגה את התקדמות ההעלאה //transfer.UploadDirectoryProgressEvent += displayProgressFolder; await transferUtility.UploadDirectoryAsync(transfer); return true; } public static async Task<bool> UploadFiles(Dictionary<string, string> pathFiles) { IAmazonS3 s3Client = new AmazonS3Client(); var transferUtility = new TransferUtility(); foreach (var file in pathFiles) { var req = new TransferUtilityUploadRequest(); req.BucketName = bucket; req.FilePath = file.Value; req.Key = SubDirectoryInBucket + file.Key; //כאן אפשר ליצור מנוי לפונקציה שמציגה את התקדמות ההעלאה //req.UploadProgressEvent += displayProgressFile; await transferUtility.UploadAsync(req); } return true; } }
}
-