@Override public HashMap<String, String> getMetadata() { return container.getMetadata(); }
@Override public HashMap<String, String> getMetadata() { return container.getMetadata(); }
CloudBlobContainer container = blobClient.getContainerReference("mycontainer"); // Get container properties BlobContainerProperties properties = container.getProperties(); System.out.println(container.getStorageUri().getPrimaryUri()); System.out.println(properties.getLastModified()); System.out.println(properties.getEtag()); // Get the container metadata HashMap<String, String> metaData = container.getMetadata(); for(String key: metaData.keySet()) { String value = metaData.get(key); System.out.println(key+":"+value); } // Using CloudBlobContainer.setMetadata(HashMap<String,String> metadata) for set metadata for container
@Override public void close() { CloudBlobContainer container = null; try { container = pool.borrowObject(); HashMap<String, String> md = container.getMetadata(); md.put("currentlength", Long.toString(this.currentLength.get())); md.put("compressedlength", Long.toString(this.compressedLength.get())); container.setMetadata(md); container.uploadMetadata(); } catch (Exception e) { SDFSLogger.getLog().error("error closing container", e); } finally { try { pool.returnObject(container); } catch (IOException e) { SDFSLogger.getLog().info("error returning object", e); } } try { pool.close(); } catch (Exception e) { } }
try { if (!this.clustered) { HashMap<String, String> md = container.getMetadata(); if (md.containsKey("currentlength")) { Long.parseLong(md.get("currentlength"));
container = pool.borrowObject(); container.createIfNotExists(); HashMap<String, String> md = container.getMetadata(); long sz = 0; long cl = 0;
@Override public void close() { try { SDFSLogger.getLog().info("############ Closing Azure Container ##################"); // container = pool.borrowObject(); if (this.standAlone) { HashBlobArchive.close(); HashMap<String, String> md = container.getMetadata(); md.put("currentlength", Long.toString(HashBlobArchive.getLength())); md.put("compressedlength", Long.toString(HashBlobArchive.getCompressedLength())); container.setMetadata(md); container.uploadMetadata(); SDFSLogger.getLog().info("Updated container on close"); } SDFSLogger.getLog().info("############ Azure Container Closed ##################"); } catch (Exception e) { SDFSLogger.getLog().error("error closing container", e); } finally { this.closed = true; } try { // this.serviceClient. } catch (Exception e) { } }
container.createIfNotExists(null, null, opContext); container.downloadAttributes(); HashMap<String, String> md = container.getMetadata(); if (md.size() == 0) this.clustered = true;
private static void testMetadataFailures(CloudBlobContainer container, String key, String value, boolean badKey) { container.getMetadata().put(key, value); try { container.uploadMetadata(); fail(SR.METADATA_KEY_INVALID); } catch (StorageException e) { if (badKey) { assertEquals(SR.METADATA_KEY_INVALID, e.getMessage()); } else { assertEquals(SR.METADATA_VALUE_INVALID, e.getMessage()); } } container.getMetadata().remove(key); }
try { if (!this.clustered) { HashMap<String, String> md = container.getMetadata(); md.put("currentlength", Long.toString(HashBlobArchive.getLength())); md.put("compressedlength", Long.toString(HashBlobArchive.getCompressedLength()));
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testCloudBlobContainerUploadMetadata() throws StorageException, URISyntaxException { this.container.create(); CloudBlobContainer container2 = this.container.getServiceClient().getContainerReference( this.container.getName()); container2.downloadAttributes(); assertEquals(0, container2.getMetadata().size()); this.container.getMetadata().put("key1", "value1"); this.container.uploadMetadata(); container2.downloadAttributes(); assertEquals(1, container2.getMetadata().size()); assertEquals("value1", container2.getMetadata().get("key1")); Iterable<CloudBlobContainer> containers = this.container.getServiceClient().listContainers( this.container.getName(), ContainerListingDetails.METADATA, null, null); for (CloudBlobContainer container3 : containers) { assertEquals(1, container3.getMetadata().size()); assertEquals("value1", container3.getMetadata().get("key1")); } this.container.getMetadata().clear(); this.container.uploadMetadata(); container2.downloadAttributes(); assertEquals(0, container2.getMetadata().size()); }
final CloudBlobContainer container = session.getClient().getContainerReference(containerService.getContainer(file).getName()); container.downloadAttributes(); return container.getMetadata();
container.getMetadata().put("key", " "); // invalid value try { container.uploadMetadata(null, null, opContext);
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testCloudBlobContainerInvalidMetadata() throws StorageException{ // test client-side fails correctly testMetadataFailures(this.container, null, "value1", true); testMetadataFailures(this.container, "", "value1", true); testMetadataFailures(this.container, " ", "value1", true); testMetadataFailures(this.container, "\n \t", "value1", true); testMetadataFailures(this.container, "key1", null, false); testMetadataFailures(this.container, "key1", "", false); testMetadataFailures(this.container, "key1", " ", false); testMetadataFailures(this.container, "key1", "\n \t", false); // test client can get empty metadata this.container.create(); OperationContext opContext = new OperationContext(); opContext.getSendingRequestEventHandler().addListener(new StorageEvent<SendingRequestEvent>() { // insert a metadata element with an empty value @Override public void eventOccurred(SendingRequestEvent eventArg) { HttpURLConnection request = (HttpURLConnection) eventArg.getConnectionObject(); request.setRequestProperty(Constants.HeaderConstants.PREFIX_FOR_STORAGE_METADATA + "key1", ""); } }); this.container.uploadMetadata(null, null, opContext); this.container.downloadAttributes(); assertEquals(1, this.container.getMetadata().size()); assertEquals("", this.container.getMetadata().get("key1")); }