• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java SharedAccessBlobPolicy类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.microsoft.azure.storage.blob.SharedAccessBlobPolicy的典型用法代码示例。如果您正苦于以下问题:Java SharedAccessBlobPolicy类的具体用法?Java SharedAccessBlobPolicy怎么用?Java SharedAccessBlobPolicy使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



SharedAccessBlobPolicy类属于com.microsoft.azure.storage.blob包,在下文中一共展示了SharedAccessBlobPolicy类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: getPolicy

import com.microsoft.azure.storage.blob.SharedAccessBlobPolicy; //导入依赖的package包/类
private SharedAccessBlobPolicy getPolicy(final int expiry) {
    final SharedAccessBlobPolicy policy = new SharedAccessBlobPolicy();
    policy.setSharedAccessExpiryTime(new Date(this.getExpiry(expiry)));
    policy.setPermissions(EnumSet.of(SharedAccessBlobPermissions.READ));
    return policy;
}
 
开发者ID:iterate-ch,项目名称:cyberduck,代码行数:7,代码来源:AzureUrlProvider.java


示例2: generateSAS

import com.microsoft.azure.storage.blob.SharedAccessBlobPolicy; //导入依赖的package包/类
private static String generateSAS(CloudBlobContainer container,
    boolean readonly) throws Exception {

  // Create a container if it does not exist.
  container.createIfNotExists();

  // Create a new shared access policy.
  SharedAccessBlobPolicy sasPolicy = new SharedAccessBlobPolicy();

  // Create a UTC Gregorian calendar value.
  GregorianCalendar calendar = new GregorianCalendar(
      TimeZone.getTimeZone("UTC"));

  // Specify the current time as the start time for the shared access
  // signature.
  //
  calendar.setTime(new Date());
  sasPolicy.setSharedAccessStartTime(calendar.getTime());

  // Use the start time delta one hour as the end time for the shared
  // access signature.
  calendar.add(Calendar.HOUR, 10);
  sasPolicy.setSharedAccessExpiryTime(calendar.getTime());

  if (readonly) {
    // Set READ permissions
    sasPolicy.setPermissions(EnumSet.of(
        SharedAccessBlobPermissions.READ,
        SharedAccessBlobPermissions.LIST));
  } else {
    // Set READ and WRITE permissions.
    //
    sasPolicy.setPermissions(EnumSet.of(
        SharedAccessBlobPermissions.READ,
        SharedAccessBlobPermissions.WRITE,
        SharedAccessBlobPermissions.LIST));
  }

  // Create the container permissions.
  BlobContainerPermissions containerPermissions = new BlobContainerPermissions();

  // Turn public access to the container off.
  containerPermissions.setPublicAccess(BlobContainerPublicAccessType.OFF);

  container.uploadPermissions(containerPermissions);

  // Create a shared access signature for the container.
  String sas = container.generateSharedAccessSignature(sasPolicy, null);
  // HACK: when the just generated SAS is used straight away, we get an
  // authorization error intermittently. Sleeping for 1.5 seconds fixes that
  // on my box.
  Thread.sleep(1500);

  // Return to caller with the shared access signature.
  return sas;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:57,代码来源:AzureBlobStorageTestAccount.java


示例3: primePublicContainer

import com.microsoft.azure.storage.blob.SharedAccessBlobPolicy; //导入依赖的package包/类
public static void primePublicContainer(CloudBlobClient blobClient,
    String accountName, String containerName, String blobName, int fileSize)
    throws Exception {

  // Create a container if it does not exist. The container name
  // must be lower case.
  CloudBlobContainer container = blobClient
      .getContainerReference(containerName);

  container.createIfNotExists();

  // Create a new shared access policy.
  SharedAccessBlobPolicy sasPolicy = new SharedAccessBlobPolicy();

  // Set READ and WRITE permissions.
  //
  sasPolicy.setPermissions(EnumSet.of(
      SharedAccessBlobPermissions.READ,
      SharedAccessBlobPermissions.WRITE,
      SharedAccessBlobPermissions.LIST,
      SharedAccessBlobPermissions.DELETE));

  // Create the container permissions.
  BlobContainerPermissions containerPermissions = new BlobContainerPermissions();

  // Turn public access to the container off.
  containerPermissions
      .setPublicAccess(BlobContainerPublicAccessType.CONTAINER);

  // Set the policy using the values set above.
  containerPermissions.getSharedAccessPolicies().put("testwasbpolicy",
      sasPolicy);
  container.uploadPermissions(containerPermissions);

  // Create a blob output stream.
  CloudBlockBlob blob = container.getBlockBlobReference(blobName);
  BlobOutputStream outputStream = blob.openOutputStream();

  outputStream.write(new byte[fileSize]);
  outputStream.close();
}
 
开发者ID:naver,项目名称:hadoop,代码行数:42,代码来源:AzureBlobStorageTestAccount.java


示例4: setup

import com.microsoft.azure.storage.blob.SharedAccessBlobPolicy; //导入依赖的package包/类
@PostConfig
@PostCreated
@PostRecovery
public void setup()
{
    _serviceBaseURL    = _properties.get(SERVICEBASEURL_PROPERTYNAME);
    _containerName     = _properties.get(CONTAINERNAME_PROPERTYNAME);
    _storageConnection = _properties.get(STORAGECONNECTION_PROPERTYNAME);
    _accountName       = _properties.get(ACCOUNTNAME_PROPERTYNAME);
    _accountKey        = _properties.get(ACCOUNTKEY_PROPERTYNAME);
    _containerSAS      = _properties.get(CONTAINERSAS_PROPERTYNAME);

    if ((_containerSAS == null) || "".equals(_containerSAS.trim()))
    {
        String storageConnection = null;
        if ((_storageConnection != null) && (! "".equals(_storageConnection.trim())))
            storageConnection = _storageConnection;
        else if ((_accountName != null) && (! "".equals(_accountName.trim())) && (_accountKey != null) && (! "".equals(_accountKey.trim())))
            storageConnection = "DefaultEndpointsProtocol=https;AccountName=" + _accountName + ";AccountKey=" + _accountKey;

        if (storageConnection != null)
        {
            try
            {
                CloudStorageAccount storageAccount = CloudStorageAccount.parse(storageConnection);
                CloudBlobClient     blobClient     = storageAccount.createCloudBlobClient();
                CloudBlobContainer  blobContainer  = blobClient.getContainerReference(_containerName);
                blobContainer.createIfNotExists();

                SharedAccessBlobPolicy blobPolicy   = new SharedAccessBlobPolicy();
                GregorianCalendar      calendar = new GregorianCalendar(TimeZone.getTimeZone("UTC"));
                calendar.setTime(new Date());
                blobPolicy.setSharedAccessStartTime(calendar.getTime());
                calendar.add(Calendar.HOUR, 6);
                blobPolicy.setSharedAccessExpiryTime(calendar.getTime());
                blobPolicy.setPermissions(EnumSet.of(SharedAccessBlobPermissions.READ, SharedAccessBlobPermissions.WRITE));

                BlobContainerPermissions containerPermissions = new BlobContainerPermissions();
                containerPermissions.setPublicAccess(BlobContainerPublicAccessType.OFF);
                containerPermissions.getSharedAccessPolicies().put("accesspolicy", blobPolicy);
                blobContainer.uploadPermissions(containerPermissions);

                _containerSAS = blobContainer.generateSharedAccessSignature(blobPolicy, null);
            }
            catch (Throwable throwable)
            {
                logger.log(Level.WARNING, "Problems with Azure blob store SAS", throwable);
            }
        }
    }
}
 
开发者ID:arjuna-technologies,项目名称:Azure_DataBroker_PlugIn,代码行数:52,代码来源:AzureStorageDataService.java


示例5: doCloudBlobCopy

import com.microsoft.azure.storage.blob.SharedAccessBlobPolicy; //导入依赖的package包/类
private CloudFile doCloudBlobCopy(CloudBlob source, int length) throws Exception {
    Calendar cal = new GregorianCalendar(TimeZone.getTimeZone("UTC"));
    cal.setTime(new Date());
    cal.add(Calendar.MINUTE, 5);
    
    // Source SAS must have read permissions
    SharedAccessBlobPolicy policy = new SharedAccessBlobPolicy();
    policy.setPermissions(EnumSet.of(SharedAccessBlobPermissions.READ));
    policy.setSharedAccessExpiryTime(cal.getTime());

    String sasToken = source.generateSharedAccessSignature(policy, null, null);

    // Get destination reference
    final CloudFile destination = this.share.getRootDirectoryReference().getFileReference("destination");
    
    // Start copy and wait for completion
    StorageCredentialsSharedAccessSignature credentials = new StorageCredentialsSharedAccessSignature(sasToken);
    Constructor<? extends CloudBlob> blobType = source.getClass().getConstructor(URI.class);
    String copyId = destination.startCopy(blobType.newInstance(credentials.transformUri(source.getUri())));
    FileTestHelper.waitForCopy(destination);
    destination.downloadAttributes();
    
    // Check original file references for equality
    assertEquals(CopyStatus.SUCCESS, destination.getCopyState().getStatus());
    assertEquals(source.getServiceClient().getCredentials().transformUri(source.getUri()).getPath(),
            destination.getCopyState().getSource().getPath());
    assertEquals(length, destination.getCopyState().getTotalBytes().intValue());
    assertEquals(length, destination.getCopyState().getBytesCopied().intValue());
    assertEquals(copyId, destination.getProperties().getCopyState().getCopyId());

    // Attempt to abort the completed copy operation.
    try {
        destination.abortCopy(destination.getCopyState().getCopyId());
        FileTestHelper.waitForCopy(destination);
        fail();
    }
    catch (StorageException ex) {
        assertEquals(HttpURLConnection.HTTP_CONFLICT, ex.getHttpStatusCode());
    }

    assertNotNull(destination.getProperties().getEtag());
    assertFalse(source.getProperties().getEtag().equals(destination.getProperties().getEtag()));

    source.downloadAttributes();
    FileProperties prop1 = destination.getProperties();
    BlobProperties prop2 = source.getProperties();

    assertEquals(prop1.getCacheControl(), prop2.getCacheControl());
    assertEquals(prop1.getContentEncoding(), prop2.getContentEncoding());
    assertEquals(prop1.getContentLanguage(), prop2.getContentLanguage());
    assertEquals(prop1.getContentMD5(), prop2.getContentMD5());
    assertEquals(prop1.getContentType(), prop2.getContentType());

    assertEquals("value", destination.getMetadata().get("Test"));
    return destination;
}
 
开发者ID:Azure,项目名称:azure-storage-android,代码行数:57,代码来源:CloudFileTests.java


示例6: generateSharedAccessSignatureForBlob

import com.microsoft.azure.storage.blob.SharedAccessBlobPolicy; //导入依赖的package包/类
/**
 * Get the complete query builder for creating the Shared Access Signature query.
 * 
 * @param policy
 *            The shared access policy to hash.
 * @param groupPolicyIdentifier
 *            An optional identifier for the policy.
 * @param resourceType
 *            Either "b" for blobs or "c" for containers.
 * @param signature
 *            The signature to use.
 * @return The finished query builder
 * @throws IllegalArgumentException
 * @throws StorageException
 */
public static UriQueryBuilder generateSharedAccessSignatureForBlob(final SharedAccessBlobPolicy policy,
        final SharedAccessBlobHeaders headers, final String groupPolicyIdentifier, final String resourceType,
        final String signature) throws StorageException {
    Utility.assertNotNullOrEmpty("resourceType", resourceType);

    return generateSharedAccessSignatureHelper(policy, null /* startPartitionKey */, null /* startRowKey */,
            null /* endPartitionKey */, null /* endRowKey */, groupPolicyIdentifier, resourceType,
            null /* tableName */, signature, null /* accoutKetName */, headers);
}
 
开发者ID:horizon-institute,项目名称:runspotrun-android-client,代码行数:25,代码来源:SharedAccessSignatureHelper.java


示例7: generateSharedAccessSignatureHashForBlob

import com.microsoft.azure.storage.blob.SharedAccessBlobPolicy; //导入依赖的package包/类
/**
 * Get the signature hash embedded inside the Shared Access Signature for blob service.
 * 
 * @param policy
 *            The shared access policy to hash.
 * @param headers
 *            The optional header values to set for a blob accessed with this shared access signature.
 * @param accessPolicyIdentifier
 *            An optional identifier for the policy.
 * @param resourceName
 *            The resource name.
 * @param client
 *            The ServiceClient associated with the object.
 * @param opContext
 *            An object used to track the execution of the operation
 * @return The signature hash embedded inside the Shared Access Signature.
 * @throws InvalidKeyException
 * @throws StorageException
 */
public static String generateSharedAccessSignatureHashForBlob(final SharedAccessBlobPolicy policy,
        final SharedAccessBlobHeaders headers, final String accessPolicyIdentifier, final String resourceName,
        final ServiceClient client, final OperationContext opContext) throws InvalidKeyException, StorageException {
    return generateSharedAccessSignatureHashForBlob(policy, resourceName, accessPolicyIdentifier, client,
            opContext, headers);

}
 
开发者ID:horizon-institute,项目名称:runspotrun-android-client,代码行数:27,代码来源:SharedAccessSignatureHelper.java



注:本文中的com.microsoft.azure.storage.blob.SharedAccessBlobPolicy类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java MenuFactory类代码示例发布时间:2022-05-23
下一篇:
Java GeneratedClassSource类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap