Skip to content
DocsTry Aspire
DocsTry

DaprMetadataResourceBuilderExtensions Methods

ClassMethods3 members
Provides extension methods for configuring dapr components with metadata
WithMetadata(IResourceBuilder<IDaprComponentResource>, string, string)Section titled WithMetadata(IResourceBuilder<IDaprComponentResource>, string, string)extensionIResourceBuilder<IDaprComponentResource>
Adds static value metadata to the Dapr component
public static class DaprMetadataResourceBuilderExtensions
{
public static IResourceBuilder<IDaprComponentResource> WithMetadata(
this IResourceBuilder<IDaprComponentResource> builder,
string name,
string value)
{
// ...
}
}
builderIResourceBuilder<IDaprComponentResource>
namestring
valuestring
WithMetadata(IResourceBuilder<IDaprComponentResource>, string, IValueProvider)Section titled WithMetadata(IResourceBuilder<IDaprComponentResource>, string, IValueProvider)extensionIResourceBuilder<IDaprComponentResource>
Adds a value provider as metadata to the Dapr component that will be resolved at runtime.
public static class DaprMetadataResourceBuilderExtensions
{
public static IResourceBuilder<IDaprComponentResource> WithMetadata(
this IResourceBuilder<IDaprComponentResource> builder,
string name,
IValueProvider valueProvider)
{
// ...
}
}
builderIResourceBuilder<IDaprComponentResource>The resource builder for the Dapr component being configured.
namestringThe name of the metadata property to add to the Dapr component configuration.
valueProviderIValueProviderThe value provider (e.g., EndpointReference, ConnectionStringReference) whose value will be resolved at runtime. The provider's value is stored as an environment variable and referenced through Dapr's secret key reference mechanism.
IResourceBuilder<IDaprComponentResource>The resource builder instance.
This method enables dynamic configuration of Dapr components by:
  • Creating a unique environment variable name based on the component and metadata names
  • Storing the value provider reference for runtime resolution
  • Configuring the metadata to use a secretKeyRef pointing to the environment variable
The environment variable name format is: {COMPONENT_NAME}_{METADATA_NAME} (uppercased, hyphens replaced with underscores). This approach allows for secure injection of dynamic values like endpoint URLs or connection strings that are only known at runtime.
var cache = builder.AddDaprComponent("cache", "state.redis")
.WithMetadata("redisHost", redis.GetEndpoint("tcp"));
WithMetadata(IResourceBuilder<IDaprComponentResource>, string, ParameterResource)Section titled WithMetadata(IResourceBuilder<IDaprComponentResource>, string, ParameterResource)extensionIResourceBuilder<IDaprComponentResource>
Adds a parameter resource as metadata to the Dapr component
public static class DaprMetadataResourceBuilderExtensions
{
public static IResourceBuilder<IDaprComponentResource> WithMetadata(
this IResourceBuilder<IDaprComponentResource> builder,
string name,
ParameterResource parameterResource)
{
// ...
}
}
builderIResourceBuilder<IDaprComponentResource>
namestring
parameterResourceParameterResource