Как создать каталог внутри контейнера в Azure 8 - PullRequest
0 голосов
/ 20 февраля 2019

Я пытаюсь создать каталог внутри контейнера с помощью 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

        }

1 Ответ

0 голосов
/ 21 февраля 2019

Все файлы и каталоги в файлах Azure находятся в контейнере, называемом общим ресурсом.Ваша учетная запись хранения может иметь столько общих ресурсов, сколько позволяет ваша учетная запись.Чтобы получить доступ к общему ресурсу и его содержимому, вам необходимо использовать клиент Azure Files.

Ниже приведен код для создания клиента учетной записи хранения, а затем общей папки и, наконец, каталога в учетной записи хранения.

// 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 Files, вы можете получить ссылку на общий ресурс.

// 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();
}

Надеюсь, это поможет.

...