Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t使用java检索azure存储Blob中Blob的元数据_Java_Azure_Blob - Fatal编程技术网

Can';t使用java检索azure存储Blob中Blob的元数据

Can';t使用java检索azure存储Blob中Blob的元数据,java,azure,blob,Java,Azure,Blob,我正在使用JavaAPI for azure,如下所述 在下面的代码示例中,我能够从BlobItem对象检索blob内容,但“metadata”除外,它返回null,尽管我已经在azure portal中手动向blob添加了元数据 BlobServiceClient blobServiceClient = new BlobServiceClientBuilder().connectionString(azConnectionString).buildClient(); BlobContaine

我正在使用JavaAPI for azure,如下所述

在下面的代码示例中,我能够从BlobItem对象检索blob内容,但“metadata”除外,它返回null,尽管我已经在azure portal中手动向blob添加了元数据

BlobServiceClient blobServiceClient = new 
BlobServiceClientBuilder().connectionString(azConnectionString).buildClient();
BlobContainerClient blobContainerClient = blobServiceClient.getBlobContainerClient("myContainer")

ListBlobsOptions listsBlobOptions = new ListBlobsOptions();
listsBlobOptions.getDetails().getRetrieveMetadata();

blobContainerClient.listBlobs(listsBlobOptions, Duration.ofHours(1000)).forEach(blobItem -> {
    log.info(blobItem.getName());
    log.info(blobItem.getProperties().getETag());
    log.info(String.valueOf(blobItem.getProperties().getLeaseStatus()));
    log.info(String.valueOf(blobItem.getMetadata()));
  });
谢谢你的帮助


关于

我认为您没有获得元数据的原因是因为您没有元数据选项

您可以尝试以下内容(未经测试的代码):


设置元数据选项解决了问题:)谢谢!
BlobServiceClient blobServiceClient = new 
BlobServiceClientBuilder().connectionString(azConnectionString).buildClient();
BlobContainerClient blobContainerClient = blobServiceClient.getBlobContainerClient("myContainer")

BlobListDetails blobListDetails = (new BlobListDetails()).setRetrieveMetadata(true);//set "retrieve metadata" option to true
ListBlobOptions listBlobOptions = (new ListBlobOptions()).setDetails(blobListDetails);

blobContainerClient.listBlobs(listsBlobOptions, Duration.ofHours(1000)).forEach(blobItem -> {
    log.info(blobItem.getName());
    log.info(blobItem.getProperties().getETag());
    log.info(String.valueOf(blobItem.getProperties().getLeaseStatus()));
    log.info(String.valueOf(blobItem.getMetadata()));
  });