在ADLS Gen2中,有一些操作是不可能在Blob存储中实现的。下面列出几个例子:
代码示例:
在ADLS Gen2中,可以使用以下代码实现原子操作:
try { //开始一个事务 adlsClient.FileSystem.BeginCreate(Path, options); adlsClient.FileSystem.Create(Path, options); adlsClient.FileSystem.SetPermission(Path, options, permissions);
//提交事务
adlsClient.FileSystem.CommitCreate(Path);
} catch (Exception ex) { //回滚事务 adlsClient.FileSystem.AbortCreate(Path); }
代码示例:
在ADLS Gen2中,可以使用以下代码实现RBAC:
AccessControlType type = AccessControlType.Allow;
FileSystemAccessRights rights = FileSystemAccessRights.Read | FileSystemAccessRights.ExecuteFile | FileSystemAccessRights.List;
string upn = "user1@contoso.com";
//添加用户到角色 adlsClient.FileSystem.AddRoleAssignment(Path, upn, "ReadAndExecute", type, rights);
//从角色中移除用户 adlsClient.FileSystem.RemoveRoleAssignment(Path, upn, "ReadAndExecute");
代码示例:
在ADLS Gen2中,可以使用以下代码实现创建目录:
adlsClient.FileSystem.Mkdirs("example-directory");
在ADLS Gen2中,可以使用以下代码实现删除目录:
adlsClient.FileSystem.Delete("example-directory");