Support Multiple User Agent Strings in Telemetry #24025
Labels
Azure.Core
customer-reported
Issues that are reported by GitHub users external to the Azure organization.
feature-request
This issue requires a new behavior in the product in order be resolved.
needs-team-attention
Workflow: This issue needs attention from Azure service team or SDK team
In order to get Attribution for a first or third party's software or solution impact on Blob storage a Partner Attribution Tag must be provided as part of the User Agent string as part of HTTP requests associated with interaction with blockblob.
The Go SDK provides a means by which to specify a single User Agent string, sans spaces, and below 24 characters via:
https://azure.github.io/azure-sdk/general_azurecore.html#telemetry-policy
However, Partner Attribution tags frequently require more than a single User Agent string. For instance, we need all of:
"APN/1.0 MS_Azure/1.0 AMLFS/1.0"
The Azure SDK for Python supports addition of a user agents:
https://github.com/Azure/azure-sdk-for-python/blob/35d0bd03db364b102a15204ec9658be62ba929cc/sdk/core/azure-core/azure/core/pipeline/policies/_universal.py#L235
The Azure for C# SDK simply doesn’t filter for spaces or length, so you can slam three UA strings in there if you like. I realize that is at odds with the Azure SDK policy on Application IDs (<=24c and no spaces), but that policy is for a single App ID. Nothing I can see specifies that you must only have a single App ID provided.
This was discussed via email with @RickWinter, @JeffreyRichter, and @jhendrixMSFT who asked me to open this. Hopefully I have represented the problem appropriately here.
The text was updated successfully, but these errors were encountered: