public async Task <SignalRResource> CreateAsync( IResourceGroup resourceGroup, string signalRName, IDictionary <string, string> tags = default, CancellationToken cancellationToken = default ) { try { tags = tags ?? new Dictionary <string, string>(); Log.Information($"Creating SignalR Service: {signalRName} ..."); // Constructor of SignalRFeature will set Flag to "ServiceMode". // Bug report for adding feature to explicitly set the Flag to "ServiceMode": // https://github.com/Azure/azure-sdk-for-net/issues/8806 var serviceModeFeature = new SignalRFeature { Value = "Default" }; var signalRCreateParameters = new SignalRCreateParameters() { Location = resourceGroup.RegionName, Tags = tags, Sku = new ResourceSku { Name = "Standard_S1", Tier = "Standard", Capacity = 1, }, Properties = new SignalRCreateOrUpdateProperties { HostNamePrefix = signalRName, Features = new List <SignalRFeature> { serviceModeFeature } } }; signalRCreateParameters.Validate(); var signalR = await _signalRManagementClient .SignalR .CreateOrUpdateAsync( resourceGroup.Name, signalRName, signalRCreateParameters, cancellationToken ); Log.Information($"Created SignalR Service: {signalRName}"); return(signalR); } catch (Exception ex) { Log.Error(ex, $"Failed ot create SignalR Service: {signalRName}"); throw; } }
public PSSignalRFeature(SignalRFeature signalrFeature) { Flag = SignalRFeature.Flag; Value = signalrFeature.Value; Properties = signalrFeature.Properties; }
/// <summary> /// Create a Standard tier Serverless instance of SignalR service in the given resource group. /// </summary> /// <param name="resourceGroup"></param> /// <param name="signalRName"></param> /// <param name="tags"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public async Task <SignalRResource> CreateAsync( IResourceGroup resourceGroup, string signalRName, IDictionary <string, string> tags = null, CancellationToken cancellationToken = default ) { if (resourceGroup is null) { throw new ArgumentNullException(nameof(resourceGroup)); } if (string.IsNullOrEmpty(signalRName)) { throw new ArgumentNullException(nameof(signalRName)); } try { tags ??= new Dictionary <string, string>(); Log.Information($"Creating SignalR Service: {signalRName} ..."); var serviceModeFeature = new SignalRFeature { Flag = ServiceMode.Serverless.Flag, Value = ServiceMode.Serverless.Value }; var signalRCreateParameters = new SignalRResource() { Location = resourceGroup.RegionName, Tags = tags, Sku = new ResourceSku { Name = "Standard_S1", Tier = "Standard", Capacity = 1, }, HostNamePrefix = signalRName, Features = new List <SignalRFeature> { serviceModeFeature } }; signalRCreateParameters.Validate(); var signalR = await _signalRManagementClient .SignalR .CreateOrUpdateAsync( resourceGroup.Name, signalRName, signalRCreateParameters, cancellationToken ); Log.Information($"Created SignalR Service: {signalRName}"); return(signalR); } catch (Exception ex) { Log.Error(ex, $"Failed ot create SignalR Service: {signalRName}"); throw; } }