public VideoRepository(IOptions <VideoStorageSettings> videoStorageSettings, ILogger <VideoRepository> logger)
        {
            _logger = logger;
            _videoStorageSettings = videoStorageSettings.Value;
            if (CloudStorageAccount.TryParse(_videoStorageSettings.ConnectionString, out _storageAccount))
            {
                try
                {
                    _client        = _storageAccount.CreateCloudBlobClient();
                    _blobContainer = _client.GetContainerReference(_videoStorageSettings.ContainerName);

                    // set permissions so the blobs are public
                    BlobContainerPermissions permissions = new BlobContainerPermissions
                    {
                        PublicAccess = BlobContainerPublicAccessType.Blob
                    };
                    _blobContainer.SetPermissionsAsync(permissions).Wait();
                }
                catch (StorageException ex)
                {
                    _logger.LogError($"Error returned from the service: {ex}");
                }
            }
            else
            {
                _logger.LogError($"Unable to parse blob video storage connection string");
            }
        }
Example #2
0
 public VideoBlobSeedData(IOptions <VideoStorageSettings> videoStorageSettings)
 {
     _videoStorageSettings = videoStorageSettings.Value;
 }