내 프로그램을 작성하지 않고 Azure blob 저장소에 파일을 업로드하려면 어떻게 해야 합니까?
Azure Storage 계정을 만들었습니다.나중에 사용하기 위해 BLOB 저장소에 넣고 싶은 400MB의 .zip 파일이 있습니다.
코드를 작성하지 않고 어떻게 할 수 있습니까?그것을 위한 인터페이스가 있습니까?
무료 도구:
- Visual Studio 2010 - Azure 도구를 설치하면 서버 탐색기에서 블롭을 찾을 수 있습니다.
- Cloud Berry Lab의 Azure Blob 스토리지용 CloudBerry Explorer
- 뭉친 나뭇잎 구름 탐색기
- CodePlex의 Azure Storage Explorer(버전 4 베타 사용)
Azure Blob Explorer라는 오래된 프로그램이나 새로운 Azure SDK에서 더 이상 작동하지 않는 프로그램이 있었습니다.
이 중에서 저는 개인적으로 CloudBerry Explorer를 가장 좋아합니다.
가장 쉬운 방법은 Azure Storage PowerShell을 사용하는 것입니다.스토리지 컨테이너/블롭/테이블/큐를 관리하기 위한 많은 명령을 제공했습니다.
앞서 언급한 경우 Set-AzureStorageBlobContent를 사용하여 로컬 파일을 zure스토리지에 블록 블로그 또는 페이지 블로그로 업로드할 수 있습니다.
Set-AzureStorageBlobContent -Container containerName -File .\filename -Blob blobname
자세한 내용은 http://msdn.microsoft.com/en-us/library/dn408487.aspx 을 참조하십시오.
이를 위한 툴을 찾고 있다면 Cloud Storage Studio(http://www.cerebrata.com/Products/CloudStorageStudio) ) 툴을 살펴보시기 바랍니다.Windows Azure 스토리지 및 호스트 서비스를 관리하기 위한 상용 도구입니다.Windows Azure 스토리지 관리 툴의 포괄적인 목록은 다음 사이트에서 확인할 수 있습니다. http://blogs.msdn.com/b/windowsazurestorage/archive/2010/04/17/windows-azure-storage-explorers.aspx
이게 도움이 되길 바랍니다.
스토리지 클라이언트에는 이 기능이 내장되어 있습니다.아무 것도 쓸 필요가 없습니다.
var account = new CloudStorageAccount(creds, false);
var client = account.CreateCloudBlobClient();
var blob = client.GetBlobReference("/somecontainer/hugefile.zip");
//1MB seems to be a pretty good all purpose size
client.WriteBlockSizeInBytes = 1024;
//this sets # of parallel uploads for blocks
client.ParallelOperationThreadCount = 4; //normally set to one per CPU core
//this will break blobs up automatically after this size
client.SingleBlobUploadThresholdInBytes = 4096;
blob.UploadFile("somehugefile.zip");
Cyberduck을 사용하여 BLOB 저장소를 관리합니다.
그것은 무료이고 사용하기 매우 쉽습니다.다른 클라우드 스토리지 솔루션과도 작동합니다.
최근에 이것도 발견했습니다. CloudXplor
도움이 되길 바랍니다.
Microsoft에서 제공하는 새로운 OpenSource 도구가 있습니다.
- Project Deco - 크로스 플랫폼 Microsoft Azure 스토리지 계정 탐색기
다음 링크를 확인하십시오.
- 바이너리 다운로드: http://storageexplorer.com/
- 소스 코드: https://github.com/Azure/deco
클라우드 콤바인을 사용하여 Azure blob 저장소에 신뢰할 수 있고 빠른 파일 업로드를 할 수 있습니다.
Microsoft 유틸리티를 사용하는 간단한 배치 파일이 유용합니다.다음 배치 파일에 파일을 드래그 앤 드롭하여 BLOB 저장소 컨테이너에 업로드할 수 있습니다.
업로드.bat
@ECHO OFF
SET BLOB_URL=https://<<<account name>>>.blob.core.windows.net/<<<container name>>>
SET BLOB_KEY=<<<your access key>>>
:AGAIN
IF "%~1" == "" GOTO DONE
AzCopy /Source:"%~d1%~p1" /Dest:%BLOB_URL% /DestKey:%BLOB_KEY% /Pattern:"%~n1%~x1" /destType:blob
SHIFT
GOTO AGAIN
:DONE
PAUSE
개별적으로 하십시오.Pattern
전체 디렉터리를 업로드하는 대신 flag가 지정됨)
명령 프롬프트를 사용하여 Azure 스토리지 계정 BLOB에 파일을 업로드할 수 있습니다.
Microsoft Azure 스토리지 도구를 설치합니다.
그런 다음 Upload it to your account blob(계정에 업로드)에서 CLI 명령을 실행합니다.
AzCopy /Source:"filepath" /Dest:bloburl /DestKey:accesskey /destType:blob
도움이 되길 바랍니다.:)
HTTP PUT 동사를 사용하여 Azure Blob 저장소에 직접 큰 파일을 업로드할 수 있으며, 아래 코드로 시도한 가장 큰 파일은 4,6Gb입니다.C#에서는 다음과 같이 이 작업을 수행할 수 있습니다.
// write up to ChunkSize of data to the web request
void WriteToStreamCallback(IAsyncResult asynchronousResult)
{
var webRequest = (HttpWebRequest)asynchronousResult.AsyncState;
var requestStream = webRequest.EndGetRequestStream(asynchronousResult);
var buffer = new Byte[4096];
int bytesRead;
var tempTotal = 0;
File.FileStream.Position = DataSent;
while ((bytesRead = File.FileStream.Read(buffer, 0, buffer.Length)) != 0
&& tempTotal + bytesRead < CHUNK_SIZE
&& !File.IsDeleted
&& File.State != Constants.FileStates.Error)
{
requestStream.Write(buffer, 0, bytesRead);
requestStream.Flush();
DataSent += bytesRead;
tempTotal += bytesRead;
File.UiDispatcher.BeginInvoke(OnProgressChanged);
}
requestStream.Close();
if (!AbortRequested) webRequest.BeginGetResponse(ReadHttpResponseCallback, webRequest);
}
void StartUpload()
{
var uriBuilder = new UriBuilder(UploadUrl);
if (UseBlocks)
{
// encode the block name and add it to the query string
CurrentBlockId = Convert.ToBase64String(Encoding.UTF8.GetBytes(Guid.NewGuid().ToString()));
uriBuilder.Query = uriBuilder.Query.TrimStart('?') + string.Format("&comp=block&blockid={0}", CurrentBlockId);
}
// with or without using blocks, we'll make a PUT request with the data
var webRequest = (HttpWebRequest)WebRequestCreator.ClientHttp.Create(uriBuilder.Uri);
webRequest.Method = "PUT";
webRequest.BeginGetRequestStream(WriteToStreamCallback, webRequest);
}
UploadUrl은 Azure 자체에서 생성되며 Shared Access Signature를 포함합니다. 이 SAS URL은 BLOB를 업로드할 위치와 보안 액세스(사용자의 경우 쓰기 액세스)가 제공되는 시간을 나타냅니다.다음과 같은 SAS URL을 생성할 수 있습니다.
readonly CloudBlobClient BlobClient;
readonly CloudBlobContainer BlobContainer;
public UploadService()
{
// Setup the connection to Windows Azure Storage
var storageAccount = CloudStorageAccount.FromConfigurationSetting("DataConnectionString");
BlobClient = storageAccount.CreateCloudBlobClient();
// Get and create the container
BlobContainer = BlobClient.GetContainerReference("publicfiles");
}
string JsonSerializeData(string url)
{
var serializer = new DataContractJsonSerializer(url.GetType());
var memoryStream = new MemoryStream();
serializer.WriteObject(memoryStream, url);
return Encoding.Default.GetString(memoryStream.ToArray());
}
public string GetUploadUrl()
{
var sasWithIdentifier = BlobContainer.GetSharedAccessSignature(new SharedAccessPolicy
{
Permissions = SharedAccessPermissions.Write,
SharedAccessExpiryTime =
DateTime.UtcNow.AddMinutes(60)
});
return JsonSerializeData(BlobContainer.Uri.AbsoluteUri + "/" + Guid.NewGuid() + sasWithIdentifier);
}
웹 페이지에서 Azure BLOB에 대용량 파일을 업로드하는 방법은 여기에서 더 많은 정보를 찾을 수 있는 주제에 대한 스레드도 있습니다.
새 Azure Portal에는 컨테이너 보기에서 '편집기' 메뉴 옵션이 미리 표시됩니다.포털 UI에서 컨테이너에 직접 파일을 업로드할 수 있습니다.
저는 게시물에 언급된 모든 도구를 사용했고, 모든 것이 블록 블롭으로 적당히 잘 작동합니다.하지만 제가 가장 좋아하는 것은 BlobTransfer 유틸리티입니다.
기본적으로 BlobTransferUtility는 Blob만 차단합니다.하지만 코드 2줄만 바꾸면 페이지 블롭도 업로드 할 수 있습니다.저처럼 가상 시스템 이미지를 업로드해야 하는 경우에는 페이지 블롭이어야 합니다.
페이지 블롭을 업로드하려면 블롭트랜스퍼의 53행과 62행을 변경하기만 하면 됩니다.Helper.cs 에서
new Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob
로.
new Microsoft.WindowsAzure.Storage.Blob.CloudPageBlob
이 앱에 대해 알아야 할 유일한 것은 프로그램을 처음 실행할 때 HELP를 선택 해제하여 실제 UI를 보는 것입니다.
PowerShell을 통해 모든 파일을 Azure Blob Storage에 쉽게 업로드하는 방법을 설명하는 이 게시물을 확인하십시오.
Azcopy 도구를 사용하여 필요한 파일을 zero 기본 저장소에 업로드할 수 있습니다. block blob은 사용자의 요구 사항에 따라 패턴을 변경할 수 있습니다.
구문
AzCopy /Source : /Destination /s
사용해 보십시오.Blob Service API
http://msdn.microsoft.com/en-us/library/dd135733.aspx
하지만 400mb는 큰 파일이고 API 호출 하나로 이 크기의 것을 처리할 수 있을지 모르겠습니다. 사용자 지정 코드를 사용하여 분할하고 재구성해야 할 수도 있습니다.
언급URL : https://stackoverflow.com/questions/6584036/how-do-i-upload-some-file-into-azure-blob-storage-without-writing-my-own-program
'programing' 카테고리의 다른 글
ASP.NET의 서버 측에서 Recetcha 2(CAPTCHA reCAPTCHA 없음)를 확인하는 중 (0) | 2023.05.28 |
---|---|
100을 곱하지 않고 WPF 문자열 형식을 백분율로 설정하는 방법은 무엇입니까? (0) | 2023.05.28 |
애플리케이션 인사이트에 로그인 (0) | 2023.05.28 |
닫기 명령을 단추에 바인딩하는 방법 (0) | 2023.05.28 |
목표-C와 C++는 어떻게 다릅니까? (0) | 2023.05.23 |