We recommend using Azure Native.
Viewing docs for Azure v6.33.0
published on Monday, Feb 23, 2026 by Pulumi
published on Monday, Feb 23, 2026 by Pulumi
We recommend using Azure Native.
Viewing docs for Azure v6.33.0
published on Monday, Feb 23, 2026 by Pulumi
published on Monday, Feb 23, 2026 by Pulumi
Use this data source to obtain a Shared Access Signature (SAS Token) for an existing Event Hub.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const exampleResourceGroup = new azure.core.ResourceGroup("example", {
name: "example-resources",
location: "West Europe",
});
const exampleEventHubNamespace = new azure.eventhub.EventHubNamespace("example", {
name: "example-ehn",
location: exampleResourceGroup.location,
resourceGroupName: exampleResourceGroup.name,
sku: "Basic",
});
const exampleEventHub = new azure.eventhub.EventHub("example", {
name: "example-eh",
namespaceName: exampleEventHubNamespace.name,
resourceGroupName: exampleResourceGroup.name,
partitionCount: 1,
messageRetention: 1,
});
const exampleAuthorizationRule = new azure.eventhub.AuthorizationRule("example", {
name: "example-ehar",
namespaceName: exampleEventHubNamespace.name,
eventhubName: exampleEventHub.name,
resourceGroupName: exampleResourceGroup.name,
listen: true,
send: true,
manage: true,
});
const example = azure.eventhub.getAuthorizationRuleOutput({
name: exampleAuthorizationRule.name,
namespaceName: exampleEventHubNamespace.name,
eventhubName: exampleEventHub.name,
resourceGroupName: exampleResourceGroup.name,
});
const exampleGetSas = example.apply(example => azure.eventhub.getSasOutput({
connectionString: example.primaryConnectionString,
expiry: "2023-06-23T00:00:00Z",
}));
import pulumi
import pulumi_azure as azure
example_resource_group = azure.core.ResourceGroup("example",
name="example-resources",
location="West Europe")
example_event_hub_namespace = azure.eventhub.EventHubNamespace("example",
name="example-ehn",
location=example_resource_group.location,
resource_group_name=example_resource_group.name,
sku="Basic")
example_event_hub = azure.eventhub.EventHub("example",
name="example-eh",
namespace_name=example_event_hub_namespace.name,
resource_group_name=example_resource_group.name,
partition_count=1,
message_retention=1)
example_authorization_rule = azure.eventhub.AuthorizationRule("example",
name="example-ehar",
namespace_name=example_event_hub_namespace.name,
eventhub_name=example_event_hub.name,
resource_group_name=example_resource_group.name,
listen=True,
send=True,
manage=True)
example = azure.eventhub.get_authorization_rule_output(name=example_authorization_rule.name,
namespace_name=example_event_hub_namespace.name,
eventhub_name=example_event_hub.name,
resource_group_name=example_resource_group.name)
example_get_sas = example.apply(lambda example: azure.eventhub.get_sas_output(connection_string=example.primary_connection_string,
expiry="2023-06-23T00:00:00Z"))
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/eventhub"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
exampleResourceGroup, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example-resources"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
exampleEventHubNamespace, err := eventhub.NewEventHubNamespace(ctx, "example", &eventhub.EventHubNamespaceArgs{
Name: pulumi.String("example-ehn"),
Location: exampleResourceGroup.Location,
ResourceGroupName: exampleResourceGroup.Name,
Sku: pulumi.String("Basic"),
})
if err != nil {
return err
}
exampleEventHub, err := eventhub.NewEventHub(ctx, "example", &eventhub.EventHubArgs{
Name: pulumi.String("example-eh"),
NamespaceName: exampleEventHubNamespace.Name,
ResourceGroupName: exampleResourceGroup.Name,
PartitionCount: pulumi.Int(1),
MessageRetention: pulumi.Int(1),
})
if err != nil {
return err
}
exampleAuthorizationRule, err := eventhub.NewAuthorizationRule(ctx, "example", &eventhub.AuthorizationRuleArgs{
Name: pulumi.String("example-ehar"),
NamespaceName: exampleEventHubNamespace.Name,
EventhubName: exampleEventHub.Name,
ResourceGroupName: exampleResourceGroup.Name,
Listen: pulumi.Bool(true),
Send: pulumi.Bool(true),
Manage: pulumi.Bool(true),
})
if err != nil {
return err
}
example := eventhub.LookupAuthorizationRuleOutput(ctx, eventhub.GetAuthorizationRuleOutputArgs{
Name: exampleAuthorizationRule.Name,
NamespaceName: exampleEventHubNamespace.Name,
EventhubName: exampleEventHub.Name,
ResourceGroupName: exampleResourceGroup.Name,
}, nil)
_ = example.ApplyT(func(example eventhub.GetAuthorizationRuleResult) (eventhub.GetSasResult, error) {
return eventhub.GetSasResult(interface{}(eventhub.GetSas(ctx, &eventhub.GetSasArgs{
ConnectionString: example.PrimaryConnectionString,
Expiry: "2023-06-23T00:00:00Z",
}, nil))), nil
}).(eventhub.GetSasResultOutput)
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var exampleResourceGroup = new Azure.Core.ResourceGroup("example", new()
{
Name = "example-resources",
Location = "West Europe",
});
var exampleEventHubNamespace = new Azure.EventHub.EventHubNamespace("example", new()
{
Name = "example-ehn",
Location = exampleResourceGroup.Location,
ResourceGroupName = exampleResourceGroup.Name,
Sku = "Basic",
});
var exampleEventHub = new Azure.EventHub.EventHub("example", new()
{
Name = "example-eh",
NamespaceName = exampleEventHubNamespace.Name,
ResourceGroupName = exampleResourceGroup.Name,
PartitionCount = 1,
MessageRetention = 1,
});
var exampleAuthorizationRule = new Azure.EventHub.AuthorizationRule("example", new()
{
Name = "example-ehar",
NamespaceName = exampleEventHubNamespace.Name,
EventhubName = exampleEventHub.Name,
ResourceGroupName = exampleResourceGroup.Name,
Listen = true,
Send = true,
Manage = true,
});
var example = Azure.EventHub.GetAuthorizationRule.Invoke(new()
{
Name = exampleAuthorizationRule.Name,
NamespaceName = exampleEventHubNamespace.Name,
EventhubName = exampleEventHub.Name,
ResourceGroupName = exampleResourceGroup.Name,
});
var exampleGetSas = Azure.EventHub.GetSas.Invoke(new()
{
ConnectionString = example.Apply(getAuthorizationRuleResult => getAuthorizationRuleResult.PrimaryConnectionString),
Expiry = "2023-06-23T00:00:00Z",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.eventhub.EventHubNamespace;
import com.pulumi.azure.eventhub.EventHubNamespaceArgs;
import com.pulumi.azure.eventhub.EventHub;
import com.pulumi.azure.eventhub.EventHubArgs;
import com.pulumi.azure.eventhub.AuthorizationRule;
import com.pulumi.azure.eventhub.AuthorizationRuleArgs;
import com.pulumi.azure.eventhub.EventhubFunctions;
import com.pulumi.azure.eventhub.inputs.GetAuthorizationRuleArgs;
import com.pulumi.azure.eventhub.inputs.GetSasArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
.name("example-resources")
.location("West Europe")
.build());
var exampleEventHubNamespace = new EventHubNamespace("exampleEventHubNamespace", EventHubNamespaceArgs.builder()
.name("example-ehn")
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.sku("Basic")
.build());
var exampleEventHub = new EventHub("exampleEventHub", EventHubArgs.builder()
.name("example-eh")
.namespaceName(exampleEventHubNamespace.name())
.resourceGroupName(exampleResourceGroup.name())
.partitionCount(1)
.messageRetention(1)
.build());
var exampleAuthorizationRule = new AuthorizationRule("exampleAuthorizationRule", AuthorizationRuleArgs.builder()
.name("example-ehar")
.namespaceName(exampleEventHubNamespace.name())
.eventhubName(exampleEventHub.name())
.resourceGroupName(exampleResourceGroup.name())
.listen(true)
.send(true)
.manage(true)
.build());
final var example = EventhubFunctions.getAuthorizationRule(GetAuthorizationRuleArgs.builder()
.name(exampleAuthorizationRule.name())
.namespaceName(exampleEventHubNamespace.name())
.eventhubName(exampleEventHub.name())
.resourceGroupName(exampleResourceGroup.name())
.build());
final var exampleGetSas = example.applyValue(_example -> EventhubFunctions.getSas(GetSasArgs.builder()
.connectionString(_example.primaryConnectionString())
.expiry("2023-06-23T00:00:00Z")
.build()));
}
}
resources:
exampleResourceGroup:
type: azure:core:ResourceGroup
name: example
properties:
name: example-resources
location: West Europe
exampleEventHubNamespace:
type: azure:eventhub:EventHubNamespace
name: example
properties:
name: example-ehn
location: ${exampleResourceGroup.location}
resourceGroupName: ${exampleResourceGroup.name}
sku: Basic
exampleEventHub:
type: azure:eventhub:EventHub
name: example
properties:
name: example-eh
namespaceName: ${exampleEventHubNamespace.name}
resourceGroupName: ${exampleResourceGroup.name}
partitionCount: 1
messageRetention: 1
exampleAuthorizationRule:
type: azure:eventhub:AuthorizationRule
name: example
properties:
name: example-ehar
namespaceName: ${exampleEventHubNamespace.name}
eventhubName: ${exampleEventHub.name}
resourceGroupName: ${exampleResourceGroup.name}
listen: true
send: true
manage: true
variables:
example:
fn::invoke:
function: azure:eventhub:getAuthorizationRule
arguments:
name: ${exampleAuthorizationRule.name}
namespaceName: ${exampleEventHubNamespace.name}
eventhubName: ${exampleEventHub.name}
resourceGroupName: ${exampleResourceGroup.name}
exampleGetSas:
fn::invoke:
function: azure:eventhub:getSas
arguments:
connectionString: ${example.primaryConnectionString}
expiry: 2023-06-23T00:00:00Z
Using getSas
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getSas(args: GetSasArgs, opts?: InvokeOptions): Promise<GetSasResult>
function getSasOutput(args: GetSasOutputArgs, opts?: InvokeOptions): Output<GetSasResult>def get_sas(connection_string: Optional[str] = None,
expiry: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetSasResult
def get_sas_output(connection_string: Optional[pulumi.Input[str]] = None,
expiry: Optional[pulumi.Input[str]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetSasResult]func GetSas(ctx *Context, args *GetSasArgs, opts ...InvokeOption) (*GetSasResult, error)
func GetSasOutput(ctx *Context, args *GetSasOutputArgs, opts ...InvokeOption) GetSasResultOutput> Note: This function is named GetSas in the Go SDK.
public static class GetSas
{
public static Task<GetSasResult> InvokeAsync(GetSasArgs args, InvokeOptions? opts = null)
public static Output<GetSasResult> Invoke(GetSasInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetSasResult> getSas(GetSasArgs args, InvokeOptions options)
public static Output<GetSasResult> getSas(GetSasArgs args, InvokeOptions options)
fn::invoke:
function: azure:eventhub/getSas:getSas
arguments:
# arguments dictionaryThe following arguments are supported:
- Connection
String string - The connection string for the Event Hub to which this SAS applies.
- Expiry string
- The expiration time and date of this SAS. Must be a valid ISO-8601 format time/date string.
- Connection
String string - The connection string for the Event Hub to which this SAS applies.
- Expiry string
- The expiration time and date of this SAS. Must be a valid ISO-8601 format time/date string.
- connection
String String - The connection string for the Event Hub to which this SAS applies.
- expiry String
- The expiration time and date of this SAS. Must be a valid ISO-8601 format time/date string.
- connection
String string - The connection string for the Event Hub to which this SAS applies.
- expiry string
- The expiration time and date of this SAS. Must be a valid ISO-8601 format time/date string.
- connection_
string str - The connection string for the Event Hub to which this SAS applies.
- expiry str
- The expiration time and date of this SAS. Must be a valid ISO-8601 format time/date string.
- connection
String String - The connection string for the Event Hub to which this SAS applies.
- expiry String
- The expiration time and date of this SAS. Must be a valid ISO-8601 format time/date string.
getSas Result
The following output properties are available:
- Connection
String string - Expiry string
- Id string
- The provider-assigned unique ID for this managed resource.
- Sas string
- The computed Event Hub Shared Access Signature (SAS).
- Connection
String string - Expiry string
- Id string
- The provider-assigned unique ID for this managed resource.
- Sas string
- The computed Event Hub Shared Access Signature (SAS).
- connection
String String - expiry String
- id String
- The provider-assigned unique ID for this managed resource.
- sas String
- The computed Event Hub Shared Access Signature (SAS).
- connection
String string - expiry string
- id string
- The provider-assigned unique ID for this managed resource.
- sas string
- The computed Event Hub Shared Access Signature (SAS).
- connection_
string str - expiry str
- id str
- The provider-assigned unique ID for this managed resource.
- sas str
- The computed Event Hub Shared Access Signature (SAS).
- connection
String String - expiry String
- id String
- The provider-assigned unique ID for this managed resource.
- sas String
- The computed Event Hub Shared Access Signature (SAS).
Package Details
- Repository
- Azure Classic pulumi/pulumi-azure
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
azurermTerraform Provider.
We recommend using Azure Native.
Viewing docs for Azure v6.33.0
published on Monday, Feb 23, 2026 by Pulumi
published on Monday, Feb 23, 2026 by Pulumi
