예제 #1
0
        private async Task <BlobClient> CreateBlobClient(string org, string blobName)
        {
            if (!_storageConfiguration.AccountName.StartsWith("devstoreaccount1"))
            {
                string sasToken = await _sasTokenProvider.GetSasToken(org);

                string accountName   = string.Format(_storageConfiguration.OrgStorageAccount, org);
                string containerName = string.Format(_storageConfiguration.OrgStorageContainer, org);

                UriBuilder fullUri = new UriBuilder
                {
                    Scheme = "https",
                    Host   = $"{accountName}.blob.core.windows.net",
                    Path   = $"{containerName}/{blobName}",
                    Query  = sasToken
                };

                return(new BlobClient(fullUri.Uri));
            }

            StorageSharedKeyCredential storageCredentials = new StorageSharedKeyCredential(_storageConfiguration.AccountName, _storageConfiguration.AccountKey);
            Uri storageUrl = new Uri(_storageConfiguration.BlobEndPoint);
            BlobServiceClient   commonBlobClient    = new BlobServiceClient(storageUrl, storageCredentials);
            BlobContainerClient blobContainerClient = commonBlobClient.GetBlobContainerClient(_storageConfiguration.StorageContainer);

            return(blobContainerClient.GetBlobClient(blobName));
        }
예제 #2
0
        private async Task <BlobContainerClient> CreateBlobClient(string org)
        {
            if (!_accountName.Equals("devstoreaccount1"))
            {
                string sasToken = await _sasTokenProvider.GetSasToken(org);

                string accountName   = string.Format(_accountName, org, _environment);
                string containerName = string.Format(_storageContainer, org, _environment);

                UriBuilder fullUri = new UriBuilder
                {
                    Scheme = "https",
                    Host   = $"{accountName}.blob.core.windows.net",
                    Path   = $"{containerName}",
                    Query  = sasToken,
                };

                return(new BlobContainerClient(fullUri.Uri, null));
            }

            StorageSharedKeyCredential storageCredentials = new StorageSharedKeyCredential(_accountName, _accountKey);
            Uri storageUrl = new Uri(_blobEndpoint);
            BlobServiceClient   commonBlobClient    = new BlobServiceClient(storageUrl, storageCredentials);
            BlobContainerClient blobContainerClient = commonBlobClient.GetBlobContainerClient(string.Format(_storageContainer, org, _environment));

            return(blobContainerClient);
        }