当前位置: 首页>>代码示例>>C#>>正文


C# ICloudBlob.GetSharedAccessSignature方法代码示例

本文整理汇总了C#中ICloudBlob.GetSharedAccessSignature方法的典型用法代码示例。如果您正苦于以下问题:C# ICloudBlob.GetSharedAccessSignature方法的具体用法?C# ICloudBlob.GetSharedAccessSignature怎么用?C# ICloudBlob.GetSharedAccessSignature使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ICloudBlob的用法示例。


在下文中一共展示了ICloudBlob.GetSharedAccessSignature方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GetDownloadUrlFor

        /// <summary>
        /// Return a secret, persistent Download Url for a given Blob
        /// </summary>
        static string GetDownloadUrlFor(ICloudBlob blob)
        {
            var signature = blob.GetSharedAccessSignature(new SharedAccessBlobPolicy
            {
                SharedAccessExpiryTime = new DateTime(2050, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc)
            }, DownloadPolicyName);

            return string.Format("{0}{1}", blob.Uri.ToString().Replace(" ", "%20"), signature);
        }
开发者ID:Plasma,项目名称:AzureBlobUtility,代码行数:12,代码来源:Program.cs

示例2: GetSasUrl

 public static string GetSasUrl(ICloudBlob blob, SharedAccessBlobPermissions permissions)
 {
     var policy = new SharedAccessBlobPolicy
     {
         SharedAccessExpiryTime = DateTime.Now.AddMinutes(30),
         Permissions = permissions
     };
     string sasBlobToken = blob.GetSharedAccessSignature(policy);
     //Return the URI string for the container, including the SAS token.
     return blob.Uri + sasBlobToken;
 }
开发者ID:Plasma,项目名称:AzureSpeed,代码行数:11,代码来源:StorageUtils.cs

示例3: TestBlobSAS

        private static void TestBlobSAS(ICloudBlob testBlob, SharedAccessBlobPermissions permissions, SharedAccessBlobHeaders headers, string sasVersion)
        {
            UploadText(testBlob, "blob", Encoding.UTF8);

            SharedAccessBlobPolicy policy = new SharedAccessBlobPolicy()
            {
                SharedAccessStartTime = DateTimeOffset.UtcNow.AddMinutes(-5),
                SharedAccessExpiryTime = DateTimeOffset.UtcNow.AddMinutes(30),
                Permissions = permissions,
            };

            string sasToken = testBlob.GetSharedAccessSignature(policy, headers, null, sasVersion);
            TestAccess(sasToken, permissions, headers, null, testBlob);
        }
开发者ID:BurtHarris,项目名称:azure-storage-net,代码行数:14,代码来源:SASTests.cs

示例4: TestBlobSASAsync

        private static async Task TestBlobSASAsync(ICloudBlob testBlob, SharedAccessBlobPermissions permissions, SharedAccessBlobHeaders headers)
        {
            await UploadTextAsync(testBlob, "blob", Encoding.UTF8);

            SharedAccessBlobPolicy policy = new SharedAccessBlobPolicy()
            {
                SharedAccessStartTime = DateTimeOffset.UtcNow.AddMinutes(-5),
                SharedAccessExpiryTime = DateTimeOffset.UtcNow.AddMinutes(30),
                Permissions = permissions,
            };

            string sasToken = testBlob.GetSharedAccessSignature(policy, headers);
            await TestAccessAsync(sasToken, permissions, headers, null, testBlob);
        }
开发者ID:vinaysh-msft,项目名称:azure-storage-net,代码行数:14,代码来源:SASTests.cs

示例5: CopyBlob

        /// <summary>
        /// Copies the specified blob into the specified container.
        /// </summary>
        /// <param name="sourceBlob">The source container.</param>
        /// <param name="destinationContainer">The destination container.</param>
        private static void CopyBlob(ICloudBlob sourceBlob, CloudBlobContainer destinationContainer)
        {
            var signature = sourceBlob.GetSharedAccessSignature(new SharedAccessBlobPolicy
            {
                Permissions = SharedAccessBlobPermissions.Read,
                SharedAccessExpiryTime = DateTime.UtcNow.AddHours(24)
            });

            ICloudBlob destinationBlob = destinationContainer.GetBlockBlobReference(sourceBlob.Name);

            if (destinationBlob.Exists())
            {
                Console.WriteLine(string.Format("Destination blob '{0}' already exists. Skipping.", destinationBlob.Uri));
            }
            else
            {

                // Display the size of the source blob.
                Console.WriteLine(sourceBlob.Properties.Length);

                Console.WriteLine(string.Format("Copy blob '{0}' to '{1}'", sourceBlob.Uri, destinationBlob.Uri));
                destinationBlob.StartCopyFromBlob(new Uri(sourceBlob.Uri.AbsoluteUri + signature));

                while (true)
                {
                    // The StartCopyFromBlob is an async operation,
                    // so we want to check if the copy operation is completed before proceeding.
                    // To do that, we call FetchAttributes on the blob and check the CopyStatus.
                    destinationBlob.FetchAttributes();
                    if (destinationBlob.CopyState.Status != CopyStatus.Pending)
                    {
                        break;
                    }
                    //It's still not completed. So wait for some time.
                    System.Threading.Thread.Sleep(1000);
                }

                // Display the size of the destination blob.
                Console.WriteLine(destinationBlob.Properties.Length);

            }
        }
开发者ID:Azure-Samples,项目名称:media-services-dotnet-copy-blob-into-asset,代码行数:47,代码来源:Program.cs

示例6: CopyBlob

        /// <summary>
        /// Copies the specified blob into the specified container.
        /// </summary>
        /// <param name="sourceBlob">The source container.</param>
        /// <param name="destinationContainer">The destination container.</param>
        private static void CopyBlob(ICloudBlob sourceBlob, CloudBlobContainer destinationContainer)
        {
            var signature = sourceBlob.GetSharedAccessSignature(new SharedAccessBlobPolicy
            {
                Permissions = SharedAccessBlobPermissions.Read,
                SharedAccessExpiryTime = DateTime.UtcNow.AddHours(24)
            });

            ICloudBlob destinationBlob = destinationContainer.GetBlockBlobReference(sourceBlob.Name);

            if (destinationBlob.Exists())
            {
                Console.WriteLine(string.Format("Destination blob '{0}' already exists. Skipping.", destinationBlob.Uri));
            }
            else
            {
                try
                {
                    Console.WriteLine(string.Format("Copy blob '{0}' to '{1}'", sourceBlob.Uri, destinationBlob.Uri));
                    destinationBlob.StartCopyFromBlob(new Uri(sourceBlob.Uri.AbsoluteUri + signature));
                }
                catch (Exception ex)
                {
                    Console.WriteLine(string.Format("Error copying blob '{0}': {1}", sourceBlob.Name, ex.Message));
                }
            }
        }
开发者ID:farukc,项目名称:CopyBlobIntoAsset,代码行数:32,代码来源:Program.cs


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