我正在尝试使用Azure v.8在容器内创建目录。 在这里,我可以创建一个容器,但是无法创建以下目录。
// Retrieve storage account from connection-string.
CloudStorageAccount storageAccount = CloudStorageAccount.parse(connectionString);
System.out.println("Account-"+storageAccount.getBlobEndpoint());
// Create the blob client.
CloudBlobClient blobClient = storageAccount.createCloudBlobClient();
System.out.println("CloudBlobClient-"+blobClient.getDirectoryDelimiter());
// Retrieve reference to a previously created container.
CloudBlobContainer container = blobClient.getContainerReference(containerName);
System.out.println("CloudBlobContainer-"+blobClient.getStorageUri());
if(container.exists()||container.createIfNotExists()){
//create Directory
}
答案 0 :(得分:0)
Azure文件中的所有文件和目录都位于一个名为“共享”的容器中。您的存储帐户可以拥有帐户容量允许的最大份额。若要访问共享及其内容,您需要使用Azure文件客户端。
这是创建存储帐户客户端,然后共享文件并最终在存储帐户中创建目录的代码。
// Use the CloudStorageAccount object to connect to your storage account
try {
CloudStorageAccount storageAccount = CloudStorageAccount.parse(storageConnectionString);
} catch (InvalidKeyException invalidKey) {
// Handle the exception
}
创建Azure文件共享 Azure文件中的所有文件和目录都位于一个名为“共享”的容器中。您的存储帐户可以拥有帐户容量允许的最大份额。若要访问共享及其内容,您需要使用Azure文件客户端。
// Create the Azure Files client.
CloudFileClient fileClient = storageAccount.createCloudFileClient();
使用Azure文件客户端,然后可以获得对共享的引用。
// Get a reference to the file share
CloudFileShare share = fileClient.getShareReference("sampleshare");
创建目录 您还可以通过将文件放在子目录中而不是将所有文件都放在根目录中来组织存储。 Azure文件允许您创建帐户允许的尽可能多的目录。下面的代码将在根目录下创建一个名为sampledir的子目录。
//Get a reference to the root directory for the share.
CloudFileDirectory rootDir = share.getRootDirectoryReference();
//Get a reference to the sampledir directory
CloudFileDirectory sampleDir = rootDir.getDirectoryReference("sampledir");
if (sampleDir.createIfNotExists()) {
System.out.println("sampledir created");
} else {
System.out.println("sampledir already exists");
}
有关更多文档,请参阅
https://docs.microsoft.com/en-us/azure/storage/files/storage-java-how-to-use-file-storage#how-to-create-a-directory 使用c#通过上传blob创建文件夹的示例代码
try
{
// Retrieve storage account from connection-string.
CloudStorageAccount storageAccount = CloudStorageAccount.parse(storageConnectionString);
// Create the blob client.
CloudBlobClient blobClient = storageAccount.createCloudBlobClient();
// Retrieve reference to a previously created container.
CloudBlobContainer container = blobClient.getContainerReference("mycontainer");
final String filePath = "C:\\myimages\\myimage.jpg";
// Create or overwrite the "myimage.jpg" blob with contents from a local file.
CloudBlockBlob blob = container.getBlockBlobReference("my_not_yet_existing_folder/myimage.jpg");
File source = new File(filePath);
blob.upload(new FileInputStream(source), source.length());
}
catch (Exception e)
{
// Output the stack trace.
e.printStackTrace();
}
希望有帮助。