簡體   English   中英

我可以為 Azure Data Lake Storage Gen2 中的目錄創建 Sas 密鑰嗎?

[英]Can I create a Sas key for a directory in Azure Data Lake Storage Gen2?

在 azure blob 存儲中,我可以為特定文件或容器創建具有讀取權限的 Sas 密鑰,但不能為目錄執行此操作。

Azure Data Lake Storage Gen2 中是否有辦法創建允許訪問目錄及其中所有文件的 Sas 密鑰? 如果有辦法,我該怎么做?

據我所知,我們無法為Azure Data Lake Storage Gen2的目錄創建SAS密鑰,但您可以使用訪問控制列表設置文件和目錄級別的權限。

.net為例,本示例獲取和設置名為my-directory的目錄的 ACL。 字符串user::rwx,group::rx,other::rw-賦予擁有用戶讀取、寫入和執行權限,賦予擁有組只讀和執行權限,並賦予所有其他用戶讀取和寫入權限。

public async Task ManageDirectoryACLs(DataLakeFileSystemClient fileSystemClient)
{
    DataLakeDirectoryClient directoryClient =
        fileSystemClient.GetDirectoryClient("my-directory");

    PathAccessControl directoryAccessControl =
        await directoryClient.GetAccessControlAsync();

    foreach (var item in directoryAccessControl.AccessControlList)
    {
        Console.WriteLine(item.ToString());
    }


    IList<PathAccessControlItem> accessControlList
        = PathAccessControlExtensions.ParseAccessControlList
        ("user::rwx,group::r-x,other::rw-");

    directoryClient.SetAccessControlList(accessControlList);

}

具體做法和說明可以參考這個官方文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM