public static void SetEventSubscription(string authToken) { string settingKey = Constant.AppSettingKey.MediaPublishJobUrl; string publishJobUrl = AppSetting.GetValue(settingKey); EventSubscription eventSubscription = new EventSubscription(name: Constant.Media.Publish.EventGrid.SubscriptionName) { Destination = new WebHookEventSubscriptionDestination() { EndpointUrl = publishJobUrl }, Filter = new EventSubscriptionFilter() { IncludedEventTypes = Constant.Media.Publish.EventGrid.EventTypes } }; TokenCredentials azureToken = AuthToken.AcquireToken(authToken, out string subscriptionId); EventGridManagementClient eventGridClient = new EventGridManagementClient(azureToken) { SubscriptionId = subscriptionId }; User userProfile = new User(authToken); string eventScope = userProfile.MediaAccount.ResourceId; eventGridClient.EventSubscriptions.CreateOrUpdate(eventScope, eventSubscription.Name, eventSubscription); }
internal MediaStorage(string authToken, MediaStorageAccount storageAccount) : base(storageAccount.Type, storageAccount.Id) { TokenCredentials azureToken = AuthToken.AcquireToken(authToken, out string subscriptionId); StorageManagementClient storageClient = new StorageManagementClient(azureToken) { SubscriptionId = subscriptionId }; string accountName = Path.GetFileName(storageAccount.Id); IEnumerable <StorageAccount> storageAccounts = storageClient.StorageAccounts.List(); storageAccounts = storageAccounts.Where(s => s.Name.Equals(accountName, StringComparison.OrdinalIgnoreCase)); _storageAccount = storageAccounts.SingleOrDefault(); }