codememo

푸른색 저장 위치에 하위 컨테이너를 생성하는 방법

tipmemo 2023. 4. 23. 10:27
반응형

푸른색 저장 위치에 하위 컨테이너를 생성하는 방법

푸른색 보관 장소에 서브 컨테이너를 작성하려면 어떻게 해야 합니까?

Windows Azure는 상속 컨테이너의 개념을 제공하지 않지만, 관습과 API에 의해 상속을 가로지를 수 있는 메커니즘을 제공합니다.모든 용기는 동일한 레벨에 보관됩니다.BLOB 이름의 명명 규칙을 사용하면 유사한 기능을 얻을 수 있습니다.

예를 들어, "content"라는 이름의 컨테이너를 작성하고 해당 컨테이너에 다음 이름으로 BLOB를 작성할 수 있습니다.

content/blue/images/logo.jpg
content/blue/images/icon-start.jpg
content/blue/images/icon-stop.jpg

content/red/images/logo.jpg
content/red/images/icon-start.jpg
content/red/images/icon-stop.jpg

이러한 BLOB는 "콘텐츠" 컨테이너에 대한 플랫리스트입니다.즉, "/"를 일반적인 구분 기호로 사용하여 이러한 문자를 계층 구조로 이동할 수 있는 기능을 제공합니다.

protected IEnumerable<IListBlobItem> 
          GetDirectoryList(string directoryName, string subDirectoryName)
{
    CloudStorageAccount account =
        CloudStorageAccount.FromConfigurationSetting("DataConnectionString");
    CloudBlobClient client = 
        account.CreateCloudBlobClient();
    CloudBlobDirectory directory = 
        client.GetBlobDirectoryReference(directoryName); 
    CloudBlobDirectory subDirectory = 
        directory.GetSubdirectory(subDirectoryName); 

    return subDirectory.ListBlobs();
}

이것을 다음과 같이 호출할 수 있습니다.

GetDirectoryList("content/blue", "images")

CloudBlobContainer 대신 GetBlobDirectoryReference 메서드와 GetSubDirectory 메서드 및 CloudBlobDirectory 유형을 사용합니다.이것들은, 고객이 필요로 하는 트래버설 기능을 제공합니다.

이렇게 하면 시작하는 데 도움이 될 것입니다.이것이 당신의 질문에 답하지 않을 경우 알려주세요.

[Neil Mackenzie의 영감 덕분]

blob storage를 말씀하시는 건가요?이 경우 계층은 단순히 Storage Account/Container/BlobName입니다.중첩된 컨테이너가 없습니다.

따라서 BLOB 이름에 슬래시를 사용하여 URI에서 중첩된 컨테이너를 시뮬레이션할 수 있습니다.명명 방법에 대한 자세한 내용은 MSDN 관련 이 문서를 참조하십시오.

저는 tobint 답변에 찬성합니다.또한 이 상황을 추가하고 싶습니다.이것은, 이 디렉토리를 작성하는 것과 같은 방법으로, Azure Storage에 게임 html을 업로드 할 필요가 있기 때문입니다.

  • 게임\뷰티샵\index.html
  • 게임\뷰티샵\자산\apple.png
  • 게임, 뷰티샵, 자산, 아로마.png
  • 게임\뷰티샵\customfont.css
  • 게임, 뷰티샵, jquery.js

그래서 당신의 추천에 따라 Azure Storage Explorer라는 도구를 사용하여 콘텐츠를 업로드하려고 했습니다.다음 URL에서 툴과 소스 코드를 다운로드할 수 있습니다.Azure Storage Explorer

우선 툴을 사용하여 업로드하려고 했지만 필요없기 때문에 계층형 디렉토리 업로드가 허용되지 않습니다.BLOB 컨테이너에 서브 디렉토리를 작성하는 방법

마지막으로 Azure Storage Explorer 소스 코드를 디버깅하고 StorageAccountViewModel.cs 파일의 Background_UploadBlobs 메서드와 UploadFileList 필드를 편집했습니다.원하는 대로 편집할 수 있습니다.제가 철자를 잘못 썼을 수도 있습니다:/ 정말 죄송하지만 그건 제가 추천하는 것입니다.

Azure 포털에서 파일을 업로드하는 경우:컨테이너에 하위 폴더를 만들려면 파일을 업로드하는 동안 고급 옵션으로 이동하여 폴더에 업로드를 선택하면 컨테이너에 새 폴더가 생성되고 파일이 업로드됩니다.

코틀린 코드

    val blobClient = blobContainerClient.getBlobClient("$subDirNameTimeStamp/$fileName$extension");

그러면 이름으로 TimeStamp가 있는 디렉토리가 생성되고 내부에 Blob 파일이 있습니다.위의 코드에서 슬래시(/)를 사용하면 이전 슬래시 문자열로 명명된 폴더를 생성하여 BLOB 파일을 중첩할 수 있습니다.

포털에는 이렇게 표시됩니다.

샘플코드

string myfolder = "<folderName>";
string myfilename = "<fileName>";
string fileName = String.Format("{0}/{1}.csv", myfolder, myfilename);
CloudBlockBlob blob = container.GetBlockBlobReference(fileName);

언급URL : https://stackoverflow.com/questions/3183857/how-to-create-a-sub-container-in-azure-storage-location

반응형