diff --git a/api/overview/azure/latest/alerts-management.md b/api/overview/azure/latest/alerts-management.md index 9b55c30ea6da..769cde884e69 100644 --- a/api/overview/azure/latest/alerts-management.md +++ b/api/overview/azure/latest/alerts-management.md @@ -3,7 +3,7 @@ title: Azure Alerts Management SDK for .NET description: Reference for Azure Alerts Management SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: alertsmanagement diff --git a/api/overview/azure/latest/analysis.md b/api/overview/azure/latest/analysis.md index 15febd651b35..ecd895135e3f 100644 --- a/api/overview/azure/latest/analysis.md +++ b/api/overview/azure/latest/analysis.md @@ -3,7 +3,7 @@ title: Azure Analysis SDK for .NET description: Reference for Azure Analysis SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: analysis diff --git a/api/overview/azure/latest/api-management.md b/api/overview/azure/latest/api-management.md index ad282b3cf518..3affba1fdcf5 100644 --- a/api/overview/azure/latest/api-management.md +++ b/api/overview/azure/latest/api-management.md @@ -3,7 +3,7 @@ title: Azure Api Management SDK for .NET description: Reference for Azure Api Management SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: apimanagement diff --git a/api/overview/azure/latest/app-configuration.md b/api/overview/azure/latest/app-configuration.md index cae7f41a3e1e..50632ccac106 100644 --- a/api/overview/azure/latest/app-configuration.md +++ b/api/overview/azure/latest/app-configuration.md @@ -3,7 +3,7 @@ title: Azure App Configuration SDK for .NET description: Reference for Azure App Configuration SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: appconfiguration diff --git a/api/overview/azure/latest/app-platform.md b/api/overview/azure/latest/app-platform.md index 98a329e85d33..09dd418ddc26 100644 --- a/api/overview/azure/latest/app-platform.md +++ b/api/overview/azure/latest/app-platform.md @@ -3,7 +3,7 @@ title: Azure App Platform SDK for .NET description: Reference for Azure App Platform SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: appplatform diff --git a/api/overview/azure/latest/app-service.md b/api/overview/azure/latest/app-service.md index ad82a165dbbc..3e2102354ead 100644 --- a/api/overview/azure/latest/app-service.md +++ b/api/overview/azure/latest/app-service.md @@ -3,7 +3,7 @@ title: Azure App Service SDK for .NET description: Reference for Azure App Service SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: appservice diff --git a/api/overview/azure/latest/attestation.md b/api/overview/azure/latest/attestation.md index 62409088586e..4bc55594887d 100644 --- a/api/overview/azure/latest/attestation.md +++ b/api/overview/azure/latest/attestation.md @@ -3,7 +3,7 @@ title: Azure Attestation SDK for .NET description: Reference for Azure Attestation SDK for .NET author: anilba06 ms.author: anilba -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: attestation diff --git a/api/overview/azure/latest/authorization.md b/api/overview/azure/latest/authorization.md index 2ac2fdad26c7..516b54bdbce1 100644 --- a/api/overview/azure/latest/authorization.md +++ b/api/overview/azure/latest/authorization.md @@ -3,7 +3,7 @@ title: Azure Authorization SDK for .NET description: Reference for Azure Authorization SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: authorization diff --git a/api/overview/azure/latest/auto-suggest.md b/api/overview/azure/latest/auto-suggest.md index e13128e2b2b0..c573a20d0d26 100644 --- a/api/overview/azure/latest/auto-suggest.md +++ b/api/overview/azure/latest/auto-suggest.md @@ -3,7 +3,7 @@ title: Azure Auto Suggest SDK for .NET description: Reference for Azure Auto Suggest SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: autosuggest diff --git a/api/overview/azure/latest/automanage.md b/api/overview/azure/latest/automanage.md index 1bcad5d0e450..69706bb10457 100644 --- a/api/overview/azure/latest/automanage.md +++ b/api/overview/azure/latest/automanage.md @@ -3,7 +3,7 @@ title: Azure Automanage SDK for .NET description: Reference for Azure Automanage SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: automanage diff --git a/api/overview/azure/latest/automation.md b/api/overview/azure/latest/automation.md index d4b7c6d21217..f7ef81b70898 100644 --- a/api/overview/azure/latest/automation.md +++ b/api/overview/azure/latest/automation.md @@ -3,7 +3,7 @@ title: Azure Automation SDK for .NET description: Reference for Azure Automation SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: automation diff --git a/api/overview/azure/latest/autorest.md b/api/overview/azure/latest/autorest.md index c3a4caccb3dd..6aa1b7c9260d 100644 --- a/api/overview/azure/latest/autorest.md +++ b/api/overview/azure/latest/autorest.md @@ -3,7 +3,7 @@ title: Azure AutoRest SDK for .NET description: Reference for Azure AutoRest SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: autorest diff --git a/api/overview/azure/latest/azure-vmware-solution.md b/api/overview/azure/latest/azure-vmware-solution.md index 913d1bea17e3..3a461b04ba9a 100644 --- a/api/overview/azure/latest/azure-vmware-solution.md +++ b/api/overview/azure/latest/azure-vmware-solution.md @@ -3,7 +3,7 @@ title: Azure Azure VMware Solution SDK for .NET description: Reference for Azure Azure VMware Solution SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: azurevmwaresolution diff --git a/api/overview/azure/latest/batch.md b/api/overview/azure/latest/batch.md index 25c1f8f73c12..690c1f62846e 100644 --- a/api/overview/azure/latest/batch.md +++ b/api/overview/azure/latest/batch.md @@ -3,7 +3,7 @@ title: Azure Batch SDK for .NET description: Reference for Azure Batch SDK for .NET author: jingjlii ms.author: jingjli -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: batch diff --git a/api/overview/azure/latest/billing.md b/api/overview/azure/latest/billing.md index 42f4683a62a9..941a3110a879 100644 --- a/api/overview/azure/latest/billing.md +++ b/api/overview/azure/latest/billing.md @@ -3,7 +3,7 @@ title: Azure Billing SDK for .NET description: Reference for Azure Billing SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: billing diff --git a/api/overview/azure/latest/bot-service.md b/api/overview/azure/latest/bot-service.md index 78e080780d9a..393ba7eb9141 100644 --- a/api/overview/azure/latest/bot-service.md +++ b/api/overview/azure/latest/bot-service.md @@ -3,7 +3,7 @@ title: Azure Bot Service SDK for .NET description: Reference for Azure Bot Service SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: botservice diff --git a/api/overview/azure/latest/change-analysis.md b/api/overview/azure/latest/change-analysis.md index e07950c28180..8433bdf60eee 100644 --- a/api/overview/azure/latest/change-analysis.md +++ b/api/overview/azure/latest/change-analysis.md @@ -3,7 +3,7 @@ title: Azure Change Analysis SDK for .NET description: Reference for Azure Change Analysis SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: changeanalysis diff --git a/api/overview/azure/latest/cognitive-services.md b/api/overview/azure/latest/cognitive-services.md index 8d7aec0009ee..b4c9f2d8482d 100644 --- a/api/overview/azure/latest/cognitive-services.md +++ b/api/overview/azure/latest/cognitive-services.md @@ -3,7 +3,7 @@ title: Azure Cognitive Services SDK for .NET description: Reference for Azure Cognitive Services SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: cognitiveservices diff --git a/api/overview/azure/latest/communication.md b/api/overview/azure/latest/communication.md index 9e7d6caeba32..80c23299361f 100644 --- a/api/overview/azure/latest/communication.md +++ b/api/overview/azure/latest/communication.md @@ -3,7 +3,7 @@ title: Azure Communication SDK for .NET description: Reference for Azure Communication SDK for .NET author: acsdevx-msft ms.author: acsdevx-msft -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: communication diff --git a/api/overview/azure/latest/compute.md b/api/overview/azure/latest/compute.md index 7c3f981a03a7..5fbc4de42c29 100644 --- a/api/overview/azure/latest/compute.md +++ b/api/overview/azure/latest/compute.md @@ -3,7 +3,7 @@ title: Azure Compute SDK for .NET description: Reference for Azure Compute SDK for .NET author: bilaakpan-ms ms.author: saakpan -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: compute diff --git a/api/overview/azure/latest/confidential-ledger.md b/api/overview/azure/latest/confidential-ledger.md index 7b90b80a65ff..387e9bc78fb3 100644 --- a/api/overview/azure/latest/confidential-ledger.md +++ b/api/overview/azure/latest/confidential-ledger.md @@ -3,7 +3,7 @@ title: Azure Confidential Ledger SDK for .NET description: Reference for Azure Confidential Ledger SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: confidentialledger diff --git a/api/overview/azure/latest/confluent.md b/api/overview/azure/latest/confluent.md index 90e1c438ac40..c6212a1f78ad 100644 --- a/api/overview/azure/latest/confluent.md +++ b/api/overview/azure/latest/confluent.md @@ -3,7 +3,7 @@ title: Azure Confluent SDK for .NET description: Reference for Azure Confluent SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: confluent diff --git a/api/overview/azure/latest/consumption.md b/api/overview/azure/latest/consumption.md index c9f98f930d59..79cc343fb552 100644 --- a/api/overview/azure/latest/consumption.md +++ b/api/overview/azure/latest/consumption.md @@ -3,7 +3,7 @@ title: Azure Consumption SDK for .NET description: Reference for Azure Consumption SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: consumption diff --git a/api/overview/azure/latest/container-apps.md b/api/overview/azure/latest/container-apps.md index ba0343d2cf10..f32ecef75916 100644 --- a/api/overview/azure/latest/container-apps.md +++ b/api/overview/azure/latest/container-apps.md @@ -3,7 +3,7 @@ title: Azure Container Apps SDK for .NET description: Reference for Azure Container Apps SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: containerapps diff --git a/api/overview/azure/latest/container-instances.md b/api/overview/azure/latest/container-instances.md index 12835a5e9b37..9e7b56dc37f1 100644 --- a/api/overview/azure/latest/container-instances.md +++ b/api/overview/azure/latest/container-instances.md @@ -3,7 +3,7 @@ title: Azure Container Instances SDK for .NET description: Reference for Azure Container Instances SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: containerinstances diff --git a/api/overview/azure/latest/container-registry.md b/api/overview/azure/latest/container-registry.md index cb20f8eb507b..a309b0ad241d 100644 --- a/api/overview/azure/latest/container-registry.md +++ b/api/overview/azure/latest/container-registry.md @@ -3,7 +3,7 @@ title: Azure Container Registry SDK for .NET description: Reference for Azure Container Registry SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: containerregistry diff --git a/api/overview/azure/latest/container-service.md b/api/overview/azure/latest/container-service.md index 954ad1ce8192..720ea3a90236 100644 --- a/api/overview/azure/latest/container-service.md +++ b/api/overview/azure/latest/container-service.md @@ -3,7 +3,7 @@ title: Azure Container Service SDK for .NET description: Reference for Azure Container Service SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: containerservice diff --git a/api/overview/azure/latest/content-delivery-network.md b/api/overview/azure/latest/content-delivery-network.md index 5a974f1dac06..c5ad00196450 100644 --- a/api/overview/azure/latest/content-delivery-network.md +++ b/api/overview/azure/latest/content-delivery-network.md @@ -3,7 +3,7 @@ title: Azure Content Delivery Network SDK for .NET description: Reference for Azure Content Delivery Network SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: contentdeliverynetwork diff --git a/api/overview/azure/latest/cosmos-db.md b/api/overview/azure/latest/cosmos-db.md index 5e8a17b52e92..a90b8a59cfda 100644 --- a/api/overview/azure/latest/cosmos-db.md +++ b/api/overview/azure/latest/cosmos-db.md @@ -3,7 +3,7 @@ title: Azure Cosmos DB SDK for .NET description: Reference for Azure Cosmos DB SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: cosmosdb diff --git a/api/overview/azure/latest/cost-management.md b/api/overview/azure/latest/cost-management.md index 3decb408210b..ab657fadcca8 100644 --- a/api/overview/azure/latest/cost-management.md +++ b/api/overview/azure/latest/cost-management.md @@ -3,7 +3,7 @@ title: Azure Cost Management SDK for .NET description: Reference for Azure Cost Management SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: costmanagement diff --git a/api/overview/azure/latest/custom-image-search.md b/api/overview/azure/latest/custom-image-search.md index fc45ccafcc4f..5ef40505848c 100644 --- a/api/overview/azure/latest/custom-image-search.md +++ b/api/overview/azure/latest/custom-image-search.md @@ -3,7 +3,7 @@ title: Azure Custom Image Search SDK for .NET description: Reference for Azure Custom Image Search SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: customimagesearch diff --git a/api/overview/azure/latest/custom-search.md b/api/overview/azure/latest/custom-search.md index 4aebcd36c045..3c8ccb5a5529 100644 --- a/api/overview/azure/latest/custom-search.md +++ b/api/overview/azure/latest/custom-search.md @@ -3,7 +3,7 @@ title: Azure Custom Search SDK for .NET description: Reference for Azure Custom Search SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: customsearch diff --git a/api/overview/azure/latest/data-box-edge.md b/api/overview/azure/latest/data-box-edge.md index 267bcd7dfb6c..14102398c056 100644 --- a/api/overview/azure/latest/data-box-edge.md +++ b/api/overview/azure/latest/data-box-edge.md @@ -3,7 +3,7 @@ title: Azure Data Box Edge SDK for .NET description: Reference for Azure Data Box Edge SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: databoxedge diff --git a/api/overview/azure/latest/data-box.md b/api/overview/azure/latest/data-box.md index 39bec7bc08f4..e4fd01f45cea 100644 --- a/api/overview/azure/latest/data-box.md +++ b/api/overview/azure/latest/data-box.md @@ -3,7 +3,7 @@ title: Azure Data Box SDK for .NET description: Reference for Azure Data Box SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: databox diff --git a/api/overview/azure/latest/data-factory.md b/api/overview/azure/latest/data-factory.md index e9760e2dc426..7104237eab1e 100644 --- a/api/overview/azure/latest/data-factory.md +++ b/api/overview/azure/latest/data-factory.md @@ -3,7 +3,7 @@ title: Azure Data Factory SDK for .NET description: Reference for Azure Data Factory SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: datafactory diff --git a/api/overview/azure/latest/data-lake-analytics.md b/api/overview/azure/latest/data-lake-analytics.md index aa6c7ae16cac..d7468a39f64a 100644 --- a/api/overview/azure/latest/data-lake-analytics.md +++ b/api/overview/azure/latest/data-lake-analytics.md @@ -3,7 +3,7 @@ title: Azure Data Lake Analytics SDK for .NET description: Reference for Azure Data Lake Analytics SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: datalakeanalytics diff --git a/api/overview/azure/latest/data-lake-store.md b/api/overview/azure/latest/data-lake-store.md index 85549dedf098..d28b34acd9ef 100644 --- a/api/overview/azure/latest/data-lake-store.md +++ b/api/overview/azure/latest/data-lake-store.md @@ -3,7 +3,7 @@ title: Azure Data Lake Store SDK for .NET description: Reference for Azure Data Lake Store SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: datalakestore diff --git a/api/overview/azure/latest/data-protection.md b/api/overview/azure/latest/data-protection.md index a4a16a791174..eb5373deebb4 100644 --- a/api/overview/azure/latest/data-protection.md +++ b/api/overview/azure/latest/data-protection.md @@ -3,7 +3,7 @@ title: Azure Data Protection SDK for .NET description: Reference for Azure Data Protection SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: dataprotection diff --git a/api/overview/azure/latest/data-share.md b/api/overview/azure/latest/data-share.md index fb711fe30488..fd30c30234a3 100644 --- a/api/overview/azure/latest/data-share.md +++ b/api/overview/azure/latest/data-share.md @@ -3,7 +3,7 @@ title: Azure Data Share SDK for .NET description: Reference for Azure Data Share SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: datashare diff --git a/api/overview/azure/latest/desktop-virtualization.md b/api/overview/azure/latest/desktop-virtualization.md index 5625241b064c..c0b817d420ff 100644 --- a/api/overview/azure/latest/desktop-virtualization.md +++ b/api/overview/azure/latest/desktop-virtualization.md @@ -3,7 +3,7 @@ title: Azure Desktop Virtualization SDK for .NET description: Reference for Azure Desktop Virtualization SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: desktopvirtualization diff --git a/api/overview/azure/latest/dev-center.md b/api/overview/azure/latest/dev-center.md index 0e4ef378d18a..c3575da20917 100644 --- a/api/overview/azure/latest/dev-center.md +++ b/api/overview/azure/latest/dev-center.md @@ -3,7 +3,7 @@ title: Azure Dev Center SDK for .NET description: Reference for Azure Dev Center SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: devcenter diff --git a/api/overview/azure/latest/devtest-labs.md b/api/overview/azure/latest/devtest-labs.md index 5585765453f4..7a926e4bda95 100644 --- a/api/overview/azure/latest/devtest-labs.md +++ b/api/overview/azure/latest/devtest-labs.md @@ -3,7 +3,7 @@ title: Azure DevTest Labs SDK for .NET description: Reference for Azure DevTest Labs SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: devtest-lab diff --git a/api/overview/azure/latest/dns-resolver.md b/api/overview/azure/latest/dns-resolver.md index 89f18aa52806..4c0ff208fcf8 100644 --- a/api/overview/azure/latest/dns-resolver.md +++ b/api/overview/azure/latest/dns-resolver.md @@ -3,7 +3,7 @@ title: Azure DNS Resolver SDK for .NET description: Reference for Azure DNS Resolver SDK for .NET author: dnssuppgithub ms.author: dnssuppgithub -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: dnsresolver diff --git a/api/overview/azure/latest/dns.md b/api/overview/azure/latest/dns.md index f96ca254e6eb..fd0bf57b12a9 100644 --- a/api/overview/azure/latest/dns.md +++ b/api/overview/azure/latest/dns.md @@ -3,7 +3,7 @@ title: Azure DNS SDK for .NET description: Reference for Azure DNS SDK for .NET author: dnssuppgithub ms.author: dnssuppgithub -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: dns diff --git a/api/overview/azure/latest/dynatrace.md b/api/overview/azure/latest/dynatrace.md index d4f271c6168a..a258bafdad35 100644 --- a/api/overview/azure/latest/dynatrace.md +++ b/api/overview/azure/latest/dynatrace.md @@ -3,7 +3,7 @@ title: Azure Dynatrace SDK for .NET description: Reference for Azure Dynatrace SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: dynatrace diff --git a/api/overview/azure/latest/edge-order.md b/api/overview/azure/latest/edge-order.md index 26231b4e36bf..ae2ab0806cf7 100644 --- a/api/overview/azure/latest/edge-order.md +++ b/api/overview/azure/latest/edge-order.md @@ -3,7 +3,7 @@ title: Azure Edge Order SDK for .NET description: Reference for Azure Edge Order SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: edgeorder diff --git a/api/overview/azure/latest/entity-search.md b/api/overview/azure/latest/entity-search.md index 84b1467802c7..014fb5e329d8 100644 --- a/api/overview/azure/latest/entity-search.md +++ b/api/overview/azure/latest/entity-search.md @@ -3,7 +3,7 @@ title: Azure Entity Search SDK for .NET description: Reference for Azure Entity Search SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: entitysearch diff --git a/api/overview/azure/latest/event-grid.md b/api/overview/azure/latest/event-grid.md index fe863d9183cc..efde5e68bff9 100644 --- a/api/overview/azure/latest/event-grid.md +++ b/api/overview/azure/latest/event-grid.md @@ -3,7 +3,7 @@ title: Azure Event Grid SDK for .NET description: Reference for Azure Event Grid SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: eventgrid diff --git a/api/overview/azure/latest/event-hubs.md b/api/overview/azure/latest/event-hubs.md index 746e4291be3c..284182e3ec20 100644 --- a/api/overview/azure/latest/event-hubs.md +++ b/api/overview/azure/latest/event-hubs.md @@ -3,7 +3,7 @@ title: Azure Event Hubs SDK for .NET description: Reference for Azure Event Hubs SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: eventhubs diff --git a/api/overview/azure/latest/extended-location.md b/api/overview/azure/latest/extended-location.md index b9049e876f5b..b9ffd3e9fba6 100644 --- a/api/overview/azure/latest/extended-location.md +++ b/api/overview/azure/latest/extended-location.md @@ -3,7 +3,7 @@ title: Azure Extended Location SDK for .NET description: Reference for Azure Extended Location SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: extendedlocation diff --git a/api/overview/azure/latest/extensions.md b/api/overview/azure/latest/extensions.md index 2e7b4f481fac..7e8edc326ec8 100644 --- a/api/overview/azure/latest/extensions.md +++ b/api/overview/azure/latest/extensions.md @@ -3,7 +3,7 @@ title: Azure Extensions SDK for .NET description: Reference for Azure Extensions SDK for .NET author: jsquire ms.author: jsquire -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: extensions diff --git a/api/overview/azure/latest/fluid-relay.md b/api/overview/azure/latest/fluid-relay.md index 30dedc996e7e..5078c6c93d37 100644 --- a/api/overview/azure/latest/fluid-relay.md +++ b/api/overview/azure/latest/fluid-relay.md @@ -3,7 +3,7 @@ title: Azure Fluid Relay SDK for .NET description: Reference for Azure Fluid Relay SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: fluidrelay diff --git a/api/overview/azure/latest/front-door.md b/api/overview/azure/latest/front-door.md index 5a6b273003f8..c1d240bc3ad3 100644 --- a/api/overview/azure/latest/front-door.md +++ b/api/overview/azure/latest/front-door.md @@ -3,7 +3,7 @@ title: Azure Front Door SDK for .NET description: Reference for Azure Front Door SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: frontdoor diff --git a/api/overview/azure/latest/functions.md b/api/overview/azure/latest/functions.md index e1c815789973..85ec0a114f31 100644 --- a/api/overview/azure/latest/functions.md +++ b/api/overview/azure/latest/functions.md @@ -3,10 +3,10 @@ title: Azure Functions SDK for .NET description: Reference for Azure Functions SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet -ms.service: azure-functions +ms.service: functions ms.date: 10/15/2019 --- # Azure Functions libraries for .NET diff --git a/api/overview/azure/latest/grafana.md b/api/overview/azure/latest/grafana.md index 745cb828eaac..70d4c1403a4d 100644 --- a/api/overview/azure/latest/grafana.md +++ b/api/overview/azure/latest/grafana.md @@ -3,7 +3,7 @@ title: Azure Grafana SDK for .NET description: Reference for Azure Grafana SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: grafana diff --git a/api/overview/azure/latest/graph-services.md b/api/overview/azure/latest/graph-services.md index 4175da8a006f..ef268fcef458 100644 --- a/api/overview/azure/latest/graph-services.md +++ b/api/overview/azure/latest/graph-services.md @@ -3,7 +3,7 @@ title: Azure Graph Services SDK for .NET description: Reference for Azure Graph Services SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: graphservices diff --git a/api/overview/azure/latest/guest-configuration.md b/api/overview/azure/latest/guest-configuration.md index c558a6789a42..f79448255e97 100644 --- a/api/overview/azure/latest/guest-configuration.md +++ b/api/overview/azure/latest/guest-configuration.md @@ -3,7 +3,7 @@ title: Azure Guest Configuration SDK for .NET description: Reference for Azure Guest Configuration SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: guestconfiguration diff --git a/api/overview/azure/latest/hdinsight.md b/api/overview/azure/latest/hdinsight.md index 1710e51b52a8..70642528b81a 100644 --- a/api/overview/azure/latest/hdinsight.md +++ b/api/overview/azure/latest/hdinsight.md @@ -3,7 +3,7 @@ title: Azure HDInsight SDK for .NET description: Reference for Azure HDInsight SDK for .NET author: aim-for-better ms.author: zhezhou -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: hdinsight diff --git a/api/overview/azure/latest/health-bot.md b/api/overview/azure/latest/health-bot.md index 031a8fecccb3..e82931f24f13 100644 --- a/api/overview/azure/latest/health-bot.md +++ b/api/overview/azure/latest/health-bot.md @@ -3,7 +3,7 @@ title: Azure Health Bot SDK for .NET description: Reference for Azure Health Bot SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: healthbot diff --git a/api/overview/azure/latest/healthcare-apis.md b/api/overview/azure/latest/healthcare-apis.md index 1cde03109a09..67dfcb8b4eea 100644 --- a/api/overview/azure/latest/healthcare-apis.md +++ b/api/overview/azure/latest/healthcare-apis.md @@ -3,7 +3,7 @@ title: Azure Healthcare APIs SDK for .NET description: Reference for Azure Healthcare APIs SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: healthcareapis diff --git a/api/overview/azure/latest/identity.md b/api/overview/azure/latest/identity.md index a59586105bac..6ce879527538 100644 --- a/api/overview/azure/latest/identity.md +++ b/api/overview/azure/latest/identity.md @@ -3,7 +3,7 @@ title: Azure Identity SDK for .NET description: Reference for Azure Identity SDK for .NET author: schaabs ms.author: sschaab -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: identity diff --git a/api/overview/azure/latest/image-search.md b/api/overview/azure/latest/image-search.md index f27fd1535678..5e8d6f284fca 100644 --- a/api/overview/azure/latest/image-search.md +++ b/api/overview/azure/latest/image-search.md @@ -3,7 +3,7 @@ title: Azure Image Search SDK for .NET description: Reference for Azure Image Search SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: imagesearch diff --git a/api/overview/azure/latest/iot.md b/api/overview/azure/latest/iot.md index 19a50e642138..3c1c4290d641 100644 --- a/api/overview/azure/latest/iot.md +++ b/api/overview/azure/latest/iot.md @@ -3,7 +3,7 @@ title: Azure IoT SDK for .NET description: Reference for Azure IoT SDK for .NET author: ethanann-ms ms.author: ethanann -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: iot diff --git a/api/overview/azure/latest/key-vault.md b/api/overview/azure/latest/key-vault.md index d38f927d9467..384f56a0f6a3 100644 --- a/api/overview/azure/latest/key-vault.md +++ b/api/overview/azure/latest/key-vault.md @@ -3,7 +3,7 @@ title: Azure Key Vault SDK for .NET description: Reference for Azure Key Vault SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: keyvault diff --git a/api/overview/azure/latest/kubernetes-configuration.md b/api/overview/azure/latest/kubernetes-configuration.md index 8f55add05c0b..5613be5376bc 100644 --- a/api/overview/azure/latest/kubernetes-configuration.md +++ b/api/overview/azure/latest/kubernetes-configuration.md @@ -3,7 +3,7 @@ title: Azure Kubernetes Configuration SDK for .NET description: Reference for Azure Kubernetes Configuration SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: kubernetesconfiguration diff --git a/api/overview/azure/latest/kusto.md b/api/overview/azure/latest/kusto.md index f1effb29d891..23f2e1ea53d4 100644 --- a/api/overview/azure/latest/kusto.md +++ b/api/overview/azure/latest/kusto.md @@ -3,7 +3,7 @@ title: Azure Kusto SDK for .NET description: Reference for Azure Kusto SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: kusto diff --git a/api/overview/azure/latest/lab-services.md b/api/overview/azure/latest/lab-services.md index ae1ab161e056..4e4cee726de6 100644 --- a/api/overview/azure/latest/lab-services.md +++ b/api/overview/azure/latest/lab-services.md @@ -3,7 +3,7 @@ title: Azure Lab Services SDK for .NET description: Reference for Azure Lab Services SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: labservices diff --git a/api/overview/azure/latest/load-testing.md b/api/overview/azure/latest/load-testing.md index be11893b7d6d..6c7414b19a8c 100644 --- a/api/overview/azure/latest/load-testing.md +++ b/api/overview/azure/latest/load-testing.md @@ -3,7 +3,7 @@ title: Azure Load Testing SDK for .NET description: Reference for Azure Load Testing SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: load-testing diff --git a/api/overview/azure/latest/log-analytics.md b/api/overview/azure/latest/log-analytics.md index f170d27a89ee..09c2be43d9de 100644 --- a/api/overview/azure/latest/log-analytics.md +++ b/api/overview/azure/latest/log-analytics.md @@ -3,7 +3,7 @@ title: Azure Log Analytics SDK for .NET description: Reference for Azure Log Analytics SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: azure-monitor diff --git a/api/overview/azure/latest/logic.md b/api/overview/azure/latest/logic.md index 8bc4ca45a44d..d738d6d2c15d 100644 --- a/api/overview/azure/latest/logic.md +++ b/api/overview/azure/latest/logic.md @@ -3,7 +3,7 @@ title: Azure Logic SDK for .NET description: Reference for Azure Logic SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: logic diff --git a/api/overview/azure/latest/machine-learning.md b/api/overview/azure/latest/machine-learning.md index 01159a340cc5..bea25b9a33f5 100644 --- a/api/overview/azure/latest/machine-learning.md +++ b/api/overview/azure/latest/machine-learning.md @@ -3,7 +3,7 @@ title: Azure Machine Learning SDK for .NET description: Reference for Azure Machine Learning SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: machinelearning diff --git a/api/overview/azure/latest/maintenance.md b/api/overview/azure/latest/maintenance.md index 395353380efc..57a860ad5878 100644 --- a/api/overview/azure/latest/maintenance.md +++ b/api/overview/azure/latest/maintenance.md @@ -3,7 +3,7 @@ title: Azure Maintenance SDK for .NET description: Reference for Azure Maintenance SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: maintenance diff --git a/api/overview/azure/latest/managed-service-identity.md b/api/overview/azure/latest/managed-service-identity.md index de21a77bdd0f..5a66c70a2ce5 100644 --- a/api/overview/azure/latest/managed-service-identity.md +++ b/api/overview/azure/latest/managed-service-identity.md @@ -3,7 +3,7 @@ title: Azure Managed Service Identity SDK for .NET description: Reference for Azure Managed Service Identity SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: managedserviceidentity diff --git a/api/overview/azure/latest/managed-services.md b/api/overview/azure/latest/managed-services.md index 8aa7882eed52..054bc4f7d15d 100644 --- a/api/overview/azure/latest/managed-services.md +++ b/api/overview/azure/latest/managed-services.md @@ -3,7 +3,7 @@ title: Azure Managed Services SDK for .NET description: Reference for Azure Managed Services SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: managedservices diff --git a/api/overview/azure/latest/managednetworkfabric.md b/api/overview/azure/latest/managednetworkfabric.md index f53454ff9408..7563c3cd67b1 100644 --- a/api/overview/azure/latest/managednetworkfabric.md +++ b/api/overview/azure/latest/managednetworkfabric.md @@ -3,7 +3,7 @@ title: Azure Managednetworkfabric SDK for .NET description: Reference for Azure Managednetworkfabric SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: managednetworkfabric diff --git a/api/overview/azure/latest/maps.md b/api/overview/azure/latest/maps.md index 5db813a51111..010903e9c4ec 100644 --- a/api/overview/azure/latest/maps.md +++ b/api/overview/azure/latest/maps.md @@ -3,7 +3,7 @@ title: Azure Maps SDK for .NET description: Reference for Azure Maps SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: maps diff --git a/api/overview/azure/latest/marketplace-ordering.md b/api/overview/azure/latest/marketplace-ordering.md index fb7a2841a5f3..29a0e3ba39ba 100644 --- a/api/overview/azure/latest/marketplace-ordering.md +++ b/api/overview/azure/latest/marketplace-ordering.md @@ -3,7 +3,7 @@ title: Azure Marketplace Ordering SDK for .NET description: Reference for Azure Marketplace Ordering SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: marketplaceordering diff --git a/api/overview/azure/latest/marketplace.md b/api/overview/azure/latest/marketplace.md index 8c2c43912e94..e9d154c10c90 100644 --- a/api/overview/azure/latest/marketplace.md +++ b/api/overview/azure/latest/marketplace.md @@ -3,7 +3,7 @@ title: Azure Marketplace SDK for .NET description: Reference for Azure Marketplace SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: marketplace diff --git a/api/overview/azure/latest/media-services.md b/api/overview/azure/latest/media-services.md index e553b0b67535..92af347a7675 100644 --- a/api/overview/azure/latest/media-services.md +++ b/api/overview/azure/latest/media-services.md @@ -3,7 +3,7 @@ title: Azure Media Services SDK for .NET description: Reference for Azure Media Services SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: mediaservices diff --git a/api/overview/azure/latest/media.md b/api/overview/azure/latest/media.md index e39f871b922d..93fc8f54ab2d 100644 --- a/api/overview/azure/latest/media.md +++ b/api/overview/azure/latest/media.md @@ -3,7 +3,7 @@ title: Azure Media SDK for .NET description: Reference for Azure Media SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: media diff --git a/api/overview/azure/latest/metrics-advisor.md b/api/overview/azure/latest/metrics-advisor.md index 83cba9af9982..a6086b2627b0 100644 --- a/api/overview/azure/latest/metrics-advisor.md +++ b/api/overview/azure/latest/metrics-advisor.md @@ -3,7 +3,7 @@ title: Azure Metrics Advisor SDK for .NET description: Reference for Azure Metrics Advisor SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: metricsadvisor diff --git a/api/overview/azure/latest/mixed-reality.md b/api/overview/azure/latest/mixed-reality.md index 84f0ab0b4da8..bd63d6877217 100644 --- a/api/overview/azure/latest/mixed-reality.md +++ b/api/overview/azure/latest/mixed-reality.md @@ -3,7 +3,7 @@ title: Azure Mixed Reality SDK for .NET description: Reference for Azure Mixed Reality SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: mixedreality diff --git a/api/overview/azure/latest/mobile-apps.md b/api/overview/azure/latest/mobile-apps.md index 7fb0bb2ce2f0..4f246bf8a928 100644 --- a/api/overview/azure/latest/mobile-apps.md +++ b/api/overview/azure/latest/mobile-apps.md @@ -3,7 +3,7 @@ title: Azure Mobile Apps SDK for .NET description: Reference for Azure Mobile Apps SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: mobileapps diff --git a/api/overview/azure/latest/mobile-network.md b/api/overview/azure/latest/mobile-network.md index 332581423767..27ee2991c5d9 100644 --- a/api/overview/azure/latest/mobile-network.md +++ b/api/overview/azure/latest/mobile-network.md @@ -3,7 +3,7 @@ title: Azure Mobile Network SDK for .NET description: Reference for Azure Mobile Network SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: mobilenetwork diff --git a/api/overview/azure/latest/mobile-services.md b/api/overview/azure/latest/mobile-services.md index 749b19ecdca2..33a54d09133f 100644 --- a/api/overview/azure/latest/mobile-services.md +++ b/api/overview/azure/latest/mobile-services.md @@ -3,7 +3,7 @@ title: Azure Mobile Services SDK for .NET description: Reference for Azure Mobile Services SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: mobileservices diff --git a/api/overview/azure/latest/monitor.md b/api/overview/azure/latest/monitor.md index fe7156906e1b..e014e7ac7b49 100644 --- a/api/overview/azure/latest/monitor.md +++ b/api/overview/azure/latest/monitor.md @@ -3,7 +3,7 @@ title: Azure Monitor SDK for .NET description: Reference for Azure Monitor SDK for .NET author: SameergMS ms.author: sameerg -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: monitor diff --git a/api/overview/azure/latest/mysql.md b/api/overview/azure/latest/mysql.md index caa4bcda993a..60ecaf936f5f 100644 --- a/api/overview/azure/latest/mysql.md +++ b/api/overview/azure/latest/mysql.md @@ -3,7 +3,7 @@ title: Azure MySQL SDK for .NET description: Reference for Azure MySQL SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: mysql diff --git a/api/overview/azure/latest/netapp-files.md b/api/overview/azure/latest/netapp-files.md index 173c0d4272ad..5a538ddc838e 100644 --- a/api/overview/azure/latest/netapp-files.md +++ b/api/overview/azure/latest/netapp-files.md @@ -3,7 +3,7 @@ title: Azure NetApp Files SDK for .NET description: Reference for Azure NetApp Files SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: netappfiles diff --git a/api/overview/azure/latest/network.md b/api/overview/azure/latest/network.md index d529ae585b6b..4e1ba19bf0e7 100644 --- a/api/overview/azure/latest/network.md +++ b/api/overview/azure/latest/network.md @@ -3,7 +3,7 @@ title: Azure Network SDK for .NET description: Reference for Azure Network SDK for .NET author: aznetsuppgithub ms.author: aznetsuppgithub -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: network diff --git a/api/overview/azure/latest/new-relic-observability.md b/api/overview/azure/latest/new-relic-observability.md index 9c502dbdc694..2f1e969fca3c 100644 --- a/api/overview/azure/latest/new-relic-observability.md +++ b/api/overview/azure/latest/new-relic-observability.md @@ -3,7 +3,7 @@ title: Azure New Relic Observability SDK for .NET description: Reference for Azure New Relic Observability SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: newrelicobservability diff --git a/api/overview/azure/latest/news-search.md b/api/overview/azure/latest/news-search.md index 2a112e2d8f80..9070df407bf5 100644 --- a/api/overview/azure/latest/news-search.md +++ b/api/overview/azure/latest/news-search.md @@ -3,7 +3,7 @@ title: Azure News Search SDK for .NET description: Reference for Azure News Search SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: newssearch diff --git a/api/overview/azure/latest/notification-hubs.md b/api/overview/azure/latest/notification-hubs.md index 2282054b4788..b670d82706b2 100644 --- a/api/overview/azure/latest/notification-hubs.md +++ b/api/overview/azure/latest/notification-hubs.md @@ -3,7 +3,7 @@ title: Azure Notification Hubs SDK for .NET description: Reference for Azure Notification Hubs SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: notificationhubs diff --git a/api/overview/azure/latest/operator-nexus---network-cloud.md b/api/overview/azure/latest/operator-nexus---network-cloud.md index b1d194a2a190..fa3511d2da8f 100644 --- a/api/overview/azure/latest/operator-nexus---network-cloud.md +++ b/api/overview/azure/latest/operator-nexus---network-cloud.md @@ -3,7 +3,7 @@ title: Azure Operator Nexus - Network Cloud SDK for .NET description: Reference for Azure Operator Nexus - Network Cloud SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: operatornexus-networkcloud diff --git a/api/overview/azure/latest/orbital.md b/api/overview/azure/latest/orbital.md index f6d0f2f36ad0..8dd69277215b 100644 --- a/api/overview/azure/latest/orbital.md +++ b/api/overview/azure/latest/orbital.md @@ -3,7 +3,7 @@ title: Azure Orbital SDK for .NET description: Reference for Azure Orbital SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: orbital diff --git a/api/overview/azure/latest/palo-alto-networks.md b/api/overview/azure/latest/palo-alto-networks.md index 136d1288d5c1..8080c7ef6cf8 100644 --- a/api/overview/azure/latest/palo-alto-networks.md +++ b/api/overview/azure/latest/palo-alto-networks.md @@ -3,7 +3,7 @@ title: Azure Palo Alto Networks SDK for .NET description: Reference for Azure Palo Alto Networks SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: paloaltonetworks diff --git a/api/overview/azure/latest/peering.md b/api/overview/azure/latest/peering.md index 1025723a270e..9dd38f20cf3c 100644 --- a/api/overview/azure/latest/peering.md +++ b/api/overview/azure/latest/peering.md @@ -3,7 +3,7 @@ title: Azure Peering SDK for .NET description: Reference for Azure Peering SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: peering diff --git a/api/overview/azure/latest/policy-insights.md b/api/overview/azure/latest/policy-insights.md index ba2993c85997..553ea7152c04 100644 --- a/api/overview/azure/latest/policy-insights.md +++ b/api/overview/azure/latest/policy-insights.md @@ -3,7 +3,7 @@ title: Azure Policy Insights SDK for .NET description: Reference for Azure Policy Insights SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: policyinsights diff --git a/api/overview/azure/latest/postgresql.md b/api/overview/azure/latest/postgresql.md index e65e37ab3331..3160c6f90ebc 100644 --- a/api/overview/azure/latest/postgresql.md +++ b/api/overview/azure/latest/postgresql.md @@ -3,7 +3,7 @@ title: Azure PostgreSQL SDK for .NET description: Reference for Azure PostgreSQL SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: postgresql diff --git a/api/overview/azure/latest/power-bi.md b/api/overview/azure/latest/power-bi.md index 6ade23f71f07..b440afaed957 100644 --- a/api/overview/azure/latest/power-bi.md +++ b/api/overview/azure/latest/power-bi.md @@ -3,7 +3,7 @@ title: Azure Power BI SDK for .NET description: Reference for Azure Power BI SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: powerbi diff --git a/api/overview/azure/latest/private-dns.md b/api/overview/azure/latest/private-dns.md index a0bb85702a88..9a6029df5672 100644 --- a/api/overview/azure/latest/private-dns.md +++ b/api/overview/azure/latest/private-dns.md @@ -3,7 +3,7 @@ title: Azure Private DNS SDK for .NET description: Reference for Azure Private DNS SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: privatedns diff --git a/api/overview/azure/latest/provider-hub.md b/api/overview/azure/latest/provider-hub.md index c1a04cddc948..aeef61c33333 100644 --- a/api/overview/azure/latest/provider-hub.md +++ b/api/overview/azure/latest/provider-hub.md @@ -3,7 +3,7 @@ title: Azure Provider Hub SDK for .NET description: Reference for Azure Provider Hub SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: providerhub diff --git a/api/overview/azure/latest/purview.md b/api/overview/azure/latest/purview.md index b6189841c22b..268c22b4340b 100644 --- a/api/overview/azure/latest/purview.md +++ b/api/overview/azure/latest/purview.md @@ -3,7 +3,7 @@ title: Azure Purview SDK for .NET description: Reference for Azure Purview SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: purview diff --git a/api/overview/azure/latest/qumulo.md b/api/overview/azure/latest/qumulo.md index c133fab65546..82f8d27c5053 100644 --- a/api/overview/azure/latest/qumulo.md +++ b/api/overview/azure/latest/qumulo.md @@ -3,7 +3,7 @@ title: Azure Qumulo SDK for .NET description: Reference for Azure Qumulo SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: qumulo diff --git a/api/overview/azure/latest/quota.md b/api/overview/azure/latest/quota.md index 9789254f4433..e85400e72bf0 100644 --- a/api/overview/azure/latest/quota.md +++ b/api/overview/azure/latest/quota.md @@ -3,7 +3,7 @@ title: Azure Quota SDK for .NET description: Reference for Azure Quota SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: quota diff --git a/api/overview/azure/latest/recovery-services.md b/api/overview/azure/latest/recovery-services.md index 27a54d8757ae..450912ab74fc 100644 --- a/api/overview/azure/latest/recovery-services.md +++ b/api/overview/azure/latest/recovery-services.md @@ -3,7 +3,7 @@ title: Azure Recovery Services SDK for .NET description: Reference for Azure Recovery Services SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: recoveryservices diff --git a/api/overview/azure/latest/redis.md b/api/overview/azure/latest/redis.md index f77947ed5bff..d8aabc89de66 100644 --- a/api/overview/azure/latest/redis.md +++ b/api/overview/azure/latest/redis.md @@ -3,7 +3,7 @@ title: Azure Redis SDK for .NET description: Reference for Azure Redis SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: redis diff --git a/api/overview/azure/latest/relay.md b/api/overview/azure/latest/relay.md index 8aa9c1de6944..c38184b441b2 100644 --- a/api/overview/azure/latest/relay.md +++ b/api/overview/azure/latest/relay.md @@ -3,7 +3,7 @@ title: Azure Relay SDK for .NET description: Reference for Azure Relay SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: relay diff --git a/api/overview/azure/latest/reservations.md b/api/overview/azure/latest/reservations.md index 63d5f099c8a6..4416164f234f 100644 --- a/api/overview/azure/latest/reservations.md +++ b/api/overview/azure/latest/reservations.md @@ -3,7 +3,7 @@ title: Azure Reservations SDK for .NET description: Reference for Azure Reservations SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: reservations diff --git a/api/overview/azure/latest/resource-graph.md b/api/overview/azure/latest/resource-graph.md index 40e4289847bb..fde5b5276d4d 100644 --- a/api/overview/azure/latest/resource-graph.md +++ b/api/overview/azure/latest/resource-graph.md @@ -3,7 +3,7 @@ title: Azure Resource Graph SDK for .NET description: Reference for Azure Resource Graph SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: resourcegraph diff --git a/api/overview/azure/latest/resource-health.md b/api/overview/azure/latest/resource-health.md index 8554a2ad21e0..30bab0e6d87c 100644 --- a/api/overview/azure/latest/resource-health.md +++ b/api/overview/azure/latest/resource-health.md @@ -3,7 +3,7 @@ title: Azure Resource Health SDK for .NET description: Reference for Azure Resource Health SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: resourcehealth diff --git a/api/overview/azure/latest/resource-manager.md b/api/overview/azure/latest/resource-manager.md index 259199245704..5d96d03f5a40 100644 --- a/api/overview/azure/latest/resource-manager.md +++ b/api/overview/azure/latest/resource-manager.md @@ -3,7 +3,7 @@ title: Azure Resource Manager SDK for .NET description: Reference for Azure Resource Manager SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: resourcemanager diff --git a/api/overview/azure/latest/resource-mover.md b/api/overview/azure/latest/resource-mover.md index e32b2ce7139c..5b457d6ff729 100644 --- a/api/overview/azure/latest/resource-mover.md +++ b/api/overview/azure/latest/resource-mover.md @@ -3,7 +3,7 @@ title: Azure Resource Mover SDK for .NET description: Reference for Azure Resource Mover SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: resourcemover diff --git a/api/overview/azure/latest/schema-registry.md b/api/overview/azure/latest/schema-registry.md index b69c42ff0d95..94d125e1cec9 100644 --- a/api/overview/azure/latest/schema-registry.md +++ b/api/overview/azure/latest/schema-registry.md @@ -3,7 +3,7 @@ title: Azure Schema Registry SDK for .NET description: Reference for Azure Schema Registry SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: schemaregistry diff --git a/api/overview/azure/latest/search.md b/api/overview/azure/latest/search.md index d155432404c0..a773724d2fc9 100644 --- a/api/overview/azure/latest/search.md +++ b/api/overview/azure/latest/search.md @@ -3,7 +3,7 @@ title: Azure Search SDK for .NET description: Reference for Azure Search SDK for .NET author: ShivangiReja ms.author: shreja -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: cognitive-search diff --git a/api/overview/azure/latest/security-insights.md b/api/overview/azure/latest/security-insights.md index bfe339c61e52..7129a1b34652 100644 --- a/api/overview/azure/latest/security-insights.md +++ b/api/overview/azure/latest/security-insights.md @@ -3,7 +3,7 @@ title: Azure Security Insights SDK for .NET description: Reference for Azure Security Insights SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: securityinsights diff --git a/api/overview/azure/latest/security.md b/api/overview/azure/latest/security.md index 4869f50f0cc7..ec63a43ceed2 100644 --- a/api/overview/azure/latest/security.md +++ b/api/overview/azure/latest/security.md @@ -3,7 +3,7 @@ title: Azure Security SDK for .NET description: Reference for Azure Security SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: security diff --git a/api/overview/azure/latest/selfhelp.md b/api/overview/azure/latest/selfhelp.md index d4a98b53546e..8bcbcf93570e 100644 --- a/api/overview/azure/latest/selfhelp.md +++ b/api/overview/azure/latest/selfhelp.md @@ -3,7 +3,7 @@ title: Azure Selfhelp SDK for .NET description: Reference for Azure Selfhelp SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: selfhelp diff --git a/api/overview/azure/latest/service-bus.md b/api/overview/azure/latest/service-bus.md index 0cc7198bf411..4d9830f5bfd3 100644 --- a/api/overview/azure/latest/service-bus.md +++ b/api/overview/azure/latest/service-bus.md @@ -3,7 +3,7 @@ title: Azure Service Bus SDK for .NET description: Reference for Azure Service Bus SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: servicebus diff --git a/api/overview/azure/latest/service-fabric.md b/api/overview/azure/latest/service-fabric.md index 22be6211a5e1..053da0f39ea9 100644 --- a/api/overview/azure/latest/service-fabric.md +++ b/api/overview/azure/latest/service-fabric.md @@ -3,7 +3,7 @@ title: Azure Service Fabric SDK for .NET description: Reference for Azure Service Fabric SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: servicefabric diff --git a/api/overview/azure/latest/service-linker.md b/api/overview/azure/latest/service-linker.md index 1859ddf14388..16446c2add3b 100644 --- a/api/overview/azure/latest/service-linker.md +++ b/api/overview/azure/latest/service-linker.md @@ -3,7 +3,7 @@ title: Azure Service Linker SDK for .NET description: Reference for Azure Service Linker SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: servicelinker diff --git a/api/overview/azure/latest/signalr.md b/api/overview/azure/latest/signalr.md index 3758137f946a..bd0032c062b8 100644 --- a/api/overview/azure/latest/signalr.md +++ b/api/overview/azure/latest/signalr.md @@ -3,7 +3,7 @@ title: Azure SignalR SDK for .NET description: Reference for Azure SignalR SDK for .NET author: sffamily ms.author: zhshang -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: signalr diff --git a/api/overview/azure/latest/sql-database.md b/api/overview/azure/latest/sql-database.md index b02c0fe7c17d..1308cd9cff56 100644 --- a/api/overview/azure/latest/sql-database.md +++ b/api/overview/azure/latest/sql-database.md @@ -3,7 +3,7 @@ title: Azure SQL Database SDK for .NET description: Reference for Azure SQL Database SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: sqldatabase diff --git a/api/overview/azure/latest/sql-virtual-machine.md b/api/overview/azure/latest/sql-virtual-machine.md index b8cfe588b489..3274758fac81 100644 --- a/api/overview/azure/latest/sql-virtual-machine.md +++ b/api/overview/azure/latest/sql-virtual-machine.md @@ -3,7 +3,7 @@ title: Azure SQL Virtual Machine SDK for .NET description: Reference for Azure SQL Virtual Machine SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: sqlvirtualmachine diff --git a/api/overview/azure/latest/sql.md b/api/overview/azure/latest/sql.md index 345109f09b66..16272dec6107 100644 --- a/api/overview/azure/latest/sql.md +++ b/api/overview/azure/latest/sql.md @@ -3,7 +3,7 @@ title: Azure SQL SDK for .NET description: Reference for Azure SQL SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: sql diff --git a/api/overview/azure/latest/stack-hci.md b/api/overview/azure/latest/stack-hci.md index 115c374e288b..8ef33c3fda8e 100644 --- a/api/overview/azure/latest/stack-hci.md +++ b/api/overview/azure/latest/stack-hci.md @@ -3,7 +3,7 @@ title: Azure Stack HCI SDK for .NET description: Reference for Azure Stack HCI SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: stackhci diff --git a/api/overview/azure/latest/storage.md b/api/overview/azure/latest/storage.md index 3ddddaf59beb..7782c00b60ad 100644 --- a/api/overview/azure/latest/storage.md +++ b/api/overview/azure/latest/storage.md @@ -3,7 +3,7 @@ title: Azure Storage SDK for .NET description: Reference for Azure Storage SDK for .NET author: seanmcc-msft ms.author: seanmcc -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: storage diff --git a/api/overview/azure/latest/stream-analytics.md b/api/overview/azure/latest/stream-analytics.md index de47b966f821..2e54ff6c785a 100644 --- a/api/overview/azure/latest/stream-analytics.md +++ b/api/overview/azure/latest/stream-analytics.md @@ -3,7 +3,7 @@ title: Azure Stream Analytics SDK for .NET description: Reference for Azure Stream Analytics SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: stream-analytics diff --git a/api/overview/azure/latest/subscriptions.md b/api/overview/azure/latest/subscriptions.md index c498ab87165f..f8e6f5c9e852 100644 --- a/api/overview/azure/latest/subscriptions.md +++ b/api/overview/azure/latest/subscriptions.md @@ -3,7 +3,7 @@ title: Azure Subscriptions SDK for .NET description: Reference for Azure Subscriptions SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: subscriptions diff --git a/api/overview/azure/latest/support.md b/api/overview/azure/latest/support.md index dabe02c71b82..ab9a29155a36 100644 --- a/api/overview/azure/latest/support.md +++ b/api/overview/azure/latest/support.md @@ -3,7 +3,7 @@ title: Azure Support SDK for .NET description: Reference for Azure Support SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: support diff --git a/api/overview/azure/latest/synapse.md b/api/overview/azure/latest/synapse.md index 64d3af77c699..b5af50550266 100644 --- a/api/overview/azure/latest/synapse.md +++ b/api/overview/azure/latest/synapse.md @@ -3,7 +3,7 @@ title: Azure Synapse SDK for .NET description: Reference for Azure Synapse SDK for .NET author: wonner ms.author: wanyang -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: synapse diff --git a/api/overview/azure/latest/tables.md b/api/overview/azure/latest/tables.md index e585665c5588..f2c1e18478d8 100644 --- a/api/overview/azure/latest/tables.md +++ b/api/overview/azure/latest/tables.md @@ -3,7 +3,7 @@ title: Azure Tables SDK for .NET description: Reference for Azure Tables SDK for .NET author: christothes ms.author: chriss -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: tables diff --git a/api/overview/azure/latest/traffic-manager.md b/api/overview/azure/latest/traffic-manager.md index 1699d0ab7a42..c785cf1ebb4f 100644 --- a/api/overview/azure/latest/traffic-manager.md +++ b/api/overview/azure/latest/traffic-manager.md @@ -3,7 +3,7 @@ title: Azure Traffic Manager SDK for .NET description: Reference for Azure Traffic Manager SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: trafficmanager diff --git a/api/overview/azure/latest/video-search.md b/api/overview/azure/latest/video-search.md index 68735a6182af..681905cfe47f 100644 --- a/api/overview/azure/latest/video-search.md +++ b/api/overview/azure/latest/video-search.md @@ -3,7 +3,7 @@ title: Azure Video Search SDK for .NET description: Reference for Azure Video Search SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: videosearch diff --git a/api/overview/azure/latest/visual-search.md b/api/overview/azure/latest/visual-search.md index 17ecc775c4a0..5f870b428bc5 100644 --- a/api/overview/azure/latest/visual-search.md +++ b/api/overview/azure/latest/visual-search.md @@ -3,7 +3,7 @@ title: Azure Visual Search SDK for .NET description: Reference for Azure Visual Search SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: visualsearch diff --git a/api/overview/azure/latest/voice-services.md b/api/overview/azure/latest/voice-services.md index 53b9d3c9411b..fdb573db2ebb 100644 --- a/api/overview/azure/latest/voice-services.md +++ b/api/overview/azure/latest/voice-services.md @@ -3,7 +3,7 @@ title: Azure Voice Services SDK for .NET description: Reference for Azure Voice Services SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: voiceservices diff --git a/api/overview/azure/latest/web-pubsub.md b/api/overview/azure/latest/web-pubsub.md index 1a070ed20a6a..2407b98ceb28 100644 --- a/api/overview/azure/latest/web-pubsub.md +++ b/api/overview/azure/latest/web-pubsub.md @@ -3,7 +3,7 @@ title: Azure Web PubSub SDK for .NET description: Reference for Azure Web PubSub SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: webpubsub diff --git a/api/overview/azure/latest/web-search.md b/api/overview/azure/latest/web-search.md index aa5f25ebfb43..e47c8c690b4e 100644 --- a/api/overview/azure/latest/web-search.md +++ b/api/overview/azure/latest/web-search.md @@ -3,7 +3,7 @@ title: Azure Web Search SDK for .NET description: Reference for Azure Web Search SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: websearch diff --git a/api/overview/azure/latest/workloads.md b/api/overview/azure/latest/workloads.md index d2471406bb34..f83aaf5009eb 100644 --- a/api/overview/azure/latest/workloads.md +++ b/api/overview/azure/latest/workloads.md @@ -3,7 +3,7 @@ title: Azure Workloads SDK for .NET description: Reference for Azure Workloads SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: workloads diff --git a/api/overview/azure/legacy/active-directory.md b/api/overview/azure/legacy/active-directory.md index e6e764cda6db..a30ad2bbf26f 100644 --- a/api/overview/azure/legacy/active-directory.md +++ b/api/overview/azure/legacy/active-directory.md @@ -3,7 +3,7 @@ title: Azure Active Directory SDK for .NET description: Reference for Azure Active Directory SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: activedirectory diff --git a/api/overview/azure/legacy/advisor.md b/api/overview/azure/legacy/advisor.md index 4f0acdf7accf..f39e331e423c 100644 --- a/api/overview/azure/legacy/advisor.md +++ b/api/overview/azure/legacy/advisor.md @@ -3,7 +3,7 @@ title: Azure Advisor SDK for .NET description: Reference for Azure Advisor SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: advisor diff --git a/api/overview/azure/legacy/alerts-management.md b/api/overview/azure/legacy/alerts-management.md index 5bc18f9d0b31..cc6e1caba5c4 100644 --- a/api/overview/azure/legacy/alerts-management.md +++ b/api/overview/azure/legacy/alerts-management.md @@ -3,7 +3,7 @@ title: Azure Alerts Management SDK for .NET description: Reference for Azure Alerts Management SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: alertsmanagement diff --git a/api/overview/azure/legacy/api-for-fhir.md b/api/overview/azure/legacy/api-for-fhir.md index fbb297a1fd17..c3c8977d8305 100644 --- a/api/overview/azure/legacy/api-for-fhir.md +++ b/api/overview/azure/legacy/api-for-fhir.md @@ -3,7 +3,7 @@ title: Azure API for FHIR SDK for .NET description: Reference for Azure API for FHIR SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: apiforfhir diff --git a/api/overview/azure/legacy/api-management.md b/api/overview/azure/legacy/api-management.md index fbcf1a3fcb6f..7a4f579c0ac2 100644 --- a/api/overview/azure/legacy/api-management.md +++ b/api/overview/azure/legacy/api-management.md @@ -3,7 +3,7 @@ title: Azure API Management SDK for .NET description: Reference for Azure API Management SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: apimanagement diff --git a/api/overview/azure/legacy/app-service.md b/api/overview/azure/legacy/app-service.md index 6e8be86f0786..44c860985a91 100644 --- a/api/overview/azure/legacy/app-service.md +++ b/api/overview/azure/legacy/app-service.md @@ -3,7 +3,7 @@ title: Azure App Service SDK for .NET description: Reference for Azure App Service SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: appservice diff --git a/api/overview/azure/legacy/application-insights.md b/api/overview/azure/legacy/application-insights.md index b415ea8f903a..d889a2c8a5d4 100644 --- a/api/overview/azure/legacy/application-insights.md +++ b/api/overview/azure/legacy/application-insights.md @@ -3,7 +3,7 @@ title: Azure Application Insights SDK for .NET description: Reference for Azure Application Insights SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: azure-monitor diff --git a/api/overview/azure/legacy/authorization.md b/api/overview/azure/legacy/authorization.md index f1f4174dd33d..c5973457e817 100644 --- a/api/overview/azure/legacy/authorization.md +++ b/api/overview/azure/legacy/authorization.md @@ -3,7 +3,7 @@ title: Azure Authorization SDK for .NET description: Reference for Azure Authorization SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: authorization diff --git a/api/overview/azure/legacy/automation.md b/api/overview/azure/legacy/automation.md index da841bdc1d58..49505beddd02 100644 --- a/api/overview/azure/legacy/automation.md +++ b/api/overview/azure/legacy/automation.md @@ -3,7 +3,7 @@ title: Azure Automation SDK for .NET description: Reference for Azure Automation SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: automation diff --git a/api/overview/azure/legacy/azure-stack-hci.md b/api/overview/azure/legacy/azure-stack-hci.md index c696fc443575..17a80414700a 100644 --- a/api/overview/azure/legacy/azure-stack-hci.md +++ b/api/overview/azure/legacy/azure-stack-hci.md @@ -3,7 +3,7 @@ title: Azure Azure Stack HCI SDK for .NET description: Reference for Azure Azure Stack HCI SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: azurestackhci diff --git a/api/overview/azure/legacy/azure-vmware-solution.md b/api/overview/azure/legacy/azure-vmware-solution.md index 5633faff9c4e..db2d027bc0f3 100644 --- a/api/overview/azure/legacy/azure-vmware-solution.md +++ b/api/overview/azure/legacy/azure-vmware-solution.md @@ -3,7 +3,7 @@ title: Azure Azure VMware Solution SDK for .NET description: Reference for Azure Azure VMware Solution SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: azurevmwaresolution diff --git a/api/overview/azure/legacy/batch-ai.md b/api/overview/azure/legacy/batch-ai.md index 07f96b627023..736ac9e7aae7 100644 --- a/api/overview/azure/legacy/batch-ai.md +++ b/api/overview/azure/legacy/batch-ai.md @@ -3,7 +3,7 @@ title: Azure Batch AI SDK for .NET description: Reference for Azure Batch AI SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: batchai diff --git a/api/overview/azure/legacy/batch.md b/api/overview/azure/legacy/batch.md index 3f8f53d2ceae..451a13c2f46e 100644 --- a/api/overview/azure/legacy/batch.md +++ b/api/overview/azure/legacy/batch.md @@ -3,7 +3,7 @@ title: Azure Batch SDK for .NET description: Reference for Azure Batch SDK for .NET author: jingjlii ms.author: jingjli -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: batch diff --git a/api/overview/azure/legacy/billing.md b/api/overview/azure/legacy/billing.md index 53eec3470c1d..4b4d7052e86e 100644 --- a/api/overview/azure/legacy/billing.md +++ b/api/overview/azure/legacy/billing.md @@ -3,7 +3,7 @@ title: Azure Billing SDK for .NET description: Reference for Azure Billing SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: billing diff --git a/api/overview/azure/legacy/blueprint.md b/api/overview/azure/legacy/blueprint.md index 7c2b5b19e880..3b2cc25832bf 100644 --- a/api/overview/azure/legacy/blueprint.md +++ b/api/overview/azure/legacy/blueprint.md @@ -3,7 +3,7 @@ title: Azure Blueprint SDK for .NET description: Reference for Azure Blueprint SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: blueprint diff --git a/api/overview/azure/legacy/cognitive-services.md b/api/overview/azure/legacy/cognitive-services.md index 27f2b3dd8563..b8300d72fae1 100644 --- a/api/overview/azure/legacy/cognitive-services.md +++ b/api/overview/azure/legacy/cognitive-services.md @@ -3,7 +3,7 @@ title: Azure Cognitive Services SDK for .NET description: Reference for Azure Cognitive Services SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: cognitiveservices diff --git a/api/overview/azure/legacy/compute.md b/api/overview/azure/legacy/compute.md index a1c2388531d2..1c77acff282b 100644 --- a/api/overview/azure/legacy/compute.md +++ b/api/overview/azure/legacy/compute.md @@ -3,7 +3,7 @@ title: Azure Compute SDK for .NET description: Reference for Azure Compute SDK for .NET author: bilaakpan-ms ms.author: saakpan -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: compute diff --git a/api/overview/azure/legacy/confluent.md b/api/overview/azure/legacy/confluent.md index bbb0842dbd97..1c16e9069c7e 100644 --- a/api/overview/azure/legacy/confluent.md +++ b/api/overview/azure/legacy/confluent.md @@ -3,7 +3,7 @@ title: Azure Confluent SDK for .NET description: Reference for Azure Confluent SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: confluent diff --git a/api/overview/azure/legacy/consumption.md b/api/overview/azure/legacy/consumption.md index 39d866c13292..5ef706633acd 100644 --- a/api/overview/azure/legacy/consumption.md +++ b/api/overview/azure/legacy/consumption.md @@ -3,7 +3,7 @@ title: Azure Consumption SDK for .NET description: Reference for Azure Consumption SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: consumption diff --git a/api/overview/azure/legacy/container-instances.md b/api/overview/azure/legacy/container-instances.md index a93f5dd226e4..931053dfb5cc 100644 --- a/api/overview/azure/legacy/container-instances.md +++ b/api/overview/azure/legacy/container-instances.md @@ -3,7 +3,7 @@ title: Azure Container Instances SDK for .NET description: Reference for Azure Container Instances SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: containerinstances diff --git a/api/overview/azure/legacy/container-registry.md b/api/overview/azure/legacy/container-registry.md index 48c4940765bf..baee85f1067d 100644 --- a/api/overview/azure/legacy/container-registry.md +++ b/api/overview/azure/legacy/container-registry.md @@ -3,7 +3,7 @@ title: Azure Container Registry SDK for .NET description: Reference for Azure Container Registry SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: containerregistry diff --git a/api/overview/azure/legacy/container-service.md b/api/overview/azure/legacy/container-service.md index d00d689359ea..596c8f925958 100644 --- a/api/overview/azure/legacy/container-service.md +++ b/api/overview/azure/legacy/container-service.md @@ -3,7 +3,7 @@ title: Azure Container Service SDK for .NET description: Reference for Azure Container Service SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: containerservice diff --git a/api/overview/azure/legacy/content-delivery-network.md b/api/overview/azure/legacy/content-delivery-network.md index 84726dbf74d9..a241a595f2de 100644 --- a/api/overview/azure/legacy/content-delivery-network.md +++ b/api/overview/azure/legacy/content-delivery-network.md @@ -3,7 +3,7 @@ title: Azure Content Delivery Network SDK for .NET description: Reference for Azure Content Delivery Network SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: contentdeliverynetwork diff --git a/api/overview/azure/legacy/cosmos-db.md b/api/overview/azure/legacy/cosmos-db.md index f0127af9790b..b3a2bbd0f275 100644 --- a/api/overview/azure/legacy/cosmos-db.md +++ b/api/overview/azure/legacy/cosmos-db.md @@ -3,7 +3,7 @@ title: Azure Cosmos DB SDK for .NET description: Reference for Azure Cosmos DB SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: cosmosdb diff --git a/api/overview/azure/legacy/data-box.md b/api/overview/azure/legacy/data-box.md index 03c2e7151ad1..9505c00cb7dd 100644 --- a/api/overview/azure/legacy/data-box.md +++ b/api/overview/azure/legacy/data-box.md @@ -3,7 +3,7 @@ title: Azure Data Box SDK for .NET description: Reference for Azure Data Box SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: databox diff --git a/api/overview/azure/legacy/data-explorer.md b/api/overview/azure/legacy/data-explorer.md index 8bc3aeb3ea45..6ce8bfdcef8b 100644 --- a/api/overview/azure/legacy/data-explorer.md +++ b/api/overview/azure/legacy/data-explorer.md @@ -3,7 +3,7 @@ title: Azure Data Explorer SDK for .NET description: Reference for Azure Data Explorer SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: dataexplorer diff --git a/api/overview/azure/legacy/data-factory.md b/api/overview/azure/legacy/data-factory.md index b955c9a154c4..e192dc5076e5 100644 --- a/api/overview/azure/legacy/data-factory.md +++ b/api/overview/azure/legacy/data-factory.md @@ -3,7 +3,7 @@ title: Azure Data Factory SDK for .NET description: Reference for Azure Data Factory SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: datafactory diff --git a/api/overview/azure/legacy/data-lake-analytics.md b/api/overview/azure/legacy/data-lake-analytics.md index 12049dbb6ba0..524c8b838904 100644 --- a/api/overview/azure/legacy/data-lake-analytics.md +++ b/api/overview/azure/legacy/data-lake-analytics.md @@ -3,7 +3,7 @@ title: Azure Data Lake Analytics SDK for .NET description: Reference for Azure Data Lake Analytics SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: datalakeanalytics diff --git a/api/overview/azure/legacy/data-share.md b/api/overview/azure/legacy/data-share.md index 23ae9b8bec48..bb3683e5d297 100644 --- a/api/overview/azure/legacy/data-share.md +++ b/api/overview/azure/legacy/data-share.md @@ -3,7 +3,7 @@ title: Azure Data Share SDK for .NET description: Reference for Azure Data Share SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: datashare diff --git a/api/overview/azure/legacy/deployment-manager.md b/api/overview/azure/legacy/deployment-manager.md index d47ed1a658df..7f9c78deba7d 100644 --- a/api/overview/azure/legacy/deployment-manager.md +++ b/api/overview/azure/legacy/deployment-manager.md @@ -3,7 +3,7 @@ title: Azure Deployment Manager SDK for .NET description: Reference for Azure Deployment Manager SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: deploymentmanager diff --git a/api/overview/azure/legacy/dns.md b/api/overview/azure/legacy/dns.md index c0946b2bb74c..c81daa809e2c 100644 --- a/api/overview/azure/legacy/dns.md +++ b/api/overview/azure/legacy/dns.md @@ -3,7 +3,7 @@ title: Azure DNS SDK for .NET description: Reference for Azure DNS SDK for .NET author: dnssuppgithub ms.author: dnssuppgithub -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: dns diff --git a/api/overview/azure/legacy/event-grid.md b/api/overview/azure/legacy/event-grid.md index 16dc551c160c..c24907c6f1da 100644 --- a/api/overview/azure/legacy/event-grid.md +++ b/api/overview/azure/legacy/event-grid.md @@ -3,7 +3,7 @@ title: Azure Event Grid SDK for .NET description: Reference for Azure Event Grid SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: eventgrid diff --git a/api/overview/azure/legacy/event-hubs.md b/api/overview/azure/legacy/event-hubs.md index 780d432c28e3..3152b9a28856 100644 --- a/api/overview/azure/legacy/event-hubs.md +++ b/api/overview/azure/legacy/event-hubs.md @@ -3,7 +3,7 @@ title: Azure Event Hubs SDK for .NET description: Reference for Azure Event Hubs SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: eventhubs diff --git a/api/overview/azure/legacy/expressroute.md b/api/overview/azure/legacy/expressroute.md index 27a7f4e80ff8..9ced7aa80970 100644 --- a/api/overview/azure/legacy/expressroute.md +++ b/api/overview/azure/legacy/expressroute.md @@ -3,7 +3,7 @@ title: Azure ExpressRoute SDK for .NET description: Reference for Azure ExpressRoute SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: expressroute diff --git a/api/overview/azure/legacy/functions.md b/api/overview/azure/legacy/functions.md index 9958c6482d71..9849a8e6ebc5 100644 --- a/api/overview/azure/legacy/functions.md +++ b/api/overview/azure/legacy/functions.md @@ -3,7 +3,7 @@ title: Azure Functions SDK for .NET description: Reference for Azure Functions SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: functions diff --git a/api/overview/azure/legacy/graph-rbac.md b/api/overview/azure/legacy/graph-rbac.md index fdd52e280141..fb06dac25f8d 100644 --- a/api/overview/azure/legacy/graph-rbac.md +++ b/api/overview/azure/legacy/graph-rbac.md @@ -3,7 +3,7 @@ title: Azure Graph RBAC SDK for .NET description: Reference for Azure Graph RBAC SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: graphrbac diff --git a/api/overview/azure/legacy/hdinsight.md b/api/overview/azure/legacy/hdinsight.md index 8cac7aedb515..9d86b4597751 100644 --- a/api/overview/azure/legacy/hdinsight.md +++ b/api/overview/azure/legacy/hdinsight.md @@ -3,7 +3,7 @@ title: Azure HDInsight SDK for .NET description: Reference for Azure HDInsight SDK for .NET author: aim-for-better ms.author: zhezhou -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: hdinsight diff --git a/api/overview/azure/legacy/hybrid-compute.md b/api/overview/azure/legacy/hybrid-compute.md index aecb856a6c00..8981bc4eda1c 100644 --- a/api/overview/azure/legacy/hybrid-compute.md +++ b/api/overview/azure/legacy/hybrid-compute.md @@ -3,7 +3,7 @@ title: Azure Hybrid Compute SDK for .NET description: Reference for Azure Hybrid Compute SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: hybridcompute diff --git a/api/overview/azure/legacy/hybrid-data.md b/api/overview/azure/legacy/hybrid-data.md index d4ce3d6a498a..314000a803ac 100644 --- a/api/overview/azure/legacy/hybrid-data.md +++ b/api/overview/azure/legacy/hybrid-data.md @@ -3,7 +3,7 @@ title: Azure Hybrid Data SDK for .NET description: Reference for Azure Hybrid Data SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: hybriddata diff --git a/api/overview/azure/legacy/iot.md b/api/overview/azure/legacy/iot.md index 69f076d9e978..aa45d44e80d4 100644 --- a/api/overview/azure/legacy/iot.md +++ b/api/overview/azure/legacy/iot.md @@ -3,7 +3,7 @@ title: Azure IoT SDK for .NET description: Reference for Azure IoT SDK for .NET author: ethanann-ms ms.author: ethanann -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: iot diff --git a/api/overview/azure/legacy/key-vault.md b/api/overview/azure/legacy/key-vault.md index ab7f909221c3..24f8e71186b5 100644 --- a/api/overview/azure/legacy/key-vault.md +++ b/api/overview/azure/legacy/key-vault.md @@ -3,7 +3,7 @@ title: Azure Key Vault SDK for .NET description: Reference for Azure Key Vault SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: keyvault diff --git a/api/overview/azure/legacy/kubernetes-configuration.md b/api/overview/azure/legacy/kubernetes-configuration.md index d551aca63faa..ff797678583b 100644 --- a/api/overview/azure/legacy/kubernetes-configuration.md +++ b/api/overview/azure/legacy/kubernetes-configuration.md @@ -3,7 +3,7 @@ title: Azure Kubernetes Configuration SDK for .NET description: Reference for Azure Kubernetes Configuration SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: kubernetesconfiguration diff --git a/api/overview/azure/legacy/lab-services.md b/api/overview/azure/legacy/lab-services.md index 14e644f49902..1e1968e5a1d4 100644 --- a/api/overview/azure/legacy/lab-services.md +++ b/api/overview/azure/legacy/lab-services.md @@ -3,7 +3,7 @@ title: Azure Lab Services SDK for .NET description: Reference for Azure Lab Services SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: labservices diff --git a/api/overview/azure/legacy/libraries.md b/api/overview/azure/legacy/libraries.md index 1ff845e15f2d..2087755f10c0 100644 --- a/api/overview/azure/legacy/libraries.md +++ b/api/overview/azure/legacy/libraries.md @@ -3,7 +3,7 @@ title: Azure Libraries SDK for .NET description: Reference for Azure Libraries SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: libraries diff --git a/api/overview/azure/legacy/log-analytics.md b/api/overview/azure/legacy/log-analytics.md index 0673048ee737..73d93d3b567a 100644 --- a/api/overview/azure/legacy/log-analytics.md +++ b/api/overview/azure/legacy/log-analytics.md @@ -3,7 +3,7 @@ title: Azure Log Analytics SDK for .NET description: Reference for Azure Log Analytics SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: azure-monitor diff --git a/api/overview/azure/legacy/logic-apps.md b/api/overview/azure/legacy/logic-apps.md index 10b71d0c7fa0..ec552c6523ce 100644 --- a/api/overview/azure/legacy/logic-apps.md +++ b/api/overview/azure/legacy/logic-apps.md @@ -3,7 +3,7 @@ title: Azure Logic Apps SDK for .NET description: Reference for Azure Logic Apps SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: logicapps diff --git a/api/overview/azure/legacy/maintenance.md b/api/overview/azure/legacy/maintenance.md index 80ccb9b153eb..31841584b0e2 100644 --- a/api/overview/azure/legacy/maintenance.md +++ b/api/overview/azure/legacy/maintenance.md @@ -3,7 +3,7 @@ title: Azure Maintenance SDK for .NET description: Reference for Azure Maintenance SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: maintenance diff --git a/api/overview/azure/legacy/managed-service-identity.md b/api/overview/azure/legacy/managed-service-identity.md index dd10a2fcae52..ee55caa5e322 100644 --- a/api/overview/azure/legacy/managed-service-identity.md +++ b/api/overview/azure/legacy/managed-service-identity.md @@ -3,7 +3,7 @@ title: Azure Managed Service Identity SDK for .NET description: Reference for Azure Managed Service Identity SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: managedserviceidentity diff --git a/api/overview/azure/legacy/managed-services.md b/api/overview/azure/legacy/managed-services.md index 4b1b686a3141..4b44155b0c46 100644 --- a/api/overview/azure/legacy/managed-services.md +++ b/api/overview/azure/legacy/managed-services.md @@ -3,7 +3,7 @@ title: Azure Managed Services SDK for .NET description: Reference for Azure Managed Services SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: managedservices diff --git a/api/overview/azure/legacy/management-groups.md b/api/overview/azure/legacy/management-groups.md index 0587720be22e..e11d4b24770d 100644 --- a/api/overview/azure/legacy/management-groups.md +++ b/api/overview/azure/legacy/management-groups.md @@ -3,7 +3,7 @@ title: Azure Management Groups SDK for .NET description: Reference for Azure Management Groups SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: managementgroups diff --git a/api/overview/azure/legacy/marketplace.md b/api/overview/azure/legacy/marketplace.md index 21f9517406fd..03ceb94e797a 100644 --- a/api/overview/azure/legacy/marketplace.md +++ b/api/overview/azure/legacy/marketplace.md @@ -3,7 +3,7 @@ title: Azure Marketplace SDK for .NET description: Reference for Azure Marketplace SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: marketplace diff --git a/api/overview/azure/legacy/media-services.md b/api/overview/azure/legacy/media-services.md index 9732752e3c63..2fc166534c7e 100644 --- a/api/overview/azure/legacy/media-services.md +++ b/api/overview/azure/legacy/media-services.md @@ -3,7 +3,7 @@ title: Azure Media Services SDK for .NET description: Reference for Azure Media Services SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: mediaservices diff --git a/api/overview/azure/legacy/mixed-reality.md b/api/overview/azure/legacy/mixed-reality.md index 60858c869a84..d72f9e9372a0 100644 --- a/api/overview/azure/legacy/mixed-reality.md +++ b/api/overview/azure/legacy/mixed-reality.md @@ -3,7 +3,7 @@ title: Azure Mixed Reality SDK for .NET description: Reference for Azure Mixed Reality SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: mixedreality diff --git a/api/overview/azure/legacy/mobile-services.md b/api/overview/azure/legacy/mobile-services.md index 82d39ef8bfbf..f378a6330574 100644 --- a/api/overview/azure/legacy/mobile-services.md +++ b/api/overview/azure/legacy/mobile-services.md @@ -3,7 +3,7 @@ title: Azure Mobile Services SDK for .NET description: Reference for Azure Mobile Services SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: mobileservices diff --git a/api/overview/azure/legacy/monitor.md b/api/overview/azure/legacy/monitor.md index 9e56cbadab1c..7e7f6b9c0d30 100644 --- a/api/overview/azure/legacy/monitor.md +++ b/api/overview/azure/legacy/monitor.md @@ -3,7 +3,7 @@ title: Azure Monitor SDK for .NET description: Reference for Azure Monitor SDK for .NET author: SameergMS ms.author: sameerg -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: monitor diff --git a/api/overview/azure/legacy/mysql.md b/api/overview/azure/legacy/mysql.md index 99b5692bdfdc..d7d5cdc6a018 100644 --- a/api/overview/azure/legacy/mysql.md +++ b/api/overview/azure/legacy/mysql.md @@ -3,7 +3,7 @@ title: Azure MySQL SDK for .NET description: Reference for Azure MySQL SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: mysql diff --git a/api/overview/azure/legacy/network.md b/api/overview/azure/legacy/network.md index 483ee6171326..d2b7f973864a 100644 --- a/api/overview/azure/legacy/network.md +++ b/api/overview/azure/legacy/network.md @@ -3,7 +3,7 @@ title: Azure Network SDK for .NET description: Reference for Azure Network SDK for .NET author: aznetsuppgithub ms.author: aznetsuppgithub -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: network diff --git a/api/overview/azure/legacy/notification-hubs.md b/api/overview/azure/legacy/notification-hubs.md index 426db7ff0a91..ec87094986d7 100644 --- a/api/overview/azure/legacy/notification-hubs.md +++ b/api/overview/azure/legacy/notification-hubs.md @@ -3,7 +3,7 @@ title: Azure Notification Hubs SDK for .NET description: Reference for Azure Notification Hubs SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: notificationhubs diff --git a/api/overview/azure/legacy/postgresql.md b/api/overview/azure/legacy/postgresql.md index ebed8ec38d01..56ca731c2153 100644 --- a/api/overview/azure/legacy/postgresql.md +++ b/api/overview/azure/legacy/postgresql.md @@ -3,7 +3,7 @@ title: Azure PostgreSQL SDK for .NET description: Reference for Azure PostgreSQL SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: postgresql diff --git a/api/overview/azure/legacy/power-bi-embedded.md b/api/overview/azure/legacy/power-bi-embedded.md index aedf320be085..d89517c2819e 100644 --- a/api/overview/azure/legacy/power-bi-embedded.md +++ b/api/overview/azure/legacy/power-bi-embedded.md @@ -3,7 +3,7 @@ title: Azure Power BI Embedded SDK for .NET description: Reference for Azure Power BI Embedded SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: powerbiembedded diff --git a/api/overview/azure/legacy/private-dns.md b/api/overview/azure/legacy/private-dns.md index 721bc16d9575..2fc5caa70267 100644 --- a/api/overview/azure/legacy/private-dns.md +++ b/api/overview/azure/legacy/private-dns.md @@ -3,7 +3,7 @@ title: Azure Private DNS SDK for .NET description: Reference for Azure Private DNS SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: privatedns diff --git a/api/overview/azure/legacy/purview.md b/api/overview/azure/legacy/purview.md index 5638e7c11477..1c347165ad23 100644 --- a/api/overview/azure/legacy/purview.md +++ b/api/overview/azure/legacy/purview.md @@ -3,7 +3,7 @@ title: Azure Purview SDK for .NET description: Reference for Azure Purview SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: purview diff --git a/api/overview/azure/legacy/quota.md b/api/overview/azure/legacy/quota.md index f682bfc064c5..0110228db98f 100644 --- a/api/overview/azure/legacy/quota.md +++ b/api/overview/azure/legacy/quota.md @@ -3,7 +3,7 @@ title: Azure Quota SDK for .NET description: Reference for Azure Quota SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: quota diff --git a/api/overview/azure/legacy/recovery-services.md b/api/overview/azure/legacy/recovery-services.md index 9e7294817f97..5351fcac681f 100644 --- a/api/overview/azure/legacy/recovery-services.md +++ b/api/overview/azure/legacy/recovery-services.md @@ -3,7 +3,7 @@ title: Azure Recovery Services SDK for .NET description: Reference for Azure Recovery Services SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: recoveryservices diff --git a/api/overview/azure/legacy/redis.md b/api/overview/azure/legacy/redis.md index ae2894901d34..1bd3dcfd5836 100644 --- a/api/overview/azure/legacy/redis.md +++ b/api/overview/azure/legacy/redis.md @@ -3,7 +3,7 @@ title: Azure Redis SDK for .NET description: Reference for Azure Redis SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: redis diff --git a/api/overview/azure/legacy/relay.md b/api/overview/azure/legacy/relay.md index aa38f7141b6e..0cbe74707659 100644 --- a/api/overview/azure/legacy/relay.md +++ b/api/overview/azure/legacy/relay.md @@ -3,7 +3,7 @@ title: Azure Relay SDK for .NET description: Reference for Azure Relay SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: relay diff --git a/api/overview/azure/legacy/remoteapp.md b/api/overview/azure/legacy/remoteapp.md index bbe9d455f5d2..2b86fc058431 100644 --- a/api/overview/azure/legacy/remoteapp.md +++ b/api/overview/azure/legacy/remoteapp.md @@ -3,7 +3,7 @@ title: Azure RemoteApp SDK for .NET description: Reference for Azure RemoteApp SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: remoteapp diff --git a/api/overview/azure/legacy/reservations.md b/api/overview/azure/legacy/reservations.md index 2beabc5f7a8c..9dde4418300d 100644 --- a/api/overview/azure/legacy/reservations.md +++ b/api/overview/azure/legacy/reservations.md @@ -3,7 +3,7 @@ title: Azure Reservations SDK for .NET description: Reference for Azure Reservations SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: reservations diff --git a/api/overview/azure/legacy/resource-graph.md b/api/overview/azure/legacy/resource-graph.md index 2278385d0263..cb8cb1f886f7 100644 --- a/api/overview/azure/legacy/resource-graph.md +++ b/api/overview/azure/legacy/resource-graph.md @@ -3,7 +3,7 @@ title: Azure Resource Graph SDK for .NET description: Reference for Azure Resource Graph SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: resourcegraph diff --git a/api/overview/azure/legacy/resource-manager.md b/api/overview/azure/legacy/resource-manager.md index 498ae9d54705..aed01f2037ed 100644 --- a/api/overview/azure/legacy/resource-manager.md +++ b/api/overview/azure/legacy/resource-manager.md @@ -3,7 +3,7 @@ title: Azure Resource Manager SDK for .NET description: Reference for Azure Resource Manager SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: resourcemanager diff --git a/api/overview/azure/legacy/resource-mover.md b/api/overview/azure/legacy/resource-mover.md index e442c8611bbb..c2e54d1fe267 100644 --- a/api/overview/azure/legacy/resource-mover.md +++ b/api/overview/azure/legacy/resource-mover.md @@ -3,7 +3,7 @@ title: Azure Resource Mover SDK for .NET description: Reference for Azure Resource Mover SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: resourcemover diff --git a/api/overview/azure/legacy/resources.md b/api/overview/azure/legacy/resources.md index 70d5e225b021..afb129b63156 100644 --- a/api/overview/azure/legacy/resources.md +++ b/api/overview/azure/legacy/resources.md @@ -3,7 +3,7 @@ title: Azure Resources SDK for .NET description: Reference for Azure Resources SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: resources diff --git a/api/overview/azure/legacy/scheduler.md b/api/overview/azure/legacy/scheduler.md index bb9e9a6f7c66..f146c745940c 100644 --- a/api/overview/azure/legacy/scheduler.md +++ b/api/overview/azure/legacy/scheduler.md @@ -3,7 +3,7 @@ title: Azure Scheduler SDK for .NET description: Reference for Azure Scheduler SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: scheduler diff --git a/api/overview/azure/legacy/search.md b/api/overview/azure/legacy/search.md index f4adc6988b9f..c9e4020cada3 100644 --- a/api/overview/azure/legacy/search.md +++ b/api/overview/azure/legacy/search.md @@ -3,7 +3,7 @@ title: Azure Search SDK for .NET description: Reference for Azure Search SDK for .NET author: ShivangiReja ms.author: shreja -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: cognitive-search diff --git a/api/overview/azure/legacy/service-bus.md b/api/overview/azure/legacy/service-bus.md index 3b7c3c071433..b01963a2c7c4 100644 --- a/api/overview/azure/legacy/service-bus.md +++ b/api/overview/azure/legacy/service-bus.md @@ -3,7 +3,7 @@ title: Azure Service Bus SDK for .NET description: Reference for Azure Service Bus SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: servicebus diff --git a/api/overview/azure/legacy/service-fabric.md b/api/overview/azure/legacy/service-fabric.md index 14fc29d801af..549046e93f37 100644 --- a/api/overview/azure/legacy/service-fabric.md +++ b/api/overview/azure/legacy/service-fabric.md @@ -3,7 +3,7 @@ title: Azure Service Fabric SDK for .NET description: Reference for Azure Service Fabric SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: servicefabric diff --git a/api/overview/azure/legacy/spring-cloud.md b/api/overview/azure/legacy/spring-cloud.md index da6515e5378f..4e7542ebfc89 100644 --- a/api/overview/azure/legacy/spring-cloud.md +++ b/api/overview/azure/legacy/spring-cloud.md @@ -3,7 +3,7 @@ title: Azure Spring Cloud SDK for .NET description: Reference for Azure Spring Cloud SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: springcloud diff --git a/api/overview/azure/legacy/sql-server-on-virtual-machines.md b/api/overview/azure/legacy/sql-server-on-virtual-machines.md index b1139ca41388..9668bf54faad 100644 --- a/api/overview/azure/legacy/sql-server-on-virtual-machines.md +++ b/api/overview/azure/legacy/sql-server-on-virtual-machines.md @@ -3,7 +3,7 @@ title: Azure SQL Server on Virtual Machines SDK for .NET description: Reference for Azure SQL Server on Virtual Machines SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: sqlserveronvirtualmachines diff --git a/api/overview/azure/legacy/sql.md b/api/overview/azure/legacy/sql.md index b97604d97ec1..01f1c8a80e76 100644 --- a/api/overview/azure/legacy/sql.md +++ b/api/overview/azure/legacy/sql.md @@ -3,7 +3,7 @@ title: Azure SQL SDK for .NET description: Reference for Azure SQL SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: sql diff --git a/api/overview/azure/legacy/stack-edge.md b/api/overview/azure/legacy/stack-edge.md index 1ecc13c07ddb..4e482456c9d0 100644 --- a/api/overview/azure/legacy/stack-edge.md +++ b/api/overview/azure/legacy/stack-edge.md @@ -3,7 +3,7 @@ title: Azure Stack Edge SDK for .NET description: Reference for Azure Stack Edge SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: stackedge diff --git a/api/overview/azure/legacy/storage.md b/api/overview/azure/legacy/storage.md index 9fb135bfd72e..ad4e7fe67206 100644 --- a/api/overview/azure/legacy/storage.md +++ b/api/overview/azure/legacy/storage.md @@ -3,7 +3,7 @@ title: Azure Storage SDK for .NET description: Reference for Azure Storage SDK for .NET author: seanmcc-msft ms.author: seanmcc -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: storage diff --git a/api/overview/azure/legacy/store.md b/api/overview/azure/legacy/store.md index 43cb40c6d828..1dc08940edfa 100644 --- a/api/overview/azure/legacy/store.md +++ b/api/overview/azure/legacy/store.md @@ -3,7 +3,7 @@ title: Azure Store SDK for .NET description: Reference for Azure Store SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: store diff --git a/api/overview/azure/legacy/storsimple-8000-series.md b/api/overview/azure/legacy/storsimple-8000-series.md index eed2d8e4f2ab..4fd82e5c30cd 100644 --- a/api/overview/azure/legacy/storsimple-8000-series.md +++ b/api/overview/azure/legacy/storsimple-8000-series.md @@ -3,7 +3,7 @@ title: Azure StorSimple 8000 series SDK for .NET description: Reference for Azure StorSimple 8000 series SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: storsimple8000series diff --git a/api/overview/azure/legacy/storsimple.md b/api/overview/azure/legacy/storsimple.md index 007e86ec10b0..97a2bbfb5fe2 100644 --- a/api/overview/azure/legacy/storsimple.md +++ b/api/overview/azure/legacy/storsimple.md @@ -3,7 +3,7 @@ title: Azure StorSimple SDK for .NET description: Reference for Azure StorSimple SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: storsimple diff --git a/api/overview/azure/legacy/stream-analytics.md b/api/overview/azure/legacy/stream-analytics.md index 77d3f059dc20..cc03372f3c6b 100644 --- a/api/overview/azure/legacy/stream-analytics.md +++ b/api/overview/azure/legacy/stream-analytics.md @@ -3,7 +3,7 @@ title: Azure Stream Analytics SDK for .NET description: Reference for Azure Stream Analytics SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: stream-analytics diff --git a/api/overview/azure/legacy/subscriptions.md b/api/overview/azure/legacy/subscriptions.md index 7c00120cf0fd..d5b18f264093 100644 --- a/api/overview/azure/legacy/subscriptions.md +++ b/api/overview/azure/legacy/subscriptions.md @@ -3,7 +3,7 @@ title: Azure Subscriptions SDK for .NET description: Reference for Azure Subscriptions SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: subscriptions diff --git a/api/overview/azure/legacy/support.md b/api/overview/azure/legacy/support.md index 874ffbd5822d..13395f8a6371 100644 --- a/api/overview/azure/legacy/support.md +++ b/api/overview/azure/legacy/support.md @@ -3,7 +3,7 @@ title: Azure Support SDK for .NET description: Reference for Azure Support SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: support diff --git a/api/overview/azure/legacy/synapse.md b/api/overview/azure/legacy/synapse.md index cd443b8de12f..8ee63e2f2056 100644 --- a/api/overview/azure/legacy/synapse.md +++ b/api/overview/azure/legacy/synapse.md @@ -3,7 +3,7 @@ title: Azure Synapse SDK for .NET description: Reference for Azure Synapse SDK for .NET author: wonner ms.author: wanyang -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: synapse diff --git a/api/overview/azure/legacy/tables.md b/api/overview/azure/legacy/tables.md index c5b23a1ff85a..41e069aa3af9 100644 --- a/api/overview/azure/legacy/tables.md +++ b/api/overview/azure/legacy/tables.md @@ -3,7 +3,7 @@ title: Azure Tables SDK for .NET description: Reference for Azure Tables SDK for .NET author: christothes ms.author: chriss -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: tables diff --git a/api/overview/azure/legacy/traffic-manager.md b/api/overview/azure/legacy/traffic-manager.md index 0a1c10a159c1..cb50b2c62498 100644 --- a/api/overview/azure/legacy/traffic-manager.md +++ b/api/overview/azure/legacy/traffic-manager.md @@ -3,7 +3,7 @@ title: Azure Traffic Manager SDK for .NET description: Reference for Azure Traffic Manager SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: trafficmanager diff --git a/api/overview/azure/legacy/video-analyzer.md b/api/overview/azure/legacy/video-analyzer.md index d0aece7f80b2..0a89cd775ee0 100644 --- a/api/overview/azure/legacy/video-analyzer.md +++ b/api/overview/azure/legacy/video-analyzer.md @@ -3,7 +3,7 @@ title: Azure Video Analyzer SDK for .NET description: Reference for Azure Video Analyzer SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: videoanalyzer diff --git a/api/overview/azure/legacy/workload-monitor.md b/api/overview/azure/legacy/workload-monitor.md index ed7d5bbe54f8..17de1d442bd5 100644 --- a/api/overview/azure/legacy/workload-monitor.md +++ b/api/overview/azure/legacy/workload-monitor.md @@ -3,7 +3,7 @@ title: Azure Workload Monitor SDK for .NET description: Reference for Azure Workload Monitor SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: workloadmonitor diff --git a/api/overview/azure/preview/advisor.md b/api/overview/azure/preview/advisor.md index cb23824ee0ed..4f1e3876d189 100644 --- a/api/overview/azure/preview/advisor.md +++ b/api/overview/azure/preview/advisor.md @@ -3,7 +3,7 @@ title: Azure Advisor SDK for .NET description: Reference for Azure Advisor SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: advisor diff --git a/api/overview/azure/preview/agrifood.md b/api/overview/azure/preview/agrifood.md index a1ec0961d418..d16b3306843b 100644 --- a/api/overview/azure/preview/agrifood.md +++ b/api/overview/azure/preview/agrifood.md @@ -3,7 +3,7 @@ title: Azure Agrifood SDK for .NET description: Reference for Azure Agrifood SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: agrifood diff --git a/api/overview/azure/preview/ai.formrecognizer-readme.md b/api/overview/azure/preview/ai.formrecognizer-readme.md deleted file mode 100644 index ba62be5bdfc0..000000000000 --- a/api/overview/azure/preview/ai.formrecognizer-readme.md +++ /dev/null @@ -1,848 +0,0 @@ ---- -title: Azure Cognitive Services Form Recognizer client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.AI.FormRecognizer, formrecognizer -author: kinelski -ms.author: camaiaor -ms.date: 04/13/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: formrecognizer ---- -# Azure Cognitive Services Form Recognizer client library for .NET - version 4.1.0-beta.1 - - -Azure Cognitive Services Form Recognizer is a cloud service that uses machine learning to analyze text and structured data from your documents. It includes the following main features: - -- Layout - Extract text, selection marks, table structures, styles, and paragraphs, along with their bounding region coordinates from documents. -- General document - Analyze key-value pairs in addition to general layout from documents. -- Read - Read information about textual elements, such as page words and lines in addition to text language information. -- Prebuilt - Analyze data from certain types of common documents using prebuilt models. Supported documents include receipts, invoices, business cards, identity documents, US W2 tax forms, and more. -- Custom - Build custom models to analyze text, field values, selection marks, table structures, styles, and paragraphs from documents. Custom models are built with your own data, so they're tailored to your documents. - -[Source code][formreco_client_src] | [Package (NuGet)][formreco_nuget_package] | [API reference documentation][formreco_refdocs] | [Product documentation][formreco_docs] | [Samples][formreco_samples] - -## Getting started - -### Install the package -Install the Azure Form Recognizer client library for .NET with [NuGet][nuget]: - -```dotnetcli -dotnet add package Azure.AI.FormRecognizer -``` - -> Note: This version of the client library defaults to the `2022-08-31` version of the service. - -This table shows the relationship between SDK versions and supported API versions of the service: - -|SDK version|Supported API version of service -|-|- -|4.1.0-beta.1 | 2.0, 2.1, 2022-08-31, 2023-02-28-preview -|4.0.0 | 2.0, 2.1, 2022-08-31 -|3.1.X | 2.0, 2.1 -|3.0.X | 2.0 - -> Note: Starting with version `4.0.0`, a new set of clients were introduced to leverage the newest features of the Form Recognizer service. Please see the [Migration Guide][migration_guide] for detailed instructions on how to update application code from client library version `3.1.X` or lower to the latest version. Additionally, see the [Changelog][formreco_changelog] for more detailed information. The table below describes the relationship of each client and its supported API version(s): - -|API version|Supported clients -|-|- -|2023-02-28-preview|DocumentAnalysisClient and DocumentModelAdministrationClient -|2022-08-31|DocumentAnalysisClient and DocumentModelAdministrationClient -|2.1|FormRecognizerClient and FormTrainingClient -|2.0|FormRecognizerClient and FormTrainingClient - -### Prerequisites -* An [Azure subscription][azure_sub]. -* A [Cognitive Services or Form Recognizer resource][cognitive_resource] to use this package. - -#### Create a Cognitive Services or Form Recognizer resource -Form Recognizer supports both [multi-service and single-service access][cognitive_resource_portal]. Create a Cognitive Services resource if you plan to access multiple cognitive services under a single endpoint/key. For Form Recognizer access only, create a Form Recognizer resource. Please note that you will need a single-service resource if you intend to use [Azure Active Directory authentication](#create-formrecognizerclient-with-azure-active-directory-credential). - -You can create either resource using: - -* Option 1: [Azure Portal][cognitive_resource_portal]. -* Option 2: [Azure CLI][cognitive_resource_cli]. - -Below is an example of how you can create a Form Recognizer resource using the CLI: - -```PowerShell -# Create a new resource group to hold the Form Recognizer resource -# If using an existing resource group, skip this step -az group create --name --location -``` - -```PowerShell -# Create the Form Recognizer resource -az cognitiveservices account create \ - --name \ - --resource-group \ - --kind FormRecognizer \ - --sku \ - --location \ - --yes -``` -For more information about creating the resource or how to get the location and sku information see [here][cognitive_resource_cli]. - -### Authenticate the client -In order to interact with the Form Recognizer service, you'll need to create an instance of the [`DocumentAnalysisClient`][doc_analysis_client_class] class. -An **endpoint** and **credential** are necessary to instantiate the client object. - -#### Get the endpoint - -You can find the endpoint for your Form Recognizer resource using the -[Azure Portal][azure_portal_get_endpoint] -or [Azure CLI][azure_cli_endpoint_lookup]: - -```PowerShell -# Get the endpoint for the Form Recognizer resource -az cognitiveservices account show --name "" --resource-group "" --query "properties.endpoint" -``` - -Either a regional endpoint or a custom subdomain can be used for authentication. They are formatted as follows: - -``` -Regional endpoint: https://.api.cognitive.microsoft.com/ -Custom subdomain: https://.cognitiveservices.azure.com/ -``` - -A regional endpoint is the same for every resource in a region. A complete list of supported regional endpoints can be consulted [here][regional_endpoints]. Please note that regional endpoints do not support AAD authentication. - -A custom subdomain, on the other hand, is a name that is unique to the Form Recognizer resource. They can only be used by [single-service resources][cognitive_resource_portal]. - -#### Get the API Key - -The API key can be found in the [Azure Portal][azure_portal] or by running the following Azure CLI command: - -```PowerShell -az cognitiveservices account keys list --name "" --resource-group "" -``` - -#### Create DocumentAnalysisClient with AzureKeyCredential -Once you have the value for the API key, create an `AzureKeyCredential`. With the endpoint and key credential, you can create the [`DocumentAnalysisClient`][doc_analysis_client_class]: - -```C# Snippet:CreateDocumentAnalysisClient -string endpoint = ""; -string apiKey = ""; -var credential = new AzureKeyCredential(apiKey); -var client = new DocumentAnalysisClient(new Uri(endpoint), credential); -``` - -#### Create DocumentAnalysisClient with Azure Active Directory Credential - -`AzureKeyCredential` authentication is used in the examples in this getting started guide, but you can also authenticate with Azure Active Directory using the [Azure Identity library][azure_identity]. Note that regional endpoints do not support AAD authentication. Create a [custom subdomain][custom_subdomain] for your resource in order to use this type of authentication. - -To use the [DefaultAzureCredential][DefaultAzureCredential] provider shown below, or other credential providers provided with the Azure SDK, please install the `Azure.Identity` package: - -```dotnetcli -dotnet add package Azure.Identity -``` - -You will also need to [register a new AAD application][register_aad_app] and [grant access][aad_grant_access] to Form Recognizer by assigning the `"Cognitive Services User"` role to your service principal. - -Set the values of the client ID, tenant ID, and client secret of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET. - -```C# Snippet:CreateDocumentAnalysisClientTokenCredential -string endpoint = ""; -var client = new DocumentAnalysisClient(new Uri(endpoint), new DefaultAzureCredential()); -``` - -## Key concepts - -### DocumentAnalysisClient - -`DocumentAnalysisClient` provides operations for analyzing input documents using prebuilt and custom models through the `AnalyzeDocument` and `AnalyzeDocumentFromUri` APIs. Use the `modelId` parameter to select the type of model for analysis. - -Sample code snippets are provided to illustrate using a DocumentAnalysisClient [here](#examples). -More information about analyzing documents, including supported features, locales, and document types can be found in the [service documentation][formreco_models]. - -### DocumentModelAdministrationClient - -`DocumentModelAdministrationClient` provides operations for: - -- Building custom models to analyze specific fields you specify by labeling your custom documents. A `DocumentModelDetails` instance is returned indicating the document type(s) the model can analyze, the fields it can analyze for each document type, as well as the estimated confidence for each field. See the [service documentation][formreco_build_model] for a more detailed explanation. -- Compose a model from a collection of existing models. -- Managing models created in your account. -- Listing document model operations or getting a specific model operation created within the last 24 hours. -- Copying a custom model from one Form Recognizer resource to another. - -See examples for [Build a Custom Model](#build-a-custom-model) and [Manage Models](#manage-models). - -Please note that models can also be built using a graphical user interface such as the [Form Recognizer Labeling Tool][labeling_tool]. - -### Long-Running Operations - -Because analyzing documents and building models take time, these operations are implemented as [**long-running operations**][dotnet_lro_guidelines]. Long-running operations consist of an initial request sent to the service to start an operation, followed by polling the service at intervals to determine whether the operation has completed or failed, and if it has succeeded, to get the result. - -For long running operations in the Azure SDK, the client exposes a method that returns an `Operation` object. You can set its parameter `waitUntil` to `WaitUntil.Completed` to wait for the operation to complete and obtain its result; or set it to `WaitUntil.Started` if you just want to start the operation and consume the result later. A sample code snippet is provided to illustrate using long-running operations [below](#extract-layout). - -### Thread safety -We guarantee that all client instance methods are thread-safe and independent of each other ([guideline](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-service-methods-thread-safety)). This ensures that the recommendation of reusing client instances is always safe, even across threads. - -### Additional concepts - -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.FormRecognizer_4.1.0-beta.1/sdk/core/Azure.Core/README.md#configuring-service-clients-using-clientoptions) | -[Accessing the response](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.FormRecognizer_4.1.0-beta.1/sdk/core/Azure.Core/README.md#accessing-http-response-details-using-responset) | -[Handling failures](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.FormRecognizer_4.1.0-beta.1/sdk/core/Azure.Core/README.md#reporting-errors-requestfailedexception) | -[Diagnostics](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.FormRecognizer_4.1.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md) | -[Mocking](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.FormRecognizer_4.1.0-beta.1/sdk/core/Azure.Core/README.md#mocking) | -[Client lifetime](https://devblogs.microsoft.com/azure-sdk/lifetime-management-and-thread-safety-guarantees-of-azure-sdk-net-clients/) - - -## Examples -The following section provides several code snippets illustrating common patterns used in the Form Recognizer .NET API. Most of the snippets below make use of asynchronous service calls, but keep in mind that the Azure.AI.FormRecognizer package supports both synchronous and asynchronous APIs. - -### Async examples -* [Extract Layout](#extract-layout) -* [Use the Prebuilt General Document Model](#use-the-prebuilt-general-document-model) -* [Use the Prebuilt Read Model](#use-the-prebuilt-read-model) -* [Use Prebuilt Models](#use-prebuilt-models) -* [Build a Custom Model](#build-a-custom-model) -* [Analyze Custom Documents](#analyze-custom-documents) -* [Manage Models](#manage-models) - -### Sync examples -* [Manage Models Synchronously](#manage-models-synchronously) - -> Note that these samples use SDK version `4.0.0`. For lower versions of the SDK, please see [Form Recognizer Samples for V3.1.X][formrecov3_samples]. - -### Extract Layout -Extract text, selection marks, table structures, styles, and paragraphs, along with their bounding region coordinates from documents. - -```C# Snippet:FormRecognizerExtractLayoutFromUriAsync -Uri fileUri = new Uri(""); - -AnalyzeDocumentOperation operation = await client.AnalyzeDocumentFromUriAsync(WaitUntil.Completed, "prebuilt-layout", fileUri); -AnalyzeResult result = operation.Value; - -foreach (DocumentPage page in result.Pages) -{ - Console.WriteLine($"Document Page {page.PageNumber} has {page.Lines.Count} line(s), {page.Words.Count} word(s),"); - Console.WriteLine($"and {page.SelectionMarks.Count} selection mark(s)."); - - for (int i = 0; i < page.Lines.Count; i++) - { - DocumentLine line = page.Lines[i]; - Console.WriteLine($" Line {i} has content: '{line.Content}'."); - - Console.WriteLine($" Its bounding polygon (points ordered clockwise):"); - - for (int j = 0; j < line.BoundingPolygon.Count; j++) - { - Console.WriteLine($" Point {j} => X: {line.BoundingPolygon[j].X}, Y: {line.BoundingPolygon[j].Y}"); - } - } - - for (int i = 0; i < page.SelectionMarks.Count; i++) - { - DocumentSelectionMark selectionMark = page.SelectionMarks[i]; - - Console.WriteLine($" Selection Mark {i} is {selectionMark.State}."); - Console.WriteLine($" Its bounding polygon (points ordered clockwise):"); - - for (int j = 0; j < selectionMark.BoundingPolygon.Count; j++) - { - Console.WriteLine($" Point {j} => X: {selectionMark.BoundingPolygon[j].X}, Y: {selectionMark.BoundingPolygon[j].Y}"); - } - } -} - -Console.WriteLine("Paragraphs:"); - -foreach (DocumentParagraph paragraph in result.Paragraphs) -{ - Console.WriteLine($" Paragraph content: {paragraph.Content}"); - - if (paragraph.Role != null) - { - Console.WriteLine($" Role: {paragraph.Role}"); - } -} - -foreach (DocumentStyle style in result.Styles) -{ - // Check the style and style confidence to see if text is handwritten. - // Note that value '0.8' is used as an example. - - bool isHandwritten = style.IsHandwritten.HasValue && style.IsHandwritten == true; - - if (isHandwritten && style.Confidence > 0.8) - { - Console.WriteLine($"Handwritten content found:"); - - foreach (DocumentSpan span in style.Spans) - { - Console.WriteLine($" Content: {result.Content.Substring(span.Index, span.Length)}"); - } - } -} - -Console.WriteLine("The following tables were extracted:"); - -for (int i = 0; i < result.Tables.Count; i++) -{ - DocumentTable table = result.Tables[i]; - Console.WriteLine($" Table {i} has {table.RowCount} rows and {table.ColumnCount} columns."); - - foreach (DocumentTableCell cell in table.Cells) - { - Console.WriteLine($" Cell ({cell.RowIndex}, {cell.ColumnIndex}) has kind '{cell.Kind}' and content: '{cell.Content}'."); - } -} -``` - -For more information and samples see [here][extract_layout]. - -### Use the Prebuilt General Document Model -Analyze text, selection marks, table structures, styles, paragraphs, and key-value pairs from documents using the prebuilt general document model. - -```C# Snippet:FormRecognizerAnalyzePrebuiltDocumentFromUriAsync -Uri fileUri = new Uri(""); - -AnalyzeDocumentOperation operation = await client.AnalyzeDocumentFromUriAsync(WaitUntil.Completed, "prebuilt-document", fileUri); -AnalyzeResult result = operation.Value; - -Console.WriteLine("Detected key-value pairs:"); - -foreach (DocumentKeyValuePair kvp in result.KeyValuePairs) -{ - if (kvp.Value == null) - { - Console.WriteLine($" Found key with no value: '{kvp.Key.Content}'"); - } - else - { - Console.WriteLine($" Found key-value pair: '{kvp.Key.Content}' and '{kvp.Value.Content}'"); - } -} - -foreach (DocumentPage page in result.Pages) -{ - Console.WriteLine($"Document Page {page.PageNumber} has {page.Lines.Count} line(s), {page.Words.Count} word(s),"); - Console.WriteLine($"and {page.SelectionMarks.Count} selection mark(s)."); - - for (int i = 0; i < page.Lines.Count; i++) - { - DocumentLine line = page.Lines[i]; - Console.WriteLine($" Line {i} has content: '{line.Content}'."); - - Console.WriteLine($" Its bounding polygon (points ordered clockwise):"); - - for (int j = 0; j < line.BoundingPolygon.Count; j++) - { - Console.WriteLine($" Point {j} => X: {line.BoundingPolygon[j].X}, Y: {line.BoundingPolygon[j].Y}"); - } - } - - for (int i = 0; i < page.SelectionMarks.Count; i++) - { - DocumentSelectionMark selectionMark = page.SelectionMarks[i]; - - Console.WriteLine($" Selection Mark {i} is {selectionMark.State}."); - Console.WriteLine($" Its bounding polygon (points ordered clockwise):"); - - for (int j = 0; j < selectionMark.BoundingPolygon.Count; j++) - { - Console.WriteLine($" Point {j} => X: {selectionMark.BoundingPolygon[j].X}, Y: {selectionMark.BoundingPolygon[j].Y}"); - } - } -} - -foreach (DocumentStyle style in result.Styles) -{ - // Check the style and style confidence to see if text is handwritten. - // Note that value '0.8' is used as an example. - - bool isHandwritten = style.IsHandwritten.HasValue && style.IsHandwritten == true; - - if (isHandwritten && style.Confidence > 0.8) - { - Console.WriteLine($"Handwritten content found:"); - - foreach (DocumentSpan span in style.Spans) - { - Console.WriteLine($" Content: {result.Content.Substring(span.Index, span.Length)}"); - } - } -} - -Console.WriteLine("The following tables were extracted:"); - -for (int i = 0; i < result.Tables.Count; i++) -{ - DocumentTable table = result.Tables[i]; - Console.WriteLine($" Table {i} has {table.RowCount} rows and {table.ColumnCount} columns."); - - foreach (DocumentTableCell cell in table.Cells) - { - Console.WriteLine($" Cell ({cell.RowIndex}, {cell.ColumnIndex}) has kind '{cell.Kind}' and content: '{cell.Content}'."); - } -} -``` - -For more information and samples see [here][analyze_prebuilt_document]. - -### Use the Prebuilt Read Model -Analyze textual elements, such as page words and lines, styles, paragraphs, and text language information from documents using the prebuilt read model. - -```C# Snippet:FormRecognizerAnalyzePrebuiltReadFromUriAsync -Uri fileUri = new Uri(""); - -AnalyzeDocumentOperation operation = await client.AnalyzeDocumentFromUriAsync(WaitUntil.Completed, "prebuilt-read", fileUri); -AnalyzeResult result = operation.Value; - -Console.WriteLine("Detected languages:"); - -foreach (DocumentLanguage language in result.Languages) -{ - Console.WriteLine($" Found language with locale '{language.Locale}' and confidence {language.Confidence}."); -} - -foreach (DocumentPage page in result.Pages) -{ - Console.WriteLine($"Document Page {page.PageNumber} has {page.Lines.Count} line(s), {page.Words.Count} word(s),"); - Console.WriteLine($"and {page.SelectionMarks.Count} selection mark(s)."); - - for (int i = 0; i < page.Lines.Count; i++) - { - DocumentLine line = page.Lines[i]; - Console.WriteLine($" Line {i} has content: '{line.Content}'."); - - Console.WriteLine($" Its bounding polygon (points ordered clockwise):"); - - for (int j = 0; j < line.BoundingPolygon.Count; j++) - { - Console.WriteLine($" Point {j} => X: {line.BoundingPolygon[j].X}, Y: {line.BoundingPolygon[j].Y}"); - } - } -} - -foreach (DocumentStyle style in result.Styles) -{ - // Check the style and style confidence to see if text is handwritten. - // Note that value '0.8' is used as an example. - - bool isHandwritten = style.IsHandwritten.HasValue && style.IsHandwritten == true; - - if (isHandwritten && style.Confidence > 0.8) - { - Console.WriteLine($"Handwritten content found:"); - - foreach (DocumentSpan span in style.Spans) - { - Console.WriteLine($" Content: {result.Content.Substring(span.Index, span.Length)}"); - } - } -} -``` - -For more information and samples see [here][analyze_prebuilt_read]. - -### Use Prebuilt Models -Analyze data from certain types of common documents using prebuilt models provided by the Form Recognizer service. - -For example, to analyze fields from an invoice, use the prebuilt Invoice model provided by passing the `prebuilt-invoice` model ID into the `AnalyzeDocumentAsync` method: - -```C# Snippet:FormRecognizerAnalyzeWithPrebuiltModelFromFileAsync -string filePath = ""; - -using var stream = new FileStream(filePath, FileMode.Open); - -AnalyzeDocumentOperation operation = await client.AnalyzeDocumentAsync(WaitUntil.Completed, "prebuilt-invoice", stream); -AnalyzeResult result = operation.Value; - -// To see the list of all the supported fields returned by service and its corresponding types for the -// prebuilt-invoice model, consult: -// https://aka.ms/azsdk/formrecognizer/invoicefieldschema - -for (int i = 0; i < result.Documents.Count; i++) -{ - Console.WriteLine($"Document {i}:"); - - AnalyzedDocument document = result.Documents[i]; - - if (document.Fields.TryGetValue("VendorName", out DocumentField vendorNameField)) - { - if (vendorNameField.FieldType == DocumentFieldType.String) - { - string vendorName = vendorNameField.Value.AsString(); - Console.WriteLine($"Vendor Name: '{vendorName}', with confidence {vendorNameField.Confidence}"); - } - } - - if (document.Fields.TryGetValue("CustomerName", out DocumentField customerNameField)) - { - if (customerNameField.FieldType == DocumentFieldType.String) - { - string customerName = customerNameField.Value.AsString(); - Console.WriteLine($"Customer Name: '{customerName}', with confidence {customerNameField.Confidence}"); - } - } - - if (document.Fields.TryGetValue("Items", out DocumentField itemsField)) - { - if (itemsField.FieldType == DocumentFieldType.List) - { - foreach (DocumentField itemField in itemsField.Value.AsList()) - { - Console.WriteLine("Item:"); - - if (itemField.FieldType == DocumentFieldType.Dictionary) - { - IReadOnlyDictionary itemFields = itemField.Value.AsDictionary(); - - if (itemFields.TryGetValue("Description", out DocumentField itemDescriptionField)) - { - if (itemDescriptionField.FieldType == DocumentFieldType.String) - { - string itemDescription = itemDescriptionField.Value.AsString(); - - Console.WriteLine($" Description: '{itemDescription}', with confidence {itemDescriptionField.Confidence}"); - } - } - - if (itemFields.TryGetValue("Amount", out DocumentField itemAmountField)) - { - if (itemAmountField.FieldType == DocumentFieldType.Currency) - { - CurrencyValue itemAmount = itemAmountField.Value.AsCurrency(); - - Console.WriteLine($" Amount: '{itemAmount.Symbol}{itemAmount.Amount}', with confidence {itemAmountField.Confidence}"); - } - } - } - } - } - } - - if (document.Fields.TryGetValue("SubTotal", out DocumentField subTotalField)) - { - if (subTotalField.FieldType == DocumentFieldType.Currency) - { - CurrencyValue subTotal = subTotalField.Value.AsCurrency(); - Console.WriteLine($"Sub Total: '{subTotal.Symbol}{subTotal.Amount}', with confidence {subTotalField.Confidence}"); - } - } - - if (document.Fields.TryGetValue("TotalTax", out DocumentField totalTaxField)) - { - if (totalTaxField.FieldType == DocumentFieldType.Currency) - { - CurrencyValue totalTax = totalTaxField.Value.AsCurrency(); - Console.WriteLine($"Total Tax: '{totalTax.Symbol}{totalTax.Amount}', with confidence {totalTaxField.Confidence}"); - } - } - - if (document.Fields.TryGetValue("InvoiceTotal", out DocumentField invoiceTotalField)) - { - if (invoiceTotalField.FieldType == DocumentFieldType.Currency) - { - CurrencyValue invoiceTotal = invoiceTotalField.Value.AsCurrency(); - Console.WriteLine($"Invoice Total: '{invoiceTotal.Symbol}{invoiceTotal.Amount}', with confidence {invoiceTotalField.Confidence}"); - } - } -} -``` - -You are not limited to invoices! There are a couple of prebuilt models to choose from, each of which has its own set of supported fields. More information about the supported document types can be found in the [service documentation][formreco_models]. - -For more information and samples, see [here][analyze_prebuilt]. - -### Build a Custom Model -Build a custom model on your own document type. The resulting model can be used to analyze values from the types of documents it was built on. - -```C# Snippet:FormRecognizerSampleBuildModel -// For this sample, you can use the training documents found in the `trainingFiles` folder. -// Upload the documents to your storage container and then generate a container SAS URL. Note -// that a container URI without SAS is accepted only when the container is public or has a -// managed identity configured. -// -// For instructions to set up documents for training in an Azure Blob Storage Container, please see: -// https://aka.ms/azsdk/formrecognizer/buildcustommodel - -Uri blobContainerUri = new Uri(""); -var client = new DocumentModelAdministrationClient(new Uri(endpoint), new AzureKeyCredential(apiKey)); - -// We are selecting the Template build mode in this sample. For more information about the available -// build modes and their differences, please see: -// https://aka.ms/azsdk/formrecognizer/buildmode - -BuildDocumentModelOperation operation = await client.BuildDocumentModelAsync(WaitUntil.Completed, blobContainerUri, DocumentBuildMode.Template); -DocumentModelDetails model = operation.Value; - -Console.WriteLine($" Model Id: {model.ModelId}"); -if (string.IsNullOrEmpty(model.Description)) - Console.WriteLine($" Model description: {model.Description}"); -Console.WriteLine($" Created on: {model.CreatedOn}"); -Console.WriteLine(" Doc types the model can recognize:"); -foreach (KeyValuePair documentType in model.DocumentTypes) -{ - Console.WriteLine($" Doc type: {documentType.Key} which has the following fields:"); - foreach (KeyValuePair schema in documentType.Value.FieldSchema) - { - Console.WriteLine($" Field: {schema.Key} with confidence {documentType.Value.FieldConfidence[schema.Key]}"); - } -} -``` - -For more information and samples see [here][build_a_custom_model]. - -### Analyze Custom Documents -Analyze text, field values, selection marks, and table structures, styles, and paragraphs from custom documents, using models you built with your own document types. - -```C# Snippet:FormRecognizerAnalyzeWithCustomModelFromUriAsync -string modelId = ""; -Uri fileUri = new Uri(""); - -AnalyzeDocumentOperation operation = await client.AnalyzeDocumentFromUriAsync(WaitUntil.Completed, modelId, fileUri); -AnalyzeResult result = operation.Value; - -Console.WriteLine($"Document was analyzed with model with ID: {result.ModelId}"); - -foreach (AnalyzedDocument document in result.Documents) -{ - Console.WriteLine($"Document of type: {document.DocumentType}"); - - foreach (KeyValuePair fieldKvp in document.Fields) - { - string fieldName = fieldKvp.Key; - DocumentField field = fieldKvp.Value; - - Console.WriteLine($"Field '{fieldName}': "); - - Console.WriteLine($" Content: '{field.Content}'"); - Console.WriteLine($" Confidence: '{field.Confidence}'"); - } -} -``` - -For more information and samples see [here][analyze_custom]. - -### Manage Models -Manage the models stored in your account. - -```C# Snippet:FormRecognizerSampleManageModelsAsync -var client = new DocumentModelAdministrationClient(new Uri(endpoint), new AzureKeyCredential(apiKey)); - -// Check number of custom models in the FormRecognizer account, and the maximum number of custom models that can be stored. -ResourceDetails resourceDetails = await client.GetResourceDetailsAsync(); -Console.WriteLine($"Resource has {resourceDetails.CustomDocumentModelCount} custom models."); -Console.WriteLine($"It can have at most {resourceDetails.CustomDocumentModelLimit} custom models."); - -// List the first ten or fewer models currently stored in the account. -AsyncPageable models = client.GetDocumentModelsAsync(); - -int count = 0; -await foreach (DocumentModelSummary modelSummary in models) -{ - Console.WriteLine($"Custom Model Summary:"); - Console.WriteLine($" Model Id: {modelSummary.ModelId}"); - if (string.IsNullOrEmpty(modelSummary.Description)) - Console.WriteLine($" Model description: {modelSummary.Description}"); - Console.WriteLine($" Created on: {modelSummary.CreatedOn}"); - if (++count == 10) - break; -} - -// Create a new model to store in the account -Uri blobContainerUri = new Uri(""); -BuildDocumentModelOperation operation = await client.BuildDocumentModelAsync(WaitUntil.Completed, blobContainerUri, DocumentBuildMode.Template); -DocumentModelDetails model = operation.Value; - -// Get the model that was just created -DocumentModelDetails newCreatedModel = await client.GetDocumentModelAsync(model.ModelId); - -Console.WriteLine($"Custom Model with Id {newCreatedModel.ModelId} has the following information:"); - -Console.WriteLine($" Model Id: {newCreatedModel.ModelId}"); -if (string.IsNullOrEmpty(newCreatedModel.Description)) - Console.WriteLine($" Model description: {newCreatedModel.Description}"); -Console.WriteLine($" Created on: {newCreatedModel.CreatedOn}"); - -// Delete the model from the account. -await client.DeleteDocumentModelAsync(newCreatedModel.ModelId); -``` - -For more information and samples see [here][manage_models]. - -### Manage Models Synchronously -Manage the models stored in your account with a synchronous API. - -```C# Snippet:FormRecognizerSampleManageModels -var client = new DocumentModelAdministrationClient(new Uri(endpoint), new AzureKeyCredential(apiKey)); - -// Check number of custom models in the FormRecognizer account, and the maximum number of custom models that can be stored. -ResourceDetails resourceDetails = client.GetResourceDetails(); -Console.WriteLine($"Resource has {resourceDetails.CustomDocumentModelCount} custom models."); -Console.WriteLine($"It can have at most {resourceDetails.CustomDocumentModelLimit} custom models."); - -// List the first ten or fewer models currently stored in the account. -Pageable models = client.GetDocumentModels(); - -foreach (DocumentModelSummary modelSummary in models.Take(10)) -{ - Console.WriteLine($"Custom Model Summary:"); - Console.WriteLine($" Model Id: {modelSummary.ModelId}"); - if (string.IsNullOrEmpty(modelSummary.Description)) - Console.WriteLine($" Model description: {modelSummary.Description}"); - Console.WriteLine($" Created on: {modelSummary.CreatedOn}"); -} - -// Create a new model to store in the account - -Uri blobContainerUri = new Uri(""); -BuildDocumentModelOperation operation = client.BuildDocumentModel(WaitUntil.Completed, blobContainerUri, DocumentBuildMode.Template); -DocumentModelDetails model = operation.Value; - -// Get the model that was just created -DocumentModelDetails newCreatedModel = client.GetDocumentModel(model.ModelId); - -Console.WriteLine($"Custom Model with Id {newCreatedModel.ModelId} has the following information:"); - -Console.WriteLine($" Model Id: {newCreatedModel.ModelId}"); -if (string.IsNullOrEmpty(newCreatedModel.Description)) - Console.WriteLine($" Model description: {newCreatedModel.Description}"); -Console.WriteLine($" Created on: {newCreatedModel.CreatedOn}"); - -// Delete the created model from the account. -client.DeleteDocumentModel(newCreatedModel.ModelId); -``` - -## Troubleshooting - -### General -When you interact with the Cognitive Services Form Recognizer client library using the .NET SDK, errors returned by the service will result in a `RequestFailedException` with the same HTTP status code returned by the [REST API][formreco_rest_api] request. - -For example, if you submit a receipt image with an invalid `Uri`, a `400` error is returned, indicating "Bad Request". - -```C# Snippet:DocumentAnalysisBadRequest -try -{ - AnalyzeDocumentOperation operation = await client.AnalyzeDocumentFromUriAsync(WaitUntil.Completed, "prebuilt-receipt", new Uri("http://invalid.uri")); -} -catch (RequestFailedException e) -{ - Console.WriteLine(e.ToString()); -} -``` - -You will notice that additional information is logged, like the client request ID of the operation. - -``` -Message: - Azure.RequestFailedException: Service request failed. - Status: 400 (Bad Request) - ErrorCode: InvalidRequest - -Content: - {"error":{"code":"InvalidRequest","message":"Invalid request.","innererror":{"code":"InvalidContent","message":"The file is corrupted or format is unsupported. Refer to documentation for the list of supported formats."}}} - -Headers: - Transfer-Encoding: chunked - x-envoy-upstream-service-time: REDACTED - apim-request-id: REDACTED - Strict-Transport-Security: REDACTED - X-Content-Type-Options: REDACTED - Date: Fri, 01 Oct 2021 02:55:44 GMT - Content-Type: application/json; charset=utf-8 -``` - -Error codes and messages raised by the Form Recognizer service can be found in the [service documentation][formreco_errors]. - -For more details about common issues, see our [troubleshooting guide][troubleshooting]. - -### Setting up console logging -The simplest way to see the logs is to enable the console logging. -To create an Azure SDK log listener that outputs messages to console use the AzureEventSourceListener.CreateConsoleLogger method. - -```C# -// Setup a listener to monitor logged events. -using AzureEventSourceListener listener = AzureEventSourceListener.CreateConsoleLogger(level: EventLevel.Informational); -``` - -To learn more about other logging mechanisms see [Diagnostics Samples][logging]. - -## Next steps - -Samples showing how to use the Cognitive Services Form Recognizer library are available in this GitHub repository. Samples are provided for each main functional area: - -- [Extract the layout of a document][extract_layout] -- [Analyze with the prebuilt general document model][analyze_prebuilt_document] -- [Analyze with the prebuilt read model][analyze_prebuilt_read] -- [Analyze a document with a custom model][analyze_custom] -- [Analyze a document with a prebuilt model][analyze_prebuilt] -- [Build a custom model][build_a_custom_model] -- [Manage models][manage_models] -- [Get and List document model operations][get_and_list] -- [Compose a model][compose_model] -- [Copy a custom model between Form Recognizer resources][copy_custom_models] -- [Mock a client for testing using the Moq library][mock_client] - -> Note that these samples use SDK version `4.0.0`. For lower versions of the SDK, please see [Form Recognizer Samples for V3.1.X][formrecov3_samples]. - -## Contributing - -This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit [cla.microsoft.com][cla]. - -When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][code_of_conduct]. For more information see the [Code of Conduct FAQ][coc_faq] or contact [opencode@microsoft.com][coc_contact] with any additional questions or comments. - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Fformrecognizer%2FAzure.AI.FormRecognizer%2FREADME.png) - - - -[formreco_client_src]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.FormRecognizer_4.1.0-beta.1/sdk/formrecognizer/Azure.AI.FormRecognizer/src -[formreco_docs]: /azure/cognitive-services/form-recognizer/ -[formreco_refdocs]: https://aka.ms/azsdk/net/docs/ref/formrecognizer -[formreco_nuget_package]: https://www.nuget.org/packages/Azure.AI.FormRecognizer -[formreco_samples]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.FormRecognizer_4.1.0-beta.1/sdk/formrecognizer/Azure.AI.FormRecognizer/samples/README.md -[formrecov3_samples]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.FormRecognizer_4.1.0-beta.1/sdk/formrecognizer/Azure.AI.FormRecognizer/samples/V3.1/README.md -[formreco_changelog]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.FormRecognizer_4.1.0-beta.1/sdk/formrecognizer/Azure.AI.FormRecognizer/CHANGELOG.md -[formreco_rest_api]: https://aka.ms/azsdk/formrecognizer/restapi -[formreco_models]: https://aka.ms/azsdk/formrecognizer/models -[formreco_errors]: https://aka.ms/azsdk/formrecognizer/errors -[formreco_build_model]: https://aka.ms/azsdk/formrecognizer/buildmodel -[migration_guide]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.FormRecognizer_4.1.0-beta.1/sdk/formrecognizer/Azure.AI.FormRecognizer/MigrationGuide.md -[cognitive_resource]: /azure/cognitive-services/cognitive-services-apis-create-account - - -[doc_analysis_client_class]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.FormRecognizer_4.1.0-beta.1/sdk/formrecognizer/Azure.AI.FormRecognizer/src/DocumentAnalysisClient.cs -[azure_identity]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.FormRecognizer_4.1.0-beta.1/sdk/identity/Azure.Identity -[register_aad_app]: /azure/cognitive-services/authentication#assign-a-role-to-a-service-principal -[aad_grant_access]: /azure/cognitive-services/authentication#assign-a-role-to-a-service-principal -[custom_subdomain]: /azure/cognitive-services/authentication#create-a-resource-with-a-custom-subdomain -[DefaultAzureCredential]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.FormRecognizer_4.1.0-beta.1/sdk/identity/Azure.Identity/README.md -[cognitive_resource_portal]: /azure/cognitive-services/cognitive-services-apis-create-account -[cognitive_resource_cli]: /azure/cognitive-services/cognitive-services-apis-create-account-cli -[regional_endpoints]: /azure/cognitive-services/cognitive-services-custom-subdomains#is-there-a-list-of-regional-endpoints -[azure_cli_endpoint_lookup]: /cli/azure/cognitiveservices/account?view=azure-cli-latest#az-cognitiveservices-account-show -[azure_portal_get_endpoint]: /azure/cognitive-services/cognitive-services-apis-create-account?tabs=multiservice%2Cwindows#get-the-keys-for-your-resource - - -[labeling_tool]: https://aka.ms/azsdk/formrecognizer/labelingtool -[dotnet_lro_guidelines]: https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-longrunning - -[troubleshooting]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.FormRecognizer_4.1.0-beta.1/sdk/formrecognizer/Azure.AI.FormRecognizer/TROUBLESHOOTING.md -[logging]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.FormRecognizer_4.1.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md - -[extract_layout]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.FormRecognizer_4.1.0-beta.1/sdk/formrecognizer/Azure.AI.FormRecognizer/samples/Sample_ExtractLayout.md -[analyze_prebuilt_document]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.FormRecognizer_4.1.0-beta.1/sdk/formrecognizer/Azure.AI.FormRecognizer/samples/Sample_AnalyzePrebuiltDocument.md -[analyze_prebuilt_read]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.FormRecognizer_4.1.0-beta.1/sdk/formrecognizer/Azure.AI.FormRecognizer/samples/Sample_AnalyzePrebuiltRead.md -[analyze_custom]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.FormRecognizer_4.1.0-beta.1/sdk/formrecognizer/Azure.AI.FormRecognizer/samples/Sample_AnalyzeWithCustomModel.md -[analyze_prebuilt]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.FormRecognizer_4.1.0-beta.1/sdk/formrecognizer/Azure.AI.FormRecognizer/samples/Sample_AnalyzeWithPrebuiltModel.md -[build_a_custom_model]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.FormRecognizer_4.1.0-beta.1/sdk/formrecognizer/Azure.AI.FormRecognizer/samples/Sample_BuildCustomModel.md -[manage_models]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.FormRecognizer_4.1.0-beta.1/sdk/formrecognizer/Azure.AI.FormRecognizer/samples/Sample_ManageModels.md -[copy_custom_models]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.FormRecognizer_4.1.0-beta.1/sdk/formrecognizer/Azure.AI.FormRecognizer/samples/Sample_CopyCustomModel.md -[compose_model]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.FormRecognizer_4.1.0-beta.1/sdk/formrecognizer/Azure.AI.FormRecognizer/samples/Sample_ModelCompose.md -[get_and_list]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.FormRecognizer_4.1.0-beta.1/sdk/formrecognizer/Azure.AI.FormRecognizer/samples/Sample_GetAndListOperations.md -[mock_client]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.FormRecognizer_4.1.0-beta.1/sdk/formrecognizer/Azure.AI.FormRecognizer/samples/Sample_MockClient.md - -[azure_cli]: /cli/azure -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[nuget]: https://www.nuget.org/ -[azure_portal]: https://portal.azure.com - -[cla]: https://cla.microsoft.com -[code_of_conduct]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[coc_contact]: mailto:opencode@microsoft.com - diff --git a/api/overview/azure/preview/ai.language.conversations-readme.md b/api/overview/azure/preview/ai.language.conversations-readme.md deleted file mode 100644 index e875d6ce8c42..000000000000 --- a/api/overview/azure/preview/ai.language.conversations-readme.md +++ /dev/null @@ -1,662 +0,0 @@ ---- -title: Azure Cognitive Language Services Conversations client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.AI.Language.Conversations, cognitivelanguage -author: heaths -ms.author: heaths -ms.date: 11/11/2022 -ms.topic: reference -ms.devlang: dotnet -ms.service: cognitivelanguage ---- -# Azure Cognitive Language Services Conversations client library for .NET - version 1.1.0-beta.2 - - -Conversational Language Understanding - aka CLU for short - is a cloud-based conversational AI service which provides many language understanding capabilities like: - -- Conversation App: It's used in extracting intents and entities in conversations -- Workflow app: Acts like an orchestrator to select the best candidate to analyze conversations to get best response from apps like Qna, Luis, and Conversation App - -[Source code][conversationanalysis_client_src] | [Package (NuGet)][conversationanalysis_nuget_package] | [API reference documentation][conversationanalysis_refdocs] | [Samples][conversationanalysis_samples] | [Product documentation][conversationanalysis_docs] | [Analysis REST API documentation][conversationanalysis_restdocs] | [Authoring REST API documentation][conversationanalysis_restdocs_authoring] - -## Getting started - -### Install the package - -Install the Azure Cognitive Language Services Conversations client library for .NET with [NuGet][nuget]: - -```powershell -dotnet add package Azure.AI.Language.Conversations -``` - -### Prerequisites - -- An [Azure subscription][azure_subscription] -- An existing Azure Language Service Resource - -Though you can use this SDK to create and import conversation projects, [Language Studio][language_studio] is the preferred method for creating projects. - -### Authenticate the client - -In order to interact with the Conversations service, you'll need to create an instance of the [`ConversationAnalysisClient`][conversationanalysis_client_class] class. You will need an **endpoint**, and an **API key** to instantiate a client object. For more information regarding authenticating with Cognitive Services, see [Authenticate requests to Azure Cognitive Services][cognitive_auth]. - -#### Get an API key - -You can get the **endpoint** and an **API key** from the Cognitive Services resource in the [Azure Portal][azure_portal]. - -Alternatively, use the [Azure CLI][azure_cli] command shown below to get the API key from the Cognitive Service resource. - -```powershell -az cognitiveservices account keys list --resource-group --name -``` - -#### Namespaces - -Start by importing the namespace for the [`ConversationAnalysisClient`][conversationanalysis_client_class] and related class: - -```C# Snippet:ConversationAnalysisClient_Namespaces -using Azure.Core; -using Azure.AI.Language.Conversations; -``` - -#### Create a ConversationAnalysisClient - -Once you've determined your **endpoint** and **API key** you can instantiate a `ConversationAnalysisClient`: - -```C# Snippet:ConversationAnalysisClient_Create -Uri endpoint = new Uri("https://myaccount.cognitiveservices.azure.com"); -AzureKeyCredential credential = new AzureKeyCredential("{api-key}"); - -ConversationAnalysisClient client = new ConversationAnalysisClient(endpoint, credential); -``` - -#### Create a ConversationAuthoringClient - -To use the `ConversationAuthoringClient`, use the following namespace in addition to those above, if needed. - -```C# Snippet:ConversationAuthoringClient_Namespace -using Azure.AI.Language.Conversations.Authoring; -``` - -With your **endpoint** and **API key**, you can instantiate a `ConversationAuthoringClient`: - -```C# Snippet:ConversationAuthoringClient_Create -Uri endpoint = new Uri("https://myaccount.cognitiveservices.azure.com"); -AzureKeyCredential credential = new AzureKeyCredential("{api-key}"); - -ConversationAuthoringClient client = new ConversationAuthoringClient(endpoint, credential); -``` - -#### Create a client using Azure Active Directory authentication - -You can also create a `ConversationAnalysisClient` or `ConversationAuthoringClient` using Azure Active Directory (AAD) authentication. Your user or service principal must be assigned the "Cognitive Services Language Reader" role. -Using the [DefaultAzureCredential] you can authenticate a service using Managed Identity or a service principal, authenticate as a developer working on an application, and more all without changing code. - -Before you can use the `DefaultAzureCredential`, or any credential type from [Azure.Identity][azure_identity], you'll first need to [install the Azure.Identity package][azure_identity_install]. - -To use `DefaultAzureCredential` with a client ID and secret, you'll need to set the `AZURE_TENANT_ID`, `AZURE_CLIENT_ID`, and `AZURE_CLIENT_SECRET` environment variables; alternatively, you can pass those values -to the `ClientSecretCredential` also in Azure.Identity. - -Make sure you use the right namespace for `DefaultAzureCredential` at the top of your source file: - -```C# Snippet:Conversation_Identity_Namespace -using Azure.Identity; -``` - -Then you can create an instance of `DefaultAzureCredential` and pass it to a new instance of your client: - -```C# Snippet:ConversationAnalysisClient_CreateWithDefaultAzureCredential -Uri endpoint = new Uri("https://myaccount.cognitiveservices.azure.com"); -DefaultAzureCredential credential = new DefaultAzureCredential(); - -ConversationAnalysisClient client = new ConversationAnalysisClient(endpoint, credential); -``` - -Note that regional endpoints do not support AAD authentication. Instead, create a [custom domain][custom_domain] name for your resource to use AAD authentication. - -## Key concepts - -### ConversationAnalysisClient - -The [`ConversationAnalysisClient`][conversationanalysis_client_class] is the primary interface for making predictions using your deployed Conversations models. It provides both synchronous and asynchronous APIs to submit queries. - -### Thread safety - -We guarantee that all client instance methods are thread-safe and independent of each other ([guideline](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-service-methods-thread-safety)). This ensures that the recommendation of reusing client instances is always safe, even across threads. - -### Additional concepts - - -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Language.Conversations_1.1.0-beta.2/sdk/core/Azure.Core/README.md#configuring-service-clients-using-clientoptions) | -[Accessing the response](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Language.Conversations_1.1.0-beta.2/sdk/core/Azure.Core/README.md#accessing-http-response-details-using-responset) | -[Long-running operations](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Language.Conversations_1.1.0-beta.2/sdk/core/Azure.Core/README.md#consuming-long-running-operations-using-operationt) | -[Handling failures](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Language.Conversations_1.1.0-beta.2/sdk/core/Azure.Core/README.md#reporting-errors-requestfailedexception) | -[Diagnostics](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Language.Conversations_1.1.0-beta.2/sdk/core/Azure.Core/samples/Diagnostics.md) | -[Mocking](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Language.Conversations_1.1.0-beta.2/sdk/core/Azure.Core/README.md#mocking) | -[Client lifetime](https://devblogs.microsoft.com/azure-sdk/lifetime-management-and-thread-safety-guarantees-of-azure-sdk-net-clients/) - - -## Examples - -The Azure.AI.Language.Conversations client library provides both synchronous and asynchronous APIs. - -The following examples show common scenarios using the `client` [created above](#create-a-conversationanalysisclient). - -### Analyze a conversation - -To analyze a conversation, you can call the `AnalyzeConversation()` method: - -```C# Snippet:ConversationAnalysis_AnalyzeConversation -string projectName = "Menu"; -string deploymentName = "production"; - -var data = new -{ - analysisInput = new - { - conversationItem = new - { - text = "Send an email to Carol about tomorrow's demo", - id = "1", - participantId = "1", - } - }, - parameters = new - { - projectName, - deploymentName, - - // Use Utf16CodeUnit for strings in .NET. - stringIndexType = "Utf16CodeUnit", - }, - kind = "Conversation", -}; - -Response response = client.AnalyzeConversation(RequestContent.Create(data)); - -using JsonDocument result = JsonDocument.Parse(response.ContentStream); -JsonElement conversationalTaskResult = result.RootElement; -JsonElement conversationPrediction = conversationalTaskResult.GetProperty("result").GetProperty("prediction"); - -Console.WriteLine($"Top intent: {conversationPrediction.GetProperty("topIntent").GetString()}"); - -Console.WriteLine("Intents:"); -foreach (JsonElement intent in conversationPrediction.GetProperty("intents").EnumerateArray()) -{ - Console.WriteLine($"Category: {intent.GetProperty("category").GetString()}"); - Console.WriteLine($"Confidence: {intent.GetProperty("confidenceScore").GetSingle()}"); - Console.WriteLine(); -} - -Console.WriteLine("Entities:"); -foreach (JsonElement entity in conversationPrediction.GetProperty("entities").EnumerateArray()) -{ - Console.WriteLine($"Category: {entity.GetProperty("category").GetString()}"); - Console.WriteLine($"Text: {entity.GetProperty("text").GetString()}"); - Console.WriteLine($"Offset: {entity.GetProperty("offset").GetInt32()}"); - Console.WriteLine($"Length: {entity.GetProperty("length").GetInt32()}"); - Console.WriteLine($"Confidence: {entity.GetProperty("confidenceScore").GetSingle()}"); - Console.WriteLine(); - - if (entity.TryGetProperty("resolutions", out JsonElement resolutions)) - { - foreach (JsonElement resolution in resolutions.EnumerateArray()) - { - if (resolution.GetProperty("resolutionKind").GetString() == "DateTimeResolution") - { - Console.WriteLine($"Datetime Sub Kind: {resolution.GetProperty("dateTimeSubKind").GetString()}"); - Console.WriteLine($"Timex: {resolution.GetProperty("timex").GetString()}"); - Console.WriteLine($"Value: {resolution.GetProperty("value").GetString()}"); - Console.WriteLine(); - } - } - } -} -``` - -Additional options can be passed to `AnalyzeConversation` like enabling more verbose output: - -```C# Snippet:ConversationAnalysis_AnalyzeConversationWithOptions -string projectName = "Menu"; -string deploymentName = "production"; - -var data = new -{ - analysisInput = new - { - conversationItem = new - { - text = "Send an email to Carol about tomorrow's demo", - id = "1", - participantId = "1", - } - }, - parameters = new - { - projectName, - deploymentName, - verbose = true, - - // Use Utf16CodeUnit for strings in .NET. - stringIndexType = "Utf16CodeUnit", - }, - kind = "Conversation", -}; - -Response response = client.AnalyzeConversation(RequestContent.Create(data)); -``` - -### Analyze a conversation in a different language - -The `language` property can be set to specify the language of the conversation: - -```C# Snippet:ConversationAnalysis_AnalyzeConversationWithLanguage -string projectName = "Menu"; -string deploymentName = "production"; - -var data = new -{ - analysisInput = new - { - conversationItem = new - { - text = "Enviar un email a Carol acerca de la presentación de mañana", - language = "es", - id = "1", - participantId = "1", - } - }, - parameters = new - { - projectName, - deploymentName, - verbose = true, - - // Use Utf16CodeUnit for strings in .NET. - stringIndexType = "Utf16CodeUnit", - }, - kind = "Conversation", -}; - -Response response = client.AnalyzeConversation(RequestContent.Create(data)); -``` - -### Analyze a conversation using an orchestration project - -To analyze a conversation using an orchestration project, you can call the `AnalyzeConversation()` method just like the conversation project. - - -```C# Snippet:ConversationAnalysis_AnalyzeConversationOrchestrationPrediction -string projectName = "DomainOrchestrator"; -string deploymentName = "production"; - -var data = new -{ - analysisInput = new - { - conversationItem = new - { - text = "How are you?", - id = "1", - participantId = "1", - } - }, - parameters = new - { - projectName, - deploymentName, - - // Use Utf16CodeUnit for strings in .NET. - stringIndexType = "Utf16CodeUnit", - }, - kind = "Conversation", -}; - -Response response = client.AnalyzeConversation(RequestContent.Create(data)); - -using JsonDocument result = JsonDocument.Parse(response.ContentStream); -JsonElement conversationalTaskResult = result.RootElement; -JsonElement orchestrationPrediction = conversationalTaskResult.GetProperty("result").GetProperty("prediction"); -``` - -#### Question Answering prediction - -If your conversation was analyzed by Question Answering, it will include an intent - perhaps even the top intent - from which you can retrieve answers: - -```C# Snippet:ConversationAnalysis_AnalyzeConversationOrchestrationPredictionQnA -string respondingProjectName = orchestrationPrediction.GetProperty("topIntent").GetString(); -JsonElement targetIntentResult = orchestrationPrediction.GetProperty("intents").GetProperty(respondingProjectName); - -if (targetIntentResult.GetProperty("targetProjectKind").GetString() == "QuestionAnswering") -{ - Console.WriteLine($"Top intent: {respondingProjectName}"); - - JsonElement questionAnsweringResponse = targetIntentResult.GetProperty("result"); - Console.WriteLine($"Question Answering Response:"); - foreach (JsonElement answer in questionAnsweringResponse.GetProperty("answers").EnumerateArray()) - { - Console.WriteLine(answer.GetProperty("answer").GetString()); - } -} -``` - -#### Conversational summarization - -To summarize a conversation, you can use the `AnalyzeConversation` method overload that returns an `Operation`: - -```C# Snippet:AnalyzeConversation_ConversationSummarization -var data = new -{ - analysisInput = new - { - conversations = new[] - { - new - { - conversationItems = new[] - { - new - { - text = "Hello, how can I help you?", - id = "1", - role = "Agent", - participantId = "Agent_1", - }, - new - { - text = "How to upgrade Office? I am getting error messages the whole day.", - id = "2", - role = "Customer", - participantId = "Customer_1", - }, - new - { - text = "Press the upgrade button please. Then sign in and follow the instructions.", - id = "3", - role = "Agent", - participantId = "Agent_1", - }, - }, - id = "1", - language = "en", - modality = "text", - }, - } - }, - tasks = new[] - { - new - { - taskName = "Issue task", - kind = "ConversationalSummarizationTask", - parameters = new - { - summaryAspects = new[] - { - "issue", - } - }, - }, - new - { - taskName = "Resolution task", - kind = "ConversationalSummarizationTask", - parameters = new - { - summaryAspects = new[] - { - "resolution", - } - }, - }, - }, -}; - -Operation analyzeConversationOperation = client.AnalyzeConversation(WaitUntil.Completed, RequestContent.Create(data)); - -using JsonDocument result = JsonDocument.Parse(analyzeConversationOperation.Value.ToStream()); -JsonElement jobResults = result.RootElement; -foreach (JsonElement task in jobResults.GetProperty("tasks").GetProperty("items").EnumerateArray()) -{ - Console.WriteLine($"Task name: {task.GetProperty("taskName").GetString()}"); - JsonElement results = task.GetProperty("results"); - foreach (JsonElement conversation in results.GetProperty("conversations").EnumerateArray()) - { - Console.WriteLine($"Conversation: #{conversation.GetProperty("id").GetString()}"); - Console.WriteLine("Summaries:"); - foreach (JsonElement summary in conversation.GetProperty("summaries").EnumerateArray()) - { - Console.WriteLine($"Text: {summary.GetProperty("text").GetString()}"); - Console.WriteLine($"Aspect: {summary.GetProperty("aspect").GetString()}"); - } - Console.WriteLine(); - } -} -``` - -#### Conversational PII - -To extract and redact personally-identifiable information (PII) from text, you can use the `AnalyzeConversation` method overload that returns an `Operation`: - -```C# Snippet:AnalyzeConversation_ConversationPII_Text -var data = new -{ - analysisInput = new - { - conversations = new[] - { - new - { - conversationItems = new[] - { - new - { - text = "Hi, I am John Doe.", - id = "1", - participantId = "0", - }, - new - { - text = "Hi John, how are you doing today?", - id = "2", - participantId = "1", - }, - new - { - text = "Pretty good.", - id = "3", - participantId = "0", - }, - }, - id = "1", - language = "en", - modality = "text", - }, - } - }, - tasks = new[] - { - new - { - parameters = new - { - piiCategories = new[] - { - "All", - }, - includeAudioRedaction = false, - modelVersion = "2022-05-15-preview", - loggingOptOut = false, - }, - kind = "ConversationalPIITask", - taskName = "analyze", - }, - }, -}; - -Operation analyzeConversationOperation = client.AnalyzeConversation(WaitUntil.Completed, RequestContent.Create(data)); - -using JsonDocument result = JsonDocument.Parse(analyzeConversationOperation.Value.ToStream()); -JsonElement jobResults = result.RootElement; -foreach (JsonElement task in jobResults.GetProperty("tasks").GetProperty("items").EnumerateArray()) -{ - JsonElement results = task.GetProperty("results"); - - Console.WriteLine("Conversations:"); - foreach (JsonElement conversation in results.GetProperty("conversations").EnumerateArray()) - { - Console.WriteLine($"Conversation: #{conversation.GetProperty("id").GetString()}"); - Console.WriteLine("Conversation Items:"); - foreach (JsonElement conversationItem in conversation.GetProperty("conversationItems").EnumerateArray()) - { - Console.WriteLine($"Conversation Item: #{conversationItem.GetProperty("id").GetString()}"); - - Console.WriteLine($"Redacted Text: {conversationItem.GetProperty("redactedContent").GetProperty("text").GetString()}"); - - Console.WriteLine("Entities:"); - foreach (JsonElement entity in conversationItem.GetProperty("entities").EnumerateArray()) - { - Console.WriteLine($"Text: {entity.GetProperty("text").GetString()}"); - Console.WriteLine($"Offset: {entity.GetProperty("offset").GetInt32()}"); - Console.WriteLine($"Category: {entity.GetProperty("category").GetString()}"); - Console.WriteLine($"Confidence Score: {entity.GetProperty("confidenceScore").GetSingle()}"); - Console.WriteLine($"Length: {entity.GetProperty("length").GetInt32()}"); - Console.WriteLine(); - } - } - Console.WriteLine(); - } -} -``` - -### Additional samples - -Browser our [samples][conversationanalysis_samples] for more examples of how to analyze conversations. - -## Troubleshooting - -### General - -When you interact with the Cognitive Language Services Conversations client library using the .NET SDK, errors returned by the service correspond to the same HTTP status codes returned for REST API requests. - -For example, if you submit a utterance to a non-existant project, a `400` error is returned indicating "Bad Request". - -```C# Snippet:ConversationAnalysisClient_BadRequest -try -{ - var data = new - { - analysisInput = new - { - conversationItem = new - { - text = "Send an email to Carol about tomorrow's demo", - id = "1", - participantId = "1", - } - }, - parameters = new - { - projectName = "invalid-project", - deploymentName = "production", - - // Use Utf16CodeUnit for strings in .NET. - stringIndexType = "Utf16CodeUnit", - }, - kind = "Conversation", - }; - - Response response = client.AnalyzeConversation(RequestContent.Create(data)); -} -catch (RequestFailedException ex) -{ - Console.WriteLine(ex.ToString()); -} -``` - -You will notice that additional information is logged, like the client request ID of the operation. - -```text -Azure.RequestFailedException: The input parameter is invalid. -Status: 400 (Bad Request) -ErrorCode: InvalidArgument - -Content: -{ - "error": { - "code": "InvalidArgument", - "message": "The input parameter is invalid.", - "innerError": { - "code": "InvalidArgument", - "message": "The input parameter \"payload\" cannot be null or empty." - } - } -} - -Headers: -Transfer-Encoding: chunked -pragma: no-cache -request-id: 0303b4d0-0954-459f-8a3d-1be6819745b5 -apim-request-id: 0303b4d0-0954-459f-8a3d-1be6819745b5 -x-envoy-upstream-service-time: 15 -Strict-Transport-Security: max-age=31536000; includeSubDomains; preload -x-content-type-options: nosniff -Cache-Control: no-store, proxy-revalidate, no-cache, max-age=0, private -Content-Type: application/json -``` - -### Setting up console logging - -The simplest way to see the logs is to enable console logging. To create an Azure SDK log listener that outputs messages to the console use the `AzureEventSourceListener.CreateConsoleLogger` method. - -```C# -// Setup a listener to monitor logged events. -using AzureEventSourceListener listener = AzureEventSourceListener.CreateConsoleLogger(level: EventLevel.Informational); -``` - -To learn more about other logging mechanisms see [here][core_logging]. - -## Next steps - -- View our [samples][conversationanalysis_samples]. -- Read about the different [features][conversationanalysis_docs_features] of the Conversations service. -- Try our service [demos][conversationanalysis_docs_demos]. - -## Contributing - -See the [CONTRIBUTING.md][contributing] for details on building, testing, and contributing to this library. - -This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit [cla.microsoft.com][cla]. - -When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][code_of_conduct]. For more information see the [Code of Conduct FAQ][coc_faq] or contact [opencode@microsoft.com][coc_contact] with any additional questions or comments. - - -[azure_cli]: /cli/azure/ -[azure_identity]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Language.Conversations_1.1.0-beta.2/sdk/identity/Azure.Identity/README.md -[azure_identity_install]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Language.Conversations_1.1.0-beta.2/sdk/identity/Azure.Identity/README.md#install-the-package -[azure_portal]: https://portal.azure.com/ -[azure_subscription]: https://azure.microsoft.com/free/dotnet/ -[cla]: https://cla.microsoft.com -[coc_contact]: mailto:opencode@microsoft.com -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[code_of_conduct]: https://opensource.microsoft.com/codeofconduct/ -[cognitive_auth]: /azure/cognitive-services/authentication/ -[contributing]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Language.Conversations_1.1.0-beta.2/CONTRIBUTING.md -[core_logging]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Language.Conversations_1.1.0-beta.2/sdk/core/Azure.Core/samples/Diagnostics.md -[custom_domain]: /azure/cognitive-services/authentication#create-a-resource-with-a-custom-subdomain -[DefaultAzureCredential]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Language.Conversations_1.1.0-beta.2/sdk/identity/Azure.Identity/README.md#defaultazurecredential -[language_studio]: https://language.cognitive.azure.com/ -[nuget]: https://www.nuget.org/ - -[conversationanalysis_client_class]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Language.Conversations_1.1.0-beta.2/sdk/cognitivelanguage/Azure.AI.Language.Conversations/src/ConversationAnalysisClient.cs -[conversationanalysis_client_src]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Language.Conversations_1.1.0-beta.2/sdk/cognitivelanguage/Azure.AI.Language.Conversations/src/ -[conversationanalysis_samples]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Language.Conversations_1.1.0-beta.2/sdk/cognitivelanguage/Azure.AI.Language.Conversations/samples/ -[conversationanalysis_nuget_package]: https://www.nuget.org/packages/Azure.AI.Language.Conversations/ -[conversationanalysis_docs]: /azure/cognitive-services/language-service/conversational-language-understanding/overview -[conversationanalysis_docs_demos]: /azure/cognitive-services/language-service/conversational-language-understanding/quickstart -[conversationanalysis_docs_features]: /azure/cognitive-services/language-service/conversational-language-understanding/overview -[conversationanalysis_refdocs]: /dotnet/api/azure.ai.language.conversations -[conversationanalysis_restdocs]: https://learn.microsoft.com/rest/api/language/2022-10-01-preview/conversation-analysis-runtime -[conversationanalysis_restdocs_authoring]: https://learn.microsoft.com/rest/api/language/2022-10-01-preview/conversational-analysis-authoring - diff --git a/api/overview/azure/preview/ai.language.questionanswering-readme.md b/api/overview/azure/preview/ai.language.questionanswering-readme.md deleted file mode 100644 index 9833b123d54d..000000000000 --- a/api/overview/azure/preview/ai.language.questionanswering-readme.md +++ /dev/null @@ -1,352 +0,0 @@ ---- -title: Azure Cognitive Language Services Question Answering client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.AI.Language.QuestionAnswering, cognitivelanguage -author: heaths -ms.author: heaths -ms.date: 07/19/2022 -ms.topic: reference -ms.devlang: dotnet -ms.service: cognitivelanguage ---- - -# Azure Cognitive Language Services Question Answering client library for .NET - version 1.1.0-beta.2 - -The Question Answering service is a cloud-based API service that lets you create a conversational question-and-answer layer over your existing data. Use it to build a knowledge base by extracting questions and answers from your semi-structured content, including FAQ, manuals, and documents. Answer users’ questions with the best answers from the QnAs in your knowledge base—automatically. Your knowledge base gets smarter, too, as it continually learns from user behavior. - -[Source code][questionanswering_client_src] | [Package (NuGet)][questionanswering_nuget_package] | [API reference documentation][questionanswering_refdocs] | [Product documentation][questionanswering_docs] | [Samples][questionanswering_samples] | [Migration guide][migration_guide] - -## Getting started - -### Install the package - -Install the Azure Cognitive Language Services Question Answering client library for .NET with [NuGet][nuget]: - -```dotnetcli -dotnet add package Azure.AI.Language.QuestionAnswering -``` - -### Prerequisites - -* An [Azure subscription][azure_subscription] -* An existing Question Answering resource - -> Note: the new unified Cognitive Language Services are not currently available for deployment. - -### Authenticate the client - -In order to interact with the Question Answering service, you'll need to either create an instance of the [`QuestionAnsweringClient`][questionanswering_client_class] class for querying existing projects or an instance of the [`QuestionAnsweringProjectsClient`][questionansweringprojects_client_class] for managing projects within your resource. You will need an **endpoint**, and an **API key** to instantiate a client object. For more information regarding authenticating with Cognitive Services, see [Authenticate requests to Azure Cognitive Services][cognitive_auth]. - -#### Get an API key - -You can get the **endpoint** and an **API key** from the Cognitive Services resource or Question Answering resource in the [Azure Portal][azure_portal]. - -Alternatively, use the [Azure CLI][azure_cli] command shown below to get the API key from the Question Answering resource. - -```powershell -az cognitiveservices account keys list --resource-group --name -``` - -#### Create a QuestionAnsweringClient - -Once you've determined your **endpoint** and **API key** you can instantiate a `QuestionAnsweringClient`: - -```C# Snippet:QuestionAnsweringClient_Create -Uri endpoint = new Uri("{LanguageEndpoint}"); -AzureKeyCredential credential = new AzureKeyCredential("{ApiKey}"); - -QuestionAnsweringClient client = new QuestionAnsweringClient(endpoint, credential); -``` - -#### Create a QuestionAnsweringProjectsClient - -With your **endpoint** and **API key**, you can instantiate a `QuestionAnsweringProjectsClient`: - -```C# Snippet:QuestionAnsweringProjectsClient_Create -Uri endpoint = new Uri("{LanguageEndpoint}"); -AzureKeyCredential credential = new AzureKeyCredential("{ApiKey}"); - -QuestionAnsweringProjectsClient client = new QuestionAnsweringProjectsClient(endpoint, credential); -``` - -## Key concepts - -### QuestionAnsweringClient - -The [`QuestionAnsweringClient`][questionanswering_client_class] is the primary interface for asking questions using a knowledge base with your own information, or text input using pre-trained models. It provides both synchronous and asynchronous APIs to ask questions. - -### QuestionAnsweringProjectsClient - -The [`QuestionAnsweringProjectsClient`][questionansweringprojects_client_class] provides an interface for managing Question Answering projects. Examples of the available operations include creating and deploying projects, updating your knowledge sources, and updating question and answer pairs. It provides both synchronous and asynchronous APIs. - -### Thread safety - -We guarantee that all client instance methods are thread-safe and independent of each other ([guideline](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-service-methods-thread-safety)). This ensures that the recommendation of reusing client instances is always safe, even across threads. - -### Additional concepts - - -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Language.QuestionAnswering_1.1.0-beta.2/sdk/core/Azure.Core/README.md#configuring-service-clients-using-clientoptions) | -[Accessing the response](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Language.QuestionAnswering_1.1.0-beta.2/sdk/core/Azure.Core/README.md#accessing-http-response-details-using-responset) | -[Long-running operations](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Language.QuestionAnswering_1.1.0-beta.2/sdk/core/Azure.Core/README.md#consuming-long-running-operations-using-operationt) | -[Handling failures](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Language.QuestionAnswering_1.1.0-beta.2/sdk/core/Azure.Core/README.md#reporting-errors-requestfailedexception) | -[Diagnostics](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Language.QuestionAnswering_1.1.0-beta.2/sdk/core/Azure.Core/samples/Diagnostics.md) | -[Mocking](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Language.QuestionAnswering_1.1.0-beta.2/sdk/core/Azure.Core/README.md#mocking) | -[Client lifetime](https://devblogs.microsoft.com/azure-sdk/lifetime-management-and-thread-safety-guarantees-of-azure-sdk-net-clients/) - - -## Examples - -### QuestionAnsweringClient - -The Azure.AI.Language.QuestionAnswering client library provides both synchronous and asynchronous APIs. - -The following examples show common scenarios using the `client` [created above](#create-a-questionansweringclient). - -#### Ask a question - -The only input required to a ask a question using an existing knowledge base is just the question itself: - -```C# Snippet:QuestionAnsweringClient_GetAnswers -string projectName = "{ProjectName}"; -string deploymentName = "{DeploymentName}"; -QuestionAnsweringProject project = new QuestionAnsweringProject(projectName, deploymentName); -Response response = client.GetAnswers("How long should my Surface battery last?", project); - -foreach (KnowledgeBaseAnswer answer in response.Value.Answers) -{ - Console.WriteLine($"({answer.Confidence:P2}) {answer.Answer}"); - Console.WriteLine($"Source: {answer.Source}"); - Console.WriteLine(); -} -``` - -You can set additional properties on `QuestionAnsweringClientOptions` to limit the number of answers, specify a minimum confidence score, and more. - -#### Ask a follow-up question - -If your knowledge base is configured for [chit-chat][questionanswering_docs_chat], you can ask a follow-up question provided the previous question-answering ID and, optionally, the exact question the user asked: - -```C# Snippet:QuestionAnsweringClient_Chat -string projectName = "{ProjectName}"; -string deploymentName = "{DeploymentName}"; -// Answers are ordered by their ConfidenceScore so assume the user choose the first answer below: -KnowledgeBaseAnswer previousAnswer = answers.Answers.First(); -QuestionAnsweringProject project = new QuestionAnsweringProject(projectName, deploymentName); -AnswersOptions options = new AnswersOptions -{ - AnswerContext = new KnowledgeBaseAnswerContext(previousAnswer.QnaId.Value) -}; - -Response response = client.GetAnswers("How long should charging take?", project, options); - -foreach (KnowledgeBaseAnswer answer in response.Value.Answers) -{ - Console.WriteLine($"({answer.Confidence:P2}) {answer.Answer}"); - Console.WriteLine($"Source: {answer.Source}"); - Console.WriteLine(); -} -``` - -### QuestionAnsweringProjectsClient - -The following examples show common scenarios using the `QuestionAnsweringProjectsClient` instance [created in this section](#create-a-questionansweringprojectsclient). - -#### Create a new project - -To create a new project, you must specify the project's name and a create a `RequestContent` instance with the parameters needed to set up the project. - -```C# Snippet:QuestionAnsweringProjectsClient_CreateProject -// Set project name and request content parameters -string newProjectName = "{ProjectName}"; -RequestContent creationRequestContent = RequestContent.Create( - new { - description = "This is the description for a test project", - language = "en", - multilingualResource = false, - settings = new { - defaultAnswer = "No answer found for your question." - } - } - ); - -Response creationResponse = client.CreateProject(newProjectName, creationRequestContent); - -// Projects can be retrieved as follows -Pageable projects = client.GetProjects(); - -Console.WriteLine("Projects: "); -foreach (BinaryData project in projects) -{ - Console.WriteLine(project); -} -``` - -#### Deploy your project - -Your projects can be deployed using the `DeployProjectAsync` or the synchronous `DeployProject`. All you need to specify is the project's name and the deployment name that you wish to use. Please note that the service will not allow you to deploy empty projects. - -```C# Snippet:QuestionAnsweringProjectsClient_DeployProject -// Set deployment name and start operation -string newDeploymentName = "{DeploymentName}"; -Operation deploymentOperation = client.DeployProject(WaitUntil.Completed, newProjectName, newDeploymentName); - -// Deployments can be retrieved as follows -Pageable deployments = client.GetDeployments(newProjectName); -Console.WriteLine("Deployments: "); -foreach (BinaryData deployment in deployments) -{ - Console.WriteLine(deployment); -} -``` - -#### Add a knowledge source - -One way to add content to your project is to add a knowledge source. The following example shows how you can set up a `RequestContent` instance to add a new knowledge source of the type "url". - -```C# Snippet:QuestionAnsweringProjectsClient_UpdateSources -// Set request content parameters for updating our new project's sources -string sourceUri = "{KnowledgeSourceUri}"; -RequestContent updateSourcesRequestContent = RequestContent.Create( - new[] { - new { - op = "add", - value = new - { - displayName = "MicrosoftFAQ", - source = sourceUri, - sourceUri = sourceUri, - sourceKind = "url", - contentStructureKind = "unstructured", - refresh = false - } - } - }); - -Operation updateSourcesOperation = client.UpdateSources(WaitUntil.Completed, newProjectName, updateSourcesRequestContent); - -// Knowledge Sources can be retrieved as follows -Pageable sources = client.GetSources(newProjectName); -Console.WriteLine("Sources: "); -foreach (BinaryData source in sources) -{ - Console.WriteLine(source); -} -``` - -## Troubleshooting - -### General - -When you interact with the Cognitive Language Services Question Answering client library using the .NET SDK, errors returned by the service correspond to the same HTTP status codes returned for [REST API][questionanswering_rest_docs] requests. - -For example, if you submit a question to a non-existant knowledge base, a `400` error is returned indicating "Bad Request". - -```C# Snippet:QuestionAnsweringClient_BadRequest -try -{ - QuestionAnsweringProject project = new QuestionAnsweringProject("invalid-knowledgebase", "test"); - Response response = client.GetAnswers("Does this knowledge base exist?", project); -} -catch (RequestFailedException ex) -{ - Console.WriteLine(ex.ToString()); -} -``` - -You will notice that additional information is logged, like the client request ID of the operation. - -```text -Azure.RequestFailedException: Please verify azure search service is up, restart the WebApp and try again -Status: 400 (Bad Request) -ErrorCode: BadArgument - -Content: -{ - "error": { - "code": "BadArgument", - "message": "Please verify azure search service is up, restart the WebApp and try again" - } -} - -Headers: -x-envoy-upstream-service-time: 23 -apim-request-id: 76a83876-22d1-4977-a0b1-559a674f3605 -Strict-Transport-Security: max-age=31536000; includeSubDomains; preload -X-Content-Type-Options: nosniff -Date: Wed, 30 Jun 2021 00:32:07 GMT -Content-Length: 139 -Content-Type: application/json; charset=utf-8 -``` - -### Setting up console logging - -The simplest way to see the logs is to enable console logging. To create an Azure SDK log listener that outputs messages to the console use the `AzureEventSourceListener.CreateConsoleLogger` method. - -```C# -// Setup a listener to monitor logged events. -using AzureEventSourceListener listener = AzureEventSourceListener.CreateConsoleLogger(level: EventLevel.Informational); -``` - -To learn more about other logging mechanisms see [here][core_logging]. - -#### Logging request and response content - -To log the content of requests and responses set `IsLoggingContentEnabled` to true when creating the client and set the log level to verbose. - -```C# -QuestionAnsweringClientOptions options = new() -{ - Diagnostics = - { - IsLoggingContentEnabled = true - } -}; - -QuestionAnsweringClient client = new(endpoint, credential, options); - -using AzureEventSourceListener listener = AzureEventSourceListener.CreateTraceLogger(level: EventLevel.Verbose); -``` - -## Next steps - -* View our [samples][questionanswering_samples]. -* Read about the different [features][questionanswering_docs_features] of the Question Answering service. -* Try our service [demos][questionanswering_docs_demos]. - -## Contributing - -See the [CONTRIBUTING.md][contributing] for details on building, testing, and contributing to this library. - -This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit [cla.microsoft.com][cla]. - -When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][code_of_conduct]. For more information see the [Code of Conduct FAQ][coc_faq] or contact [opencode@microsoft.com][coc_contact] with any additional questions or comments. - - -[azure_cli]: /cli/azure/ -[azure_portal]: https://portal.azure.com/ -[azure_subscription]: https://azure.microsoft.com/free/dotnet/ -[cla]: https://cla.microsoft.com -[coc_contact]: mailto:opencode@microsoft.com -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[code_of_conduct]: https://opensource.microsoft.com/codeofconduct/ -[cognitive_auth]: /azure/cognitive-services/authentication/ -[contributing]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Language.QuestionAnswering_1.1.0-beta.2/CONTRIBUTING.md -[core_logging]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Language.QuestionAnswering_1.1.0-beta.2/sdk/core/Azure.Core/samples/Diagnostics.md -[nuget]: https://www.nuget.org/ -[questionanswering_client_class]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Language.QuestionAnswering_1.1.0-beta.2/sdk/cognitivelanguage/Azure.AI.Language.QuestionAnswering/src/QuestionAnsweringClient.cs -[questionanswering_client_src]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Language.QuestionAnswering_1.1.0-beta.2/sdk/cognitivelanguage/Azure.AI.Language.QuestionAnswering/src/ -[questionanswering_docs]: /azure/cognitive-services/qnamaker/ -[questionanswering_docs_chat]: /azure/cognitive-services/qnamaker/how-to/chit-chat-knowledge-base -[questionanswering_docs_demos]: https://azure.microsoft.com/services/cognitive-services/qna-maker/#demo -[questionanswering_docs_features]: https://azure.microsoft.com/services/cognitive-services/qna-maker/#features -[questionanswering_nuget_package]: https://nuget.org/packages/Azure.AI.Language.QuestionAnswering/ -[questionanswering_refdocs]: /dotnet/api/Azure.AI.Language.QuestionAnswering/ -[questionanswering_rest_docs]: /rest/api/cognitiveservices-qnamaker/ -[questionanswering_samples]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Language.QuestionAnswering_1.1.0-beta.2/sdk/cognitivelanguage/Azure.AI.Language.QuestionAnswering/samples/README.md -[migration_guide]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Language.QuestionAnswering_1.1.0-beta.2/sdk/cognitivelanguage/Azure.AI.Language.QuestionAnswering/MigrationGuide.md -[questionansweringprojects_client_class]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Language.QuestionAnswering_1.1.0-beta.2/sdk/cognitivelanguage/Azure.AI.Language.QuestionAnswering/src/Generated/QuestionAnsweringProjectsClient.cs - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Fcognitivelanguage%2FAzure.AI.Language.QuestionAnswering%2FREADME.png) - diff --git a/api/overview/azure/preview/ai.openai-readme.md b/api/overview/azure/preview/ai.openai-readme.md index 5316a519529a..c540ac9d77c6 100644 --- a/api/overview/azure/preview/ai.openai-readme.md +++ b/api/overview/azure/preview/ai.openai-readme.md @@ -3,12 +3,12 @@ title: Azure OpenAI client library for .NET keywords: Azure, dotnet, SDK, API, Azure.AI.OpenAI, openai author: jpalvarezl ms.author: josealvar -ms.date: 08/25/2023 +ms.date: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: openai --- -# Azure OpenAI client library for .NET - version 1.0.0-beta.7 +# Azure OpenAI client library for .NET - version 1.0.0-beta.8 The Azure OpenAI client library for .NET is an adaptation of OpenAI's REST APIs that provides an idiomatic interface @@ -22,7 +22,7 @@ Use the client library for Azure OpenAI to: Azure OpenAI is a managed service that allows developers to deploy, tune, and generate content from OpenAI models on Azure resources. - [Source code](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.OpenAI_1.0.0-beta.7/sdk/openai/Azure.AI.OpenAI/src) | [Package (NuGet)](https://www.nuget.org/packages/Azure.AI.OpenAI) | [API reference documentation](https://learn.microsoft.com/azure/cognitive-services/openai/reference) | [Product documentation](https://learn.microsoft.com/azure/cognitive-services/openai/) | [Samples](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.OpenAI_1.0.0-beta.7/sdk/openai/Azure.AI.OpenAI/tests/Samples) + [Source code](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.OpenAI_1.0.0-beta.8/sdk/openai/Azure.AI.OpenAI/src) | [Package (NuGet)](https://www.nuget.org/packages/Azure.AI.OpenAI) | [API reference documentation](https://learn.microsoft.com/azure/cognitive-services/openai/reference) | [Product documentation](https://learn.microsoft.com/azure/cognitive-services/openai/) | [Samples](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.OpenAI_1.0.0-beta.8/sdk/openai/Azure.AI.OpenAI/tests/Samples) ## Getting started @@ -101,18 +101,18 @@ We guarantee that all client instance methods are thread-safe and independent of ### Additional concepts -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.OpenAI_1.0.0-beta.7/sdk/core/Azure.Core/README.md#configuring-service-clients-using-clientoptions) | -[Accessing the response](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.OpenAI_1.0.0-beta.7/sdk/core/Azure.Core/README.md#accessing-http-response-details-using-responset) | -[Long-running operations](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.OpenAI_1.0.0-beta.7/sdk/core/Azure.Core/README.md#consuming-long-running-operations-using-operationt) | -[Handling failures](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.OpenAI_1.0.0-beta.7/sdk/core/Azure.Core/README.md#reporting-errors-requestfailedexception) | -[Diagnostics](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.OpenAI_1.0.0-beta.7/sdk/core/Azure.Core/samples/Diagnostics.md) | +[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.OpenAI_1.0.0-beta.8/sdk/core/Azure.Core/README.md#configuring-service-clients-using-clientoptions) | +[Accessing the response](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.OpenAI_1.0.0-beta.8/sdk/core/Azure.Core/README.md#accessing-http-response-details-using-responset) | +[Long-running operations](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.OpenAI_1.0.0-beta.8/sdk/core/Azure.Core/README.md#consuming-long-running-operations-using-operationt) | +[Handling failures](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.OpenAI_1.0.0-beta.8/sdk/core/Azure.Core/README.md#reporting-errors-requestfailedexception) | +[Diagnostics](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.OpenAI_1.0.0-beta.8/sdk/core/Azure.Core/samples/Diagnostics.md) | [Mocking](https://learn.microsoft.com/dotnet/azure/sdk/unit-testing-mocking) | [Client lifetime](https://devblogs.microsoft.com/azure-sdk/lifetime-management-and-thread-safety-guarantees-of-azure-sdk-net-clients/) ## Examples -You can familiarize yourself with different APIs using [Samples](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.OpenAI_1.0.0-beta.7/sdk/openai/Azure.AI.OpenAI/tests/Samples). +You can familiarize yourself with different APIs using [Samples](https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.OpenAI_1.0.0-beta.8/sdk/openai/Azure.AI.OpenAI/tests/Samples). ### Generate Chatbot Response @@ -242,6 +242,8 @@ You can read more about Chat Functions on OpenAI's blog: https://openai.com/blog **NOTE**: Chat Functions require model versions beginning with gpt-4 and gpt-3.5-turbo's `-0613` labels. They are not available with older versions of the models. +**NOTE:** The concurrent use of Chat Functions and [Azure Chat Extensions](#use-your-own-data-with-azure-openai) on a single request is not yet supported. Supplying both will result in the Chat Functions information being ignored and the operation behaving as if only the Azure Chat Extensions were provided. To address this limitation, consider separating the evaluation of Chat Functions and Azure Chat Extensions across multiple requests in your solution design. + To use Chat Functions, you first define the function you'd like the model to be able to use when appropriate. Using the example from the linked blog post, above: @@ -334,7 +336,10 @@ if (responseChoice.FinishReason == CompletionsFinishReason.FunctionCall) ChatRole.Function, JsonSerializer.Serialize( functionResultData, - new JsonSerializerOptions() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase })); + new JsonSerializerOptions() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase })) + { + Name = responseChoice.Message.FunctionCall.Name + }; conversationMessages.Add(functionResponseMessage); // Now make a new request using all three messages in conversationMessages } @@ -346,6 +351,8 @@ if (responseChoice.FinishReason == CompletionsFinishReason.FunctionCall) The use your own data feature is unique to Azure OpenAI and won't work with a client configured to use the non-Azure service. See [the Azure OpenAI using your own data quickstart](https://learn.microsoft.com/azure/ai-services/openai/use-your-data-quickstart) for conceptual background and detailed setup instructions. +**NOTE:** The concurrent use of [Chat Functions](#use-chat-functions) and Azure Chat Extensions on a single request is not yet supported. Supplying both will result in the Chat Functions information being ignored and the operation behaving as if only the Azure Chat Extensions were provided. To address this limitation, consider separating the evaluation of Chat Functions and Azure Chat Extensions across multiple requests in your solution design. + ```C# Snippet:ChatUsingYourOwnData var chatCompletionsOptions = new ChatCompletionsOptions() { @@ -403,6 +410,51 @@ Response imageGenerations = await client.GetImageGenerationsAs Uri imageUri = imageGenerations.Value.Data[0].Url; ``` +### Transcribe audio data with Whisper speech models + +```C# Snippet:TranscribeAudio +using Stream audioStreamFromFile = File.OpenRead("myAudioFile.mp3"); +BinaryData audioFileData = BinaryData.FromStream(audioStreamFromFile); + +var transcriptionOptions = new AudioTranscriptionOptions() +{ + AudioData = BinaryData.FromStream(audioStreamFromFile), + ResponseFormat = AudioTranscriptionFormat.Verbose, +}; + +Response transcriptionResponse = await client.GetAudioTranscriptionAsync( + deploymentId: "my-whisper-deployment", // whisper-1 as model name for non-Azure OpenAI + transcriptionOptions); +AudioTranscription transcription = transcriptionResponse.Value; + +// When using Simple, SRT, or VTT formats, only transcription.Text will be populated +Console.WriteLine($"Transcription ({transcription.Duration.Value.TotalSeconds}s):"); +Console.WriteLine(transcription.Text); +``` + +### Translate audio data to English with Whisper speech models + +```C# Snippet:TranslateAudio +using Stream audioStreamFromFile = File.OpenRead("mySpanishAudioFile.mp3"); +BinaryData audioFileData = BinaryData.FromStream(audioStreamFromFile); + +var translationOptions = new AudioTranslationOptions() +{ + AudioData = BinaryData.FromStream(audioStreamFromFile), + ResponseFormat = AudioTranslationFormat.Verbose, +}; + +Response translationResponse = await client.GetAudioTranslationAsync( + deploymentId: "my-whisper-deployment", // whisper-1 as model name for non-Azure OpenAI + translationOptions); +AudioTranslation translation = translationResponse.Value; + +// When using Simple, SRT, or VTT formats, only translation.Text will be populated +Console.WriteLine($"Translation ({translation.Duration.Value.TotalSeconds}s):"); +// .Text will be translated to English (ISO-639-1 "en") +Console.WriteLine(translation.Text); +``` + ## Troubleshooting When you interact with Azure OpenAI using the .NET SDK, errors returned by the service correspond to the same HTTP status codes returned for [REST API][openai_rest] requests. @@ -432,11 +484,11 @@ This project has adopted the [Microsoft Open Source Code of Conduct][code_of_con [msdocs_openai_embedding]: https://learn.microsoft.com/azure/cognitive-services/openai/concepts/understand-embeddings [style-guide-msft]: /style-guide/capitalization [style-guide-cloud]: https://aka.ms/azsdk/cloud-style-guide -[openai_client_class]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.OpenAI_1.0.0-beta.7/sdk/openai/Azure.AI.OpenAI/src/Generated/OpenAIClient.cs +[openai_client_class]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.OpenAI_1.0.0-beta.8/sdk/openai/Azure.AI.OpenAI/src/Generated/OpenAIClient.cs [openai_rest]: https://learn.microsoft.com/azure/cognitive-services/openai/reference [azure_openai_completions_docs]: https://learn.microsoft.com/azure/cognitive-services/openai/how-to/completions [azure_openai_embeddgings_docs]: https://learn.microsoft.com/azure/cognitive-services/openai/concepts/understand-embeddings -[openai_contrib]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.OpenAI_1.0.0-beta.7/CONTRIBUTING.md +[openai_contrib]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.OpenAI_1.0.0-beta.8/CONTRIBUTING.md [cla]: https://cla.microsoft.com [code_of_conduct]: https://opensource.microsoft.com/codeofconduct/ [code_of_conduct_faq]: https://opensource.microsoft.com/codeofconduct/faq/ diff --git a/api/overview/azure/preview/ai.textanalytics-readme.md b/api/overview/azure/preview/ai.textanalytics-readme.md deleted file mode 100644 index 6e054d9f01d3..000000000000 --- a/api/overview/azure/preview/ai.textanalytics-readme.md +++ /dev/null @@ -1,873 +0,0 @@ ---- -title: Azure Cognitive Services Text Analytics client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.AI.TextAnalytics, textanalytics -author: joseharriaga -ms.author: josar -ms.date: 03/13/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: textanalytics ---- -# Azure Cognitive Services Text Analytics client library for .NET - version 5.3.0-beta.3 - - -Text Analytics is part of the Azure Cognitive Service for Language, a cloud-based service that provides Natural Language Processing (NLP) features for understanding and analyzing text. This client library offers the following features: - -* Language detection -* Sentiment analysis -* Key phrase extraction -* Named entity recognition (NER) -* Personally identifiable information (PII) entity recognition -* Entity linking -* Text analytics for health -* Custom named entity recognition (Custom NER) -* Custom text classification -* Dynamic text classification -* Extractive text summarization -* Abstractive text summarization - -[Source code][textanalytics_client_src] | [Package (NuGet)][textanalytics_nuget_package] | [API reference documentation][textanalytics_refdocs] | [Product documentation][language_service_docs] | [Samples][textanalytics_samples] - -## Getting started - -### Install the package - -Install the Azure Text Analytics client library for .NET with [NuGet][nuget]: - -```dotnetcli -dotnet add package Azure.AI.TextAnalytics -``` - -This table shows the relationship between SDK versions and supported API versions of the service: - -> Note that `5.2.0` is the first stable version of the client library that targets the Azure Cognitive Service for Language APIs which includes the existing text analysis and natural language processing features found in the Text Analytics client library. In addition, the service API has changed from semantic to date-based versioning. - -|SDK version |Supported API version of service -|-------------|-----------------------------------------------------| -|5.3.0-beta.2 | 3.0, 3.1, 2022-05-01, 2022-10-01-preview (default) -|5.2.0 | 3.0, 3.1, 2022-05-01 (default) -|5.1.X | 3.0, 3.1 (default) -|5.0.0 | 3.0 -|1.0.X | 3.0 - -### Prerequisites - -* An [Azure subscription][azure_sub]. -* An existing Cognitive Services or Language service resource. - -#### Create a Cognitive Services resource or a Language service resource - -Azure Cognitive Service for Language supports both [multi-service and single-service access][service_access]. Create a Cognitive Services resource if you plan to access multiple cognitive services under a single endpoint and API key. To access the features of the Language service only, create a Language service resource instead. - -You can create either resource via the [Azure portal][create_ta_resource_azure_portal] or, alternatively, you can follow the steps in [this document][create_ta_resource_azure_cli] to create it using the [Azure CLI][azure_cli]. - -### Authenticate the client - -Interaction with the service using the client library begins with creating an instance of the [TextAnalyticsClient][textanalytics_client_class] class. You will need an **endpoint**, and either an **API key** or ``TokenCredential`` to instantiate a client object. For more information regarding authenticating with cognitive services, see [Authenticate requests to Azure Cognitive Services][cognitive_auth]. - -#### Get an API key - -You can get the `endpoint` and `API key` from the Cognitive Services resource or Language service resource information in the [Azure Portal][azure_portal]. - -Alternatively, use the [Azure CLI][azure_cli] snippet below to get the API key from the Language service resource. - -```PowerShell -az cognitiveservices account keys list --resource-group --name -``` - -#### Create a `TextAnalyticsClient` using an API key credential - -Once you have the value for the API key, create an `AzureKeyCredential`. This will allow you to -update the API key without creating a new client. - -With the value of the endpoint and an `AzureKeyCredential`, you can create the [TextAnalyticsClient][textanalytics_client_class]: - -```C# Snippet:CreateTextAnalyticsClient -Uri endpoint = new(""); -AzureKeyCredential credential = new(""); -TextAnalyticsClient client = new(endpoint, credential); -``` - -#### Create a `TextAnalyticsClient` with an Azure Active Directory credential - -Client API key authentication is used in most of the examples in this getting started guide, but you can also authenticate with Azure Active Directory using the [Azure Identity library][azure_identity]. Note that regional endpoints do not support AAD authentication. Create a [custom subdomain][custom_subdomain] for your resource in order to use this type of authentication. - -To use the [DefaultAzureCredential][DefaultAzureCredential] provider shown below, -or other credential providers provided with the Azure SDK, please install the Azure.Identity package: - -```dotnetcli -dotnet add package Azure.Identity -``` - -You will also need to [register a new AAD application][register_aad_app] and [grant access][aad_grant_access] to the Language service by assigning the `"Cognitive Services User"` role to your service principal. - -Set the values of the client ID, tenant ID, and client secret of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET. - -```C# Snippet:CreateTextAnalyticsClientTokenCredential -Uri endpoint = new(""); -TextAnalyticsClient client = new(endpoint, new DefaultAzureCredential()); -``` - -## Key concepts - -### `TextAnalyticsClient` - -A `TextAnalyticsClient` is the primary interface for developers using the Text Analytics client library. It provides both synchronous and asynchronous operations to access a specific use of text analysis, such as language detection or key phrase extraction. - -### Input - -A **document**, is a single unit of input to be analyzed by the predictive models in the Language service. Operations on `TextAnalyticsClient` may take a single document or a collection of documents to be analyzed as a batch. -For document length limits, maximum batch size, and supported text encoding see [here][data_limits]. - -### Operation on multiple documents - -For each supported operation, `TextAnalyticsClient` provides a method that accepts a batch of documents as strings, or a batch of either `TextDocumentInput` or `DetectLanguageInput` objects. This methods allow callers to give each document a unique ID, indicate that the documents in the batch are written in different languages, or provide a country hint about the language of the document. - -**Note:** It is recommended to use the batch methods when working on production environments as they allow you to send one request with multiple documents. This is more performant than sending a request per each document. - -### Return value - -Return values, such as `AnalyzeSentimentResult`, is the result of a Text Analytics operation, containing a prediction or predictions about a single document. An operation's return value also may optionally include information about the document and how it was processed. - -### Return value Collection - -A Return value collection, such as `AnalyzeSentimentResultCollection`, is a collection of operation results, where each corresponds to one of the documents provided in the input batch. A document and its result will have the same index in the input and result collections. The return value also contains a `HasError` property that allows to identify if an operation executed was successful or unsuccessful for the given document. It may optionally include information about the document batch and how it was processed. - -### Long-Running Operations - -For large documents which take a long time to execute, these operations are implemented as [**long-running operations**][dotnet_lro]. Long-running operations consist of an initial request sent to the service to start an operation, followed by polling the service at intervals to determine whether the operation has completed or failed, and if it has succeeded, to get the result. - -For long running operations in the Azure SDK, the client exposes a `Start` method that returns an `Operation` or a `PageableOperation`. You can use the extension method `WaitForCompletionAsync()` to wait for the operation to complete and obtain its result. A sample code snippet is provided to illustrate using long-running operations [below](#run-multiple-actions-asynchronously). - -### Thread safety - -We guarantee that all client instance methods are thread-safe and independent of each other ([guideline](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-service-methods-thread-safety)). This ensures that the recommendation of reusing client instances is always safe, even across threads. - -### Additional concepts - - -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/core/Azure.Core/README.md#configuring-service-clients-using-clientoptions) | -[Accessing the response](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/core/Azure.Core/README.md#accessing-http-response-details-using-responset) | -[Handling failures](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/core/Azure.Core/README.md#reporting-errors-requestfailedexception) | -[Diagnostics](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/core/Azure.Core/samples/Diagnostics.md) | -[Mocking](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/core/Azure.Core/README.md#mocking) | -[Client lifetime](https://devblogs.microsoft.com/azure-sdk/lifetime-management-and-thread-safety-guarantees-of-azure-sdk-net-clients/) - - -## Examples - -The following section provides several code snippets using the `client` [created above](#create-a-textanalyticsclient-using-an-api-key-credential), and covers the main features present in this client library. Although most of the snippets below make use of synchronous service calls, keep in mind that the `Azure.AI.TextAnalytics` package supports both synchronous and asynchronous APIs. - -### Sync examples - -* [Detect Language](#detect-language) -* [Analyze Sentiment](#analyze-sentiment) -* [Extract Key Phrases](#extract-key-phrases) -* [Recognize Named Entities](#recognize-named-entities) -* [Recognize PII Entities](#recognize-pii-entities) -* [Recognize Linked Entities](#recognize-linked-entities) - -### Async examples - -* [Detect Language Asynchronously](#detect-language-asynchronously) -* [Recognize Named Entities Asynchronously](#recognize-named-entities-asynchronously) -* [Analyze Healthcare Entities Asynchronously](#analyze-healthcare-entities-asynchronously) -* [Run multiple actions Asynchronously](#run-multiple-actions-asynchronously) - -### Detect Language - -Run a predictive model to determine the language that the passed-in document or batch of documents are written in. - -```C# Snippet:Sample1_DetectLanguage -string document = - "Este documento está escrito en un lenguaje diferente al inglés. Su objectivo es demostrar cómo" - + " invocar el método de Detección de Lenguaje del servicio de Text Analytics en Microsoft Azure." - + " También muestra cómo acceder a la información retornada por el servicio. Esta funcionalidad es" - + " útil para los sistemas de contenido que recopilan texto arbitrario, donde el lenguaje no se conoce" - + " de antemano. Puede usarse para detectar una amplia gama de lenguajes, variantes, dialectos y" - + " algunos idiomas regionales o culturales."; - -try -{ - Response response = client.DetectLanguage(document); - DetectedLanguage language = response.Value; - - Console.WriteLine($"Detected language is {language.Name} with a confidence score of {language.ConfidenceScore}."); -} -catch (RequestFailedException exception) -{ - Console.WriteLine($"Error Code: {exception.ErrorCode}"); - Console.WriteLine($"Message: {exception.Message}"); -} -``` - -For samples on using the production recommended option `DetectLanguageBatch` see [here][detect_language_sample]. - -Please refer to the service documentation for a conceptual discussion of [language detection][language_detection]. - -### Analyze Sentiment - -Run a predictive model to determine the positive, negative, neutral or mixed sentiment contained in the passed-in document or batch of documents. - -```C# Snippet:Sample2_AnalyzeSentiment -string document = - "I had the best day of my life. I decided to go sky-diving and it made me appreciate my whole life so" - + "much more. I developed a deep-connection with my instructor as well, and I feel as if I've made a" - + "life-long friend in her."; - -try -{ - Response response = client.AnalyzeSentiment(document); - DocumentSentiment docSentiment = response.Value; - - Console.WriteLine($"Document sentiment is {docSentiment.Sentiment} with: "); - Console.WriteLine($" Positive confidence score: {docSentiment.ConfidenceScores.Positive}"); - Console.WriteLine($" Neutral confidence score: {docSentiment.ConfidenceScores.Neutral}"); - Console.WriteLine($" Negative confidence score: {docSentiment.ConfidenceScores.Negative}"); -} -catch (RequestFailedException exception) -{ - Console.WriteLine($"Error Code: {exception.ErrorCode}"); - Console.WriteLine($"Message: {exception.Message}"); -} -``` - -For samples on using the production recommended option `AnalyzeSentimentBatch` see [here][analyze_sentiment_sample]. - -To get more granular information about the opinions related to targets of a product/service, also known as Aspect-based Sentiment Analysis in Natural Language Processing (NLP), see a sample on sentiment analysis with opinion mining [here][analyze_sentiment_opinion_mining_sample]. - -Please refer to the service documentation for a conceptual discussion of [sentiment analysis][sentiment_analysis]. - -### Extract Key Phrases - -Run a model to identify a collection of significant phrases found in the passed-in document or batch of documents. - -```C# Snippet:Sample3_ExtractKeyPhrases -string document = - "My cat might need to see a veterinarian. It has been sneezing more than normal, and although my" - + " little sister thinks it is funny, I am worried it has the cold that I got last week. We are going" - + " to call tomorrow and try to schedule an appointment for this week. Hopefully it will be covered by" - + " the cat's insurance. It might be good to not let it sleep in my room for a while."; - -try -{ - Response response = client.ExtractKeyPhrases(document); - KeyPhraseCollection keyPhrases = response.Value; - - Console.WriteLine($"Extracted {keyPhrases.Count} key phrases:"); - foreach (string keyPhrase in keyPhrases) - { - Console.WriteLine($" {keyPhrase}"); - } -} -catch (RequestFailedException exception) -{ - Console.WriteLine($"Error Code: {exception.ErrorCode}"); - Console.WriteLine($"Message: {exception.Message}"); -} -``` - -For samples on using the production recommended option `ExtractKeyPhrasesBatch` see [here][extract_key_phrases_sample]. - -Please refer to the service documentation for a conceptual discussion of [key phrase extraction][key_phrase_extraction]. - -### Recognize Named Entities - -Run a predictive model to identify a collection of named entities in the passed-in document or batch of documents and categorize those entities into categories such as person, location, or organization. For more information on available categories, see [Text Analytics Named Entity Categories][named_entities_categories]. - -```C# Snippet:Sample4_RecognizeEntities -string document = - "We love this trail and make the trip every year. The views are breathtaking and well worth the hike!" - + " Yesterday was foggy though, so we missed the spectacular views. We tried again today and it was" - + " amazing. Everyone in my family liked the trail although it was too challenging for the less" - + " athletic among us. Not necessarily recommended for small children. A hotel close to the trail" - + " offers services for childcare in case you want that."; - -try -{ - Response response = client.RecognizeEntities(document); - CategorizedEntityCollection entitiesInDocument = response.Value; - - Console.WriteLine($"Recognized {entitiesInDocument.Count} entities:"); - foreach (CategorizedEntity entity in entitiesInDocument) - { - Console.WriteLine($" Text: {entity.Text}"); - Console.WriteLine($" Offset: {entity.Offset}"); - Console.WriteLine($" Length: {entity.Length}"); - Console.WriteLine($" Category: {entity.Category}"); - if (!string.IsNullOrEmpty(entity.SubCategory)) - Console.WriteLine($" SubCategory: {entity.SubCategory}"); - Console.WriteLine($" Confidence score: {entity.ConfidenceScore}"); - Console.WriteLine(); - } -} -catch (RequestFailedException exception) -{ - Console.WriteLine($"Error Code: {exception.ErrorCode}"); - Console.WriteLine($"Message: {exception.Message}"); -} -``` - -For samples on using the production recommended option `RecognizeEntitiesBatch` see [here][recognize_entities_sample]. - -Please refer to the service documentation for a conceptual discussion of [named entity recognition][named_entity_recognition]. - -### Recognize PII Entities - -Run a predictive model to identify a collection of entities containing Personally Identifiable Information found in the passed-in document or batch of documents, and categorize those entities into categories such as US social security number, drivers license number, or credit card number. - -```C# Snippet:Sample5_RecognizePiiEntities -string document = - "Parker Doe has repaid all of their loans as of 2020-04-25. Their SSN is 859-98-0987. To contact them," - + " use their phone number 800-102-1100. They are originally from Brazil and have document ID number" - + " 998.214.865-68."; - -try -{ - Response response = client.RecognizePiiEntities(document); - PiiEntityCollection entities = response.Value; - - Console.WriteLine($"Redacted Text: {entities.RedactedText}"); - Console.WriteLine(); - Console.WriteLine($"Recognized {entities.Count} PII entities:"); - foreach (PiiEntity entity in entities) - { - Console.WriteLine($" Text: {entity.Text}"); - Console.WriteLine($" Category: {entity.Category}"); - if (!string.IsNullOrEmpty(entity.SubCategory)) - Console.WriteLine($" SubCategory: {entity.SubCategory}"); - Console.WriteLine($" Confidence score: {entity.ConfidenceScore}"); - Console.WriteLine(); - } -} -catch (RequestFailedException exception) -{ - Console.WriteLine($"Error Code: {exception.ErrorCode}"); - Console.WriteLine($"Message: {exception.Message}"); -} -``` - -For samples on using the production recommended option `RecognizePiiEntitiesBatch` see [here][recognize_pii_entities_sample]. - -Please refer to the service documentation for supported [PII entity types][pii_entity]. - -### Recognize Linked Entities - -Run a predictive model to identify a collection of entities found in the passed-in document or batch of documents, and include information linking the entities to their corresponding entries in a well-known knowledge base. - -```C# Snippet:Sample6_RecognizeLinkedEntities -string document = - "Microsoft was founded by Bill Gates with some friends he met at Harvard. One of his friends, Steve" - + " Ballmer, eventually became CEO after Bill Gates as well. Steve Ballmer eventually stepped down as" - + " CEO of Microsoft, and was succeeded by Satya Nadella. Microsoft originally moved its headquarters" - + " to Bellevue, Washington in Januaray 1979, but is now headquartered in Redmond."; - -try -{ - Response response = client.RecognizeLinkedEntities(document); - LinkedEntityCollection linkedEntities = response.Value; - - Console.WriteLine($"Recognized {linkedEntities.Count} entities:"); - foreach (LinkedEntity linkedEntity in linkedEntities) - { - Console.WriteLine($" Name: {linkedEntity.Name}"); - Console.WriteLine($" Language: {linkedEntity.Language}"); - Console.WriteLine($" Data Source: {linkedEntity.DataSource}"); - Console.WriteLine($" URL: {linkedEntity.Url}"); - Console.WriteLine($" Entity Id in Data Source: {linkedEntity.DataSourceEntityId}"); - foreach (LinkedEntityMatch match in linkedEntity.Matches) - { - Console.WriteLine($" Match Text: {match.Text}"); - Console.WriteLine($" Offset: {match.Offset}"); - Console.WriteLine($" Length: {match.Length}"); - Console.WriteLine($" Confidence score: {match.ConfidenceScore}"); - } - Console.WriteLine(); - } -} -catch (RequestFailedException exception) -{ - Console.WriteLine($"Error Code: {exception.ErrorCode}"); - Console.WriteLine($"Message: {exception.Message}"); -} -``` - -For samples on using the production recommended option `RecognizeLinkedEntitiesBatch` see [here][recognize_linked_entities_sample]. - -Please refer to the service documentation for a conceptual discussion of [entity linking][entity_linking]. - -### Detect Language Asynchronously - -Run a predictive model to determine the language that the passed-in document or batch of documents are written in. - -```C# Snippet:Sample1_DetectLanguageAsync -string document = - "Este documento está escrito en un lenguaje diferente al inglés. Su objectivo es demostrar cómo" - + " invocar el método de Detección de Lenguaje del servicio de Text Analytics en Microsoft Azure." - + " También muestra cómo acceder a la información retornada por el servicio. Esta funcionalidad es" - + " útil para los sistemas de contenido que recopilan texto arbitrario, donde el lenguaje no se conoce" - + " de antemano. Puede usarse para detectar una amplia gama de lenguajes, variantes, dialectos y" - + " algunos idiomas regionales o culturales."; - -try -{ - Response response = await client.DetectLanguageAsync(document); - DetectedLanguage language = response.Value; - - Console.WriteLine($"Detected language is {language.Name} with a confidence score of {language.ConfidenceScore}."); -} -catch (RequestFailedException exception) -{ - Console.WriteLine($"Error Code: {exception.ErrorCode}"); - Console.WriteLine($"Message: {exception.Message}"); -} -``` - -### Recognize Named Entities Asynchronously - -Run a predictive model to identify a collection of named entities in the passed-in document or batch of documents and categorize those entities into categories such as person, location, or organization. For more information on available categories, see [Text Analytics Named Entity Categories][named_entities_categories]. - -```C# Snippet:Sample4_RecognizeEntitiesAsync -string document = - "We love this trail and make the trip every year. The views are breathtaking and well worth the hike!" - + " Yesterday was foggy though, so we missed the spectacular views. We tried again today and it was" - + " amazing. Everyone in my family liked the trail although it was too challenging for the less" - + " athletic among us. Not necessarily recommended for small children. A hotel close to the trail" - + " offers services for childcare in case you want that."; - -try -{ - Response response = await client.RecognizeEntitiesAsync(document); - CategorizedEntityCollection entitiesInDocument = response.Value; - - Console.WriteLine($"Recognized {entitiesInDocument.Count} entities:"); - foreach (CategorizedEntity entity in entitiesInDocument) - { - Console.WriteLine($" Text: {entity.Text}"); - Console.WriteLine($" Offset: {entity.Offset}"); - Console.WriteLine($" Length: {entity.Length}"); - Console.WriteLine($" Category: {entity.Category}"); - if (!string.IsNullOrEmpty(entity.SubCategory)) - Console.WriteLine($" SubCategory: {entity.SubCategory}"); - Console.WriteLine($" Confidence score: {entity.ConfidenceScore}"); - Console.WriteLine(); - } -} -catch (RequestFailedException exception) -{ - Console.WriteLine($"Error Code: {exception.ErrorCode}"); - Console.WriteLine($"Message: {exception.Message}"); -} -``` - -### Analyze Healthcare Entities Asynchronously - -Text Analytics for health is a containerized service that extracts and labels relevant medical information from unstructured texts such as doctor's notes, discharge summaries, clinical documents, and electronic health records. For more information see [How to: Use Text Analytics for health][healthcare]. - -```C# Snippet:Sample7_AnalyzeHealthcareEntitiesConvenienceAsync_All -string documentA = - "RECORD #333582770390100 | MH | 85986313 | | 054351 | 2/14/2001 12:00:00 AM |" - + " CORONARY ARTERY DISEASE | Signed | DIS |" - + Environment.NewLine - + " Admission Date: 5/22/2001 Report Status: Signed Discharge Date: 4/24/2001" - + " ADMISSION DIAGNOSIS: CORONARY ARTERY DISEASE." - + Environment.NewLine - + " HISTORY OF PRESENT ILLNESS: The patient is a 54-year-old gentleman with a history of progressive" - + " angina over the past several months. The patient had a cardiac catheterization in July of this" - + " year revealing total occlusion of the RCA and 50% left main disease, with a strong family history" - + " of coronary artery disease with a brother dying at the age of 52 from a myocardial infarction and" - + " another brother who is status post coronary artery bypass grafting. The patient had a stress" - + " echocardiogram done on July, 2001, which showed no wall motion abnormalities, but this was a" - + " difficult study due to body habitus. The patient went for six minutes with minimal ST depressions" - + " in the anterior lateral leads, thought due to fatigue and wrist pain, his anginal equivalent. Due" - + " to the patient'sincreased symptoms and family history and history left main disease with total" - + " occasional of his RCA was referred for revascularization with open heart surgery."; - -string documentB = "Prescribed 100mg ibuprofen, taken twice daily."; - -// Prepare the input of the text analysis operation. You can add multiple documents to this list and -// perform the same operation on all of them simultaneously. -List batchedDocuments = new() -{ - documentA, - documentB -}; - -// Perform the text analysis operation. -AnalyzeHealthcareEntitiesOperation operation = await client.StartAnalyzeHealthcareEntitiesAsync(batchedDocuments); -await operation.WaitForCompletionAsync(); - -Console.WriteLine($"The operation has completed."); -Console.WriteLine(); - -// View the operation status. -Console.WriteLine($"Created On : {operation.CreatedOn}"); -Console.WriteLine($"Expires On : {operation.ExpiresOn}"); -Console.WriteLine($"Id : {operation.Id}"); -Console.WriteLine($"Status : {operation.Status}"); -Console.WriteLine($"Last Modified: {operation.LastModified}"); -Console.WriteLine(); - -// View the operation results. -await foreach (AnalyzeHealthcareEntitiesResultCollection documentsInPage in operation.Value) -{ - Console.WriteLine($"Analyze Healthcare Entities, model version: \"{documentsInPage.ModelVersion}\""); - Console.WriteLine(); - - foreach (AnalyzeHealthcareEntitiesResult documentResult in documentsInPage) - { - if (documentResult.HasError) - { - Console.WriteLine($" Error!"); - Console.WriteLine($" Document error code: {documentResult.Error.ErrorCode}"); - Console.WriteLine($" Message: {documentResult.Error.Message}"); - continue; - } - - Console.WriteLine($" Recognized the following {documentResult.Entities.Count} healthcare entities:"); - Console.WriteLine(); - - // View the healthcare entities that were recognized. - foreach (HealthcareEntity entity in documentResult.Entities) - { - Console.WriteLine($" Entity: {entity.Text}"); - Console.WriteLine($" Category: {entity.Category}"); - Console.WriteLine($" Offset: {entity.Offset}"); - Console.WriteLine($" Length: {entity.Length}"); - Console.WriteLine($" NormalizedText: {entity.NormalizedText}"); - Console.WriteLine($" Links:"); - - // View the entity data sources. - foreach (EntityDataSource entityDataSource in entity.DataSources) - { - Console.WriteLine($" Entity ID in Data Source: {entityDataSource.EntityId}"); - Console.WriteLine($" DataSource: {entityDataSource.Name}"); - } - - // View the entity assertions. - if (entity.Assertion is not null) - { - Console.WriteLine($" Assertions:"); - - if (entity.Assertion?.Association is not null) - { - Console.WriteLine($" Association: {entity.Assertion?.Association}"); - } - - if (entity.Assertion?.Certainty is not null) - { - Console.WriteLine($" Certainty: {entity.Assertion?.Certainty}"); - } - - if (entity.Assertion?.Conditionality is not null) - { - Console.WriteLine($" Conditionality: {entity.Assertion?.Conditionality}"); - } - } - } - - Console.WriteLine($" We found {documentResult.EntityRelations.Count} relations in the current document:"); - Console.WriteLine(); - - // View the healthcare entity relations that were recognized. - foreach (HealthcareEntityRelation relation in documentResult.EntityRelations) - { - Console.WriteLine($" Relation: {relation.RelationType}"); - if (relation.ConfidenceScore is not null) - { - Console.WriteLine($" ConfidenceScore: {relation.ConfidenceScore}"); - } - Console.WriteLine($" For this relation there are {relation.Roles.Count} roles"); - - // View the relation roles. - foreach (HealthcareEntityRelationRole role in relation.Roles) - { - Console.WriteLine($" Role Name: {role.Name}"); - - Console.WriteLine($" Associated Entity Text: {role.Entity.Text}"); - Console.WriteLine($" Associated Entity Category: {role.Entity.Category}"); - Console.WriteLine(); - } - - Console.WriteLine(); - } - - Console.WriteLine(); - } -} -``` - -### Run multiple actions Asynchronously - -This functionality allows running multiple actions in one or more documents. Actions include: - -* Named Entities Recognition -* PII Entities Recognition -* Linked Entity Recognition -* Key Phrase Extraction -* Sentiment Analysis -* Healthcare Entities Recognition (see sample [here][analyze_healthcare_sample]) -* Custom Named Entities Recognition (see sample [here][recognize_custom_entities_sample]) -* Custom Single Label Classification (see sample [here][single_category_classify_sample]) -* Custom Multi Label Classification (see sample [here][multi_category_classify_sample]) - -```C# Snippet:AnalyzeOperationConvenienceAsync - string documentA = - "We love this trail and make the trip every year. The views are breathtaking and well worth the hike!" - + " Yesterday was foggy though, so we missed the spectacular views. We tried again today and it was" - + " amazing. Everyone in my family liked the trail although it was too challenging for the less" - + " athletic among us."; - - string documentB = - "Last week we stayed at Hotel Foo to celebrate our anniversary. The staff knew about our anniversary" - + " so they helped me organize a little surprise for my partner. The room was clean and with the" - + " decoration I requested. It was perfect!"; - - // Prepare the input of the text analysis operation. You can add multiple documents to this list and - // perform the same operation on all of them simultaneously. - List batchedDocuments = new() - { - documentA, - documentB - }; - - TextAnalyticsActions actions = new() - { - ExtractKeyPhrasesActions = new List() { new ExtractKeyPhrasesAction() }, - RecognizeEntitiesActions = new List() { new RecognizeEntitiesAction() }, - DisplayName = "AnalyzeOperationSample" - }; - - // Perform the text analysis operation. - AnalyzeActionsOperation operation = await client.StartAnalyzeActionsAsync(batchedDocuments, actions); - await operation.WaitForCompletionAsync(); - - Console.WriteLine($"Status: {operation.Status}"); - Console.WriteLine($"Created On: {operation.CreatedOn}"); - Console.WriteLine($"Expires On: {operation.ExpiresOn}"); - Console.WriteLine($"Last modified: {operation.LastModified}"); - if (!string.IsNullOrEmpty(operation.DisplayName)) - Console.WriteLine($"Display name: {operation.DisplayName}"); - Console.WriteLine($"Total actions: {operation.ActionsTotal}"); - Console.WriteLine($" Succeeded actions: {operation.ActionsSucceeded}"); - Console.WriteLine($" Failed actions: {operation.ActionsFailed}"); - Console.WriteLine($" In progress actions: {operation.ActionsInProgress}"); - - await foreach (AnalyzeActionsResult documentsInPage in operation.Value) - { - IReadOnlyCollection keyPhrasesResults = documentsInPage.ExtractKeyPhrasesResults; - IReadOnlyCollection entitiesResults = documentsInPage.RecognizeEntitiesResults; - - Console.WriteLine("Recognized Entities"); - int docNumber = 1; - foreach (RecognizeEntitiesActionResult entitiesActionResults in entitiesResults) - { - Console.WriteLine($" Action name: {entitiesActionResults.ActionName}"); - foreach (RecognizeEntitiesResult documentResult in entitiesActionResults.DocumentsResults) - { - Console.WriteLine($" Document #{docNumber++}"); - Console.WriteLine($" Recognized {documentResult.Entities.Count} entities:"); - - foreach (CategorizedEntity entity in documentResult.Entities) - { - Console.WriteLine($" Entity: {entity.Text}"); - Console.WriteLine($" Category: {entity.Category}"); - Console.WriteLine($" Offset: {entity.Offset}"); - Console.WriteLine($" Length: {entity.Length}"); - Console.WriteLine($" ConfidenceScore: {entity.ConfidenceScore}"); - Console.WriteLine($" SubCategory: {entity.SubCategory}"); - } - Console.WriteLine(); - } - } - - Console.WriteLine("Key Phrases"); - docNumber = 1; - foreach (ExtractKeyPhrasesActionResult keyPhrasesActionResult in keyPhrasesResults) - { - foreach (ExtractKeyPhrasesResult documentResults in keyPhrasesActionResult.DocumentsResults) - { - Console.WriteLine($" Document #{docNumber++}"); - Console.WriteLine($" Recognized the following {documentResults.KeyPhrases.Count} Keyphrases:"); - - foreach (string keyphrase in documentResults.KeyPhrases) - { - Console.WriteLine($" {keyphrase}"); - } - Console.WriteLine(); - } - } - } -} -``` - -## Troubleshooting - -### General - -When you interact with the Cognitive Services for Language using the .NET Text Analytics SDK, errors returned by the Language service correspond to the same HTTP status codes returned for REST API requests. - -For example, if you submit a batch of text document inputs containing duplicate document ids, a `400` error is returned, indicating "Bad Request". - -```C# Snippet:BadRequest -try -{ - DetectedLanguage result = client.DetectLanguage(document); -} -catch (RequestFailedException e) -{ - Console.WriteLine(e.ToString()); -} -``` - -You will notice that additional information is logged, like the client request ID of the operation. - -```text -Message: - Azure.RequestFailedException: - Status: 400 (Bad Request) - -Content: - {"error":{"code":"InvalidRequest","innerError":{"code":"InvalidDocument","message":"Request contains duplicated Ids. Make sure each document has a unique Id."},"message":"Invalid document in request."}} - -Headers: - Transfer-Encoding: chunked - x-aml-ta-request-id: 146ca04a-af54-43d4-9872-01a004bee5f8 - X-Content-Type-Options: nosniff - x-envoy-upstream-service-time: 6 - apim-request-id: c650acda-2b59-4ff7-b96a-e316442ea01b - Strict-Transport-Security: max-age=31536000; includeSubDomains; preload - Date: Wed, 18 Dec 2019 16:24:52 GMT - Content-Type: application/json; charset=utf-8 -``` - -### Setting up console logging - -The simplest way to see the logs is to enable the console logging. -To create an Azure SDK log listener that outputs messages to console use AzureEventSourceListener.CreateConsoleLogger method. - -```C# -// Setup a listener to monitor logged events. -using AzureEventSourceListener listener = AzureEventSourceListener.CreateConsoleLogger(level: EventLevel.Informational); -``` - -To learn more about other logging mechanisms see [here][logging]. - -#### Logging request and response content - -To log the content of requests and responses set `IsLoggingContentEnabled` to true when creating the client and set the log level to verbose. - -```C# -TextAnalyticsClientOptions options = new() -{ - Diagnostics = - { - IsLoggingContentEnabled = true - } -}; - -TextAnalyticsClient client = new(endpoint, credential, options); - -using AzureEventSourceListener listener = AzureEventSourceListener.CreateTraceLogger(level: EventLevel.Verbose); -``` - -## Next steps - -Samples showing how to use this client library are available in this GitHub repository. -Samples are provided for each main functional area, and for each area, samples are provided for analyzing a single document, and a collection of documents in both sync and async mode. - -* [Detect Language][detect_language_sample] -* [Analyze Sentiment][analyze_sentiment_sample] -* [Extract Key Phrases][extract_key_phrases_sample] -* [Recognize Named Entities][recognize_entities_sample] -* [Recognize PII Entities][recognize_pii_entities_sample] -* [Recognize Linked Entities][recognize_linked_entities_sample] -* [Recognize Healthcare Entities][analyze_healthcare_sample] -* [Custom Named Entities Recognition][recognize_custom_entities_sample] -* [Custom Single Label Classification][single_category_classify_sample] -* [Custom Multi Label Classification][multi_category_classify_sample] -* [Dynamic Classification][dynamic_classify_sample] -* [Extractive Summarization][extract_summary_sample] -* [Abstractive Summarization][abstract_summary_sample] - -### Advanced samples - -* [Understand how to work with long-running operations][lro_sample] -* [Running multiple actions in one or more documents][analyze_operation_sample] -* [Analyze Sentiment with Opinion Mining][analyze_sentiment_opinion_mining_sample] -* [Resolve entities to standard formats with NER resolutions][ner_resolutions_sample] -* [Mock a client for testing][mock_client_sample] using the [Moq][moq] library - -## Contributing - -See the [CONTRIBUTING.md][contributing] for details on building, testing, and contributing to this library. - -This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit [cla.microsoft.com][cla]. - -When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][code_of_conduct]. For more information see the [Code of Conduct FAQ][coc_faq] or contact [opencode@microsoft.com][coc_contact] with any additional questions or comments. - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Ftextanalytics%2FAzure.AI.TextAnalytics%2FREADME.png) - - -[textanalytics_client_src]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/textanalytics/Azure.AI.TextAnalytics/src -[language_service_docs]: /azure/cognitive-services/language-service/ -[textanalytics_refdocs]: https://aka.ms/azsdk-net-textanalytics-ref-docs -[textanalytics_nuget_package]: https://www.nuget.org/packages/Azure.AI.TextAnalytics -[textanalytics_samples]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/textanalytics/Azure.AI.TextAnalytics/samples/README.md -[dotnet_lro]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/core/Azure.Core/README.md#consuming-long-running-operations-using-operationt - -[lro_sample]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/textanalytics/Azure.AI.TextAnalytics/samples/Sample_LROPolling.md -[analyze_operation_sample]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/textanalytics/Azure.AI.TextAnalytics/samples/Sample_AnalyzeActions.md -[analyze_sentiment_opinion_mining_sample]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/textanalytics/Azure.AI.TextAnalytics/samples/Sample2.1_AnalyzeSentimentWithOpinionMining.md -[ner_resolutions_sample]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/textanalytics/Azure.AI.TextAnalytics/samples/Sample_RecognizeEntitiesWithResolutions.md -[mock_client_sample]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/textanalytics/Azure.AI.TextAnalytics/samples/Sample_MockClient.md - -[healthcare]: /azure/cognitive-services/language-service/text-analytics-for-health/overview?tabs=ner -[language_detection]: /azure/cognitive-services/language-service/language-detection/overview -[sentiment_analysis]: /azure/cognitive-services/language-service/sentiment-opinion-mining/overview -[key_phrase_extraction]: /azure/cognitive-services/language-service/key-phrase-extraction/overview -[named_entity_recognition]: /azure/cognitive-services/language-service/named-entity-recognition/overview -[entity_linking]: /azure/cognitive-services/language-service/entity-linking/overview -[named_entities_categories]: /azure/cognitive-services/language-service/named-entity-recognition/concepts/named-entity-categories -[pii_entity]:/azure/cognitive-services/language-service/personally-identifiable-information/overview - -[textanalytics_client_class]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/textanalytics/Azure.AI.TextAnalytics/src/TextAnalyticsClient.cs -[azure_identity]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/identity/Azure.Identity -[cognitive_auth]: /azure/cognitive-services/authentication -[register_aad_app]: /azure/cognitive-services/authentication#assign-a-role-to-a-service-principal -[aad_grant_access]: /azure/cognitive-services/authentication#assign-a-role-to-a-service-principal -[custom_subdomain]: /azure/cognitive-services/authentication#create-a-resource-with-a-custom-subdomain -[DefaultAzureCredential]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/identity/Azure.Identity/README.md#defaultazurecredential -[logging]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/core/Azure.Core/samples/Diagnostics.md -[data_limits]: https://aka.ms/azsdk/textanalytics/data-limits -[contributing]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.TextAnalytics_5.3.0-beta.3/CONTRIBUTING.md - -[detect_language_sample]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/textanalytics/Azure.AI.TextAnalytics/samples/Sample1_DetectLanguage.md -[analyze_sentiment_sample]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/textanalytics/Azure.AI.TextAnalytics/samples/Sample2_AnalyzeSentiment.md -[extract_key_phrases_sample]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/textanalytics/Azure.AI.TextAnalytics/samples/Sample3_ExtractKeyPhrases.md -[recognize_entities_sample]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/textanalytics/Azure.AI.TextAnalytics/samples/Sample4_RecognizeEntities.md -[recognize_pii_entities_sample]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/textanalytics/Azure.AI.TextAnalytics/samples/Sample5_RecognizePiiEntities.md -[recognize_linked_entities_sample]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/textanalytics/Azure.AI.TextAnalytics/samples/Sample6_RecognizeLinkedEntities.md -[analyze_healthcare_sample]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/textanalytics/Azure.AI.TextAnalytics/samples/Sample7_AnalyzeHealthcareEntities.md -[recognize_custom_entities_sample]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/textanalytics/Azure.AI.TextAnalytics/samples/Sample8_RecognizeCustomEntities.md -[single_category_classify_sample]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/textanalytics/Azure.AI.TextAnalytics/samples/Sample9_SingleLabelClassify.md -[multi_category_classify_sample]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/textanalytics/Azure.AI.TextAnalytics/samples/Sample10_MultiLabelClassify.md -[dynamic_classify_sample]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/textanalytics/Azure.AI.TextAnalytics/samples/Sample11_DynamicClassify.md -[extract_summary_sample]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/textanalytics/Azure.AI.TextAnalytics/samples/Sample12_ExtractSummary.md -[abstract_summary_sample]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.TextAnalytics_5.3.0-beta.3/sdk/textanalytics/Azure.AI.TextAnalytics/samples/Sample13_AbstractSummary.md - -[azure_cli]: /cli/azure -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[service_access]: https://learn.microsoft.com/azure/cognitive-services/cognitive-services-apis-create-account -[create_ta_resource_azure_portal]: https://learn.microsoft.com/azure/cognitive-services/cognitive-services-apis-create-account -[create_ta_resource_azure_cli]: https://learn.microsoft.com/azure/cognitive-services/cognitive-services-apis-create-account-cli -[nuget]: https://www.nuget.org/ -[azure_portal]: https://portal.azure.com -[moq]: https://github.com/Moq/moq4/ - -[cla]: https://cla.microsoft.com -[code_of_conduct]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[coc_contact]: mailto:opencode@microsoft.com diff --git a/api/overview/azure/preview/ai.translation.document-readme.md b/api/overview/azure/preview/ai.translation.document-readme.md deleted file mode 100644 index ed0bf3e7cf9c..000000000000 --- a/api/overview/azure/preview/ai.translation.document-readme.md +++ /dev/null @@ -1,509 +0,0 @@ ---- -title: Azure Cognitive Services Document Translation client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.AI.Translation.Document, translator -author: maggiepint -ms.author: magpint -ms.date: 11/10/2021 -ms.topic: reference -ms.prod: azure -ms.technology: azure -ms.devlang: dotnet -ms.service: translator ---- - -# Azure Cognitive Services Document Translation client library for .NET - version 1.0.0-beta.6 - - -Azure Cognitive Services Document Translation is a cloud service that translates documents to and from 90 languages and dialects while preserving document structure and data format. Use the client library for Document Translation to: - -* Translate numerous, large files from an Azure Blob Storage container to a target container in your language of choice. -* Check the translation status and progress of each document in the translation operation. -* Apply a custom translation model or glossaries to tailor translation to your specific case. - -[Source code][documenttranslation_client_src] | [Package (NuGet)][documenttranslation_nuget_package] | [API reference documentation][documenttranslation_refdocs] | [Product documentation][documenttranslation_docs] | [Samples][documenttranslation_samples] - -## Getting started - -### Install the package -Install the Azure Document Translation client library for .NET with [NuGet][nuget]: - -```dotnetcli -dotnet add package Azure.AI.Translation.Document --prerelease -``` - -> Note: This version of the client library defaults to the `v1.0` version of the service. - -### Prerequisites -* An [Azure subscription][azure_sub]. -* An existing Translator resource. - -#### Create a Translator resource -Document Translation supports [single-service access][single_service] only. -To access the service, create a Translator resource. - -You can create either resource using: - -**Option 1:** [Azure Portal][azure_portal_create_DT_resource]. - -**Option 2:** [Azure CLI][cognitive_resource_cli]. - -Below is an example of how you can create a Translator resource using the CLI: - -```PowerShell -# Create a new resource group to hold the Translator resource - -# if using an existing resource group, skip this step -az group create --name --location -``` - -```PowerShell -# Create Translator -az cognitiveservices account create \ - --name \ - --custom-domain \ - --resource-group \ - --kind TextTranslation \ - --sku S1 \ - --location \ - --yes -``` -For more information about creating the resource or how to get the location information see [here][cognitive_resource_cli]. - -### Authenticate the client -In order to interact with the Document Translation service, you'll need to create an instance of the [DocumentTranslationClient][documenttranslation_client_class] class. You will need an **endpoint**, and either an **API key** or `TokenCredential` to instantiate a client object. For more information regarding authenticating with cognitive services, see [Authenticate requests to Azure Cognitive Services][cognitive_auth]. - -#### Looking up the endpoint -For Document Translation you will need to use a [Custom Domain Endpoint][custom_domain_endpoint] using the name of you Translator resource. - -#### Get API Key -You can get the `API key` from the Translator resource information in the [Azure Portal][azure_portal]. - -Alternatively, use the [Azure CLI][azure_cli] snippet below to get the API key from the Translator resource. - -```PowerShell -az cognitiveservices account keys list --resource-group --name -``` - -#### Create DocumentTranslationClient with API Key Credential -Once you have the value for the API key, create an `AzureKeyCredential`. This will allow you to -update the API key without creating a new client. - -With the value of the endpoint and an `AzureKeyCredential`, you can create the [DocumentTranslationClient][documenttranslation_client_class]: - -```C# Snippet:CreateDocumentTranslationClient -string endpoint = ""; -string apiKey = ""; -var client = new DocumentTranslationClient(new Uri(endpoint), new AzureKeyCredential(apiKey)); -``` - -#### Create DocumentTranslationClient with Azure Active Directory Credential - -Client API key authentication is used in most of the examples in this getting started guide, but you can also authenticate with Azure Active Directory using the [Azure Identity library][azure_identity]. Note that regional endpoints do not support AAD authentication. - -Create a [custom subdomain][custom_subdomain] for your resource in order to use this type of authentication. - -To use the [DefaultAzureCredential][DefaultAzureCredential] provider shown below, or other credential providers provided with the Azure SDK, please install the Azure.Identity package: - -```PowerShell -Install-Package Azure.Identity -``` - -You will also need to [register a new AAD application][register_aad_app] and [grant access][aad_grant_access] to your Translator resource by assigning the `"Cognitive Services User"` role to your service principal. - -Set the values of the `client ID`, `tenant ID`, and `client secret` of the AAD application as environment variables: `AZURE_CLIENT_ID`, `AZURE_TENANT_ID`, `AZURE_CLIENT_SECRET`. - -```C# Snippet:CreateDocumentTranslationClientTokenCredential -string endpoint = ""; -var client = new DocumentTranslationClient(new Uri(endpoint), new DefaultAzureCredential()); -``` - -## Key concepts -The Document Translation service requires that you upload your files to an Azure Blob Storage source container and provide -a target container where the translated documents can be written. SAS tokens to the containers (or files) are used to -access the documents and create the translated documents in the target container. Additional information about setting this up can be found in -the service documentation: - -- [Set up Azure Blob Storage containers][source_containers] with your documents. -- Optionally apply [glossaries][glossary] or a [custom model for translation][custom_model]. -- Generate [SAS tokens][sas_token] to your containers (or files) with the appropriate [permissions][sas_token_permissions]. - -### DocumentTranslationClient -A `DocumentTranslationClient` is the primary interface for developers using the Document Translation client library. It provides both synchronous and asynchronous methods to perform the following operations: - - - Creating a translation operation to translate documents in your source container(s) and write results to you target container(s). - - Enumerating all past and current translation operations. - - Identifying supported glossary and document formats. - -### Translation Input -To start a translation operation you need to create one instance or a list of `DocumentTranslationInput`. - -A single source URL to documents can be translated to many different languages: - -```C# Snippet:DocumentTranslationSingleInput -Uri sourceSasUri = new Uri(""); -Uri frenchTargetSasUri = new Uri(""); -var input = new DocumentTranslationInput(sourceSasUri, frenchTargetSasUri, "fr"); -``` - -Or multiple different sources can be provided each with their own targets. - -```C# Snippet:DocumentTranslationMultipleInputs -Uri arabicTargetSasUri = new Uri(""); -Uri spanishTargetSasUri = new Uri(""); -Uri source1SasUri = new Uri(""); -Uri source2SasUri = new Uri(""); - -var inputs = new List -{ - new DocumentTranslationInput(source1SasUri, spanishTargetSasUri, "es"), - new DocumentTranslationInput( - source: new TranslationSource(source2SasUri), - targets: new List - { - new TranslationTarget(frenchTargetSasUri, "fr"), - new TranslationTarget(arabicTargetSasUri, "ar") - }), -}; -``` - -Note that documents written to a target container must have unique names. So you can't translate a source container into a target container twice or have sources with the same documents translated into the same target container. - -### Long-Running Operations - -Document Translation is implemented as a [**long-running operation**][dotnet_lro_guidelines]. Long-running operations consist of an initial request sent to the service to start an operation, followed by polling the service at intervals to determine whether the operation has completed successfully or failed. - -For long running operations in the Azure SDK, the client exposes a `Start` method that returns a `PageableOperation`. You can use the extension method `WaitForCompletionAsync()` to wait for the operation to complete and obtain its result. A sample code snippet is provided to illustrate using long-running operations [below](#start-translation-asynchronously). - -### Thread safety -We guarantee that all client instance methods are thread-safe and independent of each other ([guideline](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-service-methods-thread-safety)). This ensures that the recommendation of reusing client instances is always safe, even across threads. - - -### Additional concepts - -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Translation.Document_1.0.0-beta.6/sdk/core/Azure.Core/README.md#configuring-service-clients-using-clientoptions) | -[Accessing the response](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Translation.Document_1.0.0-beta.6/sdk/core/Azure.Core/README.md#accessing-http-response-details-using-responset) | -[Handling failures](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Translation.Document_1.0.0-beta.6/sdk/core/Azure.Core/README.md#reporting-errors-requestfailedexception) | -[Diagnostics](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Translation.Document_1.0.0-beta.6/sdk/core/Azure.Core/samples/Diagnostics.md) | -[Mocking](https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Translation.Document_1.0.0-beta.6/sdk/core/Azure.Core/README.md#mocking) | -[Client lifetime](https://devblogs.microsoft.com/azure-sdk/lifetime-management-and-thread-safety-guarantees-of-azure-sdk-net-clients/) - - -## Examples -The following section provides several code snippets using the `client` [created above](#create-documenttranslationclient-with-api-key-credential), and covers the main functions of Document Translation. -Note: our `DocumentTranslationClient` provides both synchronous and asynchronous methods. - -### Async Examples -* [Start Translation Asynchronously](#start-translation-asynchronously) -* [Operations History Asynchronously](#get-operations-history-asynchronously) -* [Multiple Inputs Asynchronously](#start-translation-with-multiple-inputs-asynchronously) - -### Sync Examples -Note: our `DocumentTranslationClient` provides both synchronous and asynchronous methods. -* [Start Translation](#start-translation) - -### Start Translation Asynchronously -Start a translation operation to translate documents in the source container and write the translated files to the target container. `DocumentTranslationOperation` allows you to poll the status of the translation operation and get the status of the individual documents. - -```C# Snippet:StartTranslationAsync -Uri sourceUri = new Uri(""); -Uri targetUri = new Uri(""); -var input = new DocumentTranslationInput(sourceUri, targetUri, "es"); - -DocumentTranslationOperation operation = await client.StartTranslationAsync(input); - -await operation.WaitForCompletionAsync(); - -Console.WriteLine($" Status: {operation.Status}"); -Console.WriteLine($" Created on: {operation.CreatedOn}"); -Console.WriteLine($" Last modified: {operation.LastModified}"); -Console.WriteLine($" Total documents: {operation.DocumentsTotal}"); -Console.WriteLine($" Succeeded: {operation.DocumentsSucceeded}"); -Console.WriteLine($" Failed: {operation.DocumentsFailed}"); -Console.WriteLine($" In Progress: {operation.DocumentsInProgress}"); -Console.WriteLine($" Not started: {operation.DocumentsNotStarted}"); - -await foreach (DocumentStatusResult document in operation.Value) -{ - Console.WriteLine($"Document with Id: {document.Id}"); - Console.WriteLine($" Status:{document.Status}"); - if (document.Status == DocumentTranslationStatus.Succeeded) - { - Console.WriteLine($" Translated Document Uri: {document.TranslatedDocumentUri}"); - Console.WriteLine($" Translated to language code: {document.TranslatedToLanguageCode}."); - Console.WriteLine($" Document source Uri: {document.SourceDocumentUri}"); - } - else - { - Console.WriteLine($" Error Code: {document.Error.Code}"); - Console.WriteLine($" Message: {document.Error.Message}"); - } -} -``` - -### Get Operations History Asynchronously -Get History of submitted translation operations from the last 7 days. The options parameter can be ommitted if the user would like to return all submitted operations. - -```C# Snippet:OperationsHistoryAsync -int operationsCount = 0; -int totalDocs = 0; -int docsCanceled = 0; -int docsSucceeded = 0; -int docsFailed = 0; - -DateTimeOffset lastWeekTimestamp = DateTimeOffset.Now.AddDays(-7); - -var options = new GetTranslationStatusesOptions -{ - CreatedAfter = lastWeekTimestamp -}; - -await foreach (TranslationStatusResult translationStatus in client.GetTranslationStatusesAsync(options)) -{ - if (translationStatus.Status == DocumentTranslationStatus.NotStarted || - translationStatus.Status == DocumentTranslationStatus.Running) - { - DocumentTranslationOperation operation = new DocumentTranslationOperation(translationStatus.Id, client); - await operation.WaitForCompletionAsync(); - } - - operationsCount++; - totalDocs += translationStatus.DocumentsTotal; - docsCanceled += translationStatus.DocumentsCanceled; - docsSucceeded += translationStatus.DocumentsSucceeded; - docsFailed += translationStatus.DocumentsFailed; -} - -Console.WriteLine($"# of operations: {operationsCount}"); -Console.WriteLine($"Total Documents: {totalDocs}"); -Console.WriteLine($"Succeeded Document: {docsSucceeded}"); -Console.WriteLine($"Failed Document: {docsFailed}"); -Console.WriteLine($"Canceled Documents: {docsCanceled}"); -``` - -### Start Translation with Multiple Inputs Asynchronously -Start a translation operation to translate documents in multiple source containers to multiple target containers in different languages. `DocumentTranslationOperation` allows you to poll the status of the translation operation and get the status of the individual documents. - -```C# Snippet:MultipleInputsAsync -Uri source1SasUri = new Uri(""); -Uri source2SasUri = new Uri(""); -Uri frenchTargetSasUri = new Uri(""); -Uri arabicTargetSasUri = new Uri(""); -Uri spanishTargetSasUri = new Uri(""); -Uri frenchGlossarySasUri = new Uri(""); - -var glossaryFormat = "TSV"; - -var input1 = new DocumentTranslationInput(source1SasUri, frenchTargetSasUri, "fr", new TranslationGlossary(frenchGlossarySasUri, glossaryFormat)); -input1.AddTarget(spanishTargetSasUri, "es"); - -var input2 = new DocumentTranslationInput(source2SasUri, arabicTargetSasUri, "ar"); -input2.AddTarget(frenchTargetSasUri, "fr", new TranslationGlossary(frenchGlossarySasUri, glossaryFormat)); - -var inputs = new List() - { - input1, - input2 - }; - -DocumentTranslationOperation operation = await client.StartTranslationAsync(inputs); - -await operation.WaitForCompletionAsync(); - -await foreach (DocumentStatusResult document in operation.GetValuesAsync()) -{ - Console.WriteLine($"Document with Id: {document.Id}"); - Console.WriteLine($" Status:{document.Status}"); - if (document.Status == DocumentTranslationStatus.Succeeded) - { - Console.WriteLine($" Translated Document Uri: {document.TranslatedDocumentUri}"); - Console.WriteLine($" Translated to language code: {document.TranslatedToLanguageCode}."); - Console.WriteLine($" Document source Uri: {document.SourceDocumentUri}"); - } - else - { - Console.WriteLine($" Document source Uri: {document.SourceDocumentUri}"); - Console.WriteLine($" Error Code: {document.Error.Code}"); - Console.WriteLine($" Message: {document.Error.Message}"); - } -} -``` - -### Start Translation -Start a translation operation to translate documents in the source container and write the translated files to the target container. `DocumentTranslationOperation` allows you to poll the status of the translation operation and get the status of the individual documents. - -```C# Snippet:StartTranslation -Uri sourceUri = new Uri(""); -Uri targetUri = new Uri(""); -var input = new DocumentTranslationInput(sourceUri, targetUri, "es"); - -DocumentTranslationOperation operation = client.StartTranslation(input); - -TimeSpan pollingInterval = new(1000); - -while (true) -{ - operation.UpdateStatus(); - - Console.WriteLine($" Status: {operation.Status}"); - Console.WriteLine($" Created on: {operation.CreatedOn}"); - Console.WriteLine($" Last modified: {operation.LastModified}"); - Console.WriteLine($" Total documents: {operation.DocumentsTotal}"); - Console.WriteLine($" Succeeded: {operation.DocumentsSucceeded}"); - Console.WriteLine($" Failed: {operation.DocumentsFailed}"); - Console.WriteLine($" In Progress: {operation.DocumentsInProgress}"); - Console.WriteLine($" Not started: {operation.DocumentsNotStarted}"); - - if (operation.HasCompleted) - { - break; - } - else - { - if (operation.GetRawResponse().Headers.TryGetValue("Retry-After", out string value)) - { - pollingInterval = TimeSpan.FromSeconds(Convert.ToInt32(value)); - } - Thread.Sleep(pollingInterval); - } -} - -foreach (DocumentStatusResult document in operation.GetValues()) -{ - Console.WriteLine($"Document with Id: {document.Id}"); - Console.WriteLine($" Status:{document.Status}"); - if (document.Status == DocumentTranslationStatus.Succeeded) - { - Console.WriteLine($" Translated Document Uri: {document.TranslatedDocumentUri}"); - Console.WriteLine($" Translated to language code: {document.TranslatedToLanguageCode}."); - Console.WriteLine($" Document source Uri: {document.SourceDocumentUri}"); - } - else - { - Console.WriteLine($" Document source Uri: {document.SourceDocumentUri}"); - Console.WriteLine($" Error Code: {document.Error.Code}"); - Console.WriteLine($" Message: {document.Error.Message}"); - } -} -``` - -## Troubleshooting - -### General -When you interact with the Cognitive Services Document Translation client library using the .NET SDK, errors returned by the service correspond to the same HTTP status codes returned for [REST API][documenttranslation_rest_api] requests. - -For example, if you submit a request with an empty targets list, a `400` error is returned, indicating "Bad Request". - -```C# Snippet:BadRequest -var invalidInput = new DocumentTranslationInput(new TranslationSource(new Uri(endpoint)), new List()); - -try -{ - DocumentTranslationOperation operation = client.StartTranslation(invalidInput); -} -catch (RequestFailedException e) -{ - Console.WriteLine(e.ToString()); -} -``` - -You will notice that additional information is logged, like the client request ID of the operation. - -``` -Message: - Azure.RequestFailedException: Service request failed. - Status: 400 (Bad Request) - -Content: - {"error":{"code":"InvalidRequest","message":"No translation target found.","target":"TargetInput","innerError":{"code":"NoTranslationTargetFound","message":"No translation target found."}}} - -Headers: - Transfer-Encoding: chunked - X-RequestId: REDACTED - Content-Type: application/json; charset=utf-8 - Set-Cookie: REDACTED - X-Powered-By: REDACTED - apim-request-id: REDACTED - Strict-Transport-Security: REDACTED - x-content-type-options: REDACTED - Date: Mon, 22 Mar 2021 11:54:58 GMT -``` - -### Setting up console logging -The simplest way to see the logs is to enable the console logging. -To create an Azure SDK log listener that outputs messages to console use AzureEventSourceListener.CreateConsoleLogger method. - -``` -// Setup a listener to monitor logged events. -using AzureEventSourceListener listener = AzureEventSourceListener.CreateConsoleLogger(level: EventLevel.Informational); -``` - -To learn more about other logging mechanisms see [here][logging]. - -## Next steps - -Samples showing how to use the Cognitive Services Document Translation library are available in this GitHub repository. - -- [Start Translation][start_translation_sample] -- [Poll Documents Status][documents_status_sample] -- [Operations History][operations_history_sample] - -### Advanced samples -- [Multiple Inputs][multiple_Inputs_sample] -- [Create Storage Containers and start translation][using_storage_sample] - -## Contributing -See the [CONTRIBUTING.md][contributing] for details on building, testing, and contributing to this library. - -This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit [cla.microsoft.com][cla]. - -When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][code_of_conduct]. For more information see the [Code of Conduct FAQ][coc_faq] or contact [opencode@microsoft.com][coc_contact] with any additional questions or comments. - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Fdocumenttranslation%2FAzure.AI.Translation.Document%2FREADME.png) - - - -[documenttranslation_client_src]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Translation.Document_1.0.0-beta.6/sdk/translation/Azure.AI.Translation.Document/src -[documenttranslation_docs]: https://docs.microsoft.com/azure/cognitive-services/translator/document-translation/overview -[documenttranslation_refdocs]: https://aka.ms/azsdk/net/documenttranslation/docs -[documenttranslation_nuget_package]: https://www.nuget.org/packages/Azure.AI.Translation.Document -[documenttranslation_samples]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Translation.Document_1.0.0-beta.6/sdk/translation/Azure.AI.Translation.Document/samples/README.md -[documenttranslation_rest_api]: https://github.com/Azure/azure-rest-api-specs/blob/master/specification/cognitiveservices/data-plane/TranslatorText/stable/v1.0/TranslatorBatch.json -[custom_domain_endpoint]: https://docs.microsoft.com/azure/cognitive-services/translator/document-translation/get-started-with-document-translation?tabs=csharp#what-is-the-custom-domain-endpoint -[single_service]: https://docs.microsoft.com/azure/cognitive-services/cognitive-services-apis-create-account?tabs=singleservice%2Cwindows -[azure_portal_create_DT_resource]: https://ms.portal.azure.com/#create/Microsoft.CognitiveServicesTextTranslation -[cognitive_resource_cli]: https://docs.microsoft.com/azure/cognitive-services/cognitive-services-apis-create-account-cli -[dotnet_lro_guidelines]: https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-longrunning -[source_containers]: https://docs.microsoft.com/azure/cognitive-services/translator/document-translation/get-started-with-document-translation?tabs=csharp#create-your-azure-blob-storage-containers -[custom_model]: https://docs.microsoft.com/azure/cognitive-services/translator/custom-translator/quickstart-build-deploy-custom-model -[glossary]: https://docs.microsoft.com/azure/cognitive-services/translator/document-translation/overview#supported-glossary-formats -[sas_token]: https://docs.microsoft.com/azure/cognitive-services/translator/document-translation/create-sas-tokens?tabs=Containers#create-your-sas-tokens-with-azure-storage-explorer -[sas_token_permissions]: https://aka.ms/azsdk/documenttranslation/sas-permissions - -[documenttranslation_client_class]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Translation.Document_1.0.0-beta.6/sdk/translation/Azure.AI.Translation.Document/src/DocumentTranslationClient.cs -[azure_identity]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Translation.Document_1.0.0-beta.6/sdk/identity/Azure.Identity/README.md -[DefaultAzureCredential]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Translation.Document_1.0.0-beta.6/sdk/identity/Azure.Identity/README.md#defaultazurecredential -[register_aad_app]: https://docs.microsoft.com/azure/cognitive-services/authentication#assign-a-role-to-a-service-principal -[aad_grant_access]: https://docs.microsoft.com/azure/cognitive-services/authentication#assign-a-role-to-a-service-principal -[custom_subdomain]: https://docs.microsoft.com/azure/cognitive-services/authentication#create-a-resource-with-a-custom-subdomain -[cognitive_auth]: https://docs.microsoft.com/azure/cognitive-services/authentication -[logging]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Translation.Document_1.0.0-beta.6/sdk/core/Azure.Core/samples/Diagnostics.md -[contributing]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Translation.Document_1.0.0-beta.6/CONTRIBUTING.md - -[start_translation_sample]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Translation.Document_1.0.0-beta.6/sdk/translation/Azure.AI.Translation.Document/samples/Sample1_StartTranslation.md -[documents_status_sample]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Translation.Document_1.0.0-beta.6/sdk/translation/Azure.AI.Translation.Document/samples/Sample2_PollIndividualDocuments.md -[operations_history_sample]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Translation.Document_1.0.0-beta.6/sdk/translation/Azure.AI.Translation.Document/samples/Sample3_OperationsHistory.md -[multiple_inputs_sample]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.AI.Translation.Document_1.0.0-beta.6/sdk/translation/Azure.AI.Translation.Document/samples/Sample4_MultipleInputs.md -[using_storage_sample]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.AI.Translation.Document_1.0.0-beta.6/sdk/translation/Azure.AI.Translation.Document/tests/samples/Sample_StartTranslationWithAzureBlob.cs - -[azure_cli]: https://docs.microsoft.com/cli/azure -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[nuget]: https://www.nuget.org/ -[azure_portal]: https://portal.azure.com -[moq]: https://github.com/Moq/moq4/ - -[cla]: https://cla.microsoft.com -[code_of_conduct]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[coc_contact]: mailto:opencode@microsoft.com - diff --git a/api/overview/azure/preview/alerts-management.md b/api/overview/azure/preview/alerts-management.md index 544bf1e0d12d..06697dde3f1d 100644 --- a/api/overview/azure/preview/alerts-management.md +++ b/api/overview/azure/preview/alerts-management.md @@ -3,7 +3,7 @@ title: Azure Alerts Management SDK for .NET description: Reference for Azure Alerts Management SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: alertsmanagement diff --git a/api/overview/azure/preview/analysis.md b/api/overview/azure/preview/analysis.md index ea493838563f..ca4dcaa3f454 100644 --- a/api/overview/azure/preview/analysis.md +++ b/api/overview/azure/preview/analysis.md @@ -3,7 +3,7 @@ title: Azure Analysis SDK for .NET description: Reference for Azure Analysis SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: analysis diff --git a/api/overview/azure/preview/api-management.md b/api/overview/azure/preview/api-management.md index 7fade94373fb..3cb81aab6c9b 100644 --- a/api/overview/azure/preview/api-management.md +++ b/api/overview/azure/preview/api-management.md @@ -3,7 +3,7 @@ title: Azure Api Management SDK for .NET description: Reference for Azure Api Management SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: apimanagement diff --git a/api/overview/azure/preview/app-compliance-automation.md b/api/overview/azure/preview/app-compliance-automation.md index b30b75d9bad4..21a0e3f0fb3d 100644 --- a/api/overview/azure/preview/app-compliance-automation.md +++ b/api/overview/azure/preview/app-compliance-automation.md @@ -3,7 +3,7 @@ title: Azure App Compliance Automation SDK for .NET description: Reference for Azure App Compliance Automation SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: appcomplianceautomation diff --git a/api/overview/azure/preview/app-configuration.md b/api/overview/azure/preview/app-configuration.md index 4dc818ba6927..e7f4af8474ee 100644 --- a/api/overview/azure/preview/app-configuration.md +++ b/api/overview/azure/preview/app-configuration.md @@ -3,7 +3,7 @@ title: Azure App Configuration SDK for .NET description: Reference for Azure App Configuration SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: appconfiguration diff --git a/api/overview/azure/preview/app-platform.md b/api/overview/azure/preview/app-platform.md index 3970624dec49..fd94d3a2b9ce 100644 --- a/api/overview/azure/preview/app-platform.md +++ b/api/overview/azure/preview/app-platform.md @@ -3,7 +3,7 @@ title: Azure App Platform SDK for .NET description: Reference for Azure App Platform SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: appplatform diff --git a/api/overview/azure/preview/app-service.md b/api/overview/azure/preview/app-service.md index b9f53e009773..c05a127cadd5 100644 --- a/api/overview/azure/preview/app-service.md +++ b/api/overview/azure/preview/app-service.md @@ -3,7 +3,7 @@ title: Azure App Service SDK for .NET description: Reference for Azure App Service SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: appservice diff --git a/api/overview/azure/preview/application-insights.md b/api/overview/azure/preview/application-insights.md index 54a9f7a8c670..09a8d9265998 100644 --- a/api/overview/azure/preview/application-insights.md +++ b/api/overview/azure/preview/application-insights.md @@ -3,7 +3,7 @@ title: Azure Application Insights SDK for .NET description: Reference for Azure Application Insights SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: azure-monitor diff --git a/api/overview/azure/preview/arc-scvmm.md b/api/overview/azure/preview/arc-scvmm.md index b1c2becbd36d..8e2a794f4a1d 100644 --- a/api/overview/azure/preview/arc-scvmm.md +++ b/api/overview/azure/preview/arc-scvmm.md @@ -3,7 +3,7 @@ title: Azure Arc ScVmm SDK for .NET description: Reference for Azure Arc ScVmm SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: arcscvmm diff --git a/api/overview/azure/preview/attestation.md b/api/overview/azure/preview/attestation.md index 04ab5f605935..5d9e729f5645 100644 --- a/api/overview/azure/preview/attestation.md +++ b/api/overview/azure/preview/attestation.md @@ -3,7 +3,7 @@ title: Azure Attestation SDK for .NET description: Reference for Azure Attestation SDK for .NET author: anilba06 ms.author: anilba -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: attestation diff --git a/api/overview/azure/preview/authorization.md b/api/overview/azure/preview/authorization.md index 0dab2a190ab3..c19e7d8dab4b 100644 --- a/api/overview/azure/preview/authorization.md +++ b/api/overview/azure/preview/authorization.md @@ -3,7 +3,7 @@ title: Azure Authorization SDK for .NET description: Reference for Azure Authorization SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: authorization diff --git a/api/overview/azure/preview/automanage.md b/api/overview/azure/preview/automanage.md index 358af80f4c8b..cd08d72a6b74 100644 --- a/api/overview/azure/preview/automanage.md +++ b/api/overview/azure/preview/automanage.md @@ -3,7 +3,7 @@ title: Azure Automanage SDK for .NET description: Reference for Azure Automanage SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: automanage diff --git a/api/overview/azure/preview/automation.md b/api/overview/azure/preview/automation.md index f6db06cb83a1..50a647bcf50f 100644 --- a/api/overview/azure/preview/automation.md +++ b/api/overview/azure/preview/automation.md @@ -3,7 +3,7 @@ title: Azure Automation SDK for .NET description: Reference for Azure Automation SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: automation diff --git a/api/overview/azure/preview/azure-vmware-solution.md b/api/overview/azure/preview/azure-vmware-solution.md index 2f9e61da10ac..9e368e4a75bd 100644 --- a/api/overview/azure/preview/azure-vmware-solution.md +++ b/api/overview/azure/preview/azure-vmware-solution.md @@ -3,7 +3,7 @@ title: Azure Azure VMware Solution SDK for .NET description: Reference for Azure Azure VMware Solution SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: azurevmwaresolution diff --git a/api/overview/azure/preview/billing-benefits.md b/api/overview/azure/preview/billing-benefits.md index 2e96f03cddb5..95633acbebeb 100644 --- a/api/overview/azure/preview/billing-benefits.md +++ b/api/overview/azure/preview/billing-benefits.md @@ -3,7 +3,7 @@ title: Azure Billing Benefits SDK for .NET description: Reference for Azure Billing Benefits SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: billingbenefits diff --git a/api/overview/azure/preview/billing.md b/api/overview/azure/preview/billing.md index 3acb63c71703..8788a2e645bb 100644 --- a/api/overview/azure/preview/billing.md +++ b/api/overview/azure/preview/billing.md @@ -3,7 +3,7 @@ title: Azure Billing SDK for .NET description: Reference for Azure Billing SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: billing diff --git a/api/overview/azure/preview/blueprint.md b/api/overview/azure/preview/blueprint.md index 2daefa5c9933..d1bc074123cb 100644 --- a/api/overview/azure/preview/blueprint.md +++ b/api/overview/azure/preview/blueprint.md @@ -3,7 +3,7 @@ title: Azure Blueprint SDK for .NET description: Reference for Azure Blueprint SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: blueprint diff --git a/api/overview/azure/preview/bot-service.md b/api/overview/azure/preview/bot-service.md index fd28d05264a8..2203d679e64d 100644 --- a/api/overview/azure/preview/bot-service.md +++ b/api/overview/azure/preview/bot-service.md @@ -3,7 +3,7 @@ title: Azure Bot Service SDK for .NET description: Reference for Azure Bot Service SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: botservice diff --git a/api/overview/azure/preview/change-analysis.md b/api/overview/azure/preview/change-analysis.md index c5d19d87e8e8..d4513d369ce5 100644 --- a/api/overview/azure/preview/change-analysis.md +++ b/api/overview/azure/preview/change-analysis.md @@ -3,7 +3,7 @@ title: Azure Change Analysis SDK for .NET description: Reference for Azure Change Analysis SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: changeanalysis diff --git a/api/overview/azure/preview/chaos.md b/api/overview/azure/preview/chaos.md index e7c99523870c..7050d54cc0a2 100644 --- a/api/overview/azure/preview/chaos.md +++ b/api/overview/azure/preview/chaos.md @@ -3,7 +3,7 @@ title: Azure Chaos SDK for .NET description: Reference for Azure Chaos SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: chaos diff --git a/api/overview/azure/preview/cognitive-services-index.md b/api/overview/azure/preview/cognitive-services-index.md index ce55559cae0c..4d7ae4e81451 100644 --- a/api/overview/azure/preview/cognitive-services-index.md +++ b/api/overview/azure/preview/cognitive-services-index.md @@ -2,13 +2,8 @@ |---|---|---| |[Anomaly Detector](ai.anomalydetector-readme.md)|[Azure.AI.AnomalyDetector](https://www.nuget.org/packages/Azure.AI.AnomalyDetector)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/anomalydetector/Azure.AI.AnomalyDetector)| |[Content Safety](ai.contentsafety-readme.md)|[Azure.AI.ContentSafety](https://www.nuget.org/packages/Azure.AI.ContentSafety)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/contentsafety/Azure.AI.ContentSafety)| -|[Form Recognizer](ai.formrecognizer-readme.md)|[Azure.AI.FormRecognizer](https://www.nuget.org/packages/Azure.AI.FormRecognizer)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/formrecognizer/Azure.AI.FormRecognizer)| -|[Conversational Language Understanding](ai.language.conversations-readme.md)|[Azure.AI.Language.Conversations](https://www.nuget.org/packages/Azure.AI.Language.Conversations)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/cognitivelanguage/Azure.AI.Language.Conversations)| -|[Question Answering](ai.language.questionanswering-readme.md)|[Azure.AI.Language.QuestionAnswering](https://www.nuget.org/packages/Azure.AI.Language.QuestionAnswering)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/cognitivelanguage/Azure.AI.Language.QuestionAnswering)| |[OpenAI Inference](ai.openai-readme.md)|[Azure.AI.OpenAI](https://www.nuget.org/packages/Azure.AI.OpenAI)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/openai/Azure.AI.OpenAI)| |[Personalizer](ai.personalizer-readme.md)|[Azure.AI.Personalizer](https://www.nuget.org/packages/Azure.AI.Personalizer)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/personalizer/Azure.AI.Personalizer)| -|[Text Analytics](ai.textanalytics-readme.md)|[Azure.AI.TextAnalytics](https://www.nuget.org/packages/Azure.AI.TextAnalytics)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/textanalytics/Azure.AI.TextAnalytics)| -|[Document Translation](ai.translation.document-readme.md)|[Azure.AI.Translation.Document](https://www.nuget.org/packages/Azure.AI.Translation.Document)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/translation/Azure.AI.Translation.Document)| |[Text Translation](ai.translation.text-readme.md)|[Azure.AI.Translation.Text](https://www.nuget.org/packages/Azure.AI.Translation.Text)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/translation/Azure.AI.Translation.Text)| |Vision Common|[Azure.AI.Vision.Common](https://www.nuget.org/packages/Azure.AI.Vision.Common)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/)| |Image Analysis|[Azure.AI.Vision.ImageAnalysis](https://www.nuget.org/packages/Azure.AI.Vision.ImageAnalysis)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/)| @@ -17,5 +12,3 @@ |Spell Check|[Microsoft.Azure.CognitiveServices.Language.SpellCheck](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Language.SpellCheck)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/)| |Custom Vision Training|[Microsoft.Azure.CognitiveServices.Vision.CustomVision.Training](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Vision.CustomVision.Training)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/)| |Face|[Microsoft.Azure.CognitiveServices.Vision.Face](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Vision.Face)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/cognitiveservices/Vision.Face)| -|Speech|[Microsoft.CognitiveServices.Speech](https://www.nuget.org/packages/Microsoft.CognitiveServices.Speech)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/)| -|[Resource Management - Cognitive Services](resourcemanager.cognitiveservices-readme.md)|[Azure.ResourceManager.CognitiveServices](https://www.nuget.org/packages/Azure.ResourceManager.CognitiveServices)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/cognitiveservices/Azure.ResourceManager.CognitiveServices)| diff --git a/api/overview/azure/preview/cognitive-services.md b/api/overview/azure/preview/cognitive-services.md index a8f568161511..70059e84f574 100644 --- a/api/overview/azure/preview/cognitive-services.md +++ b/api/overview/azure/preview/cognitive-services.md @@ -3,7 +3,7 @@ title: Azure Cognitive Services SDK for .NET description: Reference for Azure Cognitive Services SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: cognitiveservices diff --git a/api/overview/azure/preview/communication-index.md b/api/overview/azure/preview/communication-index.md index aeee5688f322..8f446b11f157 100644 --- a/api/overview/azure/preview/communication-index.md +++ b/api/overview/azure/preview/communication-index.md @@ -4,9 +4,6 @@ |[Communication Call Automation](communication.callautomation-readme.md)|[Azure.Communication.CallAutomation](https://www.nuget.org/packages/Azure.Communication.CallAutomation)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/communication/Azure.Communication.CallAutomation)| |[Communication Chat](communication.chat-readme.md)|[Azure.Communication.Chat](https://www.nuget.org/packages/Azure.Communication.Chat)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/communication/Azure.Communication.Chat)| |[Communication Common](communication.common-readme.md)|[Azure.Communication.Common](https://www.nuget.org/packages/Azure.Communication.Common)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/communication/Azure.Communication.Common)| -|[Communication Email](communication.email-readme.md)|[Azure.Communication.Email](https://www.nuget.org/packages/Azure.Communication.Email)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/communication/Azure.Communication.Email)| -|[Communication Identity](communication.identity-readme.md)|[Azure.Communication.Identity](https://www.nuget.org/packages/Azure.Communication.Identity)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/communication/Azure.Communication.Identity)| |[Communication Network Traversal](communication.networktraversal-readme.md)|[Azure.Communication.NetworkTraversal](https://www.nuget.org/packages/Azure.Communication.NetworkTraversal)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/)| |[Communication Phone Numbers](communication.phonenumbers-readme.md)|[Azure.Communication.PhoneNumbers](https://www.nuget.org/packages/Azure.Communication.PhoneNumbers)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/communication/Azure.Communication.PhoneNumbers)| -|[Communication Rooms](communication.rooms-readme.md)|[Azure.Communication.Rooms](https://www.nuget.org/packages/Azure.Communication.Rooms)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/communication/Azure.Communication.Rooms)| |[Resource Management - Communication](resourcemanager.communication-readme.md)|[Azure.ResourceManager.Communication](https://www.nuget.org/packages/Azure.ResourceManager.Communication)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/communication/Azure.ResourceManager.Communication)| diff --git a/api/overview/azure/preview/communication-jobrouter.md b/api/overview/azure/preview/communication-jobrouter.md index 80149cfc650c..e8af3416abf8 100644 --- a/api/overview/azure/preview/communication-jobrouter.md +++ b/api/overview/azure/preview/communication-jobrouter.md @@ -3,7 +3,7 @@ title: Azure Communication JobRouter SDK for .NET description: Reference for Azure Communication JobRouter SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: communicationjobrouter diff --git a/api/overview/azure/preview/communication.email-readme.md b/api/overview/azure/preview/communication.email-readme.md deleted file mode 100644 index e22fe402392b..000000000000 --- a/api/overview/azure/preview/communication.email-readme.md +++ /dev/null @@ -1,247 +0,0 @@ ---- -title: Azure Communication Email client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.Communication.Email, communication -author: acsdevx-msft -ms.author: acsdevx-msft -ms.date: 03/16/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: communication ---- -# Azure Communication Email client library for .NET - version 1.0.0-beta.4 - - -This package contains a C# SDK for Azure Communication Services for Email. - -[Source code][source] | [Package (NuGet)][package] | [Product documentation][product_docs] -## Getting started - -### Install the package -Install the Azure Communication Email client library for .NET with [NuGet][nuget]: - -```dotnetcli -dotnet add package Azure.Communication.Email --prerelease -``` - -### Prerequisites -You need an [Azure subscription][azure_sub], a [Communication Service Resource][communication_resource_docs], and an [Email Communication Resource][email_resource_docs] with an active [Domain][domain_overview]. - -To create these resource, you can use the [Azure Portal][communication_resource_create_portal], the [Azure PowerShell][communication_resource_create_power_shell], or the [.NET management client library][communication_resource_create_net]. - -### Key concepts -`EmailClient` provides the functionality to send email messages . - -### Using statements -```C# Snippet:Azure_Communication_Email_UsingStatements -using Azure.Communication.Email; -``` - -### Authenticate the client -Email clients can be authenticated using the connection string acquired from an Azure Communication Resource in the [Azure Portal][azure_portal]. - -```C# Snippet:Azure_Communication_Email_CreateEmailClient -var connectionString = ""; // Find your Communication Services resource in the Azure portal -EmailClient emailClient = new EmailClient(connectionString); -``` - -Alternatively, Email clients can also be authenticated using a valid token credential. With this option, -`AZURE_CLIENT_SECRET`, `AZURE_CLIENT_ID` and `AZURE_TENANT_ID` environment variables need to be set up for authentication. - -```C# Snippet:Azure_Communication_Email_CreateEmailClientWithToken -string endpoint = ""; -TokenCredential tokenCredential = new DefaultAzureCredential(); -tokenCredential = new DefaultAzureCredential(); -EmailClient emailClient = new EmailClient(new Uri(endpoint), tokenCredential); -``` -## Examples -### Send a simple email message with automatic polling for status -To send an email message, call the simple overload of `Send` or `SendAsync` function from the `EmailClient`. -```C# Snippet:Azure_Communication_Email_Send_Simple_AutoPolling -var emailSendOperation = emailClient.Send( - wait: WaitUntil.Completed, - from: "" // The email address of the domain registered with the Communication Services resource - to: "" - subject: "This is the subject", - htmlContent: "This is the html body"); -Console.WriteLine($"Email Sent. Status = {emailSendOperation.Value.Status}"); - -/// Get the OperationId so that it can be used for tracking the message for troubleshooting -string operationId = emailSendOperation.Id; -Console.WriteLine($"Email operation id = {operationId}"); -``` - -### Send a simple email message with manual polling for status -To send an email message, call the simple overload of `Send` or `SendAsync` function from the `EmailClient`. -```C# Snippet:Azure_Communication_Email_Send_Simple_ManualPolling_Async -/// Send the email message with WaitUntil.Started -var emailSendOperation = await emailClient.SendAsync( - wait: WaitUntil.Started, - from: "" // The email address of the domain registered with the Communication Services resource - to: "" - subject: "This is the subject", - htmlContent: "This is the html body"); - -/// Call UpdateStatus on the email send operation to poll for the status -/// manually. -while (true) -{ - await emailSendOperation.UpdateStatusAsync(); - if (emailSendOperation.HasCompleted) - { - break; - } - await Task.Delay(100); -} - -if (emailSendOperation.HasValue) -{ - Console.WriteLine($"Email Sent. Status = {emailSendOperation.Value.Status}"); -} - -/// Get the OperationId so that it can be used for tracking the message for troubleshooting -string operationId = emailSendOperation.Id; -Console.WriteLine($"Email operation id = {operationId}"); -``` - -### Send an email message with more options -To send an email message, call the overload of `Send` or `SendAsync` function from the `EmailClient` that takes an `EmailMessage` parameter. -```C# Snippet:Azure_Communication_Email_Send_With_MoreOptions -// Create the email content -var emailContent = new EmailContent("This is the subject") -{ - PlainText = "This is the body", - Html = "This is the html body" -}; - -// Create the EmailMessage -var emailMessage = new EmailMessage( - fromAddress: "" // The email address of the domain registered with the Communication Services resource - toAddress: "" - content: emailContent); - -var emailSendOperation = emailClient.Send( - wait: WaitUntil.Completed, - message: emailMessage); -Console.WriteLine($"Email Sent. Status = {emailSendOperation.Value.Status}"); - -/// Get the OperationId so that it can be used for tracking the message for troubleshooting -string operationId = emailSendOperation.Id; -Console.WriteLine($"Email operation id = {operationId}"); -``` - -### Send an email message to multiple recipients -To send an email message to multiple recipients, add an `EmailAddress` object for each recipent type to the `EmailRecipient` object. - -```C# Snippet:Azure_Communication_Email_Send_Multiple_Recipients -// Create the email content -var emailContent = new EmailContent("This is the subject") -{ - PlainText = "This is the body", - Html = "This is the html body" -}; - -// Create the To list -var toRecipients = new List -{ - new EmailAddress( - address: "" - displayName: "" - new EmailAddress( - address: "" - displayName: "" -}; - -// Create the CC list -var ccRecipients = new List -{ - new EmailAddress( - address: "" - displayName: "" - new EmailAddress( - address: "" - displayName: "" -}; - -// Create the BCC list -var bccRecipients = new List -{ - new EmailAddress( - address: "" - displayName: "" - new EmailAddress( - address: "" - displayName: "" -}; - -var emailRecipients = new EmailRecipients(toRecipients, ccRecipients, bccRecipients); - -// Create the EmailMessage -var emailMessage = new EmailMessage( - senderAddress: "" // The email address of the domain registered with the Communication Services resource - emailRecipients, - emailContent); - -EmailSendOperation emailSendOperation = emailClient.Send(WaitUntil.Completed, emailMessage); -Console.WriteLine($"Email Sent. Status = {emailSendOperation.Value.Status}"); - -/// Get the OperationId so that it can be used for tracking the message for troubleshooting -string operationId = emailSendOperation.Id; -Console.WriteLine($"Email operation id = {operationId}"); -``` - -### Send email with attachments -Azure Communication Services support sending emails with attachments. -```C# Snippet:Azure_Communication_Email_Send_With_Attachments -// Create the EmailMessage -var emailMessage = new EmailMessage( - fromAddress: "" // The email address of the domain registered with the Communication Services resource - toAddress: "" - content: emailContent); - -var filePath = ""; -var attachmentName = ""; -var contentType = MediaTypeNames.Text.Plain; - -var content = new BinaryData(System.IO.File.ReadAllBytes(filePath)); -var emailAttachment = new EmailAttachment(attachmentName, contentType, content); - -emailMessage.Attachments.Add(emailAttachment); - -EmailSendOperation emailSendOperation = emailClient.Send(WaitUntil.Completed, emailMessage); -Console.WriteLine($"Email Sent. Status = {emailSendOperation.Value.Status}"); - -/// Get the OperationId so that it can be used for tracking the message for troubleshooting -string operationId = emailSendOperation.Id; -Console.WriteLine($"Email operation id = {operationId}"); -``` - -## Troubleshooting -A `RequestFailedException` is thrown as a service response for any unsuccessful requests. The exception contains information about what response code was returned from the service. - -## Next steps -- [Read more about Email in Azure Communication Services][nextsteps] - -## Contributing -This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit [cla.microsoft.com][cla]. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For more information see the [Code of Conduct FAQ][coc_faq] or contact [opencode@microsoft.com][coc_contact] with any additional questions or comments. - - -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[azure_portal]: https://portal.azure.com -[cla]: https://cla.microsoft.com -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[coc_contact]: mailto:opencode@microsoft.com -[communication_resource_docs]: /azure/communication-services/quickstarts/create-communication-resource?tabs=windows&pivots=platform-azp -[email_resource_docs]: https://aka.ms/acsemail/createemailresource -[communication_resource_create_portal]: /azure/communication-services/quickstarts/create-communication-resource?tabs=windows&pivots=platform-azp -[communication_resource_create_power_shell]: /powershell/module/az.communication/new-azcommunicationservice -[communication_resource_create_net]: /azure/communication-services/quickstarts/create-communication-resource?tabs=windows&pivots=platform-net -[package]: https://www.nuget.org/packages/Azure.Communication.Email -[product_docs]: https://aka.ms/acsemail/overview -[nextsteps]:https://aka.ms/acsemail/qs-sendmail?pivots=programming-language-csharp -[nuget]: https://www.nuget.org/ -[source]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Email_1.0.0-beta.4/sdk/communication/Azure.Communication.Email/src -[domain_overview]: https://aka.ms/acsemail/domainsoverview - diff --git a/api/overview/azure/preview/communication.identity-readme.md b/api/overview/azure/preview/communication.identity-readme.md deleted file mode 100644 index aecf76242d58..000000000000 --- a/api/overview/azure/preview/communication.identity-readme.md +++ /dev/null @@ -1,187 +0,0 @@ ---- -title: Azure Communication Identity client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.Communication.Identity, communication -author: ramya-rao-a -ms.author: ramyar -ms.date: 10/29/2021 -ms.topic: reference -ms.prod: azure -ms.technology: azure -ms.devlang: dotnet -ms.service: communication ---- - -# Azure Communication Identity client library for .NET - version 1.1.0-beta.1 - - -Azure Communication Identity is managing tokens for Azure Communication Services. - -[Source code][source] | [Product documentation][product_docs] | [Samples][source_samples] - -## Getting started - -### Install the package - -Install the Azure Communication Identity client library for .NET with [NuGet][nuget]: - -```dotnetcli -dotnet add package Azure.Communication.Identity --version 1.0.0 -``` - -### Prerequisites - -You need an [Azure subscription][azure_sub] and a [Communication Service Resource][communication_resource_docs] to use this package. - -To create a new Communication Service, you can use the [Azure Portal][communication_resource_create_portal], the [Azure PowerShell][communication_resource_create_power_shell], or the [.NET management client library][communication_resource_create_net]. - - - -### Authenticate the client - -The identity client can be authenticated using a connection string acquired from an Azure Communication Resources in the [Azure Portal][azure_portal]. - -```C# Snippet:CreateCommunicationIdentityClient -// Get a connection string to our Azure Communication resource. -var connectionString = ""; -var client = new CommunicationIdentityClient(connectionString); -``` - -Or alternatively using the endpoint and access key acquired from an Azure Communication Resources in the [Azure Portal][azure_portal]. - -```C# Snippet:CreateCommunicationIdentityFromAccessKey -var endpoint = new Uri("https://my-resource.communication.azure.com"); -var accessKey = ""; -var client = new CommunicationIdentityClient(endpoint, new AzureKeyCredential(accessKey)); -``` - -Clients also have the option to authenticate using a valid Active Directory token. - -```C# Snippet:CreateCommunicationIdentityFromToken -var endpoint = new Uri("https://my-resource.communication.azure.com"); -TokenCredential tokenCredential = new DefaultAzureCredential(); -var client = new CommunicationIdentityClient(endpoint, tokenCredential); -``` - -### Key concepts - -`CommunicationIdentityClient` provides the functionalities to manage user access tokens: creating new ones and revoking them. - -### Thread safety -We guarantee that all client instance methods are thread-safe and independent of each other ([guideline](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-service-methods-thread-safety)). This ensures that the recommendation of reusing client instances is always safe, even across threads. - -### Additional concepts - -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Communication.Identity_1.1.0-beta.1/sdk/core/Azure.Core/README.md#configuring-service-clients-using-clientoptions) | -[Accessing the response](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Communication.Identity_1.1.0-beta.1/sdk/core/Azure.Core/README.md#accessing-http-response-details-using-responset) | -[Long-running operations](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Communication.Identity_1.1.0-beta.1/sdk/core/Azure.Core/README.md#consuming-long-running-operations-using-operationt) | -[Handling failures](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Communication.Identity_1.1.0-beta.1/sdk/core/Azure.Core/README.md#reporting-errors-requestfailedexception) | -[Diagnostics](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Communication.Identity_1.1.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md) | -[Mocking](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Communication.Identity_1.1.0-beta.1/sdk/core/Azure.Core/README.md#mocking) | -[Client lifetime](https://devblogs.microsoft.com/azure-sdk/lifetime-management-and-thread-safety-guarantees-of-azure-sdk-net-clients/) - - -## Examples - -### Creating a new user - -```C# Snippet:CreateCommunicationUserAsync -Response userResponse = await client.CreateUserAsync(); -CommunicationUserIdentifier user = userResponse.Value; -Console.WriteLine($"User id: {user.Id}"); -``` - -### Getting a token for an existing user - -```C# Snippet:CreateCommunicationTokenAsync -Response tokenResponse = await client.GetTokenAsync(user, scopes: new[] { CommunicationTokenScope.Chat }); -string token = tokenResponse.Value.Token; -DateTimeOffset expiresOn = tokenResponse.Value.ExpiresOn; -Console.WriteLine($"Token: {token}"); -Console.WriteLine($"Expires On: {expiresOn}"); -``` - -### Creating a user and a token in the same request -```C# Snippet:CreateCommunicationUserAndToken -Response response = await client.CreateUserAndTokenAsync(scopes: new[] { CommunicationTokenScope.Chat }); -var (user, token) = response.Value; -Console.WriteLine($"User id: {user.Id}"); -Console.WriteLine($"Token: {token.Token}"); -``` - -### Revoking a user's tokens - -In case a user's tokens are compromised or need to be revoked: - -```C# Snippet:RevokeCommunicationUserTokenAsync -Response revokeResponse = await client.RevokeTokensAsync(user); -``` - -### Deleting a user - -```C# Snippet:DeleteACommunicationUserAsync -Response deleteResponse = await client.DeleteUserAsync(user); -``` - -### Exchanging AAD access token of a Teams User for a Communication Identity access token - -```C# Snippet:GetTokenForTeamsUserAsync -Response tokenResponse = await client.GetTokenForTeamsUserAsync(teamsToken); -string token = tokenResponse.Value.Token; -Console.WriteLine($"Token: {token}"); -``` - -## Troubleshooting - -All User token service operations will throw a RequestFailedException on failure. - -```C# Snippet:CommunicationIdentityClient_Troubleshooting -// Get a connection string to our Azure Communication resource. -var connectionString = ""; -var client = new CommunicationIdentityClient(connectionString); - -try -{ - Response response = await client.CreateUserAsync(); -} -catch (RequestFailedException ex) -{ - Console.WriteLine(ex.Message); -} -``` - - -## Next steps - -[Read more about Communication user access tokens][user_access_token] - -## Contributing - -This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit [cla.microsoft.com][cla]. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For more information see the [Code of Conduct FAQ][coc_faq] or contact [opencode@microsoft.com][coc_contact] with any additional questions or comments. - - - -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[azure_portal]: https://portal.azure.com -[source]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Identity_1.1.0-beta.1/sdk/communication/Azure.Communication.Identity/src -[source_samples]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Communication.Identity_1.1.0-beta.1/sdk/communication/Azure.Communication.Identity/samples -[cla]: https://cla.microsoft.com -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[coc_contact]: mailto:opencode@microsoft.com - -[product_docs]: https://docs.microsoft.com/azure/communication-services/overview -[nuget]: https://www.nuget.org/ -[user_access_token]: https://docs.microsoft.com/azure/communication-services/quickstarts/access-tokens?pivots=programming-language-csharp -[communication_resource_docs]: https://docs.microsoft.com/azure/communication-services/quickstarts/create-communication-resource?tabs=windows&pivots=platform-azp -[communication_resource_create_portal]: https://docs.microsoft.com/azure/communication-services/quickstarts/create-communication-resource?tabs=windows&pivots=platform-azp -[communication_resource_create_power_shell]: https://docs.microsoft.com/powershell/module/az.communication/new-azcommunicationservice -[communication_resource_create_net]: https://docs.microsoft.com/azure/communication-services/quickstarts/create-communication-resource?tabs=windows&pivots=platform-net - diff --git a/api/overview/azure/preview/communication.md b/api/overview/azure/preview/communication.md index 1d66c64d97e3..14bf52dfcd29 100644 --- a/api/overview/azure/preview/communication.md +++ b/api/overview/azure/preview/communication.md @@ -3,7 +3,7 @@ title: Azure Communication SDK for .NET description: Reference for Azure Communication SDK for .NET author: acsdevx-msft ms.author: acsdevx-msft -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: communication diff --git a/api/overview/azure/preview/communication.rooms-readme.md b/api/overview/azure/preview/communication.rooms-readme.md deleted file mode 100644 index a03563c35bcf..000000000000 --- a/api/overview/azure/preview/communication.rooms-readme.md +++ /dev/null @@ -1,212 +0,0 @@ ---- -title: Azure Communication Rooms client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.Communication.Rooms, communication -author: acsdevx-msft -ms.author: acsdevx-msft -ms.date: 05/17/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: communication ---- -# Azure Communication Rooms client library for .NET - version 1.0.0-beta.2 - - -This package contains a C# SDK for the Rooms Service of Azure Communication Services. -Azure Communication Services (ACS) Rooms is a set of APIs, used by Contoso server applications to create a server-managed conversation space with fixed set of lifetime and participants, pre-defining rules from server-tier both who and when can communicate (like scheduled meeting creation). - -With the preview release of ACS Rooms, Contoso will be able to: - - - Create a meeting space with known time coordinates (validFrom/validUntil) - - Join voice/video calls within that meeting space using the ACS web calling SDK or native mobile calling SDKs - - Add participants to a room - - Assign pre-defined roles to room participants - -The main scenarios where Rooms can best be used: - - - Virtual Visits (e.g., telemedicine, remote financial advisor, virtual classroom, etc...) - - Virtual Events (e.g., live event, company all-hands, live concert, etc...) - -[Source code][source] | [Product documentation][product_docs] | [Samples][source_samples] -## Getting started - -### Install the package -Install the Azure Communication Rooms client library for .NET with [NuGet][nuget]: - -```PowerShell -dotnet add package Azure.Communication.Rooms --prerelease -``` - -### Prerequisites -You need an [Azure subscription][azure_sub] and a [Communication Service Resource][communication_resource_docs] to use this package. - -To create a new Communication Service, you can use the [Azure Portal][communication_resource_create_portal], the [Azure PowerShell][communication_resource_create_power_shell], or the [.NET management client library][communication_resource_create_net]. - -### Key concepts -`RoomsClient` provides the functionality to create room, update room, get room, list rooms, delete room, add participants, update participants, remove participants, and list participants. - -### Using statements -```C# Snippet:Azure_Communication_Rooms_Tests_UsingStatements -using Azure.Communication.Rooms -``` - -### Authenticate the client -Rooms clients can be authenticated using the connection string acquired from an Azure Communication Resource in the [Azure Portal][azure_portal]. - -```C# Snippet:Azure_Communication_Rooms_Tests_Samples_CreateRoomsClient -var connectionString = Environment.GetEnvironmentVariable("connection_string") // Find your Communication Services resource in the Azure portal -RoomsClient client = new RoomsClient(connectionString); -``` - -## Examples -### Create a room -To create a room, call the `CreateRoom` or `CreateRoomAsync` function from `RoomsClient`. -The `validFrom`, `validUntil`, and `participants` arguments are all optional. If `validFrom` and `validUntil` are not provided, then the default for `validFrom` is current date time and the default for `validUntil` is `validFrom + 180 days`. -When defining `RoomParticipant`, if role is not specified, then it will be `Attendee` by default. -The returned value is `Response` which contains created room details as well as the status and associated error codes in case of a failure. - -```C# Snippet:Azure_Communication_Rooms_Tests_Samples_CreateRoomAsync -// Create communication users using the CommunicationIdentityClient -Response communicationUser1 = await communicationIdentityClient.CreateUserAsync(); -Response communicationUser2 = await communicationIdentityClient.CreateUserAsync(); - -DateTimeOffset validFrom = DateTimeOffset.UtcNow; -DateTimeOffset validUntil = validFrom.AddDays(1); -RoomParticipant participant1 = new RoomParticipant(communicationUser1.Value); // If role is not provided, then it is set as Attendee by default -RoomParticipant participant2 = new RoomParticipant(communicationUser2.Value) { Role = ParticipantRole.Presenter}; -List invitedParticipants = new List -{ - participant1, - participant2 -}; - -Response createRoomResponse = await roomsClient.CreateRoomAsync(validFrom, validUntil, invitedParticipants); -CommunicationRoom createCommunicationRoom = createRoomResponse.Value; -``` - -### Update a room -The `validFrom` and `validUntil` properties of a created room can be updated by calling the `UpdateRoom` or `UpdateRoomAsync` function from `RoomsClient`. - -```C# Snippet:Azure_Communication_Rooms_Tests_Samples_UpdateRoomAsync -validUntil = validFrom.AddDays(30); -Response updateRoomResponse = await roomsClient.UpdateRoomAsync(createdRoomId, validFrom, validUntil); -CommunicationRoom updateCommunicationRoom = updateRoomResponse.Value; -``` - -### Get a created room -A created room can be retrieved by calling the `GetRoom` or `GetRoomAsync` function from `RoomsClient` and passing in the associated `roomId`. - -```C# Snippet:Azure_Communication_Rooms_Tests_Samples_GetRoomAsync -Response getRoomResponse = await roomsClient.GetRoomAsync(createdRoomId); -CommunicationRoom getCommunicationRoom = getRoomResponse.Value; -``` - -### Get all rooms -All valid rooms created under an ACS resource can be retrieved by calling the `GetRooms` or `GetRoomsAsync` function from `RoomsClient`. -```C# Snippet:Azure_Communication_Rooms_Tests_Samples_GetRoomsAsync -AsyncPageable allRooms = roomsClient.GetRoomsAsync(); -await foreach (CommunicationRoom room in allRooms) -{ - Console.WriteLine($"Room with id {room.Id} is valid from {room.ValidFrom} to {room.ValidUntil}."); -} -``` - -### Delete room -To delete a room, call the `DeleteRoom` or `DeleteRoomAsync` function from RoomsClient. -```C# Snippet:Azure_Communication_Rooms_Tests_Samples_DeleteRoomAsync -Response deleteRoomResponse = await roomsClient.DeleteRoomAsync(createdRoomId); -``` - -### Add Or update participants in a room -In order to add new participants or update existing participants, call the `AddOrUpdateParticipants` or `AddOrUpdateParticipantsAsync` function from RoomsClient. - -```C# Snippet:Azure_Communication_Rooms_Tests_Samples_AddOrUpdateParticipants -Response communicationUser3 = await communicationIdentityClient.CreateUserAsync(); -RoomParticipant newParticipant = new RoomParticipant(communicationUser3.Value) { Role = ParticipantRole.Consumer }; - -// Previous snippet for create room added participant2 as Presenter -participant2 = new RoomParticipant(communicationUser2) { Role = ParticipantRole.Attendee }; - -List participantsToAddOrUpdate = new List -{ - participant2, // participant2 updated from Presenter to Attendee - newParticipant, // newParticipant added to the room -}; - -Response addOrUpdateParticipantResponse = await roomsClient.AddOrUpdateParticipantsAsync(createdRoomId, participantsToAddOrUpdate); -``` - -### Remove participants in a room -To remove participants from a room, call the `RemoveParticipants` or `RemoveParticipantsAsync` function from RoomsClient. - -```C# Snippet:Azure_Communication_Rooms_Tests_Samples_RemoveParticipants -List participantsToRemove = new List -{ - communicationUser1, - communicationUser2 -}; -Response removeParticipantResponse = await roomsClient.RemoveParticipantsAsync(createdRoomId, participantsToRemove); -``` - - -### Get participants in a room -To get all the participants from a room, call the `GetParticipants` or `GetParticipantsAsync` function from RoomsClient. -The returned value is `Pageable` or `AsyncPageable` which contains the paginated list of participants. -```C# Snippet:Azure_Communication_Rooms_Tests_Samples_GetParticipants -AsyncPageable allParticipants = roomsClient.GetParticipantsAsync(createdRoomId); -await foreach (RoomParticipant participant in allParticipants) -{ - Console.WriteLine($" Participant with id {participant.CommunicationIdentifier.RawId} is a {participant.Role}"); -} -``` - -## Troubleshooting -### Service Responses -A `RequestFailedException` is thrown as a service response for any unsuccessful requests. The exception contains information about what response code was returned from the service. -```C# Snippet:Azure_Communication_RoomsClient_Tests_Troubleshooting -try -{ - CommunicationIdentityClient communicationIdentityClient = CreateInstrumentedCommunicationIdentityClient(); - Response communicationUser1 = await communicationIdentityClient.CreateUserAsync(); - Response communicationUser2 = await communicationIdentityClient.CreateUserAsync(); - DateTimeOffset validFrom = DateTimeOffset.UtcNow; - DateTimeOffset validUntil = validFrom.AddDays(1); - List createRoomParticipants = new List(); - RoomParticipant participant1 = new RoomParticipant(communicationUser1.Value) { Role = ParticipantRole.Presenter }; - RoomParticipant participant2 = new RoomParticipant(communicationUser2.Value) { Role = ParticipantRole.Attendee }; - Response createRoomResponse = await roomsClient.CreateRoomAsync(validFrom, validUntil, createRoomParticipants); - CommunicationRoom createRoomResult = createRoomResponse.Value; -} -catch (RequestFailedException ex) -{ - Console.WriteLine(ex.Message); -} -``` - -## Next steps -- [Read more about Rooms in Azure Communication Services][nextsteps] - -## Contributing -This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit [cla.microsoft.com][cla]. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For more information see the [Code of Conduct FAQ][coc_faq] or contact [opencode@microsoft.com][coc_contact] with any additional questions or comments. - - -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[azure_portal]: https://portal.azure.com -[cla]: https://cla.microsoft.com -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[coc_contact]: mailto:opencode@microsoft.com -[communication_resource_docs]: /azure/communication-services/quickstarts/create-communication-resource?tabs=windows&pivots=platform-azp -[communication_resource_create_portal]: /azure/communication-services/quickstarts/create-communication-resource?tabs=windows&pivots=platform-azp -[communication_resource_create_power_shell]: /powershell/module/az.communication/new-azcommunicationservice -[communication_resource_create_net]: /azure/communication-services/quickstarts/create-communication-resource?tabs=windows&pivots=platform-net -[nextsteps]: https://learn.microsoft.com/azure/communication-services/quickstarts/rooms/get-started-rooms?tabs=windows&pivots=programming-language-csharp -[nuget]: https://www.nuget.org/ -[product_docs]: /azure/communication-services/overview -[source]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Rooms_1.0.0-beta.2/sdk/communication/Azure.Communication.Rooms/src -[source_samples]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Communication.Rooms_1.0.0-beta.2/sdk/communication/Azure.Communication.Rooms/tests/Samples - - -Update the sample code links once the sdk is published - diff --git a/api/overview/azure/preview/confidential-ledger-index.md b/api/overview/azure/preview/confidential-ledger-index.md index ebb233f5f26f..e1c840916513 100644 --- a/api/overview/azure/preview/confidential-ledger-index.md +++ b/api/overview/azure/preview/confidential-ledger-index.md @@ -1,4 +1,3 @@ | Reference | Package | Source | |---|---|---| -|[Confidential Ledger](security.confidentialledger-readme.md)|[Azure.Security.ConfidentialLedger](https://www.nuget.org/packages/Azure.Security.ConfidentialLedger)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/confidentialledger/Azure.Security.ConfidentialLedger)| |[Resource Management - Confidential Ledger](resourcemanager.confidentialledger-readme.md)|[Azure.ResourceManager.ConfidentialLedger](https://www.nuget.org/packages/Azure.ResourceManager.ConfidentialLedger)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/confidentialledger/Azure.ResourceManager.ConfidentialLedger)| diff --git a/api/overview/azure/preview/confidential-ledger.md b/api/overview/azure/preview/confidential-ledger.md index 0ba658492b94..9aa8af39e8d4 100644 --- a/api/overview/azure/preview/confidential-ledger.md +++ b/api/overview/azure/preview/confidential-ledger.md @@ -3,7 +3,7 @@ title: Azure Confidential Ledger SDK for .NET description: Reference for Azure Confidential Ledger SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: confidentialledger diff --git a/api/overview/azure/preview/confluent.md b/api/overview/azure/preview/confluent.md index 67f93a02f561..0e98336c75a6 100644 --- a/api/overview/azure/preview/confluent.md +++ b/api/overview/azure/preview/confluent.md @@ -3,7 +3,7 @@ title: Azure Confluent SDK for .NET description: Reference for Azure Confluent SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: confluent diff --git a/api/overview/azure/preview/connected-vmware-vsphere.md b/api/overview/azure/preview/connected-vmware-vsphere.md index babff4007a2e..af65c416cd24 100644 --- a/api/overview/azure/preview/connected-vmware-vsphere.md +++ b/api/overview/azure/preview/connected-vmware-vsphere.md @@ -3,7 +3,7 @@ title: Azure Connected VMware vSphere SDK for .NET description: Reference for Azure Connected VMware vSphere SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: connectedvmwarevsphere diff --git a/api/overview/azure/preview/consumption.md b/api/overview/azure/preview/consumption.md index 6009ce121044..2ab7909db991 100644 --- a/api/overview/azure/preview/consumption.md +++ b/api/overview/azure/preview/consumption.md @@ -3,7 +3,7 @@ title: Azure Consumption SDK for .NET description: Reference for Azure Consumption SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: consumption diff --git a/api/overview/azure/preview/container-instances.md b/api/overview/azure/preview/container-instances.md index 8fc779cb4306..4dc9475261d8 100644 --- a/api/overview/azure/preview/container-instances.md +++ b/api/overview/azure/preview/container-instances.md @@ -3,7 +3,7 @@ title: Azure Container Instances SDK for .NET description: Reference for Azure Container Instances SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: containerinstances diff --git a/api/overview/azure/preview/container-registry.md b/api/overview/azure/preview/container-registry.md index cadb2be52fd6..a794930a7dca 100644 --- a/api/overview/azure/preview/container-registry.md +++ b/api/overview/azure/preview/container-registry.md @@ -3,7 +3,7 @@ title: Azure Container Registry SDK for .NET description: Reference for Azure Container Registry SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: containerregistry diff --git a/api/overview/azure/preview/container-service.md b/api/overview/azure/preview/container-service.md index cf73bf0448cf..28e5b7738a61 100644 --- a/api/overview/azure/preview/container-service.md +++ b/api/overview/azure/preview/container-service.md @@ -3,7 +3,7 @@ title: Azure Container Service SDK for .NET description: Reference for Azure Container Service SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: containerservice diff --git a/api/overview/azure/preview/content-delivery-network.md b/api/overview/azure/preview/content-delivery-network.md index e79185801de2..5200b265ac2a 100644 --- a/api/overview/azure/preview/content-delivery-network.md +++ b/api/overview/azure/preview/content-delivery-network.md @@ -3,7 +3,7 @@ title: Azure Content Delivery Network SDK for .NET description: Reference for Azure Content Delivery Network SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: contentdeliverynetwork diff --git a/api/overview/azure/preview/cosmos-db-for-postgresql.md b/api/overview/azure/preview/cosmos-db-for-postgresql.md index 1cd6fa7b6882..8cc4d78319e2 100644 --- a/api/overview/azure/preview/cosmos-db-for-postgresql.md +++ b/api/overview/azure/preview/cosmos-db-for-postgresql.md @@ -3,7 +3,7 @@ title: Azure Cosmos DB for PostgreSQL SDK for .NET description: Reference for Azure Cosmos DB for PostgreSQL SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: cosmosdbforpostgresql diff --git a/api/overview/azure/preview/cosmos-db.md b/api/overview/azure/preview/cosmos-db.md index a94b262160dc..6ca74bc6e2e9 100644 --- a/api/overview/azure/preview/cosmos-db.md +++ b/api/overview/azure/preview/cosmos-db.md @@ -3,7 +3,7 @@ title: Azure Cosmos DB SDK for .NET description: Reference for Azure Cosmos DB SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: cosmosdb diff --git a/api/overview/azure/preview/customer-insights.md b/api/overview/azure/preview/customer-insights.md index 16ace7b503d5..e65a176e276a 100644 --- a/api/overview/azure/preview/customer-insights.md +++ b/api/overview/azure/preview/customer-insights.md @@ -3,7 +3,7 @@ title: Azure Customer Insights SDK for .NET description: Reference for Azure Customer Insights SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: customerinsights diff --git a/api/overview/azure/preview/data-box-edge.md b/api/overview/azure/preview/data-box-edge.md index 975098bfccf0..b901c289437a 100644 --- a/api/overview/azure/preview/data-box-edge.md +++ b/api/overview/azure/preview/data-box-edge.md @@ -3,7 +3,7 @@ title: Azure Data Box Edge SDK for .NET description: Reference for Azure Data Box Edge SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: databoxedge diff --git a/api/overview/azure/preview/data-factory.md b/api/overview/azure/preview/data-factory.md index 3581ee5a0730..3fc40d0e46f1 100644 --- a/api/overview/azure/preview/data-factory.md +++ b/api/overview/azure/preview/data-factory.md @@ -3,7 +3,7 @@ title: Azure Data Factory SDK for .NET description: Reference for Azure Data Factory SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: datafactory diff --git a/api/overview/azure/preview/data-lake-analytics.md b/api/overview/azure/preview/data-lake-analytics.md index aa6c7ae16cac..d7468a39f64a 100644 --- a/api/overview/azure/preview/data-lake-analytics.md +++ b/api/overview/azure/preview/data-lake-analytics.md @@ -3,7 +3,7 @@ title: Azure Data Lake Analytics SDK for .NET description: Reference for Azure Data Lake Analytics SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: datalakeanalytics diff --git a/api/overview/azure/preview/data-lake-store.md b/api/overview/azure/preview/data-lake-store.md index 90f5ac1dfa96..83a4b6766407 100644 --- a/api/overview/azure/preview/data-lake-store.md +++ b/api/overview/azure/preview/data-lake-store.md @@ -3,7 +3,7 @@ title: Azure Data Lake Store SDK for .NET description: Reference for Azure Data Lake Store SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: datalakestore diff --git a/api/overview/azure/preview/data-share.md b/api/overview/azure/preview/data-share.md index c60b8b71cf28..e35e3af0c4d0 100644 --- a/api/overview/azure/preview/data-share.md +++ b/api/overview/azure/preview/data-share.md @@ -3,7 +3,7 @@ title: Azure Data Share SDK for .NET description: Reference for Azure Data Share SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: datashare diff --git a/api/overview/azure/preview/data.tables-readme.md b/api/overview/azure/preview/data.tables-readme.md deleted file mode 100644 index 93e0c8789445..000000000000 --- a/api/overview/azure/preview/data.tables-readme.md +++ /dev/null @@ -1,302 +0,0 @@ ---- -title: Azure Tables client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.Data.Tables, tables -author: christothes -ms.author: chriss -ms.date: 09/06/2022 -ms.topic: reference -ms.devlang: dotnet -ms.service: tables ---- -# Azure Tables client library for .NET - version 12.7.0-beta.1 - - -Azure Table storage is a service that stores large amounts of structured NoSQL data in the cloud, providing -a key/attribute store with a schema-less design. - -Azure Cosmos DB provides a Table API for applications that are written for Azure Table storage that need premium capabilities like: - -- Turnkey global distribution. -- Dedicated throughput worldwide. -- Single-digit millisecond latencies at the 99th percentile. -- Guaranteed high availability. -- Automatic secondary indexing. - -The Azure Tables client library can seamlessly target either Azure Table storage or Azure Cosmos DB table service endpoints with no code changes. - -[Source code][table_client_src] | [Package (NuGet)][table_client_nuget_package] | [API reference documentation][api_reference] | [Samples][table_client_samples] | [Change Log][table_change_log] - -## Getting started - -### Install the package -Install the Azure Tables client library for .NET with [NuGet][table_client_nuget_package]: - -```dotnetcli -dotnet add package Azure.Data.Tables -``` - -### Prerequisites -* An [Azure subscription][azure_sub]. -* An existing Azure storage account or Azure Cosmos DB database with Azure Table API specified. - -If you need to create either of these, you can use the [Azure CLI][azure_cli]. - -#### Creating a storage account - -Create a storage account `mystorageaccount` in resource group `MyResourceGroup` -in the subscription `MySubscription` in the West US region. -``` -az storage account create -n mystorageaccount -g MyResourceGroup -l westus --subscription MySubscription -``` - -#### Creating a Cosmos DB - -Create a Cosmos DB account `MyCosmosDBDatabaseAccount` in resource group `MyResourceGroup` -in the subscription `MySubscription` and a table named `MyTableName` in the account. - -``` -az cosmosdb create --name MyCosmosDBDatabaseAccount --capabilities EnableTable --resource-group MyResourceGroup --subscription MySubscription - -az cosmosdb table create --name MyTableName --resource-group MyResourceGroup --account-name MyCosmosDBDatabaseAccount -``` - -### Authenticate the Client - -Learn more about options for authentication _(including Connection Strings, Shared Key, Shared Key Signatures, and TokenCredentials)_ [in our samples.](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Data.Tables_12.7.0-beta.1/sdk/tables/Azure.Data.Tables/samples/Sample0Auth.md) - -## Key concepts - -- `TableServiceClient` - Client that provides methods to interact at the Table Service level such as creating, listing, and deleting tables -- `TableClient` - Client that provides methods to interact at an table entity level such as creating, querying, and deleting entities within a table. -- `Table` - Tables store data as collections of entities. -- `Entity` - Entities are similar to rows. An entity has a primary key and a set of properties. A property is a name value pair, similar to a column. - -Common uses of the Table service include: - -- Storing TBs of structured data capable of serving web scale applications -- Storing datasets that don't require complex joins, foreign keys, or stored procedures and can be de-normalized for fast access -- Quickly querying data using a clustered index -- Accessing data using the OData protocol and LINQ filter expressions - -### Thread safety -We guarantee that all client instance methods are thread-safe and independent of each other ([guideline](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-service-methods-thread-safety)). This ensures that the recommendation of reusing client instances is always safe, even across threads. - -### Additional concepts - -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Data.Tables_12.7.0-beta.1/sdk/core/Azure.Core/README.md#configuring-service-clients-using-clientoptions) | -[Accessing the response](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Data.Tables_12.7.0-beta.1/sdk/core/Azure.Core/README.md#accessing-http-response-details-using-responset) | -[Long-running operations](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Data.Tables_12.7.0-beta.1/sdk/core/Azure.Core/README.md#consuming-long-running-operations-using-operationt) | -[Handling failures](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Data.Tables_12.7.0-beta.1/sdk/core/Azure.Core/README.md#reporting-errors-requestfailedexception) | -[Diagnostics](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Data.Tables_12.7.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md) | -[Mocking](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Data.Tables_12.7.0-beta.1/sdk/core/Azure.Core/README.md#mocking) | -[Client lifetime](https://devblogs.microsoft.com/azure-sdk/lifetime-management-and-thread-safety-guarantees-of-azure-sdk-net-clients/) - - -## Examples -- [Create the Table service client](#create-the-table-service-client) - - [Create an Azure table](#create-an-azure-table) - - [Get an Azure table](#get-an-azure-table) - - [Delete an Azure table](#delete-an-azure-table) -- [Create the Table client](#create-the-table-client) - - [Add table entities](#add-table-entities) - - [Query table entities ](#query-table-entities) - - [Delete table entities](#delete-table-entities) - -### Create the Table service client - -First, we need to construct a `TableServiceClient`. - -```C# Snippet:TablesSample1CreateClient -// Construct a new "TableServiceClient using a TableSharedKeyCredential. - -var serviceClient = new TableServiceClient( - new Uri(storageUri), - new TableSharedKeyCredential(accountName, storageAccountKey)); -``` - -### Create an Azure table -Next, we can create a new table. - -```C# Snippet:TablesSample1CreateTable -// Create a new table. The TableItem class stores properties of the created table. -string tableName = "OfficeSupplies1p1"; -TableItem table = serviceClient.CreateTableIfNotExists(tableName); -Console.WriteLine($"The created table's name is {table.Name}."); -``` - -### Get an Azure table -The set of existing Azure tables can be queries using an OData filter. - -```C# Snippet:TablesSample3QueryTables -// Use the to query the service. Passing in OData filter strings is optional. - -Pageable queryTableResults = serviceClient.Query(filter: $"TableName eq '{tableName}'"); - -Console.WriteLine("The following are the names of the tables in the query results:"); - -// Iterate the in order to access queried tables. - -foreach (TableItem table in queryTableResults) -{ - Console.WriteLine(table.Name); -} -``` - -### Delete an Azure table - -Individual tables can be deleted from the service. - -```C# Snippet:TablesSample1DeleteTable -// Deletes the table made previously. -string tableName = "OfficeSupplies1p1"; -serviceClient.DeleteTable(tableName); -``` - -### Create the Table client - -To interact with table entities, we must first construct a `TableClient`. - -```C# Snippet:TablesSample2CreateTableWithTableClient -// Construct a new using a . -var tableClient = new TableClient( - new Uri(storageUri), - tableName, - new TableSharedKeyCredential(accountName, storageAccountKey)); - -// Create the table in the service. -tableClient.Create(); -``` - -### Add table entities - -Let's define a new `TableEntity` so that we can add it to the table. - -```C# Snippet:TablesSample2CreateDictionaryEntity -// Make a dictionary entity by defining a . -var entity = new TableEntity(partitionKey, rowKey) -{ - { "Product", "Marker Set" }, - { "Price", 5.00 }, - { "Quantity", 21 } -}; - -Console.WriteLine($"{entity.RowKey}: {entity["Product"]} costs ${entity.GetDouble("Price")}."); -``` - -Using the `TableClient` we can now add our new entity to the table. - -```C# Snippet:TablesSample2AddEntity -// Add the newly created entity. -tableClient.AddEntity(entity); -``` - -### Query table entities - -To inspect the set of existing table entities, we can query the table using an OData filter. - -```C# Snippet:TablesSample4QueryEntitiesFilter -Pageable queryResultsFilter = tableClient.Query(filter: $"PartitionKey eq '{partitionKey}'"); - -// Iterate the to access all queried entities. -foreach (TableEntity qEntity in queryResultsFilter) -{ - Console.WriteLine($"{qEntity.GetString("Product")}: {qEntity.GetDouble("Price")}"); -} - -Console.WriteLine($"The query returned {queryResultsFilter.Count()} entities."); -``` - -If you prefer LINQ style query expressions, we can query the table using that syntax as well. - -```C# Snippet:TablesSample4QueryEntitiesExpression -double priceCutOff = 6.00; -Pageable queryResultsLINQ = tableClient.Query(ent => ent.Price >= priceCutOff); -``` - -### Delete table entities - -If we no longer need our new table entity, it can be deleted. - -```C# Snippet:TablesSample2DeleteEntity -// Delete the entity given the partition and row key. -tableClient.DeleteEntity(partitionKey, rowKey); -``` - -## Troubleshooting - -When you interact with the Azure table library using the .NET SDK, errors returned by the service correspond to the same HTTP -status codes returned for [REST API][tables_rest] requests. - -For example, if you try to create a table that already exists, a `409` error is returned, indicating "Conflict". - -```C# Snippet:CreateDuplicateTable -// Construct a new TableClient using a connection string. - -var client = new TableClient( - connectionString, - tableName); - -// Create the table if it doesn't already exist. - -client.CreateIfNotExists(); - -// Now attempt to create the same table unconditionally. - -try -{ - client.Create(); -} -catch (RequestFailedException ex) when (ex.Status == (int)HttpStatusCode.Conflict) -{ - Console.WriteLine(ex.ToString()); -} -``` - -### Setting up console logging - -The simplest way to see the logs is to enable the console logging. -To create an Azure SDK log listener that outputs messages to console use AzureEventSourceListener.CreateConsoleLogger method. - -```C# -// Setup a listener to monitor logged events. -using AzureEventSourceListener listener = AzureEventSourceListener.CreateConsoleLogger(level: EventLevel.Informational); -``` - -To learn more about other logging mechanisms see [here][logging]. - -## Next steps - -Get started with our [Table samples][table_client_samples]. - -## Known Issues - -A list of currently known issues relating to Cosmos DB table endpoints can be found [here](https://aka.ms/tablesknownissues). - -## Contributing - -This project welcomes contributions and suggestions. Most contributions require -you to agree to a Contributor License Agreement (CLA) declaring that you have -the right to, and actually do, grant us the rights to use your contribution. For -details, visit [cla.microsoft.com][cla]. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. -For more information see the [Code of Conduct FAQ][coc_faq] or contact -[opencode@microsoft.com][coc_contact] with any additional questions or comments. - - -[tables_rest]: /rest/api/storageservices/table-service-rest-api -[azure_cli]: /cli/azure -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[table_client_nuget_package]: https://www.nuget.org/packages?q=Azure.Data.Tables -[table_client_samples]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Data.Tables_12.7.0-beta.1/sdk/tables/Azure.Data.Tables/samples -[table_client_src]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Data.Tables_12.7.0-beta.1/sdk/tables/Azure.Data.Tables/src -[table_change_log]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Data.Tables_12.7.0-beta.1/sdk/tables/Azure.Data.Tables/CHANGELOG.md -[api_reference]: /dotnet/api/overview/azure/data.tables-readme-pre?view=azure-dotnet-preview -[logging]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Data.Tables_12.7.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md -[cla]: https://cla.microsoft.com -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[coc_contact]: mailto:opencode@microsoft.com - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Ftables%2FAzure.Data.Tables%2FREADME.png) - diff --git a/api/overview/azure/preview/database-migration-service.md b/api/overview/azure/preview/database-migration-service.md index e0f724db6c30..72202922ee1e 100644 --- a/api/overview/azure/preview/database-migration-service.md +++ b/api/overview/azure/preview/database-migration-service.md @@ -3,7 +3,7 @@ title: Azure Database Migration Service SDK for .NET description: Reference for Azure Database Migration Service SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: databasemigrationservice diff --git a/api/overview/azure/preview/datadog.md b/api/overview/azure/preview/datadog.md index ba7624fc472a..c42921b160fd 100644 --- a/api/overview/azure/preview/datadog.md +++ b/api/overview/azure/preview/datadog.md @@ -3,7 +3,7 @@ title: Azure Datadog SDK for .NET description: Reference for Azure Datadog SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: datadog diff --git a/api/overview/azure/preview/deployment-manager.md b/api/overview/azure/preview/deployment-manager.md index e8fff9f453ca..e39d2825daec 100644 --- a/api/overview/azure/preview/deployment-manager.md +++ b/api/overview/azure/preview/deployment-manager.md @@ -3,7 +3,7 @@ title: Azure Deployment Manager SDK for .NET description: Reference for Azure Deployment Manager SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: deploymentmanager diff --git a/api/overview/azure/preview/dev-center-index.md b/api/overview/azure/preview/dev-center-index.md index 42f9007d4419..39d4e76ca278 100644 --- a/api/overview/azure/preview/dev-center-index.md +++ b/api/overview/azure/preview/dev-center-index.md @@ -1,4 +1,3 @@ | Reference | Package | Source | |---|---|---| |[Dev Center](developer.devcenter-readme.md)|[Azure.Developer.DevCenter](https://www.nuget.org/packages/Azure.Developer.DevCenter)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/devcenter/Azure.Developer.DevCenter)| -|[Resource Management - Dev Center](resourcemanager.devcenter-readme.md)|[Azure.ResourceManager.DevCenter](https://www.nuget.org/packages/Azure.ResourceManager.DevCenter)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/devcenter/Azure.ResourceManager.DevCenter)| diff --git a/api/overview/azure/preview/dev-center.md b/api/overview/azure/preview/dev-center.md index 6fde4888b714..c979da00b8ec 100644 --- a/api/overview/azure/preview/dev-center.md +++ b/api/overview/azure/preview/dev-center.md @@ -3,7 +3,7 @@ title: Azure Dev Center SDK for .NET description: Reference for Azure Dev Center SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: devcenter diff --git a/api/overview/azure/preview/dev-spaces.md b/api/overview/azure/preview/dev-spaces.md index 9d695865841a..6a762f29bc8b 100644 --- a/api/overview/azure/preview/dev-spaces.md +++ b/api/overview/azure/preview/dev-spaces.md @@ -3,7 +3,7 @@ title: Azure Dev Spaces SDK for .NET description: Reference for Azure Dev Spaces SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: devspaces diff --git a/api/overview/azure/preview/developer.loadtesting-readme.md b/api/overview/azure/preview/developer.loadtesting-readme.md deleted file mode 100644 index b5e249a368c1..000000000000 --- a/api/overview/azure/preview/developer.loadtesting-readme.md +++ /dev/null @@ -1,149 +0,0 @@ ---- -title: Azure Load Testing client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.Developer.LoadTesting, azure-load-testing -author: abranj1219 -ms.author: abranj -ms.date: 01/21/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: azure-load-testing ---- -# Azure Load Testing client library for .NET - version 1.0.0-beta.2 - -Azure Load Testing provides client library in .NET to the user by which they can interact natively with Azure Load Testing service. Azure Load Testing is a fully managed load-testing service that enables you to generate high-scale load. The service simulates traffic for your applications, regardless of where they're hosted. Developers, testers, and quality assurance (QA) engineers can use it to optimize application performance, scalability, or capacity. - - [Source code](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Developer.LoadTesting_1.0.0-beta.2/sdk/loadtestservice/Azure.Developer.LoadTesting/src) | [Package (NuGet)](https://www.nuget.org/packages?q=Azure.Developer.Loadtesting) | [API reference documentation](https://azure.github.io/azure-sdk-for-net) | [Product documentation](https://learn.microsoft.com/azure/load-testing/) - - -## Documentation - -Various documentation is available to help you get started - - -- [API reference documentation](/rest/api/loadtesting/) -- [Product Documentation](https://azure.microsoft.com/services/load-testing/) - -## Getting started - - -### Install the package - -Install the client library for .NET with [NuGet](https://www.nuget.org/ ): - -```dotnetcli -dotnet add package Azure.Developer.LoadTesting --prerelease -``` - -### Prerequisites -You must have an [Azure subscription](https://azure.microsoft.com/free/dotnet/) and [Azure Load Test Service Resource](https://learn.microsoft.com/azure/load-testing/). In order to take advantage of the C# 8.0 syntax, it is recommended that you compile using the [.NET Core SDK](https://dotnet.microsoft.com/download) 3.0 or higher with a [language version](/dotnet/csharp/language-reference/configure-language-version#override-a-default) of `latest`. It is also possible to compile with the .NET Core SDK 2.1.x using a language version of `preview`. - - -### Authenticate the client - -To use an [Azure Active Directory (AAD) token credential](https://learn.microsoft.com/aspnet/core/security/authentication/identity), -provide an instance of the desired credential type obtained from the -[azure-identity][azure_identity_credentials] library. - -To authenticate with AAD, you must first use [nuget][nuget] install [`azure-identity`][azure_identity_nuget] - -After setup, you can choose which type of [credential][azure_identity_credentials] from Azure.Identity to use. - -As an example, sign in via the Azure CLI `az login` command and [DefaultAzureCredential](https://learn.microsoft.com/python/api/azure-identity/azure.identity.defaultazurecredential?view=azure-python) will authenticate as that user. - -Use the returned token credential to authenticate the client. - -## Key concepts - -The following components make up the Azure Load Testing service. The Azure Load Test client library for C# allows you to interact with each of these components through the use of clients. There are two clients: - -- `LoadTestAdministrationClient` - -- `LoadTestRunClient` - -These clients are used for managing and using different components of the service. For each method in both of these sub-clients there is a corresponding Async method in the same class, with the same implementation however enabling async functionalities. For example, if there is a method, `CreateOrUpdateTest` as a part of `LoadTestAdministrationClient` then there always exists one more function `CreateOrUpdateTestAsync` in the same client class. - -### Load Test Administration Client - -The `LoadTestAdministrationClient` client is used to administer and configure the load tests, app components and metrics. - -#### Test - -A test specifies the test script, and configuration settings for running a load test. You can create one or more tests in an Azure Load Testing resource. - -#### App Component - -When you run a load test for an Azure-hosted application, you can monitor resource metrics for the different Azure application components (server-side metrics). While the load test runs, and after completion of the test, you can monitor and analyze the resource metrics in the Azure Load Testing dashboard. - -#### Metrics - -During a load test, Azure Load Testing collects metrics about the test execution. There are two types of metrics: - -1. Client-side metrics give you details reported by the test engine. These metrics include the number of virtual users, the request response time, the number of failed requests, or the number of requests per second. - -2. Server-side metrics are available for Azure-hosted applications and provide information about your Azure application components. Metrics can be for the number of database reads, the type of HTTP responses, or container resource consumption. - -### Test Run Client - -The `LoadTestRunClient` client is used to start and stop test runs corresponding to a load test. A test run represents one execution of a load test. It collects the logs associated with running the Apache JMeter script, the load test YAML configuration, the list of app components to monitor, and the results of the test. - -### Data-Plane Endpoint - -Data-plane of Azure Load Testing resources is addressable using the following URL format: - -`00000000-0000-0000-0000-000000000000.aaa.cnt-prod.loadtesting.azure.com` - -The first GUID `00000000-0000-0000-0000-000000000000` is the unique identifier used for accessing the Azure Load Testing resource. This is followed by `aaa` which is the Azure region of the resource. - -The data-plane endpoint is obtained from Control Plane APIs. - -**Example:** `1234abcd-12ab-12ab-12ab-123456abcdef.eus.cnt-prod.loadtesting.azure.com` - -In the above example, `eus` represents the Azure region `East US`. -## Examples - -You can familiarize yourself with different APIs using [Samples](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.LoadTesting_1.0.0-beta.2/sdk/loadtestservice/Azure.Developer.LoadTesting/samples). - - -## Troubleshooting -More about it is coming soon... - - -### Thread safety - -We guarantee that all client instance methods are thread-safe and independent of each other ([guideline](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-service-methods-thread-safety)). This ensures that the recommendation of reusing client instances is always safe, even across threads. - -## Next steps - -Get started with our [samples](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.LoadTesting_1.0.0-beta.2/sdk/loadtestservice/Azure.Developer.LoadTesting/samples). - -## Contributing - -This is a template, but your SDK readme should include details on how to contribute code to the repo/package. - -### Additional concepts - -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Developer.LoadTesting_1.0.0-beta.2/sdk/core/Azure.Core/README.md#configuring-service-clients-using-clientoptions) | -[Accessing the response](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Developer.LoadTesting_1.0.0-beta.2/sdk/core/Azure.Core/README.md#accessing-http-response-details-using-responset) | -[Long-running operations](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Developer.LoadTesting_1.0.0-beta.2/sdk/core/Azure.Core/README.md#consuming-long-running-operations-using-operationt) | -[Handling failures](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Developer.LoadTesting_1.0.0-beta.2/sdk/core/Azure.Core/README.md#reporting-errors-requestfailedexception) | -[Diagnostics](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Developer.LoadTesting_1.0.0-beta.2/sdk/core/Azure.Core/samples/Diagnostics.md) | -[Mocking](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Developer.LoadTesting_1.0.0-beta.2/sdk/core/Azure.Core/README.md#mocking) | -[Client lifetime](https://devblogs.microsoft.com/azure-sdk/lifetime-management-and-thread-safety-guarantees-of-azure-sdk-net-clients/) - - - - - - -[style-guide-msft]: /style-guide/capitalization -[style-guide-cloud]: https://aka.ms/azsdk/cloud-style-guide -[code_of_conduct]: https://opensource.microsoft.com/codeofconduct/ -[authenticate_with_token]: https://learn.microsoft.com/aspnet/core/security/authentication/identity -[azure_identity_credentials]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Developer.LoadTesting_1.0.0-beta.2/sdk/identity/Azure.Identity#credentials -[azure_identity_nuget]: https://www.nuget.org/packages/Azure.Identity/1.7.0 -[client_secret_credential]: https://learn.microsoft.com/dotnet/api/azure.identity.clientsecretcredential -[nuget]: https://www.nuget.org/ -[azure_sub]: https://azure.microsoft.com/free/ -[api_reference_doc]: /rest/api/loadtesting/ -[product_documentation]: https://azure.microsoft.com/services/load-testing/ - diff --git a/api/overview/azure/preview/devtest-labs.md b/api/overview/azure/preview/devtest-labs.md index 0ce6e887d364..4d5515dcaa3e 100644 --- a/api/overview/azure/preview/devtest-labs.md +++ b/api/overview/azure/preview/devtest-labs.md @@ -3,7 +3,7 @@ title: Azure DevTest Labs SDK for .NET description: Reference for Azure DevTest Labs SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: devtest-lab diff --git a/api/overview/azure/preview/digitaltwins.core-readme.md b/api/overview/azure/preview/digitaltwins.core-readme.md deleted file mode 100644 index 567b5b8e4582..000000000000 --- a/api/overview/azure/preview/digitaltwins.core-readme.md +++ /dev/null @@ -1,169 +0,0 @@ ---- -title: Azure IoT Digital Twins client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.DigitalTwins.Core, iot -author: johngallardo -ms.author: jgalla -ms.date: 03/25/2022 -ms.topic: reference -ms.prod: azure -ms.technology: azure -ms.devlang: dotnet -ms.service: iot ---- -# Azure IoT Digital Twins client library for .NET - version 1.4.0-beta.1 - - -This library provides access to the Azure Digital Twins service for managing twins, models, relationships, etc. - - [Source code][source] | [Package (nuget)][package] - -## Getting started - -The complete Microsoft Azure SDK can be downloaded from the [Microsoft Azure downloads][microsoft_sdk_download] page, and it ships with support for building deployment packages, integrating with tooling, rich command line tooling, and more. - -For the best development experience, developers should use the official Microsoft NuGet packages for libraries. NuGet packages are regularly updated with new functionality and hotfixes. - -### Install the package - -Install the Azure Digital Twins client library for .NET with [NuGet][nuget]: - -```PowerShell -Install-Package Azure.DigitalTwins.Core -``` - -View the package details at [nuget.org][adt_nuget]. - -### Prerequisites - -- A Microsoft Azure Subscription - - To call Microsoft Azure services, create an [Azure subscription][azure_sub]. -- An Azure Digital Twins instance - - In order to use the Azure Digital Twins SDK, first create a Digital Twins instance using one of options: - - Using [Azure portal][azure_portal] - - Using [Azure Management APIs][azure_rest_api] - - Using [Azure CLI][azure_cli] - - You will need to install azure cli and the [Azure IoT extension][iot_cli_extension] for Azure CLI. - - Refer to [IoT CLI documentation][iot_cli_doc] for more information on how to create and interact with your Digital Twins instance. - -### Authenticate the Client - -In order to interact with the Azure Digital Twins service, you will need to create an instance of a [TokenCredential class][token_credential] and pass it to the constructor of your [DigitalTwinsClient][digital_twins_client]. - -## Key concepts - -Azure Digital Twins Preview is an Azure IoT service that creates comprehensive models of the physical environment. -It can create spatial intelligence graphs to model the relationships and interactions between people, spaces, and devices. - -You can learn more about Azure Digital Twins by visiting [Azure Digital Twins Documentation][digital_twins_documentation] - -### Thread safety -We guarantee that all client instance methods are thread-safe and independent of each other ([guideline](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-service-methods-thread-safety)). This ensures that the recommendation of reusing client instances is always safe, even across threads. - -### Additional concepts - -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.DigitalTwins.Core_1.4.0-beta.1/sdk/core/Azure.Core/README.md#configuring-service-clients-using-clientoptions) | -[Accessing the response](https://github.com/Azure/azure-sdk-for-net/blob/Azure.DigitalTwins.Core_1.4.0-beta.1/sdk/core/Azure.Core/README.md#accessing-http-response-details-using-responset) | -[Long-running operations](https://github.com/Azure/azure-sdk-for-net/blob/Azure.DigitalTwins.Core_1.4.0-beta.1/sdk/core/Azure.Core/README.md#consuming-long-running-operations-using-operationt) | -[Handling failures](https://github.com/Azure/azure-sdk-for-net/blob/Azure.DigitalTwins.Core_1.4.0-beta.1/sdk/core/Azure.Core/README.md#reporting-errors-requestfailedexception) | -[Diagnostics](https://github.com/Azure/azure-sdk-for-net/blob/Azure.DigitalTwins.Core_1.4.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md) | -[Mocking](https://github.com/Azure/azure-sdk-for-net/blob/Azure.DigitalTwins.Core_1.4.0-beta.1/sdk/core/Azure.Core/README.md#mocking) | -[Client lifetime](https://devblogs.microsoft.com/azure-sdk/lifetime-management-and-thread-safety-guarantees-of-azure-sdk-net-clients/) - - -## Examples - -You can familiarize yourself with different APIs using [samples for Digital Twins](https://github.com/Azure/azure-sdk-for-net/blob/Azure.DigitalTwins.Core_1.4.0-beta.1/sdk/digitaltwins/Azure.DigitalTwins.Core/samples/). - -## Source code folder structure - -### /src - -The Digital Twins public client, `DigitalTwinsClient`, and the additional configuration options, `DigitalTwinsClientOptions`, that can be sent to the Digital Twins service. - -### /src/Generated - -The code generated by autorest using the swagger file defined in the autorest config file. - -To regenerate the code, run the powershell script [generate.ps1](https://github.com/Azure/azure-sdk-for-net/blob/Azure.DigitalTwins.Core_1.4.0-beta.1/sdk/digitaltwins/Azure.DigitalTwins.Core/src/generate.ps1). - -Any time the client library code is updated, the following scripts need to be run: - -- [Export-AdtApis.ps1](https://github.com/Azure/azure-sdk-for-net/blob/Azure.DigitalTwins.Core_1.4.0-beta.1/sdk/digitaltwins/Export-AdtApis.ps1), which will update the [API surface document](https://github.com/Azure/azure-sdk-for-net/blob/Azure.DigitalTwins.Core_1.4.0-beta.1/sdk/digitaltwins/Azure.DigitalTwins.Core/api/Azure.DigitalTwins.Core.netstandard2.0.cs). -- [Update-Snippets.ps1](https://github.com/Azure/azure-sdk-for-net/blob/Azure.DigitalTwins.Core_1.4.0-beta.1/sdk/digitaltwins/Update-AdtSnippets.ps1), which will update all the code snippets in the readme files and in the client documentation comments. - -### /src/Customized - -The customzied code written to override the following behavior of auto-generated code: - -- Rename some of the generated types, eg. [GetModelsOptions](https://github.com/Azure/azure-sdk-for-net/blob/Azure.DigitalTwins.Core_1.4.0-beta.1/sdk/digitaltwins/Azure.DigitalTwins.Core/src/Customized/Models/GetModelsOptions.cs) -- Declare some of the generated types as **internal**, instead of the autorest default of **public**. -- Declare some methods to accept input parameters as **strings** instead of **objects**. -- Declare some methods to return the response as **strings** instead of **objects**. - -### /src/Models - -Model classes useful for use with the Digital Twins client operations. - -### /src/Properties - -Assembly properties required for running unit tests. - -### /src/Serialization - -Serialization helpers provided to help serialize/deserialize commonly used types within the Digital Twins service. - -## Troubleshooting - -All service operations will throw RequestFailedException on failure reported by the service, with helpful error codes and other information. - -For example, use the `GetModelAsync` operation to check if the model exists before creating it, catch only when that specific [HttpStatusCode][http_status_code] is specified. - -```csharp -try -{ - Response desiredModel = await DigitalTwinsClient.GetModelAsync(desiredModelId); -} -catch (RequestFailedException ex) when (ex.Status == (int)HttpStatusCode.NotFound) -{ - // Model does not exist, so create it. -} -``` - -## Next steps - -See implementation examples with our [code samples](https://github.com/Azure/azure-sdk-for-net/blob/Azure.DigitalTwins.Core_1.4.0-beta.1/sdk/digitaltwins/Azure.DigitalTwins.Core/samples). - -## Contributing - -This project welcomes contributions and suggestions. -Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. -For details, visit - -When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). -Simply follow the instructions provided by the bot. -You will only need to do this once across all repos using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][code_of_conduct]. -For more information see the [Code of Conduct FAQ][code_of_conduct_faq] or contact opencode@microsoft.com with any additional questions or comments. - - -[microsoft_sdk_download]: https://azure.microsoft.com/downloads/?sdk=net -[azure_sdk_target_frameworks]: https://github.com/azure/azure-sdk-for-net#target-frameworks -[azure_cli]: https://docs.microsoft.com/cli/azure -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[source]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.DigitalTwins.Core_1.4.0-beta.1/sdk/digitaltwins/Azure.DigitalTwins.Core/src -[package]: https://www.nuget.org/packages/Azure.DigitalTwins.Core -[code_of_conduct]: https://opensource.microsoft.com/codeofconduct/ -[code_of_conduct_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[nuget]: https://www.nuget.org/ -[azure_portal]: https://portal.azure.com/ -[azure_rest_api]: https://docs.microsoft.com/rest/api/azure/ -[azure_core_library]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.DigitalTwins.Core_1.4.0-beta.1/sdk/core/Azure.Core -[token_credential]: https://docs.microsoft.com/dotnet/api/azure.core.tokencredential?view=azure-dotnet -[digital_twins_client]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.DigitalTwins.Core_1.4.0-beta.1/sdk/digitaltwins/Azure.DigitalTwins.Core/src/DigitalTwinsClient.cs -[digital_twins_documentation]: https://docs.microsoft.com/azure/digital-twins/ -[iot_cli_extension]: https://github.com/Azure/azure-iot-cli-extension/releases -[iot_cli_doc]: https://docs.microsoft.com/cli/azure/azure-cli-reference-for-iot -[http_status_code]: https://docs.microsoft.com/dotnet/api/system.net.httpstatuscode?view=netcore-3.1 -[adt_nuget]: https://www.nuget.org/packages/Azure.DigitalTwins.Core - diff --git a/api/overview/azure/preview/dns-resolver.md b/api/overview/azure/preview/dns-resolver.md index 7338667093fe..0634f7546314 100644 --- a/api/overview/azure/preview/dns-resolver.md +++ b/api/overview/azure/preview/dns-resolver.md @@ -3,7 +3,7 @@ title: Azure DNS Resolver SDK for .NET description: Reference for Azure DNS Resolver SDK for .NET author: dnssuppgithub ms.author: dnssuppgithub -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: dnsresolver diff --git a/api/overview/azure/preview/dns.md b/api/overview/azure/preview/dns.md index f3a4370ce352..56a93fa794ff 100644 --- a/api/overview/azure/preview/dns.md +++ b/api/overview/azure/preview/dns.md @@ -3,7 +3,7 @@ title: Azure DNS SDK for .NET description: Reference for Azure DNS SDK for .NET author: dnssuppgithub ms.author: dnssuppgithub -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: dns diff --git a/api/overview/azure/preview/dynatrace.md b/api/overview/azure/preview/dynatrace.md index de1bbe233f73..07f20568d8f3 100644 --- a/api/overview/azure/preview/dynatrace.md +++ b/api/overview/azure/preview/dynatrace.md @@ -3,7 +3,7 @@ title: Azure Dynatrace SDK for .NET description: Reference for Azure Dynatrace SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: dynatrace diff --git a/api/overview/azure/preview/edge-order.md b/api/overview/azure/preview/edge-order.md index 7b3ef6c72c0a..246417de6131 100644 --- a/api/overview/azure/preview/edge-order.md +++ b/api/overview/azure/preview/edge-order.md @@ -3,7 +3,7 @@ title: Azure Edge Order SDK for .NET description: Reference for Azure Edge Order SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: edgeorder diff --git a/api/overview/azure/preview/elastic.md b/api/overview/azure/preview/elastic.md index 294e5d6314d2..83b2b5f37451 100644 --- a/api/overview/azure/preview/elastic.md +++ b/api/overview/azure/preview/elastic.md @@ -3,7 +3,7 @@ title: Azure Elastic SDK for .NET description: Reference for Azure Elastic SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: elastic diff --git a/api/overview/azure/preview/elasticsan.md b/api/overview/azure/preview/elasticsan.md index 31aeec1dea41..a0f56d6b2384 100644 --- a/api/overview/azure/preview/elasticsan.md +++ b/api/overview/azure/preview/elasticsan.md @@ -3,7 +3,7 @@ title: Azure Elasticsan SDK for .NET description: Reference for Azure Elasticsan SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: elasticsan diff --git a/api/overview/azure/preview/energy-services.md b/api/overview/azure/preview/energy-services.md index ac788f3671c1..d1b39cce2b51 100644 --- a/api/overview/azure/preview/energy-services.md +++ b/api/overview/azure/preview/energy-services.md @@ -3,7 +3,7 @@ title: Azure Energy Services SDK for .NET description: Reference for Azure Energy Services SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: energyservices diff --git a/api/overview/azure/preview/event-grid-index.md b/api/overview/azure/preview/event-grid-index.md index f2bbd1f34425..e6cf18c071c4 100644 --- a/api/overview/azure/preview/event-grid-index.md +++ b/api/overview/azure/preview/event-grid-index.md @@ -1,4 +1,3 @@ | Reference | Package | Source | |---|---|---| -|[Event Grid](messaging.eventgrid-readme.md)|[Azure.Messaging.EventGrid](https://www.nuget.org/packages/Azure.Messaging.EventGrid)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/eventgrid/Azure.Messaging.EventGrid)| |[Resource Management - Event Grid](resourcemanager.eventgrid-readme.md)|[Azure.ResourceManager.EventGrid](https://www.nuget.org/packages/Azure.ResourceManager.EventGrid)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/eventgrid/Azure.ResourceManager.EventGrid)| diff --git a/api/overview/azure/preview/event-grid.md b/api/overview/azure/preview/event-grid.md index cef282713ec3..15816f9a29a0 100644 --- a/api/overview/azure/preview/event-grid.md +++ b/api/overview/azure/preview/event-grid.md @@ -3,7 +3,7 @@ title: Azure Event Grid SDK for .NET description: Reference for Azure Event Grid SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: eventgrid diff --git a/api/overview/azure/preview/event-hubs-index.md b/api/overview/azure/preview/event-hubs-index.md index 1ba429b527a5..037c48340de6 100644 --- a/api/overview/azure/preview/event-hubs-index.md +++ b/api/overview/azure/preview/event-hubs-index.md @@ -1,5 +1,3 @@ | Reference | Package | Source | |---|---|---| -|[Event Hubs](messaging.eventhubs-readme.md)|[Azure.Messaging.EventHubs](https://www.nuget.org/packages/Azure.Messaging.EventHubs)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/eventhub/Azure.Messaging.EventHubs)| -|[Event Hubs - Event Processor](messaging.eventhubs.processor-readme.md)|[Azure.Messaging.EventHubs.Processor](https://www.nuget.org/packages/Azure.Messaging.EventHubs.Processor)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/eventhub/Azure.Messaging.EventHubs.Processor)| |[Resource Management - Event Hubs](resourcemanager.eventhubs-readme.md)|[Azure.ResourceManager.EventHubs](https://www.nuget.org/packages/Azure.ResourceManager.EventHubs)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/eventhub/Azure.ResourceManager.EventHubs)| diff --git a/api/overview/azure/preview/event-hubs.md b/api/overview/azure/preview/event-hubs.md index 746e4291be3c..284182e3ec20 100644 --- a/api/overview/azure/preview/event-hubs.md +++ b/api/overview/azure/preview/event-hubs.md @@ -3,7 +3,7 @@ title: Azure Event Hubs SDK for .NET description: Reference for Azure Event Hubs SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: eventhubs diff --git a/api/overview/azure/preview/extended-location.md b/api/overview/azure/preview/extended-location.md index 90cc7a559b3c..51a6db84e5c2 100644 --- a/api/overview/azure/preview/extended-location.md +++ b/api/overview/azure/preview/extended-location.md @@ -3,7 +3,7 @@ title: Azure Extended Location SDK for .NET description: Reference for Azure Extended Location SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: extendedlocation diff --git a/api/overview/azure/preview/farmbeats.md b/api/overview/azure/preview/farmbeats.md index c8ed2ddf1dc0..1bbba432783a 100644 --- a/api/overview/azure/preview/farmbeats.md +++ b/api/overview/azure/preview/farmbeats.md @@ -3,7 +3,7 @@ title: Azure FarmBeats SDK for .NET description: Reference for Azure FarmBeats SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: farmbeats diff --git a/api/overview/azure/preview/fluid-relay.md b/api/overview/azure/preview/fluid-relay.md index 40fe7efdae5d..b1843f4a3695 100644 --- a/api/overview/azure/preview/fluid-relay.md +++ b/api/overview/azure/preview/fluid-relay.md @@ -3,7 +3,7 @@ title: Azure Fluid Relay SDK for .NET description: Reference for Azure Fluid Relay SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: fluidrelay diff --git a/api/overview/azure/preview/front-door.md b/api/overview/azure/preview/front-door.md index 0c1ac8b32e7f..138ef9aef8ff 100644 --- a/api/overview/azure/preview/front-door.md +++ b/api/overview/azure/preview/front-door.md @@ -3,7 +3,7 @@ title: Azure Front Door SDK for .NET description: Reference for Azure Front Door SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: frontdoor diff --git a/api/overview/azure/preview/functions-index.md b/api/overview/azure/preview/functions-index.md index bbc6613ffc3e..2ffb83215c62 100644 --- a/api/overview/azure/preview/functions-index.md +++ b/api/overview/azure/preview/functions-index.md @@ -1,11 +1,5 @@ | Reference | Package | Source | |---|---|---| |Microsoft.Azure.Functions.Worker|[Microsoft.Azure.Functions.Worker](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/)| -|[Functions extension for Blob Storage](microsoft.webjobs.extensions.storage.blobs-readme.md)|[Microsoft.Azure.WebJobs.Extensions.Storage.Blobs](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs)| -|[Functions extension for Storage Queues](microsoft.webjobs.extensions.storage.queues-readme.md)|[Microsoft.Azure.WebJobs.Extensions.Storage.Queues](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Storage.Queues)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Queues)| |Functions extension for Authentication Events|[Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/entra/Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents)| -|WebJobs Extensions - Event Grid|[Microsoft.Azure.WebJobs.Extensions.EventGrid](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EventGrid)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/eventgrid/Microsoft.Azure.WebJobs.Extensions.EventGrid)| -|WebJobs Extensions - SignalR Service|[Microsoft.Azure.WebJobs.Extensions.SignalRService](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.SignalRService)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/signalr/Microsoft.Azure.WebJobs.Extensions.SignalRService)| -|[WebJobs Extensions - Storage](microsoft.webjobs.extensions.storage-readme.md)|[Microsoft.Azure.WebJobs.Extensions.Storage](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Storage)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage)| -|Functions extension for Azure Tables|[Microsoft.Azure.WebJobs.Extensions.Tables](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Tables)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/tables/Microsoft.Azure.WebJobs.Extensions.Tables)| |Functions Extensions - WebPubSub|[Microsoft.Azure.Functions.Worker.Extensions.WebPubSub](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.WebPubSub)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/webpubsub/Microsoft.Azure.Functions.Worker.Extensions.WebPubSub)| diff --git a/api/overview/azure/preview/functions.md b/api/overview/azure/preview/functions.md index 5d31f22fbe0a..85ec0a114f31 100644 --- a/api/overview/azure/preview/functions.md +++ b/api/overview/azure/preview/functions.md @@ -3,7 +3,7 @@ title: Azure Functions SDK for .NET description: Reference for Azure Functions SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: functions diff --git a/api/overview/azure/preview/grafana.md b/api/overview/azure/preview/grafana.md index 2fee0cfe0f15..5d9b0c8a74b1 100644 --- a/api/overview/azure/preview/grafana.md +++ b/api/overview/azure/preview/grafana.md @@ -3,7 +3,7 @@ title: Azure Grafana SDK for .NET description: Reference for Azure Grafana SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: grafana diff --git a/api/overview/azure/preview/guest-configuration.md b/api/overview/azure/preview/guest-configuration.md index 581a9adedf29..a0f1f8145a69 100644 --- a/api/overview/azure/preview/guest-configuration.md +++ b/api/overview/azure/preview/guest-configuration.md @@ -3,7 +3,7 @@ title: Azure Guest Configuration SDK for .NET description: Reference for Azure Guest Configuration SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: guestconfiguration diff --git a/api/overview/azure/preview/hdinsight.containers.md b/api/overview/azure/preview/hdinsight.containers.md index e36c5f95582b..60ed7f5be7ac 100644 --- a/api/overview/azure/preview/hdinsight.containers.md +++ b/api/overview/azure/preview/hdinsight.containers.md @@ -3,7 +3,7 @@ title: Azure Hdinsight.Containers SDK for .NET description: Reference for Azure Hdinsight.Containers SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: hdinsight.containers diff --git a/api/overview/azure/preview/hdinsight.md b/api/overview/azure/preview/hdinsight.md index 7e2771fcab88..109d092b2377 100644 --- a/api/overview/azure/preview/hdinsight.md +++ b/api/overview/azure/preview/hdinsight.md @@ -3,7 +3,7 @@ title: Azure HDInsight SDK for .NET description: Reference for Azure HDInsight SDK for .NET author: aim-for-better ms.author: zhezhou -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: hdinsight diff --git a/api/overview/azure/preview/health-bot.md b/api/overview/azure/preview/health-bot.md index 87ff5f1c7054..cdf85f2e9e85 100644 --- a/api/overview/azure/preview/health-bot.md +++ b/api/overview/azure/preview/health-bot.md @@ -3,7 +3,7 @@ title: Azure Health Bot SDK for .NET description: Reference for Azure Health Bot SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: healthbot diff --git a/api/overview/azure/preview/health-insights.md b/api/overview/azure/preview/health-insights.md index 4d7c7253325e..ab787caa28f5 100644 --- a/api/overview/azure/preview/health-insights.md +++ b/api/overview/azure/preview/health-insights.md @@ -3,7 +3,7 @@ title: Azure Health Insights SDK for .NET description: Reference for Azure Health Insights SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: healthinsights diff --git a/api/overview/azure/preview/healthcare-apis.md b/api/overview/azure/preview/healthcare-apis.md index 37c13ce71e69..58a80931444d 100644 --- a/api/overview/azure/preview/healthcare-apis.md +++ b/api/overview/azure/preview/healthcare-apis.md @@ -3,7 +3,7 @@ title: Azure Healthcare APIs SDK for .NET description: Reference for Azure Healthcare APIs SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: healthcareapis diff --git a/api/overview/azure/preview/hybrid-compute.md b/api/overview/azure/preview/hybrid-compute.md index 1da97e9a0316..eddcade24ab0 100644 --- a/api/overview/azure/preview/hybrid-compute.md +++ b/api/overview/azure/preview/hybrid-compute.md @@ -3,7 +3,7 @@ title: Azure Hybrid Compute SDK for .NET description: Reference for Azure Hybrid Compute SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: hybridcompute diff --git a/api/overview/azure/preview/hybrid-connectivity.md b/api/overview/azure/preview/hybrid-connectivity.md index 9bb918cf5c56..21b4dc6471ce 100644 --- a/api/overview/azure/preview/hybrid-connectivity.md +++ b/api/overview/azure/preview/hybrid-connectivity.md @@ -3,7 +3,7 @@ title: Azure Hybrid Connectivity SDK for .NET description: Reference for Azure Hybrid Connectivity SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: hybridconnectivity diff --git a/api/overview/azure/preview/hybrid-container-service.md b/api/overview/azure/preview/hybrid-container-service.md index 6ada9daeb54c..e48af67dd81c 100644 --- a/api/overview/azure/preview/hybrid-container-service.md +++ b/api/overview/azure/preview/hybrid-container-service.md @@ -3,7 +3,7 @@ title: Azure Hybrid Container Service SDK for .NET description: Reference for Azure Hybrid Container Service SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: hybridcontainerservice diff --git a/api/overview/azure/preview/hybrid-kubernetes.md b/api/overview/azure/preview/hybrid-kubernetes.md index 6411e352e53e..8651801ab769 100644 --- a/api/overview/azure/preview/hybrid-kubernetes.md +++ b/api/overview/azure/preview/hybrid-kubernetes.md @@ -3,7 +3,7 @@ title: Azure Hybrid Kubernetes SDK for .NET description: Reference for Azure Hybrid Kubernetes SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: hybridkubernetes diff --git a/api/overview/azure/preview/identity-index.md b/api/overview/azure/preview/identity-index.md index ade69b2a2e0d..d17540cd4905 100644 --- a/api/overview/azure/preview/identity-index.md +++ b/api/overview/azure/preview/identity-index.md @@ -1,4 +1,3 @@ | Reference | Package | Source | |---|---|---| -|[Identity](identity-readme.md)|[Azure.Identity](https://www.nuget.org/packages/Azure.Identity)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/identity/Azure.Identity)| |[Brokered Authentication](identity.brokeredauthentication-readme.md)|[Azure.Identity.BrokeredAuthentication](https://www.nuget.org/packages/Azure.Identity.BrokeredAuthentication)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/identity/Azure.Identity.BrokeredAuthentication)| diff --git a/api/overview/azure/preview/identity-readme.md b/api/overview/azure/preview/identity-readme.md deleted file mode 100644 index 7dc9351a887f..000000000000 --- a/api/overview/azure/preview/identity-readme.md +++ /dev/null @@ -1,427 +0,0 @@ ---- -title: Azure Identity client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.Identity, identity -author: schaabs -ms.author: sschaab -ms.date: 07/17/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: identity ---- -# Azure Identity client library for .NET - version 1.10.0-beta.1 - - -The Azure Identity library provides [Azure Active Directory (Azure AD)](https://learn.microsoft.com/azure/active-directory/fundamentals/active-directory-whatis) token authentication support across the Azure SDK. It provides a set of [`TokenCredential`](https://learn.microsoft.com/dotnet/api/azure.core.tokencredential?view=azure-dotnet) implementations which can be used to construct Azure SDK clients which support Azure AD token authentication. - - [Source code][source] | [Package (NuGet)][package] | [API reference documentation][identity_api_docs] | [Azure AD documentation][aad_doc] - -## Getting started - -### Install the package - -Install the Azure Identity client library for .NET with [NuGet][nuget]: - -```dotnetcli -dotnet add package Azure.Identity -``` - -### Prerequisites - -* An [Azure subscription][azure_sub]. -* The [Azure CLI][azure_cli] can also be useful for authenticating in a development environment, creating accounts, and managing account roles. - -### Authenticate the client - -When debugging and executing code locally it is typical for a developer to use their own account for authenticating calls to Azure services. There are several developer tools which can be used to perform this authentication in your development environment. - -#### Authenticate via Visual Studio - -Developers using Visual Studio 2017 or later can authenticate an Azure AD account through the IDE. Applications using the `DefaultAzureCredential` or the `VisualStudioCredential` can then use this account to authenticate calls in their application when running locally. - -To authenticate in Visual Studio, select the **Tools** > **Options** menu to launch the Options dialog. Then navigate to the `Azure Service Authentication` options to sign in with your Azure AD account. - -![Visual Studio Account Selection][vs_login_image] - -#### Authenticate via Visual Studio Code - -Developers using Visual Studio Code can use the [Azure Account extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.azure-account) to authenticate via the editor. Applications using the `DefaultAzureCredential` or the `VisualStudioCodeCredential` can then use this account to authenticate calls in their application when running locally. - -It's a [known issue](https://github.com/Azure/azure-sdk-for-net/issues/27263) that `VisualStudioCodeCredential` doesn't work with [Azure Account extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.azure-account) versions newer than **0.9.11**. A long-term fix to this problem is in progress. In the meantime, consider [authenticating via the Azure CLI](#authenticating-via-the-azure-cli). - -#### Authenticate via the Azure CLI - -Developers coding outside of an IDE can also use the [Azure CLI][azure_cli] to authenticate. Applications using the `DefaultAzureCredential` or the `AzureCliCredential` can then use this account to authenticate calls in their application when running locally. - -To authenticate with the [Azure CLI][azure_cli], users can run the command `az login`. For users running on a system with a default web browser, the Azure CLI will launch the browser to authenticate the user. - -![Azure CLI Account Sign In][azure_cli_login_image] - -For systems without a default web browser, the `az login` command will use the device code authentication flow. The user can also force the Azure CLI to use the device code flow rather than launching a browser by specifying the `--use-device-code` argument. - -![Azure CLI Account Device Code Sign In][azure_cli_login_device_code_image] - -#### Authenticate via the Azure Developer CLI - -Developers coding outside of an IDE can also use the [Azure Developer CLI][azure_developer_cli] to authenticate. Applications using the `DefaultAzureCredential` or the `AzureDeveloperCliCredential` can then use this account to authenticate calls in their application when running locally. - -To authenticate with the [Azure Developer CLI][azure_developer_cli], users can run the command `azd auth login`. For users running on a system with a default web browser, the Azure Developer CLI will launch the browser to authenticate the user. - -For systems without a default web browser, the `azd auth login --use-device-code` command will use the device code authentication flow. - -#### Authenticate via Azure PowerShell - -Developers coding outside of an IDE can also use [Azure PowerShell][azure_powerShell] to authenticate. Applications using the `DefaultAzureCredential` or the `AzurePowerShellCredential` can then use this account to authenticate calls in their application when running locally. - -To authenticate with [Azure PowerShell][azure_powerShell], users can run the command `Connect-AzAccount`. For users running on a system with a default web browser and version 5.0.0 or later of azure PowerShell, it will launch the browser to authenticate the user. - -For systems without a default web browser, the `Connect-AzAccount` command will use the device code authentication flow. The user can also force Azure PowerShell to use the device code flow rather than launching a browser by specifying the `UseDeviceAuthentication` argument. - -## Key concepts - -### Credentials - -A credential is a class which contains or can obtain the data needed for a service client to authenticate requests. Service clients across the Azure SDK accept credentials when they're constructed. Service clients use those credentials to authenticate requests to the service. - -The Azure Identity library focuses on OAuth authentication with Azure AD, and it offers a variety of credential classes capable of acquiring an Azure AD token to authenticate service requests. All of the credential classes in this library are implementations of the `TokenCredential` abstract class in [Azure.Core][azure_core_library], and any of them can be used to construct service clients capable of authenticating with a `TokenCredential`. - -See [Credential Classes](#credential-classes) for a complete listing of available credential types. - -### DefaultAzureCredential - -The `DefaultAzureCredential` is appropriate for most scenarios where the application is intended to ultimately be run in Azure. This is because the `DefaultAzureCredential` combines credentials commonly used to authenticate when deployed, with credentials used to authenticate in a development environment. - -> Note: `DefaultAzureCredential` is intended to simplify getting started with the SDK by handling common scenarios with reasonable default behaviors. Developers who want more control or whose scenario isn't served by the default settings should use other credential types. - -The `DefaultAzureCredential` attempts to authenticate via the following mechanisms, in this order, stopping when one succeeds: - -![DefaultAzureCredential authentication flow][default_azure_credential_authflow_image] - -1. **Environment** - The `DefaultAzureCredential` will read account information specified via [environment variables](#environment-variables) and use it to authenticate. -1. **Workload Identity** - If the application is deployed to an Azure host with Workload Identity enabled, the `DefaultAzureCredential` will authenticate with that account. -1. **Managed Identity** - If the application is deployed to an Azure host with Managed Identity enabled, the `DefaultAzureCredential` will authenticate with that account. -1. **Azure Developer CLI** - If the developer has authenticated via the Azure Developer CLI `azd auth login` command, the `DefaultAzureCredential` will authenticate with that account. -1. **Visual Studio** - If the developer has authenticated via Visual Studio, the `DefaultAzureCredential` will authenticate with that account. -1. **Visual Studio Code** - Currently excluded by default as SDK authentication via Visual Studio Code is broken due to issue [#27263](https://github.com/Azure/azure-sdk-for-net/issues/27263). The `VisualStudioCodeCredential` will be re-enabled in the `DefaultAzureCredential` flow once a fix is in place. Issue [#30525](https://github.com/Azure/azure-sdk-for-net/issues/30525) tracks this. In the meantime Visual Studio Code users can authenticate their development environment using the [Azure CLI](https://learn.microsoft.com/cli/azure/). -1. **Azure CLI** - If the developer has authenticated an account via the Azure CLI `az login` command, the `DefaultAzureCredential` will authenticate with that account. -1. **Azure PowerShell** - If the developer has authenticated an account via the Azure PowerShell `Connect-AzAccount` command, the `DefaultAzureCredential` will authenticate with that account. -1. **Interactive browser** - If enabled, the `DefaultAzureCredential` will interactively authenticate the developer via the current system's default browser. By default, this credential type is disabled. - -## Examples - -### Authenticate with `DefaultAzureCredential` - -This example demonstrates authenticating the `SecretClient` from the [Azure.Security.KeyVault.Secrets][secrets_client_library] client library using the `DefaultAzureCredential`. - -```C# Snippet:AuthenticatingWithDefaultAzureCredential -// Create a secret client using the DefaultAzureCredential -var client = new SecretClient(new Uri("https://myvault.vault.azure.net/"), new DefaultAzureCredential()); -``` - -### Enable interactive authentication with `DefaultAzureCredential` - -Interactive authentication is disabled in the `DefaultAzureCredential` by default. This example demonstrates two ways of enabling the interactive authentication portion of the `DefaultAzureCredential`. When enabled the `DefaultAzureCredential` will fall back to interactively authenticating the developer via the system's default browser if when no other credentials are available. This example then authenticates an `EventHubProducerClient` from the [Azure.Messaging.EventHubs][eventhubs_client_library] client library using the `DefaultAzureCredential` with interactive authentication enabled. - -```C# Snippet:EnableInteractiveAuthentication -// the includeInteractiveCredentials constructor parameter can be used to enable interactive authentication -var credential = new DefaultAzureCredential(includeInteractiveCredentials: true); - -var eventHubClient = new EventHubProducerClient("myeventhub.eventhubs.windows.net", "myhubpath", credential); -``` - -### Specify a user-assigned managed identity with `DefaultAzureCredential` - -Many Azure hosts allow the assignment of a user-assigned managed identity. This example demonstrates configuring the `DefaultAzureCredential` to authenticate a user-assigned identity when deployed to an Azure host. It then authenticates a `BlobClient` from the [Azure.Storage.Blobs][blobs_client_library] client library with credential. - -```C# Snippet:UserAssignedManagedIdentity -// When deployed to an azure host, the default azure credential will authenticate the specified user assigned managed identity. - -string userAssignedClientId = ""; -var credential = new DefaultAzureCredential(new DefaultAzureCredentialOptions { ManagedIdentityClientId = userAssignedClientId }); - -var blobClient = new BlobClient(new Uri("https://myaccount.blob.core.windows.net/mycontainer/myblob"), credential); -``` - -In addition to configuring the `ManagedIdentityClientId` via code, it can also be set using the `AZURE_CLIENT_ID` environment variable. These two approaches are equivalent when using the `DefaultAzureCredential`. - -### Define a custom authentication flow with `ChainedTokenCredential` - -While the `DefaultAzureCredential` is generally the quickest way to get started developing applications for Azure, more advanced users may want to customize the credentials considered when authenticating. The `ChainedTokenCredential` enables users to combine multiple credential instances to define a customized chain of credentials. This example demonstrates creating a `ChainedTokenCredential` which will attempt to authenticate using managed identity, and fall back to authenticating via the Azure CLI if managed identity is unavailable in the current environment. The credential is then used to authenticate an `EventHubProducerClient` from the [Azure.Messaging.EventHubs][eventhubs_client_library] client library. - -```C# Snippet:CustomChainedTokenCredential -// Authenticate using managed identity if it is available; otherwise use the Azure CLI to authenticate. - -var credential = new ChainedTokenCredential(new ManagedIdentityCredential(), new AzureCliCredential()); - -var eventHubProducerClient = new EventHubProducerClient("myeventhub.eventhubs.windows.net", "myhubpath", credential); -``` - -## Managed identity support - -[Managed identity authentication](https://learn.microsoft.com/azure/active-directory/managed-identities-azure-resources/overview) is supported via either the `DefaultAzureCredential` or the `ManagedIdentityCredential` directly for the following Azure services: - -* [Azure App Service and Azure Functions](https://learn.microsoft.com/azure/app-service/overview-managed-identity?tabs=dotnet) -* [Azure Arc](https://learn.microsoft.com/azure/azure-arc/servers/managed-identity-authentication) -* [Azure Cloud Shell](https://learn.microsoft.com/azure/cloud-shell/msi-authorization) -* [Azure Kubernetes Service](https://learn.microsoft.com/azure/aks/use-managed-identity) -* [Azure Service Fabric](https://learn.microsoft.com/azure/service-fabric/concepts-managed-identity) -* [Azure Virtual Machines](https://learn.microsoft.com/azure/active-directory/managed-identities-azure-resources/how-to-use-vm-token) -* [Azure Virtual Machines Scale Sets](https://learn.microsoft.com/azure/active-directory/managed-identities-azure-resources/qs-configure-powershell-windows-vmss) - -### Examples - -These examples demonstrate authenticating the `SecretClient` from the [Azure.Security.KeyVault.Secrets][secrets_client_library] client library using the `ManagedIdentityCredential`. - -#### Authenticate with a user-assigned managed identity - -```C# Snippet:AuthenticatingWithManagedIdentityCredentialUserAssigned -var credential = new ManagedIdentityCredential(clientId: userAssignedClientId); -var client = new SecretClient(new Uri("https://myvault.vault.azure.net/"), credential); -``` - -#### Authenticate with a system-assigned managed identity - -```C# Snippet:AuthenticatingWithManagedIdentityCredentialSystemAssigned -var credential = new ManagedIdentityCredential(); -var client = new SecretClient(new Uri("https://myvault.vault.azure.net/"), credential); -``` - -## Cloud configuration - -Credentials default to authenticating to the Azure AD endpoint for the Azure public cloud. To access resources in other clouds, such as Azure Government or a private cloud, configure credentials with the `AuthorityHost` argument. [AzureAuthorityHosts](https://learn.microsoft.com/dotnet/api/azure.identity.azureauthorityhosts?view=azure-dotnet) defines authorities for well-known clouds: - -```C# Snippet:AuthenticatingWithAuthorityHost -var credential = new DefaultAzureCredential(new DefaultAzureCredentialOptions { AuthorityHost = AzureAuthorityHosts.AzureGovernment }); -``` - -Not all credentials require this configuration. Credentials which authenticate through a development tool, such as `AzureCliCredential`, use that tool's configuration. - -## Credential classes - -### Authenticate Azure-hosted applications - -|Credential | Usage -|-|- -|[`DefaultAzureCredential`][ref_DefaultAzureCredential]|Provides a simplified authentication experience to quickly start developing applications run in Azure. -|[`ChainedTokenCredential`][ref_ChainedTokenCredential]|Allows users to define custom authentication flows composing multiple credentials. -|[`EnvironmentCredential`][ref_EnvironmentCredential]|Authenticates a service principal or user via credential information specified in environment variables. -|[`ManagedIdentityCredential`][ref_ManagedIdentityCredential]|Authenticates the managed identity of an Azure resource. -|[`WorkloadIdentityCredential`][ref_WorkloadIdentityCredential]|Supports [Azure AD workload identity](https://learn.microsoft.com/azure/aks/workload-identity-overview) on Kubernetes. - -### Authenticate service principals - -|Credential | Usage | Reference -|-|-|- -|[`ClientAssertionCredential`][ref_ClientAssertionCredential]|Authenticates a service principal using a signed client assertion. | -|[`ClientCertificateCredential`][ref_ClientCertificateCredential]|Authenticates a service principal using a certificate. | [Service principal authentication](https://learn.microsoft.com/azure/active-directory/develop/app-objects-and-service-principals) -|[`ClientSecretCredential`][ref_ClientSecretCredential]|Authenticates a service principal using a secret. | [Service principal authentication](https://learn.microsoft.com/azure/active-directory/develop/app-objects-and-service-principals) - -### Authenticate users - -|Credential | Usage | Reference -|-|-|- -|[`AuthorizationCodeCredential`][ref_AuthorizationCodeCredential]|Authenticates a user with a previously obtained authorization code. | [OAuth2 authentication code](https://learn.microsoft.com/azure/active-directory/develop/v2-oauth2-auth-code-flow) -|[`DeviceCodeCredential`][ref_DeviceCodeCredential]|Interactively authenticates a user on devices with limited UI. | [Device code authentication](https://learn.microsoft.com/azure/active-directory/develop/v2-oauth2-device-code) -|[`InteractiveBrowserCredential`][ref_InteractiveBrowserCredential]|Interactively authenticates a user with the default system browser. | [OAuth2 authentication code](https://learn.microsoft.com/azure/active-directory/develop/v2-oauth2-auth-code-flow) -|[`OnBehalfOfCredential`][ref_OnBehalfOfCredential]|Propagates the delegated user identity and permissions through the request chain. | [On-behalf-of authentication](https://learn.microsoft.com/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow) -|[`UsernamePasswordCredential`][ref_UsernamePasswordCredential]|Authenticates a user with a username and password. | [Username + password authentication](https://learn.microsoft.com/azure/active-directory/develop/v2-oauth-ropc) - -### Authenticate via development tools - -|Credential | Usage | Reference -|-|-|- -|[`AzureCliCredential`][ref_AzureCliCredential]|Authenticates in a development environment with the Azure CLI. | [Azure CLI authentication](https://learn.microsoft.com/cli/azure/authenticate-azure-cli) -|[`AzureDeveloperCliCredential`][ref_AzureDeveloperCliCredential]|Authenticates in a development environment with the Azure Developer CLI. | [Azure Developer CLI Reference](https://learn.microsoft.com/azure/developer/azure-developer-cli/reference) -|[`AzurePowerShellCredential`][ref_AzurePowerShellCredential]|Authenticates in a development environment with the Azure PowerShell. | [Azure PowerShell authentication](https://learn.microsoft.com/powershell/azure/authenticate-azureps) -|[`VisualStudioCredential`][ref_VisualStudioCredential]|Authenticates in a development environment with Visual Studio. | [Visual Studio configuration](https://learn.microsoft.com/dotnet/azure/configure-visual-studio) -|[`VisualStudioCodeCredential`][ref_VisualStudioCodeCredential]| Authenticates as the user signed in to the Visual Studio Code Azure Account extension. | [VS Code Azure Account extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.azure-account) - -> __Note:__ All credential implementations in the Azure Identity library are threadsafe, and a single credential instance can be used by multiple service clients. - -## Environment variables - -[`DefaultAzureCredential`][ref_DefaultAzureCredential] and [`EnvironmentCredential`][ref_EnvironmentCredential] can be configured with environment variables. Each type of authentication requires values for specific variables: - -#### Service principal with secret - -|Variable name|Value -|-|- -|`AZURE_CLIENT_ID`|ID of an Azure AD application -|`AZURE_TENANT_ID`|ID of the application's Azure AD tenant -|`AZURE_CLIENT_SECRET`|one of the application's client secrets - -#### Service principal with certificate - -|variable name|Value -|-|- -|`AZURE_CLIENT_ID`|ID of an Azure AD application -|`AZURE_TENANT_ID`|ID of the application's Azure AD tenant -|`AZURE_CLIENT_CERTIFICATE_PATH`|path to a PFX or PEM-encoded certificate file including private key -|`AZURE_CLIENT_CERTIFICATE_PASSWORD`|(optional) the password protecting the certificate file (currently only supported for PFX (PKCS12) certificates) -|`AZURE_CLIENT_SEND_CERTIFICATE_CHAIN`|(optional) send certificate chain in x5c header to support subject name / issuer based authentication - -#### Username and password - -|Variable name|Value -|-|- -|`AZURE_CLIENT_ID`|ID of an Azure AD application -|`AZURE_TENANT_ID`|ID of the application's Azure AD tenant -|`AZURE_USERNAME`|a username (usually an email address) -|`AZURE_PASSWORD`|that user's password - -Configuration is attempted in the above order. For example, if values for a -client secret and certificate are both present, the client secret will be used. - -## Token caching - -Token caching is a feature provided by the Azure Identity library that allows apps to: - -* Cache tokens in memory (default) or on disk (opt-in). -* Improve resilience and performance. -* Reduce the number of requests made to Azure Active Directory (Azure AD) to obtain access tokens. - -The Azure Identity library offers both in-memory and persistent disk caching. For more details, see the [token caching documentation](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Identity_1.10.0-beta.1/sdk/identity/Azure.Identity/samples/TokenCache.md) - -## Troubleshooting - -See the [troubleshooting guide](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Identity_1.10.0-beta.1/sdk/identity/Azure.Identity/TROUBLESHOOTING.md) for details on how to diagnose various failure scenarios. - -### Error handling - -Errors arising from authentication can be raised on any service client method which makes a request to the service. This is because the first time the token is requested from the credential is on the first call to the service, and any subsequent calls might need to refresh the token. In order to distinguish these failures from failures in the service client Azure Identity classes raise the `AuthenticationFailedException` with details to the source of the error in the exception message as well as possibly the error message. Depending on the application these errors may or may not be recoverable. - -``` c# -using Azure.Identity; -using Azure.Security.KeyVault.Secrets; - -// Create a secret client using the DefaultAzureCredential -var client = new SecretClient(new Uri("https://myvault.vault.azure.net/"), new DefaultAzureCredential()); - -try -{ - KeyVaultSecret secret = await client.GetSecretAsync("secret1"); -} -catch (AuthenticationFailedException e) -{ - Console.WriteLine($"Authentication Failed. {e.Message}"); -} -``` - -For more information on dealing with errors arising from failed requests to Azure AD or managed identity endpoints, see the Azure AD [documentation on authorization error codes][aad_err_doc]. - -### Logging - -The Azure Identity library provides the same [logging capabilities](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Identity_1.10.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md#logging) as the rest of the Azure SDK. - -The simplest way to see the logs to help debug authentication issues is to enable the console logging. - -``` c# -// Setup a listener to monitor logged events. -using AzureEventSourceListener listener = AzureEventSourceListener.CreateConsoleLogger(level: EventLevel.Informational); -``` - -All credentials can be configured with diagnostic options, in the same way as other clients in the SDK. - -> **CAUTION:** Requests and responses in the Azure Identity library contain sensitive information. Precaution must be taken to protect logs, when customizing the output, to avoid compromising account security. - -``` c# -DefaultAzureCredentialOptions options = new DefaultAzureCredentialOptions -{ - Diagnostics = - { - LoggedHeaderNames = { "x-ms-request-id" }, - LoggedQueryParameters = { "api-version" }, - IsLoggingContentEnabled = true - } -}; -``` - -When troubleshooting authentication issues, you may also want to enable logging of sensitive information. To enable this type of logging, set the `IsLoggingContentEnabled` property to `true`. To only log details about the account that was used to attempt authentication and authorization, set `IsAccountIdentifierLoggingEnabled` to `true`. - -```c# -DefaultAzureCredentialOptions options = new DefaultAzureCredentialOptions -{ - Diagnostics = - { - LoggedHeaderNames = { "x-ms-request-id" }, - LoggedQueryParameters = { "api-version" }, - IsAccountIdentifierLoggingEnabled = true - } -}; -``` - -### Thread safety - -We guarantee that all credential instance methods are thread-safe and independent of each other ([guideline](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-service-methods-thread-safety)). -This ensures that the recommendation of reusing credential instances is always safe, even across threads. - -### Additional concepts - -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Identity_1.10.0-beta.1/sdk/core/Azure.Core/README.md#configuring-service-clients-using-clientoptions) | -[Accessing the response](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Identity_1.10.0-beta.1/sdk/core/Azure.Core/README.md#accessing-http-response-details-using-responset) | -[Diagnostics](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Identity_1.10.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md) | -[Mocking](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Identity_1.10.0-beta.1/sdk/core/Azure.Core/README.md#mocking) | -[Client lifetime](https://devblogs.microsoft.com/azure-sdk/lifetime-management-and-thread-safety-guarantees-of-azure-sdk-net-clients/) - -## Next steps - -### Client libraries supporting authentication with Azure Identity - -Many of the client libraries listed [here](https://azure.github.io/azure-sdk/releases/latest/dotnet.html) support authenticating with `TokenCredential` and the Azure Identity library. -There you will also find links where you can learn more about their use, including additional documentation and samples. - -### Known Issues - -This library doesn't currently support scenarios relating to the [Azure AD B2C](https://learn.microsoft.com/azure/active-directory-b2c/overview) service. - -Open issues for the `Azure.Identity` library can be found [here](https://github.com/Azure/azure-sdk-for-net/issues?q=is%3Aissue+is%3Aopen+label%3AAzure.Identity). - -## Contributing - -This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com. - -When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][code_of_conduct]. For more information see the [Code of Conduct FAQ][code_of_conduct_faq] or contact opencode@microsoft.com with any additional questions or comments. - - -[azure_cli]: https://learn.microsoft.com/cli/azure -[azure_developer_cli]:https://aka.ms/azure-dev -[azure_powerShell]: https://learn.microsoft.com/powershell/azure -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[source]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity_1.10.0-beta.1/sdk/identity/Azure.Identity/src -[package]: https://www.nuget.org/packages/Azure.Identity -[aad_doc]: https://learn.microsoft.com/azure/active-directory/ -[aad_err_doc]: https://learn.microsoft.com/azure/active-directory/develop/reference-aadsts-error-codes -[code_of_conduct]: https://opensource.microsoft.com/codeofconduct/ -[code_of_conduct_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[nuget]: https://www.nuget.org/ -[secrets_client_library]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity_1.10.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Secrets -[blobs_client_library]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity_1.10.0-beta.1/sdk/storage/Azure.Storage.Blobs -[eventhubs_client_library]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity_1.10.0-beta.1/sdk/eventhub/Azure.Messaging.EventHubs -[azure_core_library]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Identity_1.10.0-beta.1/sdk/core/Azure.Core -[identity_api_docs]: https://learn.microsoft.com/dotnet/api/azure.identity?view=azure-dotnet -[vs_login_image]: https://raw.githubusercontent.com/Azure/azure-sdk-for-net/main/sdk/identity/Azure.Identity/images/VsLoginDialog.png -[azure_cli_login_image]: https://raw.githubusercontent.com/Azure/azure-sdk-for-net/main/sdk/identity/Azure.Identity/images/AzureCliLogin.png -[azure_cli_login_device_code_image]: https://raw.githubusercontent.com/Azure/azure-sdk-for-net/main/sdk/identity/Azure.Identity/images/AzureCliLoginDeviceCode.png -[default_azure_credential_authflow_image]: https://raw.githubusercontent.com/Azure/azure-sdk-for-net/main/sdk/identity/Azure.Identity/images/mermaidjs/DefaultAzureCredentialAuthFlow.svg -[ref_AuthorizationCodeCredential]: https://learn.microsoft.com/dotnet/api/azure.identity.authorizationcodecredential?view=azure-dotnet -[ref_AzureCliCredential]: https://learn.microsoft.com/dotnet/api/azure.identity.azureclicredential?view=azure-dotnet -[ref_AzureDeveloperCliCredential]: https://learn.microsoft.com/dotnet/api/azure.identity.azuredeveloperclicredential?view=azure-dotnet -[ref_AzurePowerShellCredential]: https://learn.microsoft.com/dotnet/api/azure.identity.azurepowershellcredential?view=azure-dotnet -[ref_ChainedTokenCredential]: https://learn.microsoft.com/dotnet/api/azure.identity.chainedtokencredential?view=azure-dotnet -[ref_ClientAssertionCredential]: https://learn.microsoft.com/dotnet/api/azure.identity.clientassertioncredential?view=azure-dotnet -[ref_ClientCertificateCredential]: https://learn.microsoft.com/dotnet/api/azure.identity.clientcertificatecredential?view=azure-dotnet -[ref_ClientSecretCredential]: https://learn.microsoft.com/dotnet/api/azure.identity.clientsecretcredential?view=azure-dotnet -[ref_DefaultAzureCredential]: https://learn.microsoft.com/dotnet/api/azure.identity.defaultazurecredential?view=azure-dotnet -[ref_DeviceCodeCredential]: https://learn.microsoft.com/dotnet/api/azure.identity.devicecodecredential?view=azure-dotnet -[ref_EnvironmentCredential]: https://learn.microsoft.com/dotnet/api/azure.identity.environmentcredential?view=azure-dotnet -[ref_InteractiveBrowserCredential]: https://learn.microsoft.com/dotnet/api/azure.identity.interactivebrowsercredential?view=azure-dotnet -[ref_ManagedIdentityCredential]: https://learn.microsoft.com/dotnet/api/azure.identity.managedidentitycredential?view=azure-dotnet -[ref_OnBehalfOfCredential]: https://learn.microsoft.com/dotnet/api/azure.identity.onbehalfofcredential?view=azure-dotnet -[ref_UsernamePasswordCredential]: https://learn.microsoft.com/dotnet/api/azure.identity.usernamepasswordcredential?view=azure-dotnet -[ref_VisualStudioCredential]: https://learn.microsoft.com/dotnet/api/azure.identity.visualstudiocredential?view=azure-dotnet -[ref_VisualStudioCodeCredential]: https://learn.microsoft.com/dotnet/api/azure.identity.visualstudiocodecredential?view=azure-dotnet -[ref_WorkloadIdentityCredential]: https://learn.microsoft.com/dotnet/api/azure.identity.workloadidentitycredential?view=azure-dotnet - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Fidentity%2FAzure.Identity%2FREADME.png) - diff --git a/api/overview/azure/preview/identity.md b/api/overview/azure/preview/identity.md index 5dce9722cffa..dd2ba24137c5 100644 --- a/api/overview/azure/preview/identity.md +++ b/api/overview/azure/preview/identity.md @@ -3,7 +3,7 @@ title: Azure Identity SDK for .NET description: Reference for Azure Identity SDK for .NET author: schaabs ms.author: sschaab -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: identity diff --git a/api/overview/azure/preview/iot-index.md b/api/overview/azure/preview/iot-index.md index f01fd0bf17bc..3bb5dfc8ae45 100644 --- a/api/overview/azure/preview/iot-index.md +++ b/api/overview/azure/preview/iot-index.md @@ -1,21 +1,13 @@ | Reference | Package | Source | |---|---|---| |[IoT Models Repository](iot.modelsrepository-readme.md)|[Azure.IoT.ModelsRepository](https://www.nuget.org/packages/Azure.IoT.ModelsRepository)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/modelsrepository/Azure.IoT.ModelsRepository)| -|[Digital Twins](digitaltwins.core-readme.md)|[Azure.DigitalTwins.Core](https://www.nuget.org/packages/Azure.DigitalTwins.Core)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/digitaltwins/Azure.DigitalTwins.Core)| -|[Device Update](iot.deviceupdate-readme.md)|[Azure.IoT.DeviceUpdate](https://www.nuget.org/packages/Azure.IoT.DeviceUpdate)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/deviceupdate/Azure.IoT.DeviceUpdate)| |Microsoft.Azure.Devices|[Microsoft.Azure.Devices](https://www.nuget.org/packages/Microsoft.Azure.Devices)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/)| |IoT Plug and Play - Devices Client|[Microsoft.Azure.Devices.Client](https://www.nuget.org/packages/Microsoft.Azure.Devices.Client)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/)| |Microsoft.Azure.Devices.Provisioning.Client|[Microsoft.Azure.Devices.Provisioning.Client](https://www.nuget.org/packages/Microsoft.Azure.Devices.Provisioning.Client)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/)| -|Microsoft.Azure.Devices.Provisioning.Security.Tpm|[Microsoft.Azure.Devices.Provisioning.Security.Tpm](https://www.nuget.org/packages/Microsoft.Azure.Devices.Provisioning.Security.Tpm)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/)| |Devices Provisioning Service|[Microsoft.Azure.Devices.Provisioning.Service](https://www.nuget.org/packages/Microsoft.Azure.Devices.Provisioning.Service)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/)| -|Microsoft.Azure.Devices.Provisioning.Transport.Amqp|[Microsoft.Azure.Devices.Provisioning.Transport.Amqp](https://www.nuget.org/packages/Microsoft.Azure.Devices.Provisioning.Transport.Amqp)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/)| -|Microsoft.Azure.Devices.Provisioning.Transport.Http|[Microsoft.Azure.Devices.Provisioning.Transport.Http](https://www.nuget.org/packages/Microsoft.Azure.Devices.Provisioning.Transport.Http)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/)| -|Microsoft.Azure.Devices.Provisioning.Transport.Mqtt|[Microsoft.Azure.Devices.Provisioning.Transport.Mqtt](https://www.nuget.org/packages/Microsoft.Azure.Devices.Provisioning.Transport.Mqtt)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/)| -|Microsoft.Azure.Devices.Shared|[Microsoft.Azure.Devices.Shared](https://www.nuget.org/packages/Microsoft.Azure.Devices.Shared)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/)| |[Resource Management - Device Provisioning Services](resourcemanager.deviceprovisioningservices-readme.md)|[Azure.ResourceManager.DeviceProvisioningServices](https://www.nuget.org/packages/Azure.ResourceManager.DeviceProvisioningServices)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/deviceprovisioningservices/Azure.ResourceManager.DeviceProvisioningServices)| |[Resource Management - Device Update](resourcemanager.deviceupdate-readme.md)|[Azure.ResourceManager.DeviceUpdate](https://www.nuget.org/packages/Azure.ResourceManager.DeviceUpdate)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/deviceupdate/Azure.ResourceManager.DeviceUpdate)| |[Resource Management - Digital Twins](resourcemanager.digitaltwins-readme.md)|[Azure.ResourceManager.DigitalTwins](https://www.nuget.org/packages/Azure.ResourceManager.DigitalTwins)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/digitaltwins/Azure.ResourceManager.DigitalTwins)| |[Resource Management - IoT Central](resourcemanager.iotcentral-readme.md)|[Azure.ResourceManager.IotCentral](https://www.nuget.org/packages/Azure.ResourceManager.IotCentral)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/iotcentral/Azure.ResourceManager.IotCentral)| |[Resource Management - IoT Firmware Defense](resourcemanager.iotfirmwaredefense-readme.md)|[Azure.ResourceManager.IotFirmwareDefense](https://www.nuget.org/packages/Azure.ResourceManager.IotFirmwareDefense)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/iot/Azure.ResourceManager.IotFirmwareDefense)| -|[Resource Management - IoT Hub](resourcemanager.iothub-readme.md)|[Azure.ResourceManager.IotHub](https://www.nuget.org/packages/Azure.ResourceManager.IotHub)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/iothub/Azure.ResourceManager.IotHub)| |Resource Management - Device Update|[Microsoft.Azure.Management.DeviceUpdate](https://www.nuget.org/packages/Microsoft.Azure.Management.DeviceUpdate)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/)| diff --git a/api/overview/azure/preview/iot.deviceupdate-readme.md b/api/overview/azure/preview/iot.deviceupdate-readme.md deleted file mode 100644 index 6cfe7b383c1c..000000000000 --- a/api/overview/azure/preview/iot.deviceupdate-readme.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -title: Azure Device Update for IoT Hub client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.IoT.DeviceUpdate, deviceupdate -author: dpokluda -ms.author: dpokluda -ms.date: 07/11/2022 -ms.topic: reference -ms.devlang: dotnet -ms.service: deviceupdate ---- -# Azure Device Update for IoT Hub client library for .NET - version 1.0.0-beta.4 - - -The library provides access to the Device Update for IoT Hub service that enables customers to publish updates for their IoT devices to the cloud, and then deploy these updates to their devices (approve updates to groups of devices managed and provisioned in IoT Hub). - - [Source code](https://github.com/Azure/azure-sdk-for-net/tree/Azure.IoT.DeviceUpdate_1.0.0-beta.4/sdk/deviceupdate/Azure.IoT.DeviceUpdate/src) | [Package](https://www.nuget.org) | [Product documentation](/azure/iot-hub-device-update/understand-device-update) - - -## Getting started - -The complete Microsoft Azure SDK can be downloaded from the [Microsoft Azure Downloads](https://azure.microsoft.com/downloads/?sdk=net) page and ships with support for building deployment packages, integrating with tooling, rich command line tooling, and more. - -For the best development experience, developers should use the official Microsoft NuGet packages for libraries. NuGet packages are regularly updated with new functionality and hotfixes. - -### Prerequisites - -- Microsoft Azure Subscription: To call Microsoft Azure services, you need to create an [Azure subscription](https://azure.microsoft.com/free/dotnet/) -- Device Update for IoT Hub instance -- Azure IoT Hub instance - -### Install the package - -Install the Device Update for IoT Hub client library for .NET with [NuGet](https://www.nuget.org/ ): - -```dotnetcli -dotnet add package Azure.IoT.DeviceUpdate --prerelease -``` - -### Authenticate the Client - -In order to interact with the Device Update for IoT Hub service, you will need to create an instance of a [TokenCredential class](/dotnet/api/azure.core.tokencredential?view=azure-dotnet) and pass it to the constructor of your DeviceUpdateClient and DeviceManagementClient class. - -## Key concepts - -Device Update for IoT Hub is a managed service that enables you to deploy over-the-air updates for your IoT devices. The client library has three main components: -- **DeviceManagementClient**: device, group, deployment management (enumerate, create, retrieve, delete device, group, deployment, etc.) -- **DeviceUpdateClient**: update management (import, enumerate, delete, etc.) - -You can learn more about Device Update for IoT Hub by visiting [Device Update for IoT Hub](https://github.com/azure/iot-hub-device-update). - -## Examples - -You can familiarize yourself with different APIs using [Samples](https://github.com/Azure/azure-sdk-for-net/tree/Azure.IoT.DeviceUpdate_1.0.0-beta.4/sdk/deviceupdate/Azure.IoT.DeviceUpdate/samples). - -## Troubleshooting - -All Device Update for IoT Hub service operations will throw a RequestFailedException on failure with helpful ErrorCodes. - -For example, if you use the `GetUpdateAsync` operation and the model you are looking for doesn't exist, you can catch that specific [HttpStatusCode](/dotnet/api/system.net.httpstatuscode?view=netcore-3.1) to decide the operation that follows in that case. - -```csharp -try -{ - Response update = await _updatesClient.GetUpdateAsync( - "provider", "name", "1.0.0.0"); -} -catch (RequestFailedException ex) when (ex.Status == (int)HttpStatusCode.NotFound) -{ - // Update does not exist. -} - -``` - -## Next steps - -Get started with our [Device Update for IoT Hub samples](https://github.com/Azure/azure-sdk-for-net/tree/Azure.IoT.DeviceUpdate_1.0.0-beta.4/sdk/deviceupdate/Azure.IoT.DeviceUpdate/samples) - -## Contributing - -This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit [Contributor License Agreement](https://cla.microsoft.com). - -When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact opencode@microsoft.com with any additional questions or comments. - diff --git a/api/overview/azure/preview/iot.md b/api/overview/azure/preview/iot.md index 19a50e642138..3c1c4290d641 100644 --- a/api/overview/azure/preview/iot.md +++ b/api/overview/azure/preview/iot.md @@ -3,7 +3,7 @@ title: Azure IoT SDK for .NET description: Reference for Azure IoT SDK for .NET author: ethanann-ms ms.author: ethanann -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: iot diff --git a/api/overview/azure/preview/key-vault-index.md b/api/overview/azure/preview/key-vault-index.md index a7c3be776149..41e9e1e74fed 100644 --- a/api/overview/azure/preview/key-vault-index.md +++ b/api/overview/azure/preview/key-vault-index.md @@ -1,7 +1,3 @@ | Reference | Package | Source | |---|---|---| -|[Key Vault - Administration](security.keyvault.administration-readme.md)|[Azure.Security.KeyVault.Administration](https://www.nuget.org/packages/Azure.Security.KeyVault.Administration)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/keyvault/Azure.Security.KeyVault.Administration)| -|[Key Vault - Certificates](security.keyvault.certificates-readme.md)|[Azure.Security.KeyVault.Certificates](https://www.nuget.org/packages/Azure.Security.KeyVault.Certificates)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/keyvault/Azure.Security.KeyVault.Certificates)| -|[Key Vault - Keys](security.keyvault.keys-readme.md)|[Azure.Security.KeyVault.Keys](https://www.nuget.org/packages/Azure.Security.KeyVault.Keys)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/keyvault/Azure.Security.KeyVault.Keys)| -|[Key Vault - Secrets](security.keyvault.secrets-readme.md)|[Azure.Security.KeyVault.Secrets](https://www.nuget.org/packages/Azure.Security.KeyVault.Secrets)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/keyvault/Azure.Security.KeyVault.Secrets)| |[Resource Management - Key Vault](resourcemanager.keyvault-readme.md)|[Azure.ResourceManager.KeyVault](https://www.nuget.org/packages/Azure.ResourceManager.KeyVault)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/keyvault/Azure.ResourceManager.KeyVault)| diff --git a/api/overview/azure/preview/key-vault.md b/api/overview/azure/preview/key-vault.md index d38f927d9467..384f56a0f6a3 100644 --- a/api/overview/azure/preview/key-vault.md +++ b/api/overview/azure/preview/key-vault.md @@ -3,7 +3,7 @@ title: Azure Key Vault SDK for .NET description: Reference for Azure Key Vault SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: keyvault diff --git a/api/overview/azure/preview/kubernetes-configuration.md b/api/overview/azure/preview/kubernetes-configuration.md index d528df54a0ba..0576a7f3c8b3 100644 --- a/api/overview/azure/preview/kubernetes-configuration.md +++ b/api/overview/azure/preview/kubernetes-configuration.md @@ -3,7 +3,7 @@ title: Azure Kubernetes Configuration SDK for .NET description: Reference for Azure Kubernetes Configuration SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: kubernetesconfiguration diff --git a/api/overview/azure/preview/lab-services.md b/api/overview/azure/preview/lab-services.md index 0e945c341991..540bde9d2e61 100644 --- a/api/overview/azure/preview/lab-services.md +++ b/api/overview/azure/preview/lab-services.md @@ -3,7 +3,7 @@ title: Azure Lab Services SDK for .NET description: Reference for Azure Lab Services SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: labservices diff --git a/api/overview/azure/preview/load-testing-index.md b/api/overview/azure/preview/load-testing-index.md index 18cd85431d3b..8f4375e52e39 100644 --- a/api/overview/azure/preview/load-testing-index.md +++ b/api/overview/azure/preview/load-testing-index.md @@ -1,4 +1,3 @@ | Reference | Package | Source | |---|---|---| -|[Load Testing](developer.loadtesting-readme.md)|[Azure.Developer.LoadTesting](https://www.nuget.org/packages/Azure.Developer.LoadTesting)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/loadtestservice/Azure.Developer.LoadTesting)| |[Resource Management - Load Testing](resourcemanager.loadtesting-readme.md)|[Azure.ResourceManager.LoadTesting](https://www.nuget.org/packages/Azure.ResourceManager.LoadTesting)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/loadtestservice/Azure.ResourceManager.LoadTesting)| diff --git a/api/overview/azure/preview/load-testing.md b/api/overview/azure/preview/load-testing.md index 0540da926145..095af3dce849 100644 --- a/api/overview/azure/preview/load-testing.md +++ b/api/overview/azure/preview/load-testing.md @@ -3,7 +3,7 @@ title: Azure Load Testing SDK for .NET description: Reference for Azure Load Testing SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: load-testing diff --git a/api/overview/azure/preview/log-analytics.md b/api/overview/azure/preview/log-analytics.md index 836a6719af2f..47711e2ff609 100644 --- a/api/overview/azure/preview/log-analytics.md +++ b/api/overview/azure/preview/log-analytics.md @@ -3,7 +3,7 @@ title: Azure Log Analytics SDK for .NET description: Reference for Azure Log Analytics SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: azure-monitor diff --git a/api/overview/azure/preview/logic.md b/api/overview/azure/preview/logic.md index 0697d34497ae..84c4efb2a61f 100644 --- a/api/overview/azure/preview/logic.md +++ b/api/overview/azure/preview/logic.md @@ -3,7 +3,7 @@ title: Azure Logic SDK for .NET description: Reference for Azure Logic SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: logic diff --git a/api/overview/azure/preview/machine-learning.md b/api/overview/azure/preview/machine-learning.md index 383769bb8b5d..fd0817fb2e6e 100644 --- a/api/overview/azure/preview/machine-learning.md +++ b/api/overview/azure/preview/machine-learning.md @@ -3,7 +3,7 @@ title: Azure Machine Learning SDK for .NET description: Reference for Azure Machine Learning SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: machinelearning diff --git a/api/overview/azure/preview/maintenance.md b/api/overview/azure/preview/maintenance.md index 1768c53b1125..99da696892a3 100644 --- a/api/overview/azure/preview/maintenance.md +++ b/api/overview/azure/preview/maintenance.md @@ -3,7 +3,7 @@ title: Azure Maintenance SDK for .NET description: Reference for Azure Maintenance SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: maintenance diff --git a/api/overview/azure/preview/managed-network.md b/api/overview/azure/preview/managed-network.md index f727c74cdcb0..8d75d43f2f95 100644 --- a/api/overview/azure/preview/managed-network.md +++ b/api/overview/azure/preview/managed-network.md @@ -3,7 +3,7 @@ title: Azure Managed Network SDK for .NET description: Reference for Azure Managed Network SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: managednetwork diff --git a/api/overview/azure/preview/managed-service-identity.md b/api/overview/azure/preview/managed-service-identity.md index e1c8504d5e11..af98a7217239 100644 --- a/api/overview/azure/preview/managed-service-identity.md +++ b/api/overview/azure/preview/managed-service-identity.md @@ -3,7 +3,7 @@ title: Azure Managed Service Identity SDK for .NET description: Reference for Azure Managed Service Identity SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: managedserviceidentity diff --git a/api/overview/azure/preview/managed-services.md b/api/overview/azure/preview/managed-services.md index 253c65e9ccb1..3f41a69cfe38 100644 --- a/api/overview/azure/preview/managed-services.md +++ b/api/overview/azure/preview/managed-services.md @@ -3,7 +3,7 @@ title: Azure Managed Services SDK for .NET description: Reference for Azure Managed Services SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: managedservices diff --git a/api/overview/azure/preview/management-partner.md b/api/overview/azure/preview/management-partner.md index a29d4d045e96..7e61d30eaf64 100644 --- a/api/overview/azure/preview/management-partner.md +++ b/api/overview/azure/preview/management-partner.md @@ -3,7 +3,7 @@ title: Azure Management Partner SDK for .NET description: Reference for Azure Management Partner SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: managementpartner diff --git a/api/overview/azure/preview/maps-common.md b/api/overview/azure/preview/maps-common.md index fc5870ba4ce6..14b54eade1b0 100644 --- a/api/overview/azure/preview/maps-common.md +++ b/api/overview/azure/preview/maps-common.md @@ -3,7 +3,7 @@ title: Azure Maps Common SDK for .NET description: Reference for Azure Maps Common SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: mapscommon diff --git a/api/overview/azure/preview/maps-geolocation.md b/api/overview/azure/preview/maps-geolocation.md index 002b31e7e88a..ac1b500f2bab 100644 --- a/api/overview/azure/preview/maps-geolocation.md +++ b/api/overview/azure/preview/maps-geolocation.md @@ -3,7 +3,7 @@ title: Azure Maps Geolocation SDK for .NET description: Reference for Azure Maps Geolocation SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: mapsgeolocation diff --git a/api/overview/azure/preview/maps-render.md b/api/overview/azure/preview/maps-render.md index f7b6b78824cd..8816f21b3299 100644 --- a/api/overview/azure/preview/maps-render.md +++ b/api/overview/azure/preview/maps-render.md @@ -3,7 +3,7 @@ title: Azure Maps Render SDK for .NET description: Reference for Azure Maps Render SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: mapsrender diff --git a/api/overview/azure/preview/maps-route.md b/api/overview/azure/preview/maps-route.md index c349fb28f407..c242d5b9176c 100644 --- a/api/overview/azure/preview/maps-route.md +++ b/api/overview/azure/preview/maps-route.md @@ -3,7 +3,7 @@ title: Azure Maps Route SDK for .NET description: Reference for Azure Maps Route SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: mapsroute diff --git a/api/overview/azure/preview/maps.md b/api/overview/azure/preview/maps.md index c29fa090ca93..627f22804439 100644 --- a/api/overview/azure/preview/maps.md +++ b/api/overview/azure/preview/maps.md @@ -3,7 +3,7 @@ title: Azure Maps SDK for .NET description: Reference for Azure Maps SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: maps diff --git a/api/overview/azure/preview/marketplace-ordering.md b/api/overview/azure/preview/marketplace-ordering.md index 53311c819c26..fe5f4a4ab5e9 100644 --- a/api/overview/azure/preview/marketplace-ordering.md +++ b/api/overview/azure/preview/marketplace-ordering.md @@ -3,7 +3,7 @@ title: Azure Marketplace Ordering SDK for .NET description: Reference for Azure Marketplace Ordering SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: marketplaceordering diff --git a/api/overview/azure/preview/media-services.md b/api/overview/azure/preview/media-services.md index e553b0b67535..92af347a7675 100644 --- a/api/overview/azure/preview/media-services.md +++ b/api/overview/azure/preview/media-services.md @@ -3,7 +3,7 @@ title: Azure Media Services SDK for .NET description: Reference for Azure Media Services SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: mediaservices diff --git a/api/overview/azure/preview/media.md b/api/overview/azure/preview/media.md index 93ed8211c6fa..56deb647e77b 100644 --- a/api/overview/azure/preview/media.md +++ b/api/overview/azure/preview/media.md @@ -3,7 +3,7 @@ title: Azure Media SDK for .NET description: Reference for Azure Media SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: media diff --git a/api/overview/azure/preview/messaging.eventgrid-readme.md b/api/overview/azure/preview/messaging.eventgrid-readme.md deleted file mode 100644 index effa57b4a846..000000000000 --- a/api/overview/azure/preview/messaging.eventgrid-readme.md +++ /dev/null @@ -1,392 +0,0 @@ ---- -title: Azure Event Grid client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.Messaging.EventGrid, eventgrid -author: Kishp01 -ms.author: kishp -ms.date: 07/16/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: eventgrid ---- -# Azure Event Grid client library for .NET - version 4.18.0-beta.1 - - -Azure Event Grid allows you to easily build applications with event-based architectures. The Event Grid service fully manages all routing of events from any source, to any destination, for any application. Azure service events and custom events can be published directly to the service, where the events can then be filtered and sent to various recipients, such as built-in handlers or custom webhooks. To learn more about Azure Event Grid: [What is Event Grid?](/azure/event-grid/overview) - -Use the client library for Azure Event Grid to: -- Publish events to the Event Grid service using the Event Grid Event, Cloud Event 1.0, or custom schemas -- Consume events that have been delivered to event handlers -- Generate SAS tokens to authenticate the client publishing events to Azure Event Grid topics - - [Source code](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid_4.18.0-beta.1/sdk/eventgrid/Azure.Messaging.EventGrid/src) | [Package (NuGet)](https://www.nuget.org/packages/Azure.Messaging.EventGrid/) | [API reference documentation](/dotnet/api/azure.messaging.eventgrid) | [Product documentation](/azure/event-grid/) | [Samples](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventGrid_4.18.0-beta.1/sdk/eventgrid/Azure.Messaging.EventGrid/samples) | [Migration guide](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventGrid_4.18.0-beta.1/sdk/eventgrid/Azure.Messaging.EventGrid/MigrationGuide.md) - -## Getting started - -### Install the package - -Install the client library from [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.Messaging.EventGrid -``` - -### Prerequisites - -You must have an [Azure subscription](https://azure.microsoft.com/free/dotnet/) and an Azure resource group with a custom Event Grid topic or domain. Follow this [step-by-step tutorial](/azure/event-grid/custom-event-quickstart-portal) to register the Event Grid resource provider and create Event Grid topics using the [Azure portal](https://portal.azure.com/). There is a [similar tutorial](/azure/event-grid/custom-event-quickstart) using [Azure CLI](/cli/azure). - -### Authenticate the Client - -In order for the client library to interact with a topic or domain, you will need the `endpoint` of the Event Grid topic and a `credential`, which can be created using the topic's access key. - -You can find the endpoint for your Event Grid topic either in the [Azure Portal](https://portal.azure.com/) or by using the [Azure CLI](/cli/azure) snippet below. - -```bash -az eventgrid topic show --name --resource-group --query "endpoint" -``` - -The access key can also be found through the [portal](/azure/event-grid/get-access-keys), or by using the Azure CLI snippet below: -```bash -az eventgrid topic key list --name --resource-group --query "key1" -``` - -#### Authenticate using Topic Access Key - -Once you have your access key and topic endpoint, you can create the publisher client as follows: -```C# -EventGridPublisherClient client = new EventGridPublisherClient( - new Uri(""), - new AzureKeyCredential("")); -``` - -#### Authenticate using Shared Access Signature - -Event Grid also supports authenticating with a shared access signature which allows for providing access to a resource that expires by a certain time without sharing your access key. -Generally, the workflow would be that one application would generate the SAS string and hand off the string to another application that would consume the string. -Generate the SAS: -```C# Snippet:GenerateSas -var builder = new EventGridSasBuilder(new Uri(topicEndpoint), DateTimeOffset.Now.AddHours(1)); -var keyCredential = new AzureKeyCredential(topicAccessKey); -string sasToken = builder.GenerateSas(keyCredential); -``` - -Here is how it would be used from the consumer's perspective: -```C# Snippet:AuthenticateWithSas -var sasCredential = new AzureSasCredential(sasToken); -EventGridPublisherClient client = new EventGridPublisherClient( - new Uri(topicEndpoint), - sasCredential); -``` - -`EventGridPublisherClient` also accepts a set of configuring options through `EventGridPublisherClientOptions`. For example, you can specify a custom serializer that will be used to serialize the event data to JSON. - -#### Authenticate using Azure Active Directory - -Azure Event Grid provides integration with Azure Active Directory (Azure AD) for identity-based authentication of requests. With Azure AD, you can use role-based access control (RBAC) to grant access to your Azure Event Grid resources to users, groups, or applications. The [Azure Identity library](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventGrid_4.18.0-beta.1/sdk/identity/Azure.Identity/README.md) provides easy Azure Active Directory support for authentication. - -To send events to a topic or domain using Azure Active Directory, the authenticated identity should have the "EventGrid Data Sender" role assigned. - -```C# Snippet:EventGridAAD -EventGridPublisherClient client = new EventGridPublisherClient( - new Uri(topicEndpoint), - new DefaultAzureCredential()); -``` - -## Key concepts - -For information about general Event Grid concepts: [Concepts in Azure Event Grid](/azure/event-grid/concepts). - -### EventGridPublisherClient -A **publisher** sends events to the Event Grid service. Microsoft publishes events for several Azure services. You can publish events from your own application using the `EventGridPublisherClient`. - -### Event schemas -An **event** is the smallest amount of information that fully describes something that happened in the system. Event Grid supports multiple schemas for encoding events. When a custom topic or domain is created, you specify the schema that will be used when publishing events. - -#### Event Grid schema -While you may configure your topic to use a custom schema, it is more common to use the already-defined Event Grid schema. See the specifications and requirements [here](/azure/event-grid/event-schema). - -#### CloudEvents v1.0 schema -Another option is to use the CloudEvents v1.0 schema. [CloudEvents](https://cloudevents.io/) is a Cloud Native Computing Foundation project which produces a specification for describing event data in a common way. The service summary of CloudEvents can be found [here](/azure/event-grid/cloud-event-schema). - -Regardless of what schema your topic or domain is configured to use, `EventGridPublisherClient` will be used to publish events to it. Use the `SendEvents` or `SendEventsAsync` method for publishing. - -### Event delivery -Events delivered to consumers by Event Grid are *delivered as JSON*. Depending on the type of consumer being delivered to, the Event Grid service may deliver one or more events as part of a single payload. Handling events will be different based on which schema the event was delivered as. However, the general pattern will remain the same: -- Parse events from JSON into individual events. Based on the event schema (Event Grid or CloudEvents), you can now access basic information about the event on the envelope (properties that are present for all events, like event time and type). -- Deserialize the event data. Given an `EventGridEvent` or `CloudEvent`, the user can attempt to access the event payload, or data, by deserializing to a specific type. You can supply a custom serializer at this point to correctly decode the data. - -### Thread safety -We guarantee that all client instance methods are thread-safe and independent of each other ([guideline](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-service-methods-thread-safety)). This ensures that the recommendation of reusing client instances is always safe, even across threads. - -### Additional concepts - -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventGrid_4.18.0-beta.1/sdk/core/Azure.Core/README.md#configuring-service-clients-using-clientoptions) | -[Accessing the response](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventGrid_4.18.0-beta.1/sdk/core/Azure.Core/README.md#accessing-http-response-details-using-responset) | -[Long-running operations](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventGrid_4.18.0-beta.1/sdk/core/Azure.Core/README.md#consuming-long-running-operations-using-operationt) | -[Handling failures](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventGrid_4.18.0-beta.1/sdk/core/Azure.Core/README.md#reporting-errors-requestfailedexception) | -[Diagnostics](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventGrid_4.18.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md) | -[Mocking](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventGrid_4.18.0-beta.1/sdk/core/Azure.Core/README.md#mocking) | -[Client lifetime](https://devblogs.microsoft.com/azure-sdk/lifetime-management-and-thread-safety-guarantees-of-azure-sdk-net-clients/) - - -## Examples -* [Publish Event Grid events to an Event Grid Topic](#publish-event-grid-events-to-an-event-grid-topic) -* [Publish CloudEvents to an Event Grid Topic](#publish-cloudevents-to-an-event-grid-topic) -* [Publish Event Grid events to an Event Grid Domain](#publish-event-grid-events-to-an-event-grid-domain) -* [Receiving and Deserializing Events](#receiving-and-deserializing-events) - -### Publish Event Grid events to an Event Grid Topic -Publishing events to Event Grid is performed using the `EventGridPublisherClient`. Use the provided `SendEvent`/`SendEventAsync` method to publish a single event to the topic. -```C# Snippet:SendSingleEGEventToTopic -// Add EventGridEvents to a list to publish to the topic -EventGridEvent egEvent = - new EventGridEvent( - "ExampleEventSubject", - "Example.EventType", - "1.0", - "This is the event data"); - -// Send the event -await client.SendEventAsync(egEvent); -``` - -To publish a batch of events, use the `SendEvents`/`SendEventsAsync` method. -```C# Snippet:SendEGEventsToTopic -// Example of a custom ObjectSerializer used to serialize the event payload to JSON -var myCustomDataSerializer = new JsonObjectSerializer( - new JsonSerializerOptions() - { - PropertyNamingPolicy = JsonNamingPolicy.CamelCase - }); - -// Add EventGridEvents to a list to publish to the topic -List eventsList = new List -{ - // EventGridEvent with custom model serialized to JSON - new EventGridEvent( - "ExampleEventSubject", - "Example.EventType", - "1.0", - new CustomModel() { A = 5, B = true }), - - // EventGridEvent with custom model serialized to JSON using a custom serializer - new EventGridEvent( - "ExampleEventSubject", - "Example.EventType", - "1.0", - myCustomDataSerializer.Serialize(new CustomModel() { A = 5, B = true })), -}; - -// Send the events -await client.SendEventsAsync(eventsList); -``` -### Publish CloudEvents to an Event Grid Topic -Publishing events to Event Grid is performed using the `EventGridPublisherClient`. Use the provided `SendEvents`/`SendEventsAsync` method to publish events to the topic. -```C# Snippet:SendCloudEventsToTopic -// Example of a custom ObjectSerializer used to serialize the event payload to JSON -var myCustomDataSerializer = new JsonObjectSerializer( - new JsonSerializerOptions() - { - PropertyNamingPolicy = JsonNamingPolicy.CamelCase - }); - -// Add CloudEvents to a list to publish to the topic -List eventsList = new List -{ - // CloudEvent with custom model serialized to JSON - new CloudEvent( - "/cloudevents/example/source", - "Example.EventType", - new CustomModel() { A = 5, B = true }), - - // CloudEvent with custom model serialized to JSON using a custom serializer - new CloudEvent( - "/cloudevents/example/source", - "Example.EventType", - myCustomDataSerializer.Serialize(new CustomModel() { A = 5, B = true }), - "application/json"), - - // CloudEvents also supports sending binary-valued data - new CloudEvent( - "/cloudevents/example/binarydata", - "Example.EventType", - new BinaryData(Encoding.UTF8.GetBytes("This is treated as binary data")), - "application/octet-stream")}; - -// Send the events -await client.SendEventsAsync(eventsList); -``` - -### Publish Event Grid events to an Event Grid Domain -An **event domain** is a management tool for large numbers of Event Grid topics related to the same application. You can think of it as a meta-topic that can have thousands of individual topics. When you create an event domain, you're given a publishing endpoint similar to if you had created a topic in Event Grid. - -To publish events to any topic in an Event Domain, push the events to the domain's endpoint the same way you would for a custom topic. The only difference is that you must specify the topic you'd like the event to be delivered to. -```C# Snippet:SendEventsToDomain -// Add EventGridEvents to a list to publish to the domain -// Don't forget to specify the topic you want the event to be delivered to! -List eventsList = new List -{ - new EventGridEvent( - "ExampleEventSubject", - "Example.EventType", - "1.0", - "This is the event data") - { - Topic = "MyTopic" - } -}; - -// Send the events -await client.SendEventsAsync(eventsList); -``` - -For sending CloudEvents, the CloudEvent source is used as the domain topic: -```C# Snippet:SendCloudEventsToDomain -List eventsList = new List(); - -for (int i = 0; i < 10; i++) -{ - CloudEvent cloudEvent = new CloudEvent( - // the source is mapped to the domain topic - $"Subject-{i}", - "Microsoft.MockPublisher.TestEvent", - "hello") - { - Id = $"event-{i}", - Time = DateTimeOffset.Now - }; - eventsList.Add(cloudEvent); -} - -await client.SendEventsAsync(eventsList); -``` - -### Receiving and Deserializing Events -There are several different Azure services that act as [event handlers](/azure/event-grid/event-handlers). - -Note: if using Webhooks for event delivery of the *Event Grid schema*, Event Grid requires you to prove ownership of your Webhook endpoint before it starts delivering events to that endpoint. At the time of event subscription creation, Event Grid sends a subscription validation event to your endpoint, as seen below. Learn more about completing the handshake here: [Webhook event delivery](/azure/event-grid/webhook-event-delivery). For the *CloudEvents schema*, the service validates the connection using the HTTP options method. Learn more here: [CloudEvents validation](https://github.com/cloudevents/spec/blob/v1.0/http-webhook.md#4-abuse-protection). - -Once events are delivered to the event handler, we can deserialize the JSON payload into a list of events. - -Using `EventGridEvent`: -```C# Snippet:EGEventParseJson -// Parse the JSON payload into a list of events -EventGridEvent[] egEvents = EventGridEvent.ParseMany(BinaryData.FromStream(httpContent)); -``` - -Using `CloudEvent`: -```C# Snippet:CloudEventParseJson -var bytes = await httpContent.ReadAsByteArrayAsync(); -// Parse the JSON payload into a list of events -CloudEvent[] cloudEvents = CloudEvent.ParseMany(new BinaryData(bytes)); -``` -#### Deserializing event data -From here, one can access the event data by deserializing to a specific type by calling `ToObjectFromJson()` on the `Data` property. In order to deserialize to the correct type, the `EventType` property (`Type` for CloudEvents) helps distinguish between different events. Custom event data should be deserialized using the generic method `ToObjectFromJson()`. There is also an extension method `ToObject()` that accepts a custom `ObjectSerializer` to deserialize the event data. - -```C# Snippet:DeserializePayloadUsingGenericGetData -foreach (CloudEvent cloudEvent in cloudEvents) -{ - switch (cloudEvent.Type) - { - case "Contoso.Items.ItemReceived": - // By default, ToObjectFromJson uses System.Text.Json to deserialize the payload - ContosoItemReceivedEventData itemReceived = cloudEvent.Data.ToObjectFromJson(); - Console.WriteLine(itemReceived.ItemSku); - break; - case "MyApp.Models.CustomEventType": - // One can also specify a custom ObjectSerializer as needed to deserialize the payload correctly - TestPayload testPayload = cloudEvent.Data.ToObject(myCustomSerializer); - Console.WriteLine(testPayload.Name); - break; - case SystemEventNames.StorageBlobDeleted: - // Example for deserializing system events using ToObjectFromJson - StorageBlobDeletedEventData blobDeleted = cloudEvent.Data.ToObjectFromJson(); - Console.WriteLine(blobDeleted.BlobType); - break; - } -} -``` - -Using `TryGetSystemEventData()`: - -If expecting mostly system events, it may be cleaner to switch on `TryGetSystemEventData()` and use pattern matching to act on the individual events. If an event is not a system event, the method will return false and the out parameter will be null. - -*As a caveat, if you are using a custom event type with an EventType value that later gets added as a system event by the service and SDK, the return value of `TryGetSystemEventData` would change from `false` to `true`. This could come up if you are pre-emptively creating your own custom events for events that are already being sent by the service, but have not yet been added to the SDK. In this case, it is better to use the generic `ToObjectFromJson` method on the `Data` property so that your code flow doesn't change automatically after upgrading (of course, you may still want to modify your code to consume the newly released system event model as opposed to your custom model).* - -```C# Snippet:DeserializePayloadUsingAsSystemEventData -foreach (EventGridEvent egEvent in egEvents) -{ - // If the event is a system event, TryGetSystemEventData will return the deserialized system event - if (egEvent.TryGetSystemEventData(out object systemEvent)) - { - switch (systemEvent) - { - case SubscriptionValidationEventData subscriptionValidated: - Console.WriteLine(subscriptionValidated.ValidationCode); - break; - case StorageBlobCreatedEventData blobCreated: - Console.WriteLine(blobCreated.BlobType); - break; - // Handle any other system event type - default: - Console.WriteLine(egEvent.EventType); - // we can get the raw Json for the event using Data - Console.WriteLine(egEvent.Data.ToString()); - break; - } - } - else - { - switch (egEvent.EventType) - { - case "MyApp.Models.CustomEventType": - TestPayload deserializedEventData = egEvent.Data.ToObjectFromJson(); - Console.WriteLine(deserializedEventData.Name); - break; - // Handle any other custom event type - default: - Console.Write(egEvent.EventType); - Console.WriteLine(egEvent.Data.ToString()); - break; - } - } -} -``` - -## Troubleshooting - -### Service Responses -`SendEvents()` returns an HTTP response code from the service. A `RequestFailedException` is thrown as a service response for any unsuccessful requests. The exception contains information about what response code was returned from the service. - -### Deserializing Event Data -- If the event data is not valid JSON, a `JsonException` will be thrown when calling `Parse` or `ParseMany`. -- If the event schema does not correspond to the type being deserialized to (e.g. calling `CloudEvent.Parse` on an EventGridSchema event), an `ArgumentException` is thrown. -- If `Parse` is called on data that contains multiple events, an `ArgumentException` is thrown. `ParseMany` should be used here instead. - -### Setting up console logging -You can also easily [enable console logging](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventGrid_4.18.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md#logging) if you want to dig deeper into the requests you're making against the service. - -### Distributed Tracing -The Event Grid library supports distributing tracing out of the box. In order to adhere to the CloudEvents specification's [guidance](https://github.com/cloudevents/spec/blob/v1.0.1/extensions/distributed-tracing.md) on distributing tracing, the library will set the `traceparent` and `tracestate` on the `ExtensionAttributes` of a `CloudEvent` when distributed tracing is enabled. To learn more about how to enable distributed tracing in your application, take a look at the Azure SDK [distributed tracing documentation](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventGrid_4.18.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md#Distributed-tracing). - -### Event Grid on Kubernetes -This library has been tested and validated on Kubernetes using Azure Arc. - -## Next steps - -View more https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventGrid_4.18.0-beta.1/sdk/eventgrid/Azure.Messaging.EventGrid/samples here for common usages of the Event Grid client library: [Event Grid Samples](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventGrid_4.18.0-beta.1/sdk/eventgrid/Azure.Messaging.EventGrid/samples). - -## Contributing - -This project welcomes contributions and suggestions. -Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. -For details, visit [Contributor License Agreements](https://opensource.microsoft.com/cla/). - -When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). -Simply follow the instructions provided by the bot. -You will only need to do this once across all repos using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). -For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Ftemplate%2FAzure.Template%2FREADME.png) - diff --git a/api/overview/azure/preview/messaging.eventhubs-readme.md b/api/overview/azure/preview/messaging.eventhubs-readme.md deleted file mode 100644 index f8f8b86890d4..000000000000 --- a/api/overview/azure/preview/messaging.eventhubs-readme.md +++ /dev/null @@ -1,322 +0,0 @@ ---- -title: Azure Event Hubs client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.Messaging.EventHubs, eventhub -author: serkantkaraca -ms.author: serkar -ms.date: 04/05/2022 -ms.topic: reference -ms.prod: azure -ms.technology: azure -ms.devlang: dotnet -ms.service: eventhub ---- -# Azure Event Hubs client library for .NET - version 5.7.0-beta.5 - - -Azure Event Hubs is a highly scalable publish-subscribe service that can ingest millions of events per second and stream them to multiple consumers. This lets you process and analyze the massive amounts of data produced by your connected devices and applications. Once Event Hubs has collected the data, you can retrieve, transform, and store it by using any real-time analytics provider or with batching/storage adapters. If you would like to know more about Azure Event Hubs, you may wish to review: [What is Event Hubs](https://docs.microsoft.com/azure/event-hubs/event-hubs-about). - -The Azure Event Hubs client library allows for publishing and consuming of Azure Event Hubs events and may be used to: - -- Emit telemetry about your application for business intelligence and diagnostic purposes. - -- Publish facts about the state of your application which interested parties may observe and use as a trigger for taking action. - -- Observe interesting operations and interactions happening within your business or other ecosystem, allowing loosely coupled systems to interact without the need to bind them together. - -- Receive events from one or more publishers, transform them to better meet the needs of your ecosystem, then publish the transformed events to a new stream for consumers to observe. - -[Source code](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs_5.7.0-beta.5/sdk/eventhub/Azure.Messaging.EventHubs/src) | [Package (NuGet)](https://www.nuget.org/packages/Azure.Messaging.EventHubs/) | [API reference documentation](https://docs.microsoft.com/dotnet/api/azure.messaging.eventhubs)) | [Product documentation](https://docs.microsoft.com/azure/event-hubs/) | [Migration guide](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs_5.7.0-beta.5/sdk/eventhub/Azure.Messaging.EventHubs/MigrationGuide.md) - -## Getting started - -### Prerequisites - -- **Azure Subscription:** To use Azure services, including Azure Event Hubs, you'll need a subscription. If you do not have an existing Azure account, you may sign up for a [free trial](https://azure.microsoft.com/free/dotnet/) or use your [Visual Studio Subscription](https://visualstudio.microsoft.com/subscriptions/) benefits when you [create an account](https://account.windowsazure.com/Home/Index). - -- **Event Hubs namespace with an Event Hub:** To interact with Azure Event Hubs, you'll also need to have a namespace and Event Hub available. If you are not familiar with creating Azure resources, you may wish to follow the step-by-step guide for [creating an Event Hub using the Azure portal](https://docs.microsoft.com/azure/event-hubs/event-hubs-create). There, you can also find detailed instructions for using the Azure CLI, Azure PowerShell, or Azure Resource Manager (ARM) templates to create an Event Hub. - -- **C# 8.0:** The Azure Event Hubs client library makes use of new features that were introduced in C# 8.0. In order to take advantage of the C# 8.0 syntax, it is recommended that you compile using the [.NET Core SDK](https://dotnet.microsoft.com/download) 3.0 or higher with a [language version](https://docs.microsoft.com/dotnet/csharp/language-reference/configure-language-version#override-a-default) of `latest`. It is also possible to compile with the .NET Core SDK 2.1.x using a language version of `preview`. - - Visual Studio users wishing to take full advantage of the C# 8.0 syntax will need to use Visual Studio 2019 or later. Visual Studio 2019, including the free Community edition, can be downloaded [here](https://visualstudio.microsoft.com). Users of Visual Studio 2017 can take advantage of the C# 8 syntax by making use of the [Microsoft.Net.Compilers NuGet package](https://www.nuget.org/packages/Microsoft.Net.Compilers/) and setting the language version, though the editing experience may not be ideal. - - You can still use the library with previous C# language versions, but will need to manage asynchronous enumerable and asynchronous disposable members manually rather than benefiting from the new syntax. You may still target any framework version supported by your .NET Core SDK, including earlier versions of .NET Core or the .NET framework. For more information, see: [how to specify target frameworks](https://docs.microsoft.com/dotnet/standard/frameworks#how-to-specify-target-frameworks). - - **Important Note:** In order to build or run the [examples](#examples) and the [samples](#next-steps) without modification, use of C# 8.0 is mandatory. You can still run the samples if you decide to tweak them for other language versions. An example of doing so is available in the sample: [Earlier Language Versions](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs_5.7.0-beta.5/sdk/eventhub/Azure.Messaging.EventHubs/samples/Sample07_EarlierLanguageVersions.md). - -To quickly create a basic set of Event Hubs resources in Azure and to receive a connection string for them, you can deploy our sample template by clicking: - -[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-sdk-for-net%2Fmaster%2Fsdk%2Feventhub%2FAzure.Messaging.EventHubs%2Fassets%2Fsamples-azure-deploy.json) - -### Install the package - -Install the Azure Event Hubs client library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.Messaging.EventHubs -``` - -### Authenticate the client - -For the Event Hubs client library to interact with an Event Hub, it will need to understand how to connect and authorize with it. The easiest means for doing so is to use a connection string, which is created automatically when creating an Event Hubs namespace. If you aren't familiar with using connection strings with Event Hubs, you may wish to follow the step-by-step guide to [get an Event Hubs connection string](https://docs.microsoft.com/azure/event-hubs/event-hubs-get-connection-string). -## Key concepts - -- An **Event Hub client** is the primary interface for developers interacting with the Event Hubs client library. There are several different Event Hub clients, each dedicated to a specific use of Event Hubs, such as publishing or consuming events. - -- An **Event Hub producer** is a type of client that serves as a source of telemetry data, diagnostics information, usage logs, or other log data, as part of an embedded device solution, a mobile device application, a game title running on a console or other device, some client or server based business solution, or a web site. - -- An **Event Hub consumer** is a type of client which reads information from the Event Hub and allows processing of it. Processing may involve aggregation, complex computation and filtering. Processing may also involve distribution or storage of the information in a raw or transformed fashion. Event Hub consumers are often robust and high-scale platform infrastructure parts with built-in analytics capabilities, like Azure Stream Analytics, Apache Spark, or Apache Storm. - -- A **partition** is an ordered sequence of events that is held in an Event Hub. Partitions are a means of data organization associated with the parallelism required by event consumers. Azure Event Hubs provides message streaming through a partitioned consumer pattern in which each consumer only reads a specific subset, or partition, of the message stream. As newer events arrive, they are added to the end of this sequence. The number of partitions is specified at the time an Event Hub is created and cannot be changed. - -- A **consumer group** is a view of an entire Event Hub. Consumer groups enable multiple consuming applications to each have a separate view of the event stream, and to read the stream independently at their own pace and from their own position. There can be at most 5 concurrent readers on a partition per consumer group; however it is recommended that there is only one active consumer for a given partition and consumer group pairing. Each active reader receives all of the events from its partition; if there are multiple readers on the same partition, then they will receive duplicate events. - -For more concepts and deeper discussion, see: [Event Hubs Features](https://docs.microsoft.com/azure/event-hubs/event-hubs-features). - -### Client lifetime - -Each of the Event Hubs client types is safe to cache and use as a singleton for the lifetime of the application, which is best practice when events are being published or read regularly. The clients are responsible for efficient management of network, CPU, and memory use, working to keep usage low during periods of inactivity. Calling either `CloseAsync` or `DisposeAsync` on a client is required to ensure that network resources and other unmanaged objects are properly cleaned up. - -### Thread safety - -We guarantee that all client instance methods are thread-safe and independent of each other ([guideline](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-service-methods-thread-safety)). This ensures that the recommendation of reusing client instances is always safe, even across threads. - -### Additional concepts - - -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs_5.7.0-beta.5/sdk/eventhub/Azure.Messaging.EventHubs/samples/Sample02_EventHubsClients.md#configuration) | [Handling failures](#exception-handling) | [Diagnostics](#logging-and-diagnostics) | -[Mocking](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs_5.7.0-beta.5/sdk/core/Azure.Core/README.md#mocking) - - -## Examples - -### Inspect an Event Hub - -Many Event Hub operations take place within the scope of a specific partition. Because partitions are owned by the Event Hub, their names are assigned at the time of creation. To understand what partitions are available, you query the Event Hub using one of the Event Hub clients. For illustration, the `EventHubProducerClient` is demonstrated in these examples, but the concept and form are common across clients. - -```C# Snippet:EventHubs_ReadMe_Inspect -var connectionString = "<< CONNECTION STRING FOR THE EVENT HUBS NAMESPACE >>"; -var eventHubName = "<< NAME OF THE EVENT HUB >>"; - -await using (var producer = new EventHubProducerClient(connectionString, eventHubName)) -{ - string[] partitionIds = await producer.GetPartitionIdsAsync(); -} -``` - -### Publish events to an Event Hub - -In order to publish events, you'll need to create an `EventHubProducerClient`. Producers publish events in batches and may request a specific partition, or allow the Event Hubs service to decide which partition events should be published to. It is recommended to use automatic routing when the publishing of events needs to be highly available or when event data should be distributed evenly among the partitions. Our example will take advantage of automatic routing. - -```C# Snippet:EventHubs_ReadMe_Publish -var connectionString = "<< CONNECTION STRING FOR THE EVENT HUBS NAMESPACE >>"; -var eventHubName = "<< NAME OF THE EVENT HUB >>"; - -await using (var producer = new EventHubProducerClient(connectionString, eventHubName)) -{ - using EventDataBatch eventBatch = await producer.CreateBatchAsync(); - eventBatch.TryAdd(new EventData(new BinaryData("First"))); - eventBatch.TryAdd(new EventData(new BinaryData("Second"))); - - await producer.SendAsync(eventBatch); -} -``` - -### Read events from an Event Hub - -In order to read events from an Event Hub, you'll need to create an `EventHubConsumerClient` for a given consumer group. When an Event Hub is created, it provides a default consumer group that can be used to get started with exploring Event Hubs. In our example, we will focus on reading all events that have been published to the Event Hub using an iterator. - -**Note:** It is important to note that this approach to consuming is intended to improve the experience of exploring the Event Hubs client library and prototyping. It is recommended that it not be used in production scenarios. For production use, we recommend using the [Event Processor Client](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs_5.7.0-beta.5/sdk/eventhub/Azure.Messaging.EventHubs.Processor), as it provides a more robust and performant experience. - -```C# Snippet:EventHubs_ReadMe_Read -var connectionString = "<< CONNECTION STRING FOR THE EVENT HUBS NAMESPACE >>"; -var eventHubName = "<< NAME OF THE EVENT HUB >>"; - -string consumerGroup = EventHubConsumerClient.DefaultConsumerGroupName; - -await using (var consumer = new EventHubConsumerClient(consumerGroup, connectionString, eventHubName)) -{ - using var cancellationSource = new CancellationTokenSource(); - cancellationSource.CancelAfter(TimeSpan.FromSeconds(45)); - - await foreach (PartitionEvent receivedEvent in consumer.ReadEventsAsync(cancellationSource.Token)) - { - // At this point, the loop will wait for events to be available in the Event Hub. When an event - // is available, the loop will iterate with the event that was received. Because we did not - // specify a maximum wait time, the loop will wait forever unless cancellation is requested using - // the cancellation token. - } -} -``` - -### Read events from an Event Hub partition - -In order to read events for an Event Hub partition, you'll need to create an `EventHubConsumerClient` for a given consumer group. When an Event Hub is created, it provides a default consumer group that can be used to get started with exploring Event Hubs. To read from a specific partition, the consumer will also need to specify where in the event stream to begin receiving events; in our example, we will focus on reading all published events for the first partition of the Event Hub. - -```C# Snippet:EventHubs_ReadMe_ReadPartition -var connectionString = "<< CONNECTION STRING FOR THE EVENT HUBS NAMESPACE >>"; -var eventHubName = "<< NAME OF THE EVENT HUB >>"; - -string consumerGroup = EventHubConsumerClient.DefaultConsumerGroupName; - -await using (var consumer = new EventHubConsumerClient(consumerGroup, connectionString, eventHubName)) -{ - EventPosition startingPosition = EventPosition.Earliest; - string partitionId = (await consumer.GetPartitionIdsAsync()).First(); - - using var cancellationSource = new CancellationTokenSource(); - cancellationSource.CancelAfter(TimeSpan.FromSeconds(45)); - - await foreach (PartitionEvent receivedEvent in consumer.ReadEventsFromPartitionAsync(partitionId, startingPosition, cancellationSource.Token)) - { - // At this point, the loop will wait for events to be available in the partition. When an event - // is available, the loop will iterate with the event that was received. Because we did not - // specify a maximum wait time, the loop will wait forever unless cancellation is requested using - // the cancellation token. - } -} -``` - -### Process events using an Event Processor client - -For the majority of production scenarios, it is recommended that the [Event Processor Client](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs_5.7.0-beta.5/sdk/eventhub/Azure.Messaging.EventHubs.Processor) be used for reading and processing events. The processor is intended to provide a robust experience for processing events across all partitions of an Event Hub in a performant and fault tolerant manner while providing a means to persist its state. Event Processor clients are also capable of working cooperatively within the context of a consumer group for a given Event Hub, where they will automatically manage distribution and balancing of work as instances become available or unavailable for the group. - -Since the `EventProcessorClient` has a dependency on Azure Storage blobs for persistence of its state, you'll need to provide a `BlobContainerClient` for the processor, which has been configured for the storage account and container that should be used. - -```C# Snippet:EventHubs_Processor_ReadMe_ProcessUntilCanceled -var cancellationSource = new CancellationTokenSource(); -cancellationSource.CancelAfter(TimeSpan.FromSeconds(45)); - -var storageConnectionString = "<< CONNECTION STRING FOR THE STORAGE ACCOUNT >>"; -var blobContainerName = "<< NAME OF THE BLOB CONTAINER >>"; - -var eventHubsConnectionString = "<< CONNECTION STRING FOR THE EVENT HUBS NAMESPACE >>"; -var eventHubName = "<< NAME OF THE EVENT HUB >>"; -var consumerGroup = "<< NAME OF THE EVENT HUB CONSUMER GROUP >>"; - -Task processEventHandler(ProcessEventArgs eventArgs) => Task.CompletedTask; -Task processErrorHandler(ProcessErrorEventArgs eventArgs) => Task.CompletedTask; - -var storageClient = new BlobContainerClient(storageConnectionString, blobContainerName); -var processor = new EventProcessorClient(storageClient, consumerGroup, eventHubsConnectionString, eventHubName); - -processor.ProcessEventAsync += processEventHandler; -processor.ProcessErrorAsync += processErrorHandler; - -await processor.StartProcessingAsync(); - -try -{ - // The processor performs its work in the background; block until cancellation - // to allow processing to take place. - - await Task.Delay(Timeout.Infinite, cancellationSource.Token); -} -catch (TaskCanceledException) -{ - // This is expected when the delay is canceled. -} - -try -{ - await processor.StopProcessingAsync(); -} -finally -{ - // To prevent leaks, the handlers should be removed when processing is complete. - - processor.ProcessEventAsync -= processEventHandler; - processor.ProcessErrorAsync -= processErrorHandler; -} -``` - -More details can be found in the Event Processor Client [README](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs_5.7.0-beta.5/sdk/eventhub/Azure.Messaging.EventHubs.Processor/README.md) and the accompanying [samples](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs_5.7.0-beta.5/sdk/eventhub/Azure.Messaging.EventHubs.Processor/samples). - -### Using an Active Directory principal with the Event Hub clients - -The [Azure Identity library](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs_5.7.0-beta.5/sdk/identity/Azure.Identity/README.md) provides Azure Active Directory authentication support which can be used for the Azure client libraries, including Event Hubs. - -To make use of an Active Directory principal, one of the available credentials from the `Azure.Identity` library is specified when creating the Event Hubs client. In addition, the fully qualified Event Hubs namespace and the name of desired Event Hub are supplied in lieu of the Event Hubs connection string. For illustration, the `EventHubProducerClient` is demonstrated in these examples, but the concept and form are common across clients. - -```C# Snippet:EventHubs_ReadMe_PublishIdentity -var fullyQualifiedNamespace = "<< FULLY-QUALIFIED EVENT HUBS NAMESPACE (like something.servicebus.windows.net) >>"; -var eventHubName = "<< NAME OF THE EVENT HUB >>"; -var credential = new DefaultAzureCredential(); - -await using (var producer = new EventHubProducerClient(fullyQualifiedNamespace, eventHubName, credential)) -{ - using EventDataBatch eventBatch = await producer.CreateBatchAsync(); - eventBatch.TryAdd(new EventData(new BinaryData("First"))); - eventBatch.TryAdd(new EventData(new BinaryData("Second"))); - - await producer.SendAsync(eventBatch); -} -``` - -When using Azure Active Directory, your principal must be assigned a role which allows access to Event Hubs, such as the `Azure Event Hubs Data Owner` role. For more information about using Azure Active Directory authorization with Event Hubs, please refer to [the associated documentation](https://docs.microsoft.com/azure/event-hubs/authorize-access-azure-active-directory). - -## Troubleshooting - -### Exception handling - -#### Event Hubs Exception - -An `EventHubsException` is triggered when an operation specific to Event Hubs has encountered an issue, including both errors within the service and specific to the client. The exception includes some contextual information to assist in understanding the context of the error and its relative severity. These are: - -- `IsTransient` : This identifies whether or not the exception is considered recoverable. In the case where it was deemed transient, the appropriate retry policy has already been applied and retries were unsuccessful. - -- `Reason` : Provides a set of well-known reasons for the failure that help to categorize and clarify the root cause. These are intended to allow for applying exception filtering and other logic where inspecting the text of an exception message wouldn't be ideal. Some key failure reasons are: - - - **Client Closed** : This occurs when an operation has been requested on an Event Hub client that has already been closed or disposed of. It is recommended to check the application code and ensure that objects from the Event Hubs client library are created and closed/disposed in the intended scope. - - - **Service Timeout** : This indicates that the Event Hubs service did not respond to an operation within the expected amount of time. This may have been caused by a transient network issue or service problem. The Event Hubs service may or may not have successfully completed the request; the status is not known. It is recommended to attempt to verify the current state and retry if necessary. - - - **Quota Exceeded** : This typically indicates that there are too many active read operations for a single consumer group. This limit depends on the tier of the Event Hubs namespace, and moving to a higher tier may be desired. An alternative would be to create additional consumer groups and ensure that the number of consumer client reads for any group is within the limit. Please see [Azure Event Hubs quotas and limits](https://docs.microsoft.com/azure/event-hubs/event-hubs-quotas) for more information. - - - **Message Size Exceeded** : Event data as a maximum size allowed for both an individual event and a batch of events. This includes the data of the event, as well as any associated metadata and system overhead. The best approach for resolving this error is to reduce the number of events being sent in a batch or the size of data included in the message. Because size limits are subject to change, please refer to [Azure Event Hubs quotas and limits](https://docs.microsoft.com/azure/event-hubs/event-hubs-quotas) for specifics. - - - **Consumer Disconnected** : A consumer client was disconnected by the Event Hub service from the Event Hub instance. This typically occurs when a consumer with a higher owner level asserts ownership over a partition and consumer group pairing. - - - **Resource Not Found**: An Event Hubs resource, such as an Event Hub, consumer group, or partition, could not be found by the Event Hubs service. This may indicate that it has been deleted from the service or that there is an issue with the Event Hubs service itself. - -Reacting to a specific failure reason for the `EventHubsException` can be accomplished in several ways, such as by applying an exception filter clause as part of the `catch` block: - -```C# Snippet:EventHubs_ReadMe_ExceptionFilter -try -{ - // Read events using the consumer client -} -catch (EventHubsException ex) when - (ex.Reason == EventHubsException.FailureReason.ConsumerDisconnected) -{ - // Take action based on a consumer being disconnected -} -``` - -#### Other exceptions - -For detailed information about the failures represented by the `EventHubsException` and other exceptions that may occur, please refer to [Event Hubs messaging exceptions](https://docs.microsoft.com/azure/event-hubs/event-hubs-messaging-exceptions). - -### Logging and diagnostics - -The Event Hubs client library is fully instrumented for logging information at various levels of detail using the .NET `EventSource` to emit information. Logging is performed for each operation and follows the pattern of marking the starting point of the operation, it's completion, and any exceptions encountered. Additional information that may offer insight is also logged in the context of the associated operation. - -The Event Hubs client logs are available to any `EventListener` by opting into the source named "Azure-Messaging-EventHubs" or opting into all sources that have the trait "AzureEventSource". To make capturing logs from the Azure client libraries easier, the `Azure.Core` library used by Event Hubs offers an `AzureEventSourceListener`. More information can be found in [Capturing Event Hubs logs using the AzureEventSourceListener](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs_5.7.0-beta.5/sdk/eventhub/Azure.Messaging.EventHubs/samples/Sample10_AzureEventSourceListener.md). - -The Event Hubs client library is also instrumented for distributed tracing using Application Insights or OpenTelemetry. More information can be found in the [Azure.Core Diagnostics sample](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs_5.7.0-beta.5/sdk/core/Azure.Core/samples/Diagnostics.md#distributed-tracing). - -## Next steps - -Beyond the introductory scenarios discussed, the Azure Event Hubs client library offers support for additional scenarios to help take advantage of the full feature set of the Azure Event Hubs service. In order to help explore some of these scenarios, the Event Hubs client library offers a project of samples to serve as an illustration for common scenarios. Please see the samples [README](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs_5.7.0-beta.5/sdk/eventhub/Azure.Messaging.EventHubs/samples/README.md) for details. - -## Contributing - -This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com. - -When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. - -Please see our [contributing guide](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs_5.7.0-beta.5/sdk/eventhub/Azure.Messaging.EventHubs/CONTRIBUTING.md) for more information. - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Feventhub%2FAzure.Messaging.EventHubs%2FREADME.png) - diff --git a/api/overview/azure/preview/messaging.eventhubs.processor-readme.md b/api/overview/azure/preview/messaging.eventhubs.processor-readme.md deleted file mode 100644 index 6a83f45c2b26..000000000000 --- a/api/overview/azure/preview/messaging.eventhubs.processor-readme.md +++ /dev/null @@ -1,299 +0,0 @@ ---- -title: Azure Event Hubs Event Processor client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.Messaging.EventHubs.Processor, eventhub -author: serkantkaraca -ms.author: serkar -ms.date: 04/05/2022 -ms.topic: reference -ms.prod: azure -ms.technology: azure -ms.devlang: dotnet -ms.service: eventhub ---- -# Azure Event Hubs Event Processor client library for .NET - version 5.7.0-beta.5 - - -Azure Event Hubs is a highly scalable publish-subscribe service that can ingest millions of events per second and stream them to multiple consumers. This lets you process and analyze the massive amounts of data produced by your connected devices and applications. Once Event Hubs has collected the data, you can retrieve, transform, and store it by using any real-time analytics provider or with batching/storage adapters. If you would like to know more about Azure Event Hubs, you may wish to review: [What is Event Hubs](https://docs.microsoft.com/azure/event-hubs/event-hubs-about). - -The Event Processor client library is a companion to the Azure Event Hubs client library, providing a stand-alone client for consuming events in a robust, durable, and scalable way that is suitable for the majority of production scenarios. An opinionated implementation built using Azure Storage blobs, the Event Processor is recommended for: - -- Reading and processing events across all partitions of an Event Hub at scale with resilience to transient failures and intermittent network issues. - -- Processing events cooperatively, where multiple processors dynamically distribute and share the responsibility in the context of a consumer group, gracefully managing the load as processors are added and removed from the group. - -- Managing checkpoints and state for processing in a durable manner using Azure Storage blobs as the underlying data store. - -[Source code](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs.Processor_5.7.0-beta.5/sdk/eventhub/Azure.Messaging.EventHubs.Processor/src) | [Package (NuGet)](https://www.nuget.org/packages/Azure.Messaging.EventHubs.Processor/) | [API reference documentation](https://docs.microsoft.com/dotnet/api/azure.messaging.eventhubs) | [Product documentation](https://docs.microsoft.com/azure/event-hubs/) - -## Getting started - -### Prerequisites - -- **Azure Subscription:** To use Azure services, including Azure Event Hubs, you'll need a subscription. If you do not have an existing Azure account, you may sign up for a [free trial](https://azure.microsoft.com/free/dotnet/) or use your [Visual Studio Subscription](https://visualstudio.microsoft.com/subscriptions/) benefits when you [create an account](https://account.windowsazure.com/Home/Index). - -- **Event Hubs namespace with an Event Hub:** To interact with Azure Event Hubs, you'll also need to have a namespace and Event Hub available. If you are not familiar with creating Azure resources, you may wish to follow the step-by-step guide for [creating an Event Hub using the Azure portal](https://docs.microsoft.com/azure/event-hubs/event-hubs-create). There, you can also find detailed instructions for using the Azure CLI, Azure PowerShell, or Azure Resource Manager (ARM) templates to create an Event Hub. - -- **Azure Storage account with blob storage:** To persist checkpoints and govern ownership in Azure Storage, you'll need to have an Azure Storage account with blobs available. If you are not familiar with Azure Storage accounts, you may wish to follow the step-by-step guide for [creating a storage account using the Azure portal](https://docs.microsoft.com/azure/storage/common/storage-quickstart-create-account?toc=%2Fazure%2Fstorage%2Fblobs%2Ftoc.json&tabs=azure-portal). There, you can also find detailed instructions for using the Azure CLI, Azure PowerShell, or Azure Resource Manager (ARM) templates to create storage accounts. - -- **Azure Storage blob container:** Checkpoint and ownership data in Azure Storage will be written to blobs in a specific container. The `EventProcessorClient` requires an existing container and will not implicitly create one to help guard against accidental misconfiguration. If you are not familiar with Azure Storage containers, you may wish to refer to the documentation on [managing containers](https://docs.microsoft.com/azure/storage/blobs/storage-blob-container-create?tabs=dotnet). There, you can find detailed instructions for using .NET, the Azure CLI, or Azure PowerShell to create a container. - -- **C# 8.0:** The Azure Event Hubs client library makes use of new features that were introduced in C# 8.0. In order to take advantage of the C# 8.0 syntax, it is recommended that you compile using the [.NET Core SDK](https://dotnet.microsoft.com/download) 3.0 or higher with a [language version](https://docs.microsoft.com/dotnet/csharp/language-reference/configure-language-version#override-a-default) of `latest`. It is also possible to compile with the .NET Core SDK 2.1.x using a language version of `preview`. - - Visual Studio users wishing to take full advantage of the C# 8.0 syntax will need to use Visual Studio 2019 or later. Visual Studio 2019, including the free Community edition, can be downloaded [here](https://visualstudio.microsoft.com). Users of Visual Studio 2017 can take advantage of the C# 8 syntax by making use of the [Microsoft.Net.Compilers NuGet package](https://www.nuget.org/packages/Microsoft.Net.Compilers/) and setting the language version, though the editing experience may not be ideal. - - You can still use the library with previous C# language versions, but will need to manage asynchronous enumerable and asynchronous disposable members manually rather than benefiting from the new syntax. You may still target any framework version supported by your .NET Core SDK, including earlier versions of .NET Core or the .NET framework. For more information, see: [how to specify target frameworks](https://docs.microsoft.com/dotnet/standard/frameworks#how-to-specify-target-frameworks). - - **Important Note:** In order to build or run the [examples](#examples) and the [samples](#next-steps) without modification, use of C# 8.0 is mandatory. You can still run the samples if you decide to tweak them for other language versions. - -To quickly create the needed resources in Azure and to receive connection strings for them, you can deploy our sample template by clicking: - -[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-sdk-for-net%2Fmaster%2Fsdk%2Feventhub%2FAzure.Messaging.EventHubs.Processor%2Fassets%2Fsamples-azure-deploy.json) - -### Install the package - -Install the Azure Event Hubs Event Processor client library for .NET using [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.Messaging.EventHubs.Processor -``` - -### Authenticate the client - -#### Obtain an Event Hubs connection string - -For the Event Hubs client library to interact with an Event Hub, it will need to understand how to connect and authorize with it. The easiest means for doing so is to use a connection string, which is created automatically when creating an Event Hubs namespace. If you aren't familiar with using connection strings with Event Hubs, you may wish to follow the step-by-step guide to [get an Event Hubs connection string](https://docs.microsoft.com/azure/event-hubs/event-hubs-get-connection-string). - -#### Obtain an Azure Storage connection string - -For the event processor client to make use of Azure Storage blobs for checkpointing, it will need to understand how to connect to a storage account and authorize with it. The most straightforward method of doing so is to use a connection string, which is generated at the time that the storage account is created. If you aren't familiar with storage account connection string authorization in Azure, you may wish to follow the step-by-step guide to [configure Azure Storage connection strings](https://docs.microsoft.com/azure/storage/common/storage-configure-connection-string). - -## Key concepts - -- An **event processor** is a construct intended to manage the responsibilities associated with connecting to a given Event Hub and processing events from each of its partitions, in the context of a specific consumer group. The act of processing events read from the partition and handling any errors that occur is delegated by the event processor to code that you provide, allowing your logic to concentrate on delivering business value while the processor handles the tasks associated with reading events, managing the partitions, and allowing state to be persisted in the form of checkpoints. - -- **Checkpointing** is a process by which readers mark and persist their position for events that have been processed for a partition. Checkpointing is the responsibility of the consumer and occurs on a per-partition, typically in the context of a specific consumer group. For the `EventProcessorClient`, this means that, for a consumer group and partition combination, the processor must keep track of its current position in the event stream. If you would like more information, please refer to [checkpointing ](https://docs.microsoft.com/azure/event-hubs/event-hubs-features#checkpointing) in the Event Hubs product documentation. - - When an event processor connects, it will begin reading events at the checkpoint that was previously persisted by the last processor of that partition in that consumer group, if one exists. As an event processor reads and acts on events in the partition, it should periodically create checkpoints to both mark the events as "complete" by downstream applications and to provide resiliency should an event processor or the environment hosting it fail. Should it be necessary, it is possible to reprocess events that were previously marked as "complete" by specifying an earlier offset through this checkpointing process. - -- A **partition** is an ordered sequence of events that is held in an Event Hub. Partitions are a means of data organization associated with the parallelism required by event consumers. Azure Event Hubs provides message streaming through a partitioned consumer pattern in which each consumer only reads a specific subset, or partition, of the message stream. As newer events arrive, they are added to the end of this sequence. The number of partitions is specified at the time an Event Hub is created and cannot be changed. - -- A **consumer group** is a view of an entire Event Hub. Consumer groups enable multiple consuming applications to each have a separate view of the event stream, and to read the stream independently at their own pace and from their own position. There can be at most 5 concurrent readers on a partition per consumer group; however it is recommended that there is only one active consumer for a given partition and consumer group pairing. Each active reader receives all of the events from its partition; if there are multiple readers on the same partition, then they will receive duplicate events. - -For more concepts and deeper discussion, see: [Event Hubs Features](https://docs.microsoft.com/azure/event-hubs/event-hubs-features). - -### Client lifetime - -The `EventProcessorClient` is safe to cache and use as a singleton for the lifetime of the application, which is best practice when events are being read regularly. The clients are responsible for efficient management of network, CPU, and memory use, working to keep usage low during periods of inactivity. Calling `StopProcessingAsync` or `StopProcessing` on the processor is required to ensure that network resources and other unmanaged objects are properly cleaned up. - -### Thread safety - -We guarantee that all client instance methods are thread-safe and independent of each other ([guideline](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-service-methods-thread-safety)). This ensures that the recommendation of reusing client instances is always safe, even across threads. - -### Additional concepts - - -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs.Processor_5.7.0-beta.5/sdk/eventhub/Azure.Messaging.EventHubs.Processor/samples/Sample02_EventProcessorConfiguration.md#event-processor-configuration) | [Event handlers](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs.Processor_5.7.0-beta.5/sdk/eventhub/Azure.Messaging.EventHubs.Processor/samples/Sample03_EventProcessorHandlers.md) | [Handling failures](#exception-handling) | [Diagnostics](#logging-and-diagnostics) | -[Mocking](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs.Processor_5.7.0-beta.5/sdk/core/Azure.Core/README.md#mocking) - - -## Examples - -### Creating an Event Processor client - -Since the `EventProcessorClient` has a dependency on Azure Storage blobs for persistence of its state, you'll need to provide a `BlobContainerClient` for the processor, which has been configured for the storage account and container that should be used. The container used to configure the `EventProcessorClient` must exist. - -Because the `EventProcessorClient` has no way of knowing the intent of specifying a container that does not exist, it will not implicitly create the container. This acts as a guard against a misconfigured container causing a rogue processor unable to share ownership and interfering with other processors in the consumer group. - -```C# Snippet:EventHubs_Processor_ReadMe_Create -// The container specified when creating the BlobContainerClient must exist; it will -// not be implicitly created. - -var storageConnectionString = "<< CONNECTION STRING FOR THE STORAGE ACCOUNT >>"; -var blobContainerName = "<< NAME OF THE BLOB CONTAINER >>"; - -var eventHubsConnectionString = "<< CONNECTION STRING FOR THE EVENT HUBS NAMESPACE >>"; -var eventHubName = "<< NAME OF THE EVENT HUB >>"; -var consumerGroup = "<< NAME OF THE EVENT HUB CONSUMER GROUP >>"; - -var storageClient = new BlobContainerClient(storageConnectionString, blobContainerName); -var processor = new EventProcessorClient(storageClient, consumerGroup, eventHubsConnectionString, eventHubName); -``` - -### Configure the event and error handlers - -In order to use the `EventProcessorClient`, handlers for event processing and errors must be provided. These handlers are considered self-contained and developers are responsible for ensuring that exceptions within the handler code are accounted for. - -```C# Snippet:EventHubs_Processor_ReadMe_ConfigureHandlers -var storageConnectionString = "<< CONNECTION STRING FOR THE STORAGE ACCOUNT >>"; -var blobContainerName = "<< NAME OF THE BLOB CONTAINER >>"; - -var eventHubsConnectionString = "<< CONNECTION STRING FOR THE EVENT HUBS NAMESPACE >>"; -var eventHubName = "<< NAME OF THE EVENT HUB >>"; -var consumerGroup = "<< NAME OF THE EVENT HUB CONSUMER GROUP >>"; - -async Task processEventHandler(ProcessEventArgs eventArgs) -{ - try - { - // Perform the application-specific processing for an event. This method - // is intended for illustration and is not defined in this snippet. - - await DoSomethingWithTheEvent(eventArgs.Partition, eventArgs.Data); - } - catch - { - // Handle the exception from handler code - } -} - -async Task processErrorHandler(ProcessErrorEventArgs eventArgs) -{ - try - { - // Perform the application-specific processing for an error. This method - // is intended for illustration and is not defined in this snippet. - - await DoSomethingWithTheError(eventArgs.Exception); - } - catch - { - // Handle the exception from handler code - } -} - -var storageClient = new BlobContainerClient(storageConnectionString, blobContainerName); -var processor = new EventProcessorClient(storageClient, consumerGroup, eventHubsConnectionString, eventHubName); - -processor.ProcessEventAsync += processEventHandler; -processor.ProcessErrorAsync += processErrorHandler; -``` - -### Start and stop processing - -The `EventProcessorClient` will perform its processing in the background once it has been explicitly started and continue doing so until it has been explicitly stopped. While this allows the application code to perform other tasks, it also places the responsibility of ensuring that the process does not terminate during processing if there are no other tasks being performed. - -```C# Snippet:EventHubs_Processor_ReadMe_ProcessUntilCanceled -var cancellationSource = new CancellationTokenSource(); -cancellationSource.CancelAfter(TimeSpan.FromSeconds(45)); - -var storageConnectionString = "<< CONNECTION STRING FOR THE STORAGE ACCOUNT >>"; -var blobContainerName = "<< NAME OF THE BLOB CONTAINER >>"; - -var eventHubsConnectionString = "<< CONNECTION STRING FOR THE EVENT HUBS NAMESPACE >>"; -var eventHubName = "<< NAME OF THE EVENT HUB >>"; -var consumerGroup = "<< NAME OF THE EVENT HUB CONSUMER GROUP >>"; - -Task processEventHandler(ProcessEventArgs eventArgs) => Task.CompletedTask; -Task processErrorHandler(ProcessErrorEventArgs eventArgs) => Task.CompletedTask; - -var storageClient = new BlobContainerClient(storageConnectionString, blobContainerName); -var processor = new EventProcessorClient(storageClient, consumerGroup, eventHubsConnectionString, eventHubName); - -processor.ProcessEventAsync += processEventHandler; -processor.ProcessErrorAsync += processErrorHandler; - -await processor.StartProcessingAsync(); - -try -{ - // The processor performs its work in the background; block until cancellation - // to allow processing to take place. - - await Task.Delay(Timeout.Infinite, cancellationSource.Token); -} -catch (TaskCanceledException) -{ - // This is expected when the delay is canceled. -} - -try -{ - await processor.StopProcessingAsync(); -} -finally -{ - // To prevent leaks, the handlers should be removed when processing is complete. - - processor.ProcessEventAsync -= processEventHandler; - processor.ProcessErrorAsync -= processErrorHandler; -} -``` - -### Using an Active Directory principal with the Event Processor client - -The [Azure Identity library](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs.Processor_5.7.0-beta.5/sdk/identity/Azure.Identity/README.md) provides Azure Active Directory authentication support which can be used for the Azure client libraries, including Event Hubs and Azure Storage. - -To make use of an Active Directory principal, one of the available credentials from the `Azure.Identity` library is specified when creating the Event Hubs client. In addition, the fully qualified Event Hubs namespace and the name of desired Event Hub are supplied in lieu of the Event Hubs connection string. - -To make use of an Active Directory principal with Azure Storage blob containers, the fully qualified URL to the container must be provided when creating the storage client. Details about the valid URI formats for accessing Blob storage may be found in [Naming and Referencing Containers, Blobs, and Metadata](https://docs.microsoft.com/rest/api/storageservices/Naming-and-Referencing-Containers--Blobs--and-Metadata#resource-uri-syntax). - -```C# Snippet:EventHubs_Processor_ReadMe_CreateWithIdentity -var credential = new DefaultAzureCredential(); -var blobStorageUrl ="<< FULLY-QUALIFIED CONTAINER URL (like https://myaccount.blob.core.windows.net/mycontainer) >>"; - -var fullyQualifiedNamespace = "<< FULLY-QUALIFIED EVENT HUBS NAMESPACE (like something.servicebus.windows.net) >>"; -var eventHubName = "<< NAME OF THE EVENT HUB >>"; -var consumerGroup = "<< NAME OF THE EVENT HUB CONSUMER GROUP >>"; - -var storageClient = new BlobContainerClient(new Uri(blobStorageUrl), credential); - -var processor = new EventProcessorClient -( - storageClient, - consumerGroup, - fullyQualifiedNamespace, - eventHubName, - credential -); -``` - -When using Azure Active Directory with Event Hubs, your principal must be assigned a role which allows reading from Event Hubs, such as the `Azure Event Hubs Data Receiver` role. For more information about using Azure Active Directory authorization with Event Hubs, please refer to [the associated documentation](https://docs.microsoft.com/azure/event-hubs/authorize-access-azure-active-directory). - -When using Azure Active Directory with Azure Storage, your principal must be assigned a role which allows read, write, and delete access to blobs, such as the `Storage Blob Data Contributor` role. For more information about using Active Directory Authorization with Azure Storage, please refer to the [the associated documentation](https://docs.microsoft.com/azure/storage/common/storage-auth-aad) and the [Azure Storage authorization sample](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs.Processor_5.7.0-beta.5/sdk/storage/Azure.Storage.Blobs/samples/Sample02_Auth.cs). - -## Troubleshooting - -### Exception handling - -#### Event Processor client exceptions - -The Event Processor client makes every attempt to be resilient in the face of exceptions and will take the necessary actions to continue processing unless it is impossible to do so. No action from developers is needed for this to take place; it is natively part of the processor's behavior. - -In order to allow developers the opportunity to inspect and react to exceptions that occur within the Event Processor client operations, they are surfaced via the `ProcessError` event. The arguments for this event offer details about the exception and the context in which it was observed. Developers may perform normal operations on the Event Processor client from within this event handler, such as stopping and/or restarting it in response to errors, but may not otherwise influence the processor's exception behavior. - -For a basic example of implementing the error handler, please see the sample: [Event Processor Handlers](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs.Processor_5.7.0-beta.5/sdk/eventhub/Azure.Messaging.EventHubs.Processor/samples/Sample03_EventProcessorHandlers.md#process-error). - -#### Exceptions in event handlers - -Because the Event Processor client lacks the appropriate context to understand the severity of exceptions within the event handlers that developers provide, it cannot assume what actions would be a reasonable response to them. As a result, developers are considered responsible for exceptions that occur within the event handlers they provide using `try/catch` blocks and other standard language constructs. - -The Event Processor client will not attempt to detect exceptions in developer code nor surface them explicitly. The resulting behavior will depend on the processor's hosting environment and the context in which the event handler was called. Because this may vary between different scenarios, it is strongly recommended that developers code their event handlers defensively and account for potential exceptions. - -#### Exception details - -For detailed information about exceptions that may occur, please refer to the Event Hubs client library [README]( https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs.Processor_5.7.0-beta.5/sdk/eventhub/Azure.Messaging.EventHubs/README.md#event-hubs-exception) and the service documentation for [Event Hubs messaging exceptions](https://docs.microsoft.com/azure/event-hubs/event-hubs-messaging-exceptions). - -### Logging and diagnostics - -The Event Processor client library is fully instrumented for logging information at various levels of detail using the .NET `EventSource` to emit information. Logging is performed for each operation and follows the pattern of marking the starting point of the operation, it's completion, and any exceptions encountered. Additional information that may offer insight is also logged in the context of the associated operation. - -The Event Processor client logs are available to any `EventListener` by opting into the source named "Azure-Messaging-EventHubs-Processor-EventProcessorClient" or opting into all sources that have the trait "AzureEventSource". To make capturing logs from the Azure client libraries easier, the `Azure.Core` library used by Event Hubs offers an `AzureEventSourceListener`. More information can be found in [Capturing Event Hubs logs using the AzureEventSourceListener](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs.Processor_5.7.0-beta.5/sdk/eventhub/Azure.Messaging.EventHubs/samples/Sample10_AzureEventSourceListener.md). - -The Event Processor library is also instrumented for distributed tracing using Application Insights or OpenTelemetry. More information can be found in the [Azure.Core Diagnostics sample](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs.Processor_5.7.0-beta.5/sdk/core/Azure.Core/samples/Diagnostics.md#distributed-tracing). - -## Next steps - -Beyond the scenarios discussed, the Azure Event Hubs Processor library offers support for additional scenarios to help take advantage of the full feature set of the `EventProcessorClient`. In order to help explore some of these scenarios, the Event Hubs Processor client library offers a project of samples to serve as an illustration for common scenarios. Please see the samples [README](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs.Processor_5.7.0-beta.5/sdk/eventhub/Azure.Messaging.EventHubs.Processor/samples/README.md) for details. - -## Contributing - -This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com. - -When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. - -Please see our [contributing guide](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs.Processor_5.7.0-beta.5/sdk/eventhub/Azure.Messaging.EventHubs/CONTRIBUTING.md) for more information. - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Feventhub%2FAzure.Messaging.EventHubs.Processor%2FREADME.png) - diff --git a/api/overview/azure/preview/messaging.servicebus-readme.md b/api/overview/azure/preview/messaging.servicebus-readme.md deleted file mode 100644 index fb0673ff9cda..000000000000 --- a/api/overview/azure/preview/messaging.servicebus-readme.md +++ /dev/null @@ -1,498 +0,0 @@ ---- -title: Azure Service Bus client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.Messaging.ServiceBus, servicebus -author: JoshLove-msft -ms.author: jolov -ms.date: 09/07/2022 -ms.topic: reference -ms.devlang: dotnet -ms.service: servicebus ---- -# Azure Service Bus client library for .NET - version 7.11.0-beta.1 - - -Azure Service Bus allows you to build applications that take advantage of asynchronous messaging patterns using a highly-reliable service to broker messages between producers and consumers. Azure Service Bus provides flexible, brokered messaging between client and server, along with structured first-in, first-out (FIFO) messaging, and publish/subscribe capabilities with complex routing. If you would like to know more about Azure Service Bus, you may wish to review: [What is Azure Service Bus?](/azure/service-bus-messaging/service-bus-messaging-overview) - -Use the client library for Azure Service Bus to: - -- Transfer business data: leverage messaging for durable exchange of information, such as sales or purchase orders, journals, or inventory movements. - -- Decouple applications: improve reliability and scalability of applications and services, relieving senders and receivers of the need to be online at the same time. - -- Control how messages are processed: support traditional competing consumers for messages using queues or allow each consumer their own instance of a message using topics and subscriptions. - -- Implement complex workflows: message sessions support scenarios that require message ordering or message deferral. - -[Source code](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.ServiceBus_7.11.0-beta.1/sdk/servicebus/Azure.Messaging.ServiceBus/src) | [Package (NuGet)](https://www.nuget.org/packages/Azure.Messaging.ServiceBus/) | [API reference documentation](/dotnet/api/azure.messaging.servicebus) | [Product documentation](/azure/service-bus/) | [Migration guide](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.ServiceBus_7.11.0-beta.1/sdk/servicebus/Azure.Messaging.ServiceBus/MigrationGuide.md) - -## Getting started - -### Prerequisites - -- **Microsoft Azure Subscription:** To use Azure services, including Azure Service Bus, you'll need a subscription. If you do not have an existing Azure account, you may sign up for a free trial or use your MSDN subscriber benefits when you [create an account](https://account.windowsazure.com/Home/Index). - -- **Service Bus namespace:** To interact with Azure Service Bus, you'll also need to have a namespace available. If you are not familiar with creating Azure resources, you may wish to follow the step-by-step guide for [creating a Service Bus namespace using the Azure portal](/azure/service-bus-messaging/service-bus-create-namespace-portal). There, you can also find detailed instructions for using the Azure CLI, Azure PowerShell, or Azure Resource Manager (ARM) templates to create a Service bus entity. - -- **C# 8.0:** The Azure Service Bus client library makes use of new features that were introduced in C# 8.0. In order to take advantage of the C# 8.0 syntax, it is recommended that you compile using the [.NET Core SDK](https://dotnet.microsoft.com/download) 3.0 or higher with a [language version](/dotnet/csharp/language-reference/configure-language-version#override-a-default) of `latest`. It is also possible to compile with the .NET Core SDK 2.1.x using a language version of `preview`. - - Visual Studio users wishing to take full advantage of the C# 8.0 syntax will need to use Visual Studio 2019 or later. Visual Studio 2019, including the free Community edition, can be downloaded [here](https://visualstudio.microsoft.com). Users of Visual Studio 2017 can take advantage of the C# 8 syntax by making use of the [Microsoft.Net.Compilers NuGet package](https://www.nuget.org/packages/Microsoft.Net.Compilers/) and setting the language version, though the editing experience may not be ideal. - - You can still use the library with previous C# language versions, but will need to manage asynchronous enumerable and asynchronous disposable members manually rather than benefiting from the new syntax. You may still target any framework version supported by your .NET Core SDK, including earlier versions of .NET Core or the .NET framework. For more information, see: [how to specify target frameworks](/dotnet/standard/frameworks#how-to-specify-target-frameworks). - - **Important Note:** In order to build or run the [examples](#examples) and the [samples](#next-steps) without modification, use of C# 8.0 is mandatory. You can still run the samples if you decide to tweak them for other language versions. - -To quickly create the needed Service Bus resources in Azure and to receive a connection string for them, you can deploy our sample template by clicking: - -[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-sdk-for-net%2Fmaster%2Fsdk%2Fservicebus%2FAzure.Messaging.ServiceBus%2Fassets%2Fsamples-azure-deploy.json) - -### Install the package - -Install the Azure Service Bus client library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.Messaging.ServiceBus -``` - -### Authenticate the client - -For the Service Bus client library to interact with a queue or topic, it will need to understand how to connect and authorize with it. The easiest means for doing so is to use a connection string, which is created automatically when creating a Service Bus namespace. If you aren't familiar with shared access policies in Azure, you may wish to follow the step-by-step guide to [get a Service Bus connection string](/azure/service-bus-messaging/service-bus-quickstart-topics-subscriptions-portal#get-the-connection-string). - -Once you have a connection string, you can authenticate your client with it. - -```C# Snippet:ServiceBusAuthConnString -// Create a ServiceBusClient that will authenticate using a connection string -string connectionString = ""; -ServiceBusClient client = new ServiceBusClient(connectionString); -``` - -To see how to authenticate using Azure.Identity, view this [example](#authenticating-with-azureidentity). - -To see how to initiate the connection with a custom endpoint, view this [example](#initiating-the-connection-with-a-custom-endpoint). - -### ASP.NET Core - -To inject `ServiceBusClient` as a dependency in an ASP.NET Core app, install the Azure client library integration for ASP.NET Core package. - -```dotnetcli -dotnet add package Microsoft.Extensions.Azure -``` - -Then register the client in the `Startup.ConfigureServices` method: - -```csharp -public void ConfigureServices(IServiceCollection services) -{ - services.AddAzureClients(builder => - { - builder.AddServiceBusClient(Configuration.GetConnectionString("ServiceBus")); - }); - - services.AddControllers(); -} -``` - -To use the preceding code, add this to your configuration: - -```json -{ - "ConnectionStrings": { - "ServiceBus": "" - } -} -``` - -For more details, see [Dependency injection with the Azure SDK for .NET](/dotnet/azure/sdk/dependency-injection). - -## Key concepts - -Once you've initialized a `ServiceBusClient`, you can interact with the primary resource types within a Service Bus Namespace, of which multiple can exist and on which actual message transmission takes place, the namespace often serving as an application container: - -* [Queue](/azure/service-bus-messaging/service-bus-messaging-overview#queues): Allows for Sending and Receiving of messages. Often used for point-to-point communication. - -* [Topic](/azure/service-bus-messaging/service-bus-messaging-overview#topics): As opposed to Queues, Topics are better suited to publish/subscribe scenarios. A topic can be sent to, but requires a subscription, of which there can be multiple in parallel, to consume from. - -* [Subscription](/azure/service-bus-messaging/service-bus-queues-topics-subscriptions#topics-and-subscriptions): The mechanism to consume from a Topic. Each subscription is independent, and receives a copy of each message sent to the topic. Rules and Filters can be used to tailor which messages are received by a specific subscription. - -For more information about these resources, see [What is Azure Service Bus?](/azure/service-bus-messaging/service-bus-messaging-overview). - -To interact with these resources, one should be familiar with the following SDK concepts: - -- A [Service Bus client](/dotnet/api/azure.messaging.servicebus.servicebusclient) is the primary interface for developers interacting with the Service Bus client library. It serves as the gateway from which all interaction with the library will occur. - -- A [Service Bus sender](/dotnet/api/azure.messaging.servicebus.servicebussender) is scoped to a particular queue or topic, and is created using the Service Bus client. The sender allows you to send messages to a queue or topic. It also allows for scheduling messages to be available for delivery at a specified date. - -- A [Service Bus receiver](/dotnet/api/azure.messaging.servicebus.servicebusreceiver) is scoped to a particular queue or subscription, and is created using the Service Bus client. The receiver allows you to receive messages from a queue or subscription. It also allows the messages to be settled after receiving them. There are four ways of settling messages: - * Complete - causes the message to be deleted from the queue or topic. - * Abandon - releases the receiver's lock on the message allowing for the message to be received by other receivers. - * Defer - defers the message from being received by normal means. In order to receive deferred messages, the sequence number of the message needs to be retained. - * DeadLetter - moves the message to the Dead Letter queue. This will prevent the message from being received again. In order to receive messages from the Dead Letter queue, a receiver scoped to the Dead Letter queue is needed. - -- A [Service Bus session receiver](/dotnet/api/azure.messaging.servicebus.servicebussessionreceiver) is scoped to a particular session-enabled queue or subscription, and is created using the Service Bus client. The session receiver is almost identical to the standard receiver, with the difference being that session management operations are exposed which only apply to session-enabled entities. These operations include getting and setting session state, as well as renewing session locks. - -- A [Service Bus processor](/dotnet/api/azure.messaging.servicebus.servicebusprocessor) is scoped to a particular queue or subscription, and is created using the Service Bus client. The `ServiceBusProcessor` can be thought of as an abstraction around a set of receivers. It uses a callback model to allow code to be specified when a message is received and when an exception occurs. It offers automatic completion of processed messages, automatic message lock renewal, and concurrent execution of user specified event handlers. Because of its feature set, it should be the go to tool for writing applications that receive from Service Bus entities. The ServiceBusReceiver is recommended for more complex scenarios in which the processor is not able to provide the fine-grained control that one can expect when using the ServiceBusReceiver directly. - -- A [Service Bus session processor](/dotnet/api/azure.messaging.servicebus.servicebussessionprocessor) is scoped to a particular session-enabled queue or subscription, and is created using the Service Bus client. The session processor is almost identical to the standard processor, with the difference being that session management operations are exposed which only apply to session-enabled entities. - -For more concepts and deeper discussion, see: [Service Bus Advanced Features](/azure/service-bus-messaging/service-bus-messaging-overview#advanced-features). - -### Client lifetime - -The `ServiceBusClient`, senders, receivers, and processors are safe to cache and use as a singleton for the lifetime of the application, which is best practice when messages are being sent or received regularly. They are responsible for efficient management of network, CPU, and memory use, working to keep usage low during periods of inactivity. - -These types are disposable and calling either `DisposeAsync` or `CloseAsync` is required to ensure that network resources and other unmanaged objects are properly cleaned up. It is important to note that when a `ServiceBusClient` instance is disposed, it will automatically close and cleanup any senders, receivers, and processors that were created using it. - -### Thread safety - -We guarantee that all client instance methods are thread-safe and independent of each other ([guideline](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-service-methods-thread-safety)). This ensures that the recommendation of reusing client instances is always safe, even across threads. - -### Additional concepts - - -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.ServiceBus_7.11.0-beta.1/sdk/core/Azure.Core/README.md#configuring-service-clients-using-clientoptions) | [Handling failures](#exception-handling) | [Diagnostics](#logging-and-diagnostics) | -[Mocking](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.ServiceBus_7.11.0-beta.1/sdk/core/Azure.Core/README.md#mocking) - - -## Examples - -* [Send and receive a message](#send-and-receive-a-message) -* [Sending a batch of messages](#sending-a-batch-of-messages) -* [Receiving a batch of messages](#receiving-a-batch-of-messages) -* [Complete a message](#complete-a-message) -* [Abandon a message](#abandon-a-message) -* [Defer a message](#defer-a-message) -* [Dead letter a message](#dead-letter-a-message) -* [Using the processor](#using-the-processor) -* [Authenticating with Azure.Identity](#authenticating-with-azureidentity) -* [Working with sessions](#working-with-sessions) -* [More samples](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.ServiceBus_7.11.0-beta.1/sdk/servicebus/Azure.Messaging.ServiceBus/samples/README.md) - -### Send and receive a message - -Message sending is performed using the `ServiceBusSender`. Receiving is performed using the `ServiceBusReceiver`. - -```C# Snippet:ServiceBusSendAndReceive -string connectionString = ""; -string queueName = ""; -// since ServiceBusClient implements IAsyncDisposable we create it with "await using" -await using var client = new ServiceBusClient(connectionString); - -// create the sender -ServiceBusSender sender = client.CreateSender(queueName); - -// create a message that we can send. UTF-8 encoding is used when providing a string. -ServiceBusMessage message = new ServiceBusMessage("Hello world!"); - -// send the message -await sender.SendMessageAsync(message); - -// create a receiver that we can use to receive the message -ServiceBusReceiver receiver = client.CreateReceiver(queueName); - -// the received message is a different type as it contains some service set properties -ServiceBusReceivedMessage receivedMessage = await receiver.ReceiveMessageAsync(); - -// get the message body as a string -string body = receivedMessage.Body.ToString(); -Console.WriteLine(body); -``` - -### Sending a batch of messages - -There are two ways of sending several messages at once. The first way of doing this uses safe-batching. With safe-batching, you can create a `ServiceBusMessageBatch` object, which will allow you to attempt to add messages one at a time to the batch using the `TryAdd` method. If the message cannot fit in the batch, `TryAdd` will return false. - -```C# Snippet:ServiceBusSendAndReceiveSafeBatch -// add the messages that we plan to send to a local queue -Queue messages = new Queue(); -messages.Enqueue(new ServiceBusMessage("First message")); -messages.Enqueue(new ServiceBusMessage("Second message")); -messages.Enqueue(new ServiceBusMessage("Third message")); - -// create a message batch that we can send -// total number of messages to be sent to the Service Bus queue -int messageCount = messages.Count; - -// while all messages are not sent to the Service Bus queue -while (messages.Count > 0) -{ - // start a new batch - using ServiceBusMessageBatch messageBatch = await sender.CreateMessageBatchAsync(); - - // add the first message to the batch - if (messageBatch.TryAddMessage(messages.Peek())) - { - // dequeue the message from the .NET queue once the message is added to the batch - messages.Dequeue(); - } - else - { - // if the first message can't fit, then it is too large for the batch - throw new Exception($"Message {messageCount - messages.Count} is too large and cannot be sent."); - } - - // add as many messages as possible to the current batch - while (messages.Count > 0 && messageBatch.TryAddMessage(messages.Peek())) - { - // dequeue the message from the .NET queue as it has been added to the batch - messages.Dequeue(); - } - - // now, send the batch - await sender.SendMessagesAsync(messageBatch); - - // if there are any remaining messages in the .NET queue, the while loop repeats -} -``` - -The second way uses the `SendMessagesAsync` overload that accepts an IEnumerable of `ServiceBusMessage`. With this method, we will attempt to fit all of the supplied messages in a single message batch that we will send to the service. If the messages are too large to fit in a single batch, the operation will throw an exception. - -```C# Snippet:ServiceBusSendAndReceiveBatch -IList messages = new List(); -messages.Add(new ServiceBusMessage("First")); -messages.Add(new ServiceBusMessage("Second")); -// send the messages -await sender.SendMessagesAsync(messages); -``` - -### Receiving a batch of messages -```C# Snippet:ServiceBusReceiveBatch -// create a receiver that we can use to receive the messages -ServiceBusReceiver receiver = client.CreateReceiver(queueName); - -// the received message is a different type as it contains some service set properties -// a batch of messages (maximum of 2 in this case) are received -IReadOnlyList receivedMessages = await receiver.ReceiveMessagesAsync(maxMessages: 2); - -// go through each of the messages received -foreach (ServiceBusReceivedMessage receivedMessage in receivedMessages) -{ - // get the message body as a string - string body = receivedMessage.Body.ToString(); -} -``` - -### Complete a message - -In order to remove a message from a queue or subscription, we can call the `CompleteAsync` method. - -```C# Snippet:ServiceBusCompleteMessage -string connectionString = ""; -string queueName = ""; -// since ServiceBusClient implements IAsyncDisposable we create it with "await using" -await using var client = new ServiceBusClient(connectionString); - -// create the sender -ServiceBusSender sender = client.CreateSender(queueName); - -// create a message that we can send -ServiceBusMessage message = new ServiceBusMessage("Hello world!"); - -// send the message -await sender.SendMessageAsync(message); - -// create a receiver that we can use to receive and settle the message -ServiceBusReceiver receiver = client.CreateReceiver(queueName); - -// the received message is a different type as it contains some service set properties -ServiceBusReceivedMessage receivedMessage = await receiver.ReceiveMessageAsync(); - -// complete the message, thereby deleting it from the service -await receiver.CompleteMessageAsync(receivedMessage); -``` - -### Abandon a message - -Abandoning a message releases our receiver's lock, which allows the message to be received by this or other receivers. - -```C# Snippet:ServiceBusAbandonMessage -ServiceBusReceivedMessage receivedMessage = await receiver.ReceiveMessageAsync(); - -// abandon the message, thereby releasing the lock and allowing it to be received again by this or other receivers -await receiver.AbandonMessageAsync(receivedMessage); -``` - -### Defer a message - -Deferring a message will prevent it from being received again using the `ReceiveMessageAsync` or `ReceiveMessagesAsync` methods. Instead, there are separate methods, `ReceiveDeferredMessageAsync` and `ReceiveDeferredMessagesAsync` for receiving deferred messages. - -```C# Snippet:ServiceBusDeferMessage -ServiceBusReceivedMessage receivedMessage = await receiver.ReceiveMessageAsync(); - -// defer the message, thereby preventing the message from being received again without using -// the received deferred message API. -await receiver.DeferMessageAsync(receivedMessage); - -// receive the deferred message by specifying the service set sequence number of the original -// received message -ServiceBusReceivedMessage deferredMessage = await receiver.ReceiveDeferredMessageAsync(receivedMessage.SequenceNumber); -``` - -### Dead letter a message - -Dead lettering a message is similar to deferring with one main difference being that messages will be automatically dead lettered by the service after they have been received a certain number of times. Applications can choose to manually dead letter messages based on their requirements. When a message is dead lettered it is actually moved to a subqueue of the original queue. Note that the `ServiceBusReceiver` is used to receive messages from the dead letter subqueue regardless of whether or not the main queue is session-enabled. - -```C# Snippet:ServiceBusDeadLetterMessage -ServiceBusReceivedMessage receivedMessage = await receiver.ReceiveMessageAsync(); - -// Dead-letter the message, thereby preventing the message from being received again without receiving from the dead letter queue. -// We can optionally pass a dead letter reason and dead letter description to further describe the reason for dead-lettering the message. -await receiver.DeadLetterMessageAsync(receivedMessage, "sample reason", "sample description"); - -// receive the dead lettered message with receiver scoped to the dead letter queue. -ServiceBusReceiver dlqReceiver = client.CreateReceiver(queueName, new ServiceBusReceiverOptions -{ - SubQueue = SubQueue.DeadLetter -}); -ServiceBusReceivedMessage dlqMessage = await dlqReceiver.ReceiveMessageAsync(); - -// The reason and the description that we specified when dead-lettering the message will be available in the received dead letter message. -string reason = dlqMessage.DeadLetterReason; -string description = dlqMessage.DeadLetterErrorDescription; -``` - -### Using the Processor - -The `ServiceBusProcessor` can be thought of as an abstraction around a set of receivers. It uses a callback model to allow code to be specified when a message is received and when an exception occurs. It offers automatic completion of processed messages, automatic message lock renewal, and concurrent execution of user specified event handlers. Because of its feature set, it should be the go to tool for writing applications that receive from Service Bus entities. The ServiceBusReceiver is recommended for more complex scenarios in which the processor is not able to provide the fine-grained control that one can expect when using the ServiceBusReceiver directly. - -```C# Snippet:ServiceBusProcessMessages -string connectionString = ""; -string queueName = ""; -// since ServiceBusClient implements IAsyncDisposable we create it with "await using" -await using var client = new ServiceBusClient(connectionString); - -// create the sender -ServiceBusSender sender = client.CreateSender(queueName); - -// create a set of messages that we can send -ServiceBusMessage[] messages = new ServiceBusMessage[] -{ - new ServiceBusMessage("First"), - new ServiceBusMessage("Second") -}; - -// send the message batch -await sender.SendMessagesAsync(messages); - -// create the options to use for configuring the processor -var options = new ServiceBusProcessorOptions -{ - // By default or when AutoCompleteMessages is set to true, the processor will complete the message after executing the message handler - // Set AutoCompleteMessages to false to [settle messages](/azure/service-bus-messaging/message-transfers-locks-settlement#peeklock) on your own. - // In both cases, if the message handler throws an exception without settling the message, the processor will abandon the message. - AutoCompleteMessages = false, - - // I can also allow for multi-threading - MaxConcurrentCalls = 2 -}; - -// create a processor that we can use to process the messages -await using ServiceBusProcessor processor = client.CreateProcessor(queueName, options); - -// configure the message and error handler to use -processor.ProcessMessageAsync += MessageHandler; -processor.ProcessErrorAsync += ErrorHandler; - -async Task MessageHandler(ProcessMessageEventArgs args) -{ - string body = args.Message.Body.ToString(); - Console.WriteLine(body); - - // we can evaluate application logic and use that to determine how to settle the message. - await args.CompleteMessageAsync(args.Message); -} - -Task ErrorHandler(ProcessErrorEventArgs args) -{ - // the error source tells me at what point in the processing an error occurred - Console.WriteLine(args.ErrorSource); - // the fully qualified namespace is available - Console.WriteLine(args.FullyQualifiedNamespace); - // as well as the entity path - Console.WriteLine(args.EntityPath); - Console.WriteLine(args.Exception.ToString()); - return Task.CompletedTask; -} - -// start processing -await processor.StartProcessingAsync(); - -// since the processing happens in the background, we add a Console.ReadKey to allow the processing to continue until a key is pressed. -Console.ReadKey(); -``` - -### Authenticating with Azure.Identity - -The [Azure Identity library](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.ServiceBus_7.11.0-beta.1/sdk/identity/Azure.Identity/README.md) provides easy Azure Active Directory support for authentication. - -```C# Snippet:ServiceBusAuthAAD -// Create a ServiceBusClient that will authenticate through Active Directory -string fullyQualifiedNamespace = "yournamespace.servicebus.windows.net"; -ServiceBusClient client = new ServiceBusClient(fullyQualifiedNamespace, new DefaultAzureCredential()); -``` - -### Working with Sessions - -[Sessions](/azure/service-bus-messaging/message-sessions) provide a mechanism for grouping related messages. In order to use sessions, you need to be working with a session-enabled entity. - -- [Sending and receiving session messages](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.ServiceBus_7.11.0-beta.1/sdk/servicebus/Azure.Messaging.ServiceBus/samples/Sample03_SendReceiveSessions.md) -- [Using the session processor](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.ServiceBus_7.11.0-beta.1/sdk/servicebus/Azure.Messaging.ServiceBus/samples/Sample05_SessionProcessor.md) - -## Troubleshooting - -### Exception handling - -#### Service Bus Exception - -A `ServiceBusException` is triggered when an operation specific to Service Bus has encountered an issue, including both errors within the service and specific to the client. The exception includes some contextual information to assist in understanding the context of the error and its relative severity. These are: - -- `IsTransient` : This identifies whether or not the exception is considered recoverable. In the case where it was deemed transient, the appropriate retry policy has already been applied and retries were unsuccessful. - -- `Reason` : Provides a set of well-known reasons for the failure that help to categorize and clarify the root cause. These are intended to allow for applying exception filtering and other logic where inspecting the text of an exception message wouldn't be ideal. Some key failure reasons are: - - - **Service Timeout** : This indicates that the Service Bus service did not respond to an operation within the expected amount of time. This may have been caused by a transient network issue or service problem. The Service Bus service may or may not have successfully completed the request; the status is not known. It is recommended to attempt to verify the current state and retry if necessary. - - - **Message Lock Lost** : This can occur if the processing takes longer than the lock duration specified at the entity level for a message. If this error occurs consistently, it may be worth increasing the message lock duration. Otherwise, callers can renew the message lock while they are processing the message to ensure that this error doesn't occur. - - - **Messaging Entity Not Found**: A Service Bus resource, such as a queue, topic, or subscription could not be found by the Service Bus service. This may indicate that it has been deleted from the service or that there is an issue with the Service Bus service itself. - -Reacting to a specific failure reason for the `ServiceBusException` can be accomplished in several ways, such as by applying an exception filter clause as part of the `catch` block: - -```C# Snippet:ServiceBusExceptionFailureReasonUsage -try -{ - // Receive messages using the receiver client -} -catch (ServiceBusException ex) when - (ex.Reason == ServiceBusFailureReason.ServiceTimeout) -{ - // Take action based on a service timeout -} -``` - -#### Other exceptions - -For detailed information about the failures represented by the `ServiceBusException` and other exceptions that may occur, please refer to [Service Bus messaging exceptions](/azure/service-bus-messaging/service-bus-messaging-exceptions). - -### Logging and diagnostics - -The Service Bus client library is fully instrumented for logging information at various levels of detail using the .NET `EventSource` to emit information. Logging is performed for each operation and follows the pattern of marking the starting point of the operation and either it's completion or exceptions encountered. Additional information that may offer insight is also logged in the context of the associated operation. - -The Service Bus client logs are available to any `EventListener` by opting into the source named "Azure-Messaging-ServiceBus" or opting into all sources that have the trait "AzureEventSource". To make capturing logs from the Azure client libraries easier, the `Azure.Core` library used by Service Bus offers an `AzureEventSourceListener`. More information can be found in the [Azure.Core Diagnostics sample](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.ServiceBus_7.11.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md#logging). - -The Service Bus client library is also instrumented for distributed tracing using Application Insights or OpenTelemetry. More information can be found in the [Azure.Core Diagnostics sample](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.ServiceBus_7.11.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md#distributed-tracing). - -## Next steps - -Beyond the introductory scenarios discussed, the Azure Service Bus client library offers support for additional scenarios to help take advantage of the full feature set of the Azure Service Bus service. In order to help explore some of these scenarios, the Service Bus client library offers a project of samples to serve as an illustration for common scenarios. Please see the [samples README](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.ServiceBus_7.11.0-beta.1/sdk/servicebus/Azure.Messaging.ServiceBus/samples/README.md) for details. - -## Contributing - -This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com. - -When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. - -Please see our [contributing guide](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.ServiceBus_7.11.0-beta.1/sdk/servicebus/Azure.Messaging.ServiceBus/CONTRIBUTING.md) for more information. - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Fservicebus%2FAzure.Messaging.ServiceBus%2FREADME.png) - diff --git a/api/overview/azure/preview/messaging.webpubsub-readme.md b/api/overview/azure/preview/messaging.webpubsub-readme.md deleted file mode 100644 index 24007b45374f..000000000000 --- a/api/overview/azure/preview/messaging.webpubsub-readme.md +++ /dev/null @@ -1,147 +0,0 @@ ---- -title: Azure Web PubSub service client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.Messaging.WebPubSub, webpubsub -author: vicancy -ms.author: lianwei -ms.date: 08/11/2022 -ms.topic: reference -ms.devlang: dotnet -ms.service: webpubsub ---- -# Azure Web PubSub service client library for .NET - version 1.1.0-beta.1 - - -[Azure Web PubSub Service](https://aka.ms/awps/doc) is an Azure-managed service that helps developers easily build web applications with real-time features and publish-subscribe pattern. Any scenario that requires real-time publish-subscribe messaging between server and clients or among clients can use Azure Web PubSub service. Traditional real-time features that often require polling from server or submitting HTTP requests can also use Azure Web PubSub service. - -You can use this library in your app server side to manage the WebSocket client connections, as shown in below diagram: - -![overflow](https://user-images.githubusercontent.com/668244/140014067-25a00959-04dc-47e8-ac25-6957bd0a71ce.png) - -Use this library to: - -- Send messages to hubs and groups. -- Send messages to particular users and connections. -- Organize users and connections into groups. -- Close connections -- Grant, revoke, and check permissions for an existing connection - -Details about the terms used here are described in [Key concepts](#key-concepts) section. - -[Source code](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.WebPubSub_1.1.0-beta.1/sdk/webpubsub/Azure.Messaging.WebPubSub/src) | -[Package](https://www.nuget.org/packages/Azure.Messaging.WebPubSub) | -[API reference documentation](https://aka.ms/awps/sdk/csharp) | -[Product documentation](https://aka.ms/awps/doc) | -[Samples][samples_ref] - -## Getting started - -### Install the package - -Install the client library from [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.Messaging.WebPubSub -``` - -### Prerequisites - -- An [Azure subscription][azure_sub]. -- An existing Azure Web PubSub service instance. - -### Create and authenticate a `WebPubSubServiceClient` - -In order to interact with the service, you'll need to create an instance of the `WebPubSubServiceClient` class. To make this possible, you'll need the connection string or a key, which you can access in the Azure portal. - -```C# Snippet:WebPubSubAuthenticate -// Create a WebPubSubServiceClient that will authenticate using a key credential. -var serviceClient = new WebPubSubServiceClient(new Uri(endpoint), "some_hub", new AzureKeyCredential(key)); -``` - -## Key concepts - -### Connection - -A connection, also known as a client or a client connection, represents an individual WebSocket connection connected to the Web PubSub service. When successfully connected, a unique connection ID is assigned to this connection by the Web PubSub service. - -### Hub - -A hub is a logical concept for a set of client connections. Usually you use one hub for one purpose, for example, a chat hub, or a notification hub. When a client connection is created, it connects to a hub, and during its lifetime, it belongs to that hub. Different applications can share one Azure Web PubSub service by using different hub names. - -### Group - -A group is a subset of connections to the hub. You can add a client connection to a group, or remove the client connection from the group, anytime you want. For example, when a client joins a chat room, or when a client leaves the chat room, this chat room can be considered to be a group. A client can join multiple groups, and a group can contain multiple clients. - -### User - -Connections to Web PubSub can belong to one user. A user might have multiple connections, for example when a single user is connected across multiple devices or multiple browser tabs. - -### Message - -When a client is connected, it can send messages to the upstream application, or receive messages from the upstream application, through the WebSocket connection. - -## Examples - -### Broadcast a text message to all clients - -```C# Snippet:WebPubSubHelloWorld -var serviceClient = new WebPubSubServiceClient(connectionString, "some_hub"); - -serviceClient.SendToAll("Hello World!"); -``` - -### Broadcast a JSON message to all clients - -```C# Snippet:WebPubSubSendJson -var serviceClient = new WebPubSubServiceClient(connectionString, "some_hub"); - -serviceClient.SendToAll(RequestContent.Create( - new - { - Foo = "Hello World!", - Bar = 42 - }), - ContentType.ApplicationJson); -``` - -### Broadcast a binary message to all clients - -```C# Snippet:WebPubSubSendBinary -var serviceClient = new WebPubSubServiceClient(connectionString, "some_hub"); - -Stream stream = BinaryData.FromString("Hello World!").ToStream(); -serviceClient.SendToAll(RequestContent.Create(stream), ContentType.ApplicationOctetStream); -``` - -## Troubleshooting - -### Setting up console logging - -You can also easily [enable console logging](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.WebPubSub_1.1.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md#logging) if you want to dig deeper into the requests you're making against the service. - -## Next steps - -Please take a look at the -[samples][samples_ref] -directory for detailed examples on how to use this library. - -You can also find [more samples here][awps_sample]. - -## Contributing - -This project welcomes contributions and suggestions. -Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. -For details, visit - -When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). -Simply follow the instructions provided by the bot. -You will only need to do this once across all repos using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). -For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Ftemplate%2FAzure.Template%2FREADME.png) - -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[samples_ref]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.WebPubSub_1.1.0-beta.1/sdk/webpubsub/Azure.Messaging.WebPubSub/tests/Samples/ -[awps_sample]: https://github.com/Azure/azure-webpubsub/tree/main/samples/csharp - diff --git a/api/overview/azure/preview/microsoft.azure.data.schemaregistry.apacheavro-readme.md b/api/overview/azure/preview/microsoft.azure.data.schemaregistry.apacheavro-readme.md deleted file mode 100644 index 5277193a7815..000000000000 --- a/api/overview/azure/preview/microsoft.azure.data.schemaregistry.apacheavro-readme.md +++ /dev/null @@ -1,209 +0,0 @@ ---- -title: Azure Schema Registry Apache Avro client library for .NET -keywords: Azure, dotnet, SDK, API, Microsoft.Azure.Data.SchemaRegistry.ApacheAvro, schemaregistry -author: jsquire -ms.author: jsquire -ms.date: 04/06/2022 -ms.topic: reference -ms.prod: azure -ms.technology: azure -ms.devlang: dotnet -ms.service: schemaregistry ---- -# Azure Schema Registry Apache Avro client library for .NET - version 1.0.0-beta.8 - - -Azure Schema Registry is a schema repository service hosted by Azure Event Hubs, providing schema storage, versioning, and management. This package provides an Avro serializer capable of serializing and deserializing payloads containing Schema Registry schema identifiers and Avro-serialized data. - -## Getting started - -### Install the package - -Install the Azure Schema Registry Apache Avro library for .NET with [NuGet][nuget]: - -```dotnetcli -dotnet add package Microsoft.Azure.Data.SchemaRegistry.ApacheAvro --version 1.0.0-beta.1 -``` - -### Prerequisites - -* An [Azure subscription][azure_sub] -* An [Event Hubs namespace][event_hubs_namespace] - -If you need to [create an Event Hubs namespace][create_event_hubs_namespace], you can use the Azure Portal or [Azure PowerShell][azure_powershell]. - -You can use Azure PowerShell to create the Event Hubs namespace with the following command: - -```PowerShell -New-AzEventHubNamespace -ResourceGroupName myResourceGroup -NamespaceName namespace_name -Location eastus -``` - -### Authenticate the client - -In order to interact with the Azure Schema Registry service, you'll need to create an instance of the [Schema Registry Client][schema_registry_client] class. To create this client, you'll need Azure resource credentials and the Event Hubs namespace hostname. - -#### Get credentials - -To acquire authenicated credentials and start interacting with Azure resources, please see the [quickstart guide here][quickstart_guide]. - -#### Get Event Hubs namespace hostname - -The simpliest way is to use the [Azure portal][azure_portal] and navigate to your Event Hubs namespace. From the Overview tab, you'll see `Host name`. Copy the value from this field. - -#### Create SchemaRegistryClient - -Once you have the Azure resource credentials and the Event Hubs namespace hostname, you can create the [SchemaRegistryClient][schema_registry_client]. You'll also need the [Azure.Identity][azure_identity] package to create the credential. - -```C# Snippet:SchemaRegistryAvroCreateSchemaRegistryClient -// Create a new SchemaRegistry client using the default credential from Azure.Identity using environment variables previously set, -// including AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, and AZURE_TENANT_ID. -// For more information on Azure.Identity usage, see: https://github.com/Azure/azure-sdk-for-net/blob/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro_1.0.0-beta.8/sdk/identity/Azure.Identity/README.md -var schemaRegistryClient = new SchemaRegistryClient(fullyQualifiedNamespace: fullyQualifiedNamespace, credential: new DefaultAzureCredential()); -``` - -## Key concepts - -### Serializer - -This library provides a serializer, [SchemaRegistryAvroSerializer][schema_registry_avro_serializer], that interacts with `EventData` events. The SchemaRegistryAvroSerializer utilizes a SchemaRegistryClient to enrich the `EventData` events with the schema ID for the schema used to serialize the data. - -This serializer requires the [Apache Avro library][apache_avro_library]. The payload types accepted by this serializer include [GenericRecord][generic_record] and [ISpecificRecord][specific_record]. - - -### Examples - -The following shows examples of what is available through the `SchemaRegistryAvroSerializer`. There are both sync and async methods available for these operations. These examples use a generated Apache Avro class [Employee.cs][employee] created using this schema: - -```json -{ - "type" : "record", - "namespace" : "TestSchema", - "name" : "Employee", - "fields" : [ - { "name" : "Name" , "type" : "string" }, - { "name" : "Age", "type" : "int" } - ] -} -``` - -Details on generating a class using the Apache Avro library can be found in the [Avro C# Documentation][avro_csharp_documentation]. - -### Serialize and deserialize data using the Event Hub EventData model - -In order to serialize an `EventData` instance with Avro information, you can do the following: -```C# Snippet:SchemaRegistryAvroEncodeEventData -var serializer = new SchemaRegistryAvroSerializer(client, groupName, new SchemaRegistryAvroSerializerOptions { AutoRegisterSchemas = true }); - -var employee = new Employee { Age = 42, Name = "Caketown" }; -EventData eventData = (EventData) await serializer.SerializeAsync(employee, messageType: typeof(EventData)); - -// the schema Id will be included as a parameter of the content type -Console.WriteLine(eventData.ContentType); - -// the serialized Avro data will be stored in the EventBody -Console.WriteLine(eventData.EventBody); -``` - -To deserialize an `EventData` event that you are consuming: -```C# Snippet:SchemaRegistryAvroDecodeEventData -Employee deserialized = (Employee) await serializer.DeserializeAsync(eventData, typeof(Employee)); -Console.WriteLine(deserialized.Age); -Console.WriteLine(deserialized.Name); -``` - -You can also use generic methods to serialize and deserialize the data. This may be more convenient if you are not building a library on top of the Avro serializer, as you won't have to worry about the virality of generics: -```C# Snippet:SchemaRegistryAvroEncodeEventDataGenerics -var serializer = new SchemaRegistryAvroSerializer(client, groupName, new SchemaRegistryAvroSerializerOptions { AutoRegisterSchemas = true }); - -var employee = new Employee { Age = 42, Name = "Caketown" }; -EventData eventData = await serializer.SerializeAsync(employee); - -// the schema Id will be included as a parameter of the content type -Console.WriteLine(eventData.ContentType); - -// the serialized Avro data will be stored in the EventBody -Console.WriteLine(eventData.EventBody); -``` - -Similarly, to deserialize: -```C# Snippet:SchemaRegistryAvroDecodeEventDataGenerics -Employee deserialized = await serializer.DeserializeAsync(eventData); -Console.WriteLine(deserialized.Age); -Console.WriteLine(deserialized.Name); -``` - -### Serialize and deserialize data using `MessageContent` directly - -It is also possible to serialize and deserialize using `MessageContent`. Use this option if you are not integrating with any of the messaging libraries that work with `MessageContent`. -```C# Snippet:SchemaRegistryAvroEncodeDecodeMessageContent -var serializer = new SchemaRegistryAvroSerializer(client, groupName, new SchemaRegistryAvroSerializerOptions { AutoRegisterSchemas = true }); -MessageContent content = await serializer.SerializeAsync(employee); - -Employee deserializedEmployee = await serializer.DeserializeAsync(content); -``` - -## Troubleshooting - -If you encounter errors when communicating with the Schema Registry service, these errors will be thrown as a [RequestFailedException][request_failed_exception]. The serializer will only communicate with the service the first time it encounters a schema (when serializing) or a schema ID (when deserializing). Any errors related to serialization to Avro, or deserialization from Avro, will be thrown as a `AvroSerializationException`. The `InnerException` property will contain the underlying exception that was thrown from the Apache Avro library. When deserializing, the `SerializedSchemaId` property will contain the schema ID corresponding to the serialized data. Using our `Employee` schema example, if we add an `Employee_V2` model that adds a new required field, this would not be compatible with `Employee`. If the data we are attempting to deserialize may contain a schema that would not be compatible with our `Employee_V2` model, then we might write code like the following: - -```C# Snippet:SchemaRegistryAvroException -try -{ - Employee_V2 employeeV2 = await serializer.DeserializeAsync(content); -} -catch (SchemaRegistryAvroException exception) -{ - // When this exception occurs when deserializing, the exception message will contain the schema ID that was used to - // serialize the data. - Console.WriteLine(exception); - - // We might also want to look up the specific schema from Schema Registry so that we can log the schema definition - if (exception.SchemaId != null) - { - SchemaRegistrySchema schema = await client.GetSchemaAsync(exception.SchemaId); - Console.WriteLine(schema.Definition); - } -} -``` - -In general, any invalid Avro schemas would probably be caught during testing, but such schemas will also result in a `AvroSerializationException` being thrown when attempting to serialize using an invalid writer schema, or deserialize when using an invalid reader schema. - - -## Next steps - -See [Azure Schema Registry][azure_schema_registry] for additional information. - -## Contributing - -This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit [cla.microsoft.com][cla]. - -When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][code_of_conduct]. For more information see the [Code of Conduct FAQ][code_of_conduct_faq] or contact [opencode@microsoft.com][email_opencode] with any additional questions or comments. - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Ftemplate%2FAzure.Template%2FREADME.png) - - -[nuget]: https://www.nuget.org/ -[event_hubs_namespace]: https://docs.microsoft.com/azure/event-hubs/event-hubs-about -[azure_powershell]: https://docs.microsoft.com/powershell/azure/ -[create_event_hubs_namespace]: https://docs.microsoft.com/azure/event-hubs/event-hubs-quickstart-powershell#create-an-event-hubs-namespace -[quickstart_guide]: https://github.com/Azure/azure-sdk-for-net/blob/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro_1.0.0-beta.8/doc/mgmt_preview_quickstart.md -[schema_registry_client]: https://github.com/Azure/azure-sdk-for-net/blob/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro_1.0.0-beta.8/sdk/schemaregistry/Azure.Data.SchemaRegistry/src/SchemaRegistryClient.cs -[azure_portal]: https://ms.portal.azure.com/ -[schema_properties]: src/SchemaProperties.cs -[azure_identity]: https://www.nuget.org/packages/Azure.Identity -[cla]: https://cla.microsoft.com -[code_of_conduct]: https://opensource.microsoft.com/codeofconduct/ -[code_of_conduct_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[email_opencode]: mailto:opencode@microsoft.com -[schema_registry_avro_serializer]: https://github.com/Azure/azure-sdk-for-net/blob/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro_1.0.0-beta.8/sdk/schemaregistry/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro/src/SchemaRegistryAvroSerializer.cs -[employee]: https://github.com/Azure/azure-sdk-for-net/blob/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro_1.0.0-beta.8/sdk/schemaregistry/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro/tests/Models/Employee.cs -[avro_csharp_documentation]: https://avro.apache.org/docs/current/api/csharp/html/index.html -[apache_avro_library]: https://www.nuget.org/packages/Apache.Avro/ -[generic_record]: https://avro.apache.org/docs/current/api/csharp/html/classAvro_1_1Generic_1_1GenericRecord.html -[specific_record]: https://avro.apache.org/docs/current/api/csharp/html/interfaceAvro_1_1Specific_1_1ISpecificRecord.html -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[azure_schema_registry]: https://aka.ms/schemaregistry -[request_failed_exception]: https://docs.microsoft.com/dotnet/api/azure.requestfailedexception?view=azure-dotnet - diff --git a/api/overview/azure/preview/microsoft.azure.webjobs.extensions.eventgrid-readme.md b/api/overview/azure/preview/microsoft.azure.webjobs.extensions.eventgrid-readme.md deleted file mode 100644 index 4a4662c617d2..000000000000 --- a/api/overview/azure/preview/microsoft.azure.webjobs.extensions.eventgrid-readme.md +++ /dev/null @@ -1,165 +0,0 @@ ---- -title: Azure WebJobs EventGrid client library for .NET -keywords: Azure, dotnet, SDK, API, Microsoft.Azure.WebJobs.Extensions.EventGrid, webjobs -author: ramya-rao-a -ms.author: ramyar -ms.date: 10/11/2021 -ms.topic: reference -ms.prod: azure -ms.technology: azure -ms.devlang: dotnet -ms.service: webjobs ---- - -# Azure WebJobs EventGrid client library for .NET - version 3.0.0-beta.4 - - -This extension provides functionality for receiving Event Grid webhook calls in Azure Functions, allowing you to easily write functions that respond to any event published to Event Grid. - -## Getting started - -### Install the package - -Install the Event Grid extension with [NuGet][nuget]: - -```dotnetcli -dotnet add package Microsoft.Azure.WebJobs.Extensions.EventGrid -``` - -### Prerequisites - -You must have an [Azure subscription](https://azure.microsoft.com/free/dotnet/) and an Azure resource group with a custom Event Grid topic or domain. Follow this [step-by-step tutorial](https://docs.microsoft.com/azure/event-grid/custom-event-quickstart-portal) to register the Event Grid resource provider and create Event Grid topics using the [Azure portal](https://portal.azure.com/). There is a [similar tutorial](https://docs.microsoft.com/azure/event-grid/custom-event-quickstart) using [Azure CLI](https://docs.microsoft.com/cli/azure). - -### Authenticate the Client - -In order for the extension publish events, you will need the `endpoint` of the Event Grid topic and a `credential`, which can be created using the topic's access key. - -You can find the endpoint for your Event Grid topic either in the [Azure Portal](https://portal.azure.com/) or by using the [Azure CLI](https://docs.microsoft.com/cli/azure) snippet below. - -```bash -az eventgrid topic show --name --resource-group --query "endpoint" -``` - -The access key can also be found through the [portal](https://docs.microsoft.com/azure/event-grid/get-access-keys), or by using the Azure CLI snippet below: -```bash -az eventgrid topic key list --name --resource-group --query "key1" -``` - -## Key concepts - -### Using Event Grid output binding - -Please follow the [binding tutorial](https://docs.microsoft.com/azure/azure-functions/functions-bindings-event-grid-trigger?tabs) to learn about using this extension for publishing EventGrid events. - -### Using Event Grid trigger - -Please follow the [tutorial](https://docs.microsoft.com/azure/azure-functions/functions-bindings-event-grid-trigger?tabs=csharp) to learn about triggering an Azure Function when an event is published. - -## Examples - -### Functions that uses Event Grid output binding - -If you are using the EventGrid schema for your topic, you can output EventGridEvents. - -```C# Snippet:EventGridEventBindingFunction -public static class EventGridEventBindingFunction -{ - [FunctionName("EventGridEventBindingFunction")] - public static async Task RunAsync( - [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, - [EventGrid(TopicEndpointUri = "EventGridEndpoint", TopicKeySetting = "EventGridKey")] IAsyncCollector eventCollector) - { - EventGridEvent e = new EventGridEvent(await req.ReadAsStringAsync(), "IncomingRequest", "IncomingRequest", "1.0.0"); - await eventCollector.AddAsync(e); - return new OkResult(); - } -} -``` - -If you are using the CloudEvent schema for your topic, you can output CloudEvents. -```C# Snippet:CloudEventBindingFunction -public static class CloudEventBindingFunction -{ - [FunctionName("CloudEventBindingFunction")] - public static async Task RunAsync( - [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, - [EventGrid(TopicEndpointUri = "EventGridEndpoint", TopicKeySetting = "EventGridKey")] IAsyncCollector eventCollector) - { - CloudEvent e = new CloudEvent("IncomingRequest", "IncomingRequest", await req.ReadAsStringAsync()); - await eventCollector.AddAsync(e); - return new OkResult(); - } -} -``` - -You can also output a string or JObject and the extension will attempt to parse into the correct strongly typed event. - -### Functions that uses Event Grid trigger -You can also create a function that will be executed whenever an event is delivered to your topic. Depending on the schema you have selected for your Azure Function event subscription, you can bind to either `EventGridEvent` or `CloudEvent`: - -```C# Snippet:EventGridEventTriggerFunction -public static class EventGridEventTriggerFunction -{ - [FunctionName("EventGridEventTriggerFunction")] - public static void Run( - ILogger logger, - [EventGridTrigger] EventGridEvent e) - { - logger.LogInformation("Event received {type} {subject}", e.EventType, e.Subject); - } -} -``` - -And if your subscription is configured with the CloudEvent schema: -```C# Snippet:CloudEventTriggerFunction -public static class CloudEventTriggerFunction -{ - [FunctionName("CloudEventTriggerFunction")] - public static void Run( - ILogger logger, - [EventGridTrigger] CloudEvent e) - { - logger.LogInformation("Event received {type} {subject}", e.Type, e.Subject); - } -} -``` -Note that creating a subscription of type Azure Function with the CloudEvent schema is not yet supported. Instead, you can select an Endpoint Type of Web Hook and use your function URL as the endpoint. The function URL can be found by going to the Code + Test blade of your function, and clicking the Get function URL button. - - -## Troubleshooting - -Please refer to [Monitor Azure Functions](https://docs.microsoft.com/azure/azure-functions/functions-monitoring) for troubleshooting guidance. - -## Next steps - -Read the [introduction to Azure Function](https://docs.microsoft.com/azure/azure-functions/functions-overview) or [creating an Azure Function guide](https://docs.microsoft.com/azure/azure-functions/functions-create-first-azure-function). - -## Contributing - -See our [CONTRIBUTING.md][contrib] for details on building, -testing, and contributing to this library. - -This project welcomes contributions and suggestions. Most contributions require -you to agree to a Contributor License Agreement (CLA) declaring that you have -the right to, and actually do, grant us the rights to use your contribution. For -details, visit [cla.microsoft.com][cla]. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. -For more information see the [Code of Conduct FAQ][coc_faq] -or contact [opencode@microsoft.com][coc_contact] with any -additional questions or comments. - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Fsearch%2FMicrosoft.Azure.WebJobs.Extensions.EventGrid%2FREADME.png) - - -[source]: https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.EventGrid_3.0.0-beta.4/sdk/search/Microsoft.Azure.WebJobs.Extensions.EventGrid/src -[package]: https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EventGrid/ -[docs]: https://docs.microsoft.com/dotnet/api/Microsoft.Azure.WebJobs.Extensions.EventGrid -[nuget]: https://www.nuget.org/ - -[contrib]: https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.EventGrid_3.0.0-beta.4/CONTRIBUTING.md -[cla]: https://cla.microsoft.com -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[coc_contact]: mailto:opencode@microsoft.com - diff --git a/api/overview/azure/preview/microsoft.azure.webjobs.extensions.signalrservice-readme.md b/api/overview/azure/preview/microsoft.azure.webjobs.extensions.signalrservice-readme.md deleted file mode 100644 index 8645f8a6196f..000000000000 --- a/api/overview/azure/preview/microsoft.azure.webjobs.extensions.signalrservice-readme.md +++ /dev/null @@ -1,251 +0,0 @@ ---- -title: Azure WebJobs SignalR Service client library for .NET -keywords: Azure, dotnet, SDK, API, Microsoft.Azure.WebJobs.Extensions.SignalRService, webjobs -author: AlexGhiondea -ms.author: alexghi -ms.date: 02/14/2022 -ms.topic: reference -ms.prod: azure -ms.technology: azure -ms.devlang: dotnet -ms.service: webjobs ---- -# Azure WebJobs SignalR Service client library for .NET - version 1.7.0-beta.2 - - -This extension provides functionality for accessing [Azure SignalR Service](https://aka.ms/signalr_service) from an Azure Function. - -## Getting started - -### Install the package - -Install the SignalR Service client with [NuGet](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.SignalRService/): - -```dotnetcli -dotnet add package Microsoft.Azure.WebJobs.Extensions.SignalRService -``` - -### Prerequisites - -- **Azure Subscription:** To use Azure services, including Azure SignalR Service, you'll need a subscription. If you do not have an existing Azure account, you may sign up for a [free trial](https://azure.microsoft.com/free/dotnet/) or use your [Visual Studio Subscription](https://visualstudio.microsoft.com/subscriptions/) benefits when you [create an account](https://account.windowsazure.com/Home/Index). - -- **Azure SignalR resource:** To use SignalR Service client library you'll also need a Azure SignalR resource. If you are not familiar with creating Azure resources, you may wish to follow the step-by-step guide for creating a SignalR resource using the Azure portal. There, you can also find detailed instructions for using the Azure CLI, Azure PowerShell, or Azure Resource Manager (ARM) templates to create a SignalR resource. - - To quickly create the needed SignalR resource in Azure and to receive a connection string for them, you can deploy our sample template by clicking: - - [![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3a%2f%2fraw.githubusercontent.com%2fAzure%2fazure-quickstart-templates%2fmaster%2fquickstarts%2fmicrosoft.signalrservice%2fsignalr%2fazuredeploy.json) - - After the instance is deployed, open it in the portal and locate its Settings page. Change the Service Mode setting to *Serverless*. - -### Authenticate the client - -In order for SignalR Service client to access SignalR resource, it will need to understand how to authenticate with it. The easiest means for doing so is to use a connection string which can be found in the [Azure Portal](https://portal.azure.com/) or by using the [Azure CLI](https://docs.microsoft.com/cli/azure) / [Azure PowerShell](https://docs.microsoft.com/powershell/azure/) snippet below. - -Azure CLI snippet: -```bash -az signalr key list -n -g --query primaryKey -o tsv -``` - -Azure PowerShell snippet: -```Powershell -Get-AzSignalRKey -ResourceGroupName -Name -``` - -The `ConnectionStringSetting` property of SignalR bindings (including `SignalRAttribute`, `SignalRConnectionInfoAttribute`, `SignalRTriggerAttribute` etc.) is used to specify the configuration property that stores the connection string. If not specified, the property `AzureSignalRConnectionString` is expected to contain the connection string. - -For local development, use the `local.settings.json` file to store the connection string: - -```json -{ - "Values": { - "": "" - } -} -``` - -When deployed, use the [application settings](https://docs.microsoft.com/azure/azure-functions/functions-how-to-use-azure-function-app-settings) to set the connection string. - - - -## Key concepts - -### SignalR **Service** client vs SignalR client -SignalR **Service** client -: It means this library. It provides *SignalR server* functionalities in a serverless style. - -SignalR client -: An opposite concept of *SignalR server*. See [ASP.NET Core SignalR clients](https://docs.microsoft.com/aspnet/core/signalr/client-features) for more information. - -### SignalR connection info input binding - -`SignalRConnectionInfo` input binding makes it easy to generate the token required for SignalR clients to initiate a connection to Azure SignalR Service. - -Please follow the [Azure SignalR Connection Info input binding tutorial](https://docs.microsoft.com/azure/azure-functions/functions-bindings-signalr-service-input?tabs=csharp) to learn more about SignalR Connection Info input binding. - -### SignalR output binding - -`SignalR` output binding allows : -* send messages to all connections, to a connection, to a user, to a group. -* add/remove connections/users in a group. - -Please follow the [Azure SignalR output binding](https://docs.microsoft.com/azure/azure-functions/functions-bindings-signalr-service-output?tabs=csharp) to learn more about SignalR output binding. - -### SignalR trigger - -The SignalR trigger allows a function to be executed when a message is sent to Azure SignalR Service. - -Please follow the [Azure SignalR trigger](https://docs.microsoft.com/azure/azure-functions/functions-bindings-signalr-service-trigger?tabs=csharp) to learn more about SignalR trigger. - -## Supported scenarios -- Negotiate for a SignalR client. -- Manage group like add/remove a single user/connection in a group. -- Send messages to a single user/connection, to a group, to all users/connections. -- Use multiple Azure SignalR Service instances for resiliency and disaster recovery in Azure Functions. See details in [Multiple Azure SignalR Service Instances Support in Azure Functions](https://github.com/Azure/azure-sdk-for-net/blob/Microsoft.Azure.WebJobs.Extensions.SignalRService_1.7.0-beta.2/sdk/signalr/Microsoft.Azure.WebJobs.Extensions.SignalRService/docs/sharding.md). - -## Examples - -### Negotiation for SignalR client - -In order for a client to connect to SignalR, it needs to obtain the SignalR client hub URL and an access token. We call the process as "negotiation". - -```C# Snippet:BasicNegotiate -[FunctionName("Negotiate")] -public static SignalRConnectionInfo Negotiate( - [HttpTrigger(AuthorizationLevel.Anonymous)] HttpRequest req, - [SignalRConnectionInfo(HubName = "", UserId = "")] SignalRConnectionInfo connectionInfo) -{ - return connectionInfo; -} -``` - -### Broadcast individual messages - -To broadcast messages to all the connections in a hub from a single Azure Function invocation you can apply the `SignalR` attribute to the function return value. The return value should be of type `SignalRMessage`. - -```C# Snippet:SendMessageWithReturnValueBinding -[FunctionName("sendOneMessageWithReturnValueBinding")] -[return: SignalR(HubName = "")] -public static SignalRMessage SendMessage( - [HttpTrigger(AuthorizationLevel.Anonymous, "post")] HttpRequest req) -{ - return new SignalRMessage - { - Target = "", - Arguments = new[] { "" } - }; -} -``` - -You can also use an `out` parameter of type `SignalRMessage`. -```C# Snippet:SendMessageWithOutParameterBinding -[FunctionName("messages")] -public static void SendMessage( - [HttpTrigger(AuthorizationLevel.Anonymous, "post")] HttpRequest req, [SignalR(HubName = "")] out SignalRMessage message) -{ - message = new SignalRMessage - { - Target = "", - Arguments = new[] { "" } - }; -} -``` -### Broadcast multiple messages - -To broadcast multiple messages to all the connections in a hub from a single Azure Function invocation you can apply the `SignalR` attribute to the `IAsyncCollector` parameter. - -```C# Snippet:SendMessageWithAsyncCollector -[FunctionName("messages")] -public static Task SendMessage( - [HttpTrigger(AuthorizationLevel.Anonymous, "post")] HttpRequest req, - [SignalR(HubName = "")] IAsyncCollector signalRMessages) -{ - return signalRMessages.AddAsync( - new SignalRMessage - { - Target = "", - Arguments = new[] { "" } - }); -} -``` - -### Sending messages to a connection, user or group - -To send messages to a connection, user or group, the function is similar to broadcasting messages above, except that you specify `ConnectionId`, `UserId` or `GroupName` in the properties of `SignalRMessage`. - -Here is an example to send messages to a user using return value binding. - -```C# Snippet:SendMessageToUser -[FunctionName("messages")] -[return: SignalR(HubName = "")] -public static SignalRMessage SendMessageToUser( - [HttpTrigger(AuthorizationLevel.Anonymous, "post")] HttpRequest req) -{ - return new SignalRMessage - { - UserId = "", - Target = "", - Arguments = new[] { "" } - }; -} -``` -### SignalR client connection trigger - -To trigger a function when a SignalR client gets connected or disconnected, you can apply the `SignalRTrigger` attribute to the `InvocationContext` parameter. - -Here is an example to log the connection ID when a SignalR client is connected. Make sure the second paramater of `SignalRTrigger` constructor is `connections`, which stands for the category of the trigger is connections. The third -```C# Snippet:ConnectedTrigger -[FunctionName("SignalRTest")] -public static void Run([SignalRTrigger("", "connections", "connected")] InvocationContext invocationContext, ILogger logger) -{ - logger.LogInformation($"{invocationContext.ConnectionId} was connected."); -} -``` - -### SignalR client message trigger - -To trigger a function when a SignalR client sends a message, you can apply the `SignalRTrigger` attribute to the `InvocationContext` parameter, apply the `SignalRParameter` attribute to each parameter whose name matches the parameter name in your message. - -Here is an example to log the message content when a SignalR client sends a message with target "SendMessage". -```C# Snippet:MessageTrigger -[FunctionName("SignalRTest")] -public static void Run([SignalRTrigger("SignalRTest", "messages", "SendMessage")] InvocationContext invocationContext, [SignalRParameter] string message, ILogger logger) -{ - logger.LogInformation($"Receive {message} from {invocationContext.ConnectionId}."); -} -``` - -## Troubleshooting - -* Please refer to [Monitor Azure Functions](https://docs.microsoft.com/azure/azure-functions/functions-monitoring) for function troubleshooting guidance. -* [Troubleshooting guide for Azure SignalR Service](https://docs.microsoft.com/azure/azure-signalr/signalr-howto-troubleshoot-guide) - -## Next steps - -Read the [introduction to Azure Functions](https://docs.microsoft.com/azure/azure-functions/functions-overview) or [creating an Azure Function guide](https://docs.microsoft.com/azure/azure-functions/functions-create-first-azure-function) - -## Contributing - -See our [CONTRIBUTING.md][contrib] for details on building, -testing, and contributing to this library. - -This project welcomes contributions and suggestions. Most contributions require -you to agree to a Contributor License Agreement (CLA) declaring that you have -the right to, and actually do, grant us the rights to use your contribution. For -details, visit [cla.microsoft.com][cla]. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. -For more information see the [Code of Conduct FAQ][coc_faq] -or contact [opencode@microsoft.com][coc_contact] with any -additional questions or comments. - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Fsignalr%2FMicrosoft.Azure.WebJobs.Extensions.SignalRService%2FREADME.png) - - -[nuget]: https://www.nuget.org/ - -[contrib]: https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.SignalRService_1.7.0-beta.2/CONTRIBUTING.md -[cla]: https://cla.microsoft.com -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[coc_contact]: mailto:opencode@microsoft.com - diff --git a/api/overview/azure/preview/microsoft.azure.webjobs.extensions.storage-readme.md b/api/overview/azure/preview/microsoft.azure.webjobs.extensions.storage-readme.md deleted file mode 100644 index e38fc7790564..000000000000 --- a/api/overview/azure/preview/microsoft.azure.webjobs.extensions.storage-readme.md +++ /dev/null @@ -1,101 +0,0 @@ ---- -title: Azure WebJobs Storage Blobs and Queues client library for .NET -keywords: Azure, dotnet, SDK, API, Microsoft.Azure.WebJobs.Extensions.Storage, storage -author: seanmcc-msft -ms.author: seanmcc -ms.date: 02/08/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: storage ---- -# Azure WebJobs Storage Blobs and Queues client library for .NET - version 5.1.0-beta.1 - - -This extension provides functionality for accessing Azure Storage Blobs and Queues in Azure Functions. This package is a metapackage created for backwards compatibity. Using `Azure.WebJobs.Extensions.Storage.Blobs` and `Azure.WebJobs.Extensions.Storage.Queues` directly is recommended. - -## Getting started - -### Install the package - -Install the Storage Blobs and Queues extension with [NuGet][nuget]: - -```dotnetcli -dotnet add package Microsoft.Azure.WebJobs.Extensions.Storage -``` - -### Prerequisites - -You need an [Azure subscription][azure_sub] and a -[Storage Account][storage_account_docs] to use this package. - -To create a new Storage Account, you can use the [Azure Portal][storage_account_create_portal], -[Azure PowerShell][storage_account_create_ps], or the [Azure CLI][storage_account_create_cli]. -Here's an example using the Azure CLI: - -```Powershell -az storage account create --name --resource-group --location westus --sku Standard_LRS -``` - -### Authenticate the client - -In order for the extension to access Blobs, you will need the connection string which can be found in the [Azure Portal](https://portal.azure.com/) or by using the [Azure CLI](/cli/azure) snippet below. - -```bash -az storage account show-connection-string -g -n -``` - -The connection string can be supplied through [AzureWebJobsStorage app setting](/azure/azure-functions/functions-app-settings). - -## Key concepts - -### Using Queues - -Please refer to [Azure WebJobs Storage Queues](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Storage_5.1.0-beta.1/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Queues). - -### Using Blobs - -Please refer to [Azure WebJobs Storage Blobs](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Storage_5.1.0-beta.1/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs). - -## Examples - -Please refer to [Azure WebJobs Storage Queues](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Storage_5.1.0-beta.1/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Queues) and [Azure WebJobs Storage Blobs](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Storage_5.1.0-beta.1/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs). - -## Troubleshooting - -Please refer to [Monitor Azure Functions](/azure/azure-functions/functions-monitoring) for troubleshooting guidance. - -## Next steps - -Read the [introduction to Azure Function](/azure/azure-functions/functions-overview) or [creating an Azure Function guide](/azure/azure-functions/functions-create-first-azure-function). - -## Contributing - -See the [Storage CONTRIBUTING.md][storage_contrib] for details on building, -testing, and contributing to this library. - -This project welcomes contributions and suggestions. Most contributions require -you to agree to a Contributor License Agreement (CLA) declaring that you have -the right to, and actually do, grant us the rights to use your contribution. For -details, visit [cla.microsoft.com][cla]. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. -For more information see the [Code of Conduct FAQ][coc_faq] -or contact [opencode@microsoft.com][coc_contact] with any -additional questions or comments. - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Fstorage%2FAzure.Storage.Webjobs.Extensions.Blobs%2FREADME.png) - - -[nuget]: https://www.nuget.org/ -[storage_account_docs]: /azure/storage/common/storage-account-overview -[storage_account_create_ps]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-powershell -[storage_account_create_cli]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-cli -[storage_account_create_portal]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-portal -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[RequestFailedException]: https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Storage_5.1.0-beta.1/sdk/core/Azure.Core/src/RequestFailedException.cs -[storage_contrib]: https://github.com/Azure/azure-sdk-for-net/blob/Microsoft.Azure.WebJobs.Extensions.Storage_5.1.0-beta.1/sdk/storage/CONTRIBUTING.md -[cla]: https://cla.microsoft.com -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[coc_contact]: mailto:opencode@microsoft.com - diff --git a/api/overview/azure/preview/microsoft.azure.webjobs.extensions.storage.blobs-readme.md b/api/overview/azure/preview/microsoft.azure.webjobs.extensions.storage.blobs-readme.md deleted file mode 100644 index 5e23823edf96..000000000000 --- a/api/overview/azure/preview/microsoft.azure.webjobs.extensions.storage.blobs-readme.md +++ /dev/null @@ -1,364 +0,0 @@ ---- -title: Azure WebJobs Storage Blobs client library for .NET -keywords: Azure, dotnet, SDK, API, Microsoft.Azure.WebJobs.Extensions.Storage.Blobs, storage -author: seanmcc-msft -ms.author: seanmcc -ms.date: 02/08/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: storage ---- -# Azure WebJobs Storage Blobs client library for .NET - version 5.1.0-beta.1 - - -This extension provides functionality for accessing Azure Storage Blobs in Azure Functions. - -## Getting started - -### Install the package - -Install the Storage Blobs extension with [NuGet][nuget]: - -```dotnetcli -dotnet add package Microsoft.Azure.WebJobs.Extensions.Storage.Blobs -``` - -### Prerequisites - -You need an [Azure subscription][azure_sub] and a -[Storage Account][storage_account_docs] to use this package. - -To create a new Storage Account, you can use the [Azure Portal][storage_account_create_portal], -[Azure PowerShell][storage_account_create_ps], or the [Azure CLI][storage_account_create_cli]. -Here's an example using the Azure CLI: - -```Powershell -az storage account create --name --resource-group --location westus --sku Standard_LRS -``` - -### Authenticate the client - -In order for the extension to access Blobs, you will need the connection string which can be found in the [Azure Portal](https://portal.azure.com/) or by using the [Azure CLI](/cli/azure) snippet below. - -```bash -az storage account show-connection-string -g -n -``` - -The connection string can be supplied through [AzureWebJobsStorage app setting](/azure/azure-functions/functions-app-settings). - -## Key concepts - -### Using Blob trigger - -The Blob storage trigger starts a function when a new or updated blob is detected. The blob contents are provided as input to the function. - -Please follow the [tutorial](/azure/azure-functions/functions-bindings-storage-blob-trigger?tabs=csharp) to learn about triggering an Azure Function when a blob is modified. - -#### Listening strategies - -Blob trigger offers handful of strategies when it comes to listening to blob creation and modification. The strategy can be customized by specifying `Source` property of the `BlobTrigger` (see examples below). - -#### Default strategy - -By default blob trigger uses [polling](/azure/azure-functions/functions-bindings-storage-blob-trigger?tabs=csharp#polling) which works as a hybrid between inspecting [Azure Storage analytics logging](/azure/storage/common/storage-analytics-logging?tabs=dotnet) and running periodic container scans. -Blobs are scanned in groups of 10,000 at a time with a continuation token used between intervals. - -[Azure Storage analytics logging](/azure/storage/common/storage-analytics-logging?tabs=dotnet) is not enabled by default, see [Azure Storage analytics logging](/azure/storage/common/storage-analytics-logging?tabs=dotnet) for how to enable it. - -This strategy is not recommended for high-scale applications or scenarios that require low latency. - -#### Event grid - -[Blob storage events](/azure/storage/blobs/storage-blob-event-overview) can be used to listen for changes. This strategy requires [additional setup](/azure/event-grid/blob-event-quickstart-portal?toc=/azure/storage/blobs/toc.json). - -This strategy is recommended for high-scale applications. - -### Using Blob binding - -The input binding allows you to read blob storage data as input to an Azure Function. The output binding allows you to modify and delete blob storage data in an Azure Function. - -Please follow the [input binding tutorial](/azure/azure-functions/functions-bindings-storage-blob-input?tabs=csharp) and [output binding tutorial](/azure/azure-functions/functions-bindings-storage-blob-output?tabs=csharp) to learn about using this extension for accessing Blobs. - -## Examples - -### Reacting to blob change - -#### Default strategy - -```C# Snippet:BlobFunction_ReactToBlobChange -public static class BlobFunction_ReactToBlobChange -{ - [FunctionName("BlobFunction")] - public static void Run( - [BlobTrigger("sample-container/sample-blob")] Stream blobStream, - ILogger logger) - { - using var blobStreamReader = new StreamReader(blobStream); - logger.LogInformation("Blob sample-container/sample-blob has been updated with content: {content}", blobStreamReader.ReadToEnd()); - } -} -``` - -#### Event Grid strategy - -```C# Snippet:BlobFunction_ReactToBlobChange_EventGrid -public static class BlobFunction_ReactToBlobChange_EventGrid -{ - [FunctionName("BlobFunction")] - public static void Run( - [BlobTrigger("sample-container/sample-blob", Source = BlobTriggerSource.EventGrid)] Stream blobStream, - ILogger logger) - { - using var blobStreamReader = new StreamReader(blobStream); - logger.LogInformation("Blob sample-container/sample-blob has been updated with content: {content}", blobStreamReader.ReadToEnd()); - } -} -``` - -### Reading from stream - -```C# Snippet:BlobFunction_ReadStream -public static class BlobFunction_ReadStream -{ - [FunctionName("BlobFunction")] - public static void Run( - [BlobTrigger("sample-container/sample-blob-1")] Stream blobStream1, - [Blob("sample-container/sample-blob-2", FileAccess.Read)] Stream blobStream2, - ILogger logger) - { - using var blobStreamReader1 = new StreamReader(blobStream1); - logger.LogInformation("Blob sample-container/sample-blob-1 has been updated with content: {content}", blobStreamReader1.ReadToEnd()); - using var blobStreamReader2 = new StreamReader(blobStream2); - logger.LogInformation("Blob sample-container/sample-blob-2 has content: {content}", blobStreamReader2.ReadToEnd()); - } -} -``` - -### Writing to stream - -```C# Snippet:BlobFunction_WriteStream -public static class BlobFunction_WriteStream -{ - [FunctionName("BlobFunction")] - public static async Task Run( - [BlobTrigger("sample-container/sample-blob-1")] Stream blobStream1, - [Blob("sample-container/sample-blob-2", FileAccess.Write)] Stream blobStream2, - ILogger logger) - { - await blobStream1.CopyToAsync(blobStream2); - logger.LogInformation("Blob sample-container/sample-blob-1 has been copied to sample-container/sample-blob-2"); - } -} -``` - -### Binding to string - -```C# Snippet:BlobFunction_String -public static class BlobFunction_String -{ - [FunctionName("BlobFunction")] - public static void Run( - [BlobTrigger("sample-container/sample-blob-1")] string blobContent1, - [Blob("sample-container/sample-blob-2")] string blobContent2, - ILogger logger) - { - logger.LogInformation("Blob sample-container/sample-blob-1 has been updated with content: {content}", blobContent1); - logger.LogInformation("Blob sample-container/sample-blob-2 has content: {content}", blobContent2); - } -} -``` - -### Writing string to blob - -```C# Snippet:BlobFunction_String_Write -public static class BlobFunction_String_Write -{ - [FunctionName("BlobFunction")] - public static void Run( - [BlobTrigger("sample-container/sample-blob-1")] string blobContent1, - [Blob("sample-container/sample-blob-2")] out string blobContent2, - ILogger logger) - { - logger.LogInformation("Blob sample-container/sample-blob-1 has been updated with content: {content}", blobContent1); - blobContent2 = blobContent1; - logger.LogInformation("Blob sample-container/sample-blob-1 has been copied to sample-container/sample-blob-2"); - } -} -``` - -### Binding to byte array - -```C# Snippet:BlobFunction_ByteArray -public static class BlobFunction_ByteArray -{ - [FunctionName("BlobFunction")] - public static void Run( - [BlobTrigger("sample-container/sample-blob-1")] byte[] blobContent1, - [Blob("sample-container/sample-blob-2")] byte[] blobContent2, - ILogger logger) - { - logger.LogInformation("Blob sample-container/sample-blob-1 has been updated with content: {content}", Encoding.UTF8.GetString(blobContent1)); - logger.LogInformation("Blob sample-container/sample-blob-2 has content: {content}", Encoding.UTF8.GetString(blobContent2)); - } -} -``` - -### Writing byte array to blob - -```C# Snippet:BlobFunction_ByteArray_Write -public static class BlobFunction_ByteArray_Write -{ - [FunctionName("BlobFunction")] - public static void Run( - [BlobTrigger("sample-container/sample-blob-1")] byte[] blobContent1, - [Blob("sample-container/sample-blob-2")] out byte[] blobContent2, - ILogger logger) - { - logger.LogInformation("Blob sample-container/sample-blob-1 has been updated with content: {content}", Encoding.UTF8.GetString(blobContent1)); - blobContent2 = blobContent1; - logger.LogInformation("Blob sample-container/sample-blob-1 has been copied to sample-container/sample-blob-2"); - } -} -``` - -### Binding to TextReader and TextWriter - -```C# Snippet:BlobFunction_TextReader_TextWriter -public static class BlobFunction_TextReader_TextWriter -{ - [FunctionName("BlobFunction")] - public static async Task Run( - [BlobTrigger("sample-container/sample-blob-1")] TextReader blobContentReader1, - [Blob("sample-container/sample-blob-2")] TextWriter blobContentWriter2, - ILogger logger) - { - while (blobContentReader1.Peek() >= 0) - { - await blobContentWriter2.WriteLineAsync(await blobContentReader1.ReadLineAsync()); - } - logger.LogInformation("Blob sample-container/sample-blob-1 has been copied to sample-container/sample-blob-2"); - } -} -``` - -### Binding to Azure Storage Blob SDK types - -```C# Snippet:BlobFunction_BlobClient -public static class BlobFunction_BlobClient -{ - [FunctionName("BlobFunction")] - public static async Task Run( - [BlobTrigger("sample-container/sample-blob-1")] BlobClient blobClient1, - [Blob("sample-container/sample-blob-2")] BlobClient blobClient2, - ILogger logger) - { - BlobProperties blobProperties1 = await blobClient1.GetPropertiesAsync(); - logger.LogInformation("Blob sample-container/sample-blob-1 has been updated on: {datetime}", blobProperties1.LastModified); - BlobProperties blobProperties2 = await blobClient2.GetPropertiesAsync(); - logger.LogInformation("Blob sample-container/sample-blob-2 has been updated on: {datetime}", blobProperties2.LastModified); - } -} -``` - -### Accessing Blob container - -```C# Snippet:BlobFunction_AccessContainer -public static class BlobFunction_AccessContainer -{ - [FunctionName("BlobFunction")] - public static async Task Run( - [BlobTrigger("sample-container/sample-blob")] Stream blobStream, - [Blob("sample-container")] BlobContainerClient blobContainerClient, - ILogger logger) - { - logger.LogInformation("Blobs within container:"); - await foreach (BlobItem blobItem in blobContainerClient.GetBlobsAsync()) - { - logger.LogInformation(blobItem.Name); - } - } -} -``` - -### Enumerating blobs in container - -```C# Snippet:BlobFunction_EnumerateBlobs_Stream -public static class BlobFunction_EnumerateBlobs_Stream -{ - [FunctionName("BlobFunction")] - public static async Task Run( - [BlobTrigger("sample-container/sample-blob")] Stream blobStream, - [Blob("sample-container")] IEnumerable blobs, - ILogger logger) - { - logger.LogInformation("Blobs contents within container:"); - foreach (Stream content in blobs) - { - using var blobStreamReader = new StreamReader(content); - logger.LogInformation(await blobStreamReader.ReadToEndAsync()); - } - } -} -``` - -```C# Snippet:BlobFunction_EnumerateBlobs_BlobClient -public static class BlobFunction_EnumerateBlobs_BlobClient -{ - [FunctionName("BlobFunction")] - public static void Run( - [BlobTrigger("sample-container/sample-blob")] Stream blobStream, - [Blob("sample-container")] IEnumerable blobs, - ILogger logger) - { - logger.LogInformation("Blobs within container:"); - foreach (BlobClient blob in blobs) - { - logger.LogInformation(blob.Name); - } - } -} -``` - -### Configuring the extension - -Please refer to [sample functions app](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs_5.1.0-beta.1/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs/samples/functionapp). - -## Troubleshooting - -Please refer to [Monitor Azure Functions](/azure/azure-functions/functions-monitoring) for troubleshooting guidance. - -## Next steps - -Read the [introduction to Azure Function](/azure/azure-functions/functions-overview) or [creating an Azure Function guide](/azure/azure-functions/functions-create-first-azure-function). - -## Contributing - -See the [Storage CONTRIBUTING.md][storage_contrib] for details on building, -testing, and contributing to this library. - -This project welcomes contributions and suggestions. Most contributions require -you to agree to a Contributor License Agreement (CLA) declaring that you have -the right to, and actually do, grant us the rights to use your contribution. For -details, visit [cla.microsoft.com][cla]. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. -For more information see the [Code of Conduct FAQ][coc_faq] -or contact [opencode@microsoft.com][coc_contact] with any -additional questions or comments. - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Fstorage%2FAzure.Storage.Webjobs.Extensions.Blobs%2FREADME.png) - - -[nuget]: https://www.nuget.org/ -[storage_account_docs]: /azure/storage/common/storage-account-overview -[storage_account_create_ps]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-powershell -[storage_account_create_cli]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-cli -[storage_account_create_portal]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-portal -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[RequestFailedException]: https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs_5.1.0-beta.1/sdk/core/Azure.Core/src/RequestFailedException.cs -[storage_contrib]: https://github.com/Azure/azure-sdk-for-net/blob/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs_5.1.0-beta.1/sdk/storage/CONTRIBUTING.md -[cla]: https://cla.microsoft.com -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[coc_contact]: mailto:opencode@microsoft.com - diff --git a/api/overview/azure/preview/microsoft.azure.webjobs.extensions.storage.queues-readme.md b/api/overview/azure/preview/microsoft.azure.webjobs.extensions.storage.queues-readme.md deleted file mode 100644 index 93bb84b5b9b6..000000000000 --- a/api/overview/azure/preview/microsoft.azure.webjobs.extensions.storage.queues-readme.md +++ /dev/null @@ -1,315 +0,0 @@ ---- -title: Azure WebJobs Storage Queues client library for .NET -keywords: Azure, dotnet, SDK, API, Microsoft.Azure.WebJobs.Extensions.Storage.Queues, storage -author: seanmcc-msft -ms.author: seanmcc -ms.date: 02/08/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: storage ---- -# Azure WebJobs Storage Queues client library for .NET - version 5.1.0-beta.1 - - -This extension provides functionality for accessing Azure Storage Queues in Azure Functions. - -## Getting started - -### Install the package - -Install the Storage Queues extension with [NuGet][nuget]: - -```dotnetcli -dotnet add package Azure.WebJobs.Extensions.Storage.Queues -``` - -### Prerequisites - -You need an [Azure subscription][azure_sub] and a -[Storage Account][storage_account_docs] to use this package. - -To create a new Storage Account, you can use the [Azure Portal][storage_account_create_portal], -[Azure PowerShell][storage_account_create_ps], or the [Azure CLI][storage_account_create_cli]. -Here's an example using the Azure CLI: - -```Powershell -az storage account create --name --resource-group --location westus --sku Standard_LRS -``` - -### Authenticate the client - -In order for the extension to access Queues, you will need the connection string which can be found in the [Azure Portal](https://portal.azure.com/) or by using the [Azure CLI](/cli/azure) snippet below. - -```bash -az storage account show-connection-string -g -n -``` - -The connection string can be supplied through [AzureWebJobsStorage app setting](/azure/azure-functions/functions-app-settings). - -## Key concepts - -### Using Queue trigger - -The queue storage trigger runs a function as messages are added to Azure Queue storage. - -Please follow the [tutorial](/azure/azure-functions/functions-bindings-storage-queue-trigger?tabs=csharp) to learn about how to listen to queues in Azure Functions. - -### Using Queue binding - -Azure Functions can create new Azure Queue storage messages by setting up an output binding. - -Please follow the [binding tutorial](/azure/azure-functions/functions-bindings-storage-queue-output?tabs=csharp) to learn about using this extension for producing messages into queues in Azure Functions. - -## Examples - -### Listening to queue - -The following set of examples shows how to receive and react to messages that are being added to the queue. - -#### Binding queue message to string - -```C# Snippet:QueueTriggerFunction_String -public static class QueueTriggerFunction_String -{ - [FunctionName("QueueTriggerFunction")] - public static void Run( - [QueueTrigger("sample-queue")] string message, - ILogger logger) - { - logger.LogInformation("Received message from sample-queue, content={content}", message); - } -} -``` - -#### Binding queue message to BinaryData - -```C# Snippet:QueueTriggerFunction_BinaryData -public static class QueueTriggerFunction_BinaryData -{ - [FunctionName("QueueTriggerFunction")] - public static void Run( - [QueueTrigger("sample-queue")] BinaryData message, - ILogger logger) - { - logger.LogInformation("Received message from sample-queue, content={content}", message.ToString()); - } -} -``` - -#### Binding queue message to QueueMessage - -```C# Snippet:QueueTriggerFunction_QueueMessage -public static class QueueTriggerFunction_QueueMessage -{ - [FunctionName("QueueTriggerFunction")] - public static void Run( - [QueueTrigger("sample-queue")] QueueMessage message, - ILogger logger) - { - logger.LogInformation("Received message from sample-queue, content={content}", message.Body.ToString()); - } -} -``` - -#### Binding queue message to custom type - -```C# Snippet:QueueTriggerFunction_CustomObject -public static class QueueTriggerFunction_CustomObject -{ - public class CustomMessage - { - public string Content { get; set; } - } - - [FunctionName("QueueTriggerFunction")] - public static void Run( - [QueueTrigger("sample-queue")] CustomMessage message, - ILogger logger) - { - logger.LogInformation("Received message from sample-queue, content={content}", message.Content); - } -} -``` - -#### Binding queue message to JObject - -```C# Snippet:QueueTriggerFunction_JObject -public static class QueueTriggerFunction_JObject -{ - [FunctionName("QueueTriggerFunction")] - public static void Run( - [QueueTrigger("sample-queue")] JObject message, - ILogger logger) - { - logger.LogInformation("Received message from sample-queue, content={content}", message["content"]); - } -} -``` - -### Publishing messages to queue - -The following set of examples shows how to add messages to queue by using `Queue` attribute. - -The `QueueTrigger` is used just for sample completeness, i.e. any other trigger mechanism can be used instead. - -#### Publishing message as string - -```C# Snippet:QueueSenderFunction_String_Return -public static class QueueSenderFunction_String_Return -{ - [FunctionName("QueueFunction")] - [return: Queue("sample-queue-2")] - public static string Run( - [QueueTrigger("sample-queue-1")] string message, - ILogger logger) - { - logger.LogInformation("Received message from sample-queue-1, content={content}", message); - logger.LogInformation("Dispatching message to sample-queue-2"); - return message; - } -} -``` - -#### Publishing message as BinaryData - -```C# Snippet:QueueSenderFunction_BinaryData_Return -public static class QueueSenderFunction_BinaryData_Return -{ - [FunctionName("QueueFunction")] - [return: Queue("sample-queue-2")] - public static BinaryData Run( - [QueueTrigger("sample-queue-1")] BinaryData message, - ILogger logger) - { - logger.LogInformation("Received message from sample-queue-1, content={content}", message.ToString()); - logger.LogInformation("Dispatching message to sample-queue-2"); - return message; - } -} -``` - -#### Publishing message as QueueMessage - -```C# Snippet:QueueSenderFunction_QueueMessage_Return -public static class QueueSenderFunction_QueueMessage_Return -{ - [FunctionName("QueueFunction")] - [return: Queue("sample-queue-2")] - public static QueueMessage Run( - [QueueTrigger("sample-queue-1")] QueueMessage message, - ILogger logger) - { - logger.LogInformation("Received message from sample-queue-1, content={content}", message.Body.ToString()); - logger.LogInformation("Dispatching message to sample-queue-2"); - return message; - } -} -``` - -#### Publishing message as custom type through out parameter - -```C# Snippet:QueueSenderFunction_CustomObject_OutParamter -public static class QueueSenderFunction_CustomObject_OutParamter -{ - public class CustomMessage - { - public string Content { get; set; } - } - - [FunctionName("QueueFunction")] - public static void Run( - [QueueTrigger("sample-queue-1")] CustomMessage incomingMessage, - [Queue("sample-queue-2")] out CustomMessage outgoingMessage, - ILogger logger) - { - logger.LogInformation("Received message from sample-queue-1, content={content}", incomingMessage.Content); - logger.LogInformation("Dispatching message to sample-queue-2"); - outgoingMessage = incomingMessage; - } -} -``` - -#### Publishing message as custom type through collector - -```C# Snippet:QueueSenderFunction_CustomObject_Collector -public static class QueueSenderFunction_CustomObject_Collector -{ - public class CustomMessage - { - public string Content { get; set; } - } - - [FunctionName("QueueFunction")] - public static void Run( - [QueueTrigger("sample-queue-1")] CustomMessage incomingMessage, - [Queue("sample-queue-2")] ICollector collector, - ILogger logger) - { - logger.LogInformation("Received message from sample-queue-1, content={content}", incomingMessage.Content); - logger.LogInformation("Dispatching message to sample-queue-2"); - collector.Add(incomingMessage); - } -} -``` - -### Accessing queue properties - -```C# Snippet:Function_BindingToQueueClient -public static class Function_BindingToQueueClient -{ - [FunctionName("QueueFunction")] - public static async Task Run( - [QueueTrigger("sample-queue")] string message, - [Queue("sample-queue")] QueueClient queueClient, - ILogger logger) - { - logger.LogInformation("Received message from sample-queue, content={content}", message); - QueueProperties queueProperties = await queueClient.GetPropertiesAsync(); - logger.LogInformation("There are approximatelly {count} messages", queueProperties.ApproximateMessagesCount); - } -} -``` - -### Configuring the extension - -Please refer to [sample functions app](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Storage.Queues_5.1.0-beta.1/sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Queues/samples/functionapp). - -## Troubleshooting - -Please refer to [Monitor Azure Functions](/azure/azure-functions/functions-monitoring) for troubleshooting guidance. - -## Next steps - -Read the [introduction to Azure Function](/azure/azure-functions/functions-overview) or [creating an Azure Function guide](/azure/azure-functions/functions-create-first-azure-function). - -## Contributing - -See the [Storage CONTRIBUTING.md][storage_contrib] for details on building, -testing, and contributing to this library. - -This project welcomes contributions and suggestions. Most contributions require -you to agree to a Contributor License Agreement (CLA) declaring that you have -the right to, and actually do, grant us the rights to use your contribution. For -details, visit [cla.microsoft.com][cla]. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. -For more information see the [Code of Conduct FAQ][coc_faq] -or contact [opencode@microsoft.com][coc_contact] with any -additional questions or comments. - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Fstorage%2FAzure.Storage.Webjobs.Extensions.Blobs%2FREADME.png) - - -[nuget]: https://www.nuget.org/ -[storage_account_docs]: /azure/storage/common/storage-account-overview -[storage_account_create_ps]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-powershell -[storage_account_create_cli]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-cli -[storage_account_create_portal]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-portal -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[RequestFailedException]: https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Storage.Queues_5.1.0-beta.1/sdk/core/Azure.Core/src/RequestFailedException.cs -[storage_contrib]: https://github.com/Azure/azure-sdk-for-net/blob/Microsoft.Azure.WebJobs.Extensions.Storage.Queues_5.1.0-beta.1/sdk/storage/CONTRIBUTING.md -[cla]: https://cla.microsoft.com -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[coc_contact]: mailto:opencode@microsoft.com - diff --git a/api/overview/azure/preview/microsoft.azure.webjobs.extensions.tables-readme.md b/api/overview/azure/preview/microsoft.azure.webjobs.extensions.tables-readme.md deleted file mode 100644 index f61c0409b54a..000000000000 --- a/api/overview/azure/preview/microsoft.azure.webjobs.extensions.tables-readme.md +++ /dev/null @@ -1,337 +0,0 @@ ---- -title: Azure WebJobs Tables client library for .NET -keywords: Azure, dotnet, SDK, API, Microsoft.Azure.WebJobs.Extensions.Tables, tables -author: christothes -ms.author: chriss -ms.date: 05/23/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: tables ---- -# Azure WebJobs Tables client library for .NET - version 1.2.0-beta.1 - - -This extension provides functionality for accessing Azure Tables in Azure Functions. - -## Getting started - -### Install the package - -Install the Tables extension with [NuGet][nuget]: - -```dotnetcli -dotnet add package Microsoft.Azure.WebJobs.Extensions.Tables -``` - -### Prerequisites - -You need an [Azure subscription][azure_sub] and a -[Storage Account][storage_account_docs] or [Cosmos Tables Account][cosmos_tables_account_docs] to use this package. - -#### Using Storage Tables - -To create a new Storage Account, you can use the [Azure Portal][storage_account_create_portal], -[Azure PowerShell][storage_account_create_ps], or the [Azure CLI][storage_account_create_cli]. -Here's an example using the Azure CLI: - -```Powershell -az storage account create --name --resource-group --location westus --sku Standard_LRS -``` - -#### Using Cosmos Tables - -To create a new Cosmos Tables , you can use the [Azure Portal][storage_account_create_portal], -[Azure PowerShell][storage_account_create_ps], or the [Azure CLI][storage_account_create_cli]. - -### Authenticate the client - -Connection represents a set of information required to connect to a table service. It can contain a connection string, an endpoint, token credential or a shared key. - -The `Connection` property of `TableAttribute` defines which connection is used for the Table Service access. For example, `[Tables(Connection="MyTableService")]` is going to use `MyTableService` connection. - -The connection information can be set in [`local.settings.json`][local_settings_json] or [application settings in Azure portal][appsettings_portal]. - -When adding a setting to *local.settings.json* place it under the `Values` property: - -```json -{ - "IsEncrypted": false, - "Values": { - "MyTableService": "..." - } -} -``` - -When adding a setting to application settings in Azure portal use the provided name directly: - -`MyTableService = ...` - -Tables extension uses the `AzureWebJobsStorage` connection name by default. - -#### Connection string - -To use connection strings authentication assign connection string value directly to the connection setting. - -`` = `DefaultEndpointsProtocol=https;AccountName=...;AccountKey=...;EndpointSuffix=core.windows.net` - -#### Using endpoint and token credential - -**NOTE:** token credential authentication is supported only for storage tables. - -`__endpoint` = `https://...table.core.windows.net` - -If no credential information is provided the [`DefaultAzureCredential`][identity_dac] is used. - -When using user-assigned manageed identity the `clientId` and `credential` settings need to be provided: - -`__credential` = `managedidentity` - -`__clientId` = `` - -#### Using shared key credential - -When using [shared key authentication](/rest/api/storageservices/authorize-with-shared-key) the `endpoint`, `accountKey` and `accountName` need to be provided. - -`__endpoint` = `https://...table.core.windows.net` - -`__credential__accountName` = `` - -`__credential__accountKey` = `` - -## Key concepts - -The input binding allows you to read table as input to an Azure Function. The output binding allows you to modify and delete table rows in an Azure Function. - -Please follow the [input binding tutorial](/azure/azure-functions/functions-bindings-storage-table-input?tabs=csharp) and [output binding tutorial](/azure/azure-functions/functions-bindings-storage-table-output?tabs=csharp) to learn about using this extension for accessing table service. - -## Examples - -Tables extensions provides only bindings. Bindings by themselves can't trigger a function. It can only read or write entries to the table. - -In the following example we use [HTTP trigger](/azure/azure-functions/functions-bindings-http-webhook-trigger?tabs=csharp) to invoke the function. - -### Binding to a single entity - -```C# Snippet:InputSingle -public class InputSingle -{ - [FunctionName("InputSingle")] - public static void Run( - [HttpTrigger(AuthorizationLevel.Anonymous, "GET")] HttpRequest request, - [Table("MyTable", "", "")] TableEntity entity, ILogger log) - { - log.LogInformation($"PK={entity.PartitionKey}, RK={entity.RowKey}, Text={entity["Text"]}"); - } -} -``` - -### Binding to a single entity using model type - -```C# Snippet:MyEntity -public class MyEntity -{ - public string PartitionKey { get; set; } - public string RowKey { get; set; } - public string Text { get; set; } -} -``` -```C# Snippet:InputSingleModel -public class InputSingleModel -{ - [FunctionName("InputSingleModel")] - public static void Run( - [HttpTrigger(AuthorizationLevel.Anonymous, "GET")] HttpRequest request, - [Table("MyTable", "", "")] MyEntity entity, ILogger log) - { - log.LogInformation($"PK={entity.PartitionKey}, RK={entity.RowKey}, Text={entity.Text}"); - } -} -``` - -### Binding to multiple entities with filter - -```C# Snippet:InputMultipleEntitiesFilter -public class InputMultipleEntitiesFilter -{ - [FunctionName("InputMultipleEntitiesFilter")] - public static void Run( - [HttpTrigger(AuthorizationLevel.Anonymous, "GET")] HttpRequest request, - [Table("MyTable", "", Filter = "Text ne ''")] IEnumerable entities, ILogger log) - { - foreach (var entity in entities) - { - log.LogInformation($"PK={entity.PartitionKey}, RK={entity.RowKey}, Text={entity["Text"]}"); - } - } -} -``` - -### Creating a single entity - -```C# Snippet:OutputSingle -public class OutputSingle -{ - [FunctionName("OutputSingle")] - public static void Run( - [HttpTrigger(AuthorizationLevel.Anonymous, "GET")] HttpRequest request, - [Table("MyTable")] out TableEntity entity) - { - entity = new TableEntity("", "") - { - ["Text"] = "Hello" - }; - } -} -``` - -### Creating a single entity using model - -```C# Snippet:MyEntity -public class MyEntity -{ - public string PartitionKey { get; set; } - public string RowKey { get; set; } - public string Text { get; set; } -} -``` -```C# Snippet:OutputSingleModel -public class OutputSingleModel -{ - [FunctionName("OutputSingleModel")] - public static void Run( - [HttpTrigger(AuthorizationLevel.Anonymous, "GET")] HttpRequest request, - [Table("MyTable")] out MyEntity entity) - { - entity = new MyEntity() - { - PartitionKey = "", - RowKey = "", - Text = "Hello" - }; - } -} -``` - -### Creating multiple entities - -```C# Snippet:OutputMultiple -public class OutputMultiple -{ - [FunctionName("OutputMultiple")] - public static void Run( - [HttpTrigger(AuthorizationLevel.Anonymous, "POST")] HttpRequest request, - [Table("MyTable")] IAsyncCollector collector) - { - for (int i = 0; i < 10; i++) - { - collector.AddAsync(new TableEntity("", i.ToString()) - { - ["Text"] = i.ToString() - }); - } - } -} -``` - -### Creating multiple entities using model - -```C# Snippet:MyEntity -public class MyEntity -{ - public string PartitionKey { get; set; } - public string RowKey { get; set; } - public string Text { get; set; } -} -``` -```C# Snippet:OutputMultipleModel -public class OutputMultipleModel -{ - [FunctionName("OutputMultipleModel")] - public static void Run( - [HttpTrigger(AuthorizationLevel.Anonymous, "POST")] HttpRequest request, - [Table("MyTable")] IAsyncCollector collector) - { - for (int i = 0; i < 10; i++) - { - collector.AddAsync(new MyEntity() - { - PartitionKey = "", - RowKey = i.ToString(), - Text = i.ToString() - }); - } - } -} -``` - -### Binding to SDK TableClient type - -Use a TableClient method parameter to access the table by using the Azure Tables SDK. - -```C# Snippet:InputTableClient -public class BindTableClient -{ - [FunctionName("BindTableClient")] - public static async Task Run( - [HttpTrigger(AuthorizationLevel.Anonymous, "POST")] HttpRequest request, - [Table("MyTable")] TableClient client) - { - await client.AddEntityAsync(new TableEntity("", "") - { - ["Text"] = request.GetEncodedPathAndQuery() - }); - } -} -``` - -## Troubleshooting - -Please refer to [Monitor Azure Functions](/azure/azure-functions/functions-monitoring) for troubleshooting guidance. - -## Next steps - -Read the [introduction to Azure Function](/azure/azure-functions/functions-overview) or [creating an Azure Function guide](/azure/azure-functions/functions-create-first-azure-function). - -## Contributing - -See the [CONTRIBUTING.md][contrib] for details on building, -testing, and contributing to this library. - -This project welcomes contributions and suggestions. Most contributions require -you to agree to a Contributor License Agreement (CLA) declaring that you have -the right to, and actually do, grant us the rights to use your contribution. For -details, visit [cla.microsoft.com][cla]. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. -For more information see the [Code of Conduct FAQ][coc_faq] -or contact [opencode@microsoft.com][coc_contact] with any -additional questions or comments. - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Fstorage%2FAzure.Storage.Webjobs.Tables%2FREADME.png) - - -[nuget]: https://www.nuget.org/ -[storage_account_docs]: /azure/storage/common/storage-account-overview -[storage_account_create_ps]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-powershell -[storage_account_create_cli]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-cli -[storage_account_create_portal]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-portal - -[cosmos_tables_account_docs]: /azure/cosmos-db/table/introduction -[cosmos_tables_create_ps]: /azure/cosmos-db/scripts/powershell/table/create -[cosmos_tables_create_cli]: /azure/cosmos-db/scripts/cli/table/create -[cosmos_tables_create_portal]: /azure/cosmos-db/table/how-to-create-container - -[identity_dac]: https://github.com/Azure/azure-sdk-for-net/blob/Microsoft.Azure.WebJobs.Extensions.Tables_1.2.0-beta.1/sdk/identity/Azure.Identity/README.md#defaultazurecredential - -[appsettings_portal]: /azure/azure-functions/functions-how-to-use-azure-function-app-settings?tabs=portal -[local_settings_json]: /azure/azure-functions/functions-host-json#override-hostjson-values - -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[RequestFailedException]: https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.Tables_1.2.0-beta.1/sdk/core/Azure.Core/src/RequestFailedException.cs -[contrib]: https://github.com/Azure/azure-sdk-for-net/blob/Microsoft.Azure.WebJobs.Extensions.Tables_1.2.0-beta.1/CONTRIBUTING.md - -[cla]: https://cla.microsoft.com -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[coc_contact]: mailto:opencode@microsoft.com - diff --git a/api/overview/azure/preview/microsoft.azure.webjobs.extensions.webpubsub-readme.md b/api/overview/azure/preview/microsoft.azure.webjobs.extensions.webpubsub-readme.md deleted file mode 100644 index b1acc8864066..000000000000 --- a/api/overview/azure/preview/microsoft.azure.webjobs.extensions.webpubsub-readme.md +++ /dev/null @@ -1,180 +0,0 @@ ---- -title: Azure WebJobs Web PubSub client library for .NET -keywords: Azure, dotnet, SDK, API, Microsoft.Azure.WebJobs.Extensions.WebPubSub, webpubsub -author: ramya-rao-a -ms.author: ramyar -ms.date: 10/28/2021 -ms.topic: reference -ms.prod: azure -ms.technology: azure -ms.devlang: dotnet -ms.service: webpubsub ---- - -# Azure WebJobs Web PubSub client library for .NET - version 1.0.0-beta.4 - - -This extension provides functionality for receiving Web PubSub webhook calls in Azure Functions, allowing you to easily write functions that respond to any event published to Web PubSub. - -[Source code](https://github.com/Azure/azure-sdk-for-net/blob/Microsoft.Azure.WebJobs.Extensions.WebPubSub_1.0.0-beta.4/sdk/webpubsub/Microsoft.Azure.WebJobs.Extensions.WebPubSub/src) | -[Package](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.WebPubSub) | -[API reference documentation](https://azure.github.io/azure-webpubsub/references/functions-bindings) | -[Product documentation](https://aka.ms/awps/doc) | -[Samples](https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.WebPubSub_1.0.0-beta.4/sdk/webpubsub/Microsoft.Azure.WebJobs.Extensions.WebPubSub/samples) - -## Getting started - -### Install the package - -Install the Web PubSub extension with [NuGet][nuget]: - -```dotnetcli -dotnet add package Microsoft.Azure.WebJobs.Extensions.WebPubSub --prerelease -``` - -### Prerequisites - -You must have an [Azure subscription](https://azure.microsoft.com/free/dotnet/) and an Azure resource group with a Web PubSub resource. Follow this [step-by-step tutorial](https://docs.microsoft.com/azure/azure-web-pubsub/howto-develop-create-instance) to create an Azure Web PubSub instance. - -### Authenticate the client - -In order to let the extension work with Azure Web PubSub service, you will need to provide a valid `ConnectionString`. - -You can find the **Keys** for you Azure Web PubSub service in the [Azure Portal](https://portal.azure.com/). - -The `AzureWebJobsStorage` connection string is used to preserve the processing checkpoint information as required refer to [Storage considerations](https://docs.microsoft.com/azure/azure-functions/storage-considerations#storage-account-requirements) - -For the local development use the `local.settings.json` file to store the connection string, `` can be set to `WebPubSubConnectionString` as default supported in the extension, or you can set customized names by mapping it with `Connection = ` in function binding attributes: - -```json -{ - "Values": { - "AzureWebJobsStorage": "UseDevelopmentStorage=true", - "": "Endpoint=https://.webpubsub.azure.com;AccessKey=;Version=1.0;" - } -} -``` -When deployed use the [application settings](https://docs.microsoft.com/azure/azure-functions/functions-how-to-use-azure-function-app-settings) to set the connection string. - -## Key concepts - -### Using Web PubSub input binding - -Please follow the [input binding tutorial](#functions-that-uses-web-pubsub-input-binding) to learn about using this extension for building `WebPubSubConnection` to create Websockets connection to service with input binding. - -### Using Web PubSub output binding - -Please follow the [output binding tutorial](#functions-that-uses-web-pubsub-output-binding) to learn about using this extension for publishing Web PubSub messages. - -### Using Web PubSub trigger - -Please follow the [trigger binding tutorial](#functions-that-uses-web-pubsub-trigger) to learn about triggering an Azure Function when an event is sent from service upstream. - -In `Connect` and `UserEvent` events, function will respect return values to send back service. Then service will depend on the response to proceed the request or else. The responses and events are paired. For example, `Connect` will only respect `ConnectEventResponse` or `EventErrorResponse`, and ignore other returns. When `EventErrorResponse` is returned, service will drop client connection. Please follow the [trigger binding return value tutorial](#functions-that-uses-web-pubsub-trigger-return-value) to learn about using the trigger return value. - -## Examples - -### Functions that uses Web PubSub input binding - -```C# Snippet:WebPubSubConnectionBindingFunction -public static class WebPubSubConnectionBindingFunction -{ - [FunctionName("WebPubSubConnectionBindingFunction")] - public static WebPubSubConnection Run( - [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequest req, - [WebPubSubConnection(Hub = "hub", UserId = "{query.userid}", Connection = "")] WebPubSubConnection connection) - { - Console.WriteLine("login"); - return connection; - } -} -``` - -### Functions that uses Web PubSub output binding - -```C# Snippet:WebPubSubOutputBindingFunction -public static class WebPubSubOutputBindingFunction -{ - [FunctionName("WebPubSubOutputBindingFunction")] - public static async Task RunAsync( - [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequest req, - [WebPubSub(Hub = "hub", Connection = "")] IAsyncCollector operation) - { - await operation.AddAsync(new SendToAll - { - Message = BinaryData.FromString("Hello Web PubSub"), - DataType = MessageDataType.Text - }); - } -} -``` - -### Functions that uses Web PubSub trigger - -```C# Snippet:WebPubSubTriggerFunction -public static class WebPubSubTriggerFunction -{ - [FunctionName("WebPubSubTriggerFunction")] - public static void Run( - ILogger logger, - [WebPubSubTrigger("hub", WebPubSubEventType.User, "message")] UserEventRequest request, - string message, - MessageDataType dataType) - { - logger.LogInformation("Request from: {user}, message: {message}, dataType: {dataType}", - request.ConnectionContext.UserId, message, dataType); - } -} -``` - -### Functions that uses Web PubSub trigger return value - -```C# Snippet:WebPubSubTriggerReturnValueFunction -public static class WebPubSubTriggerReturnValueFunction -{ - [FunctionName("WebPubSubTriggerReturnValueFunction")] - public static UserEventResponse Run( - [WebPubSubTrigger("hub", WebPubSubEventType.User, "message")] UserEventRequest request) - { - return request.CreateResponse(BinaryData.FromString("ack"), MessageDataType.Text); - } -} -``` - -## Troubleshooting - -Please refer to [Monitor Azure Functions](https://docs.microsoft.com/azure/azure-functions/functions-monitoring) for troubleshooting guidance. - -## Next steps - -Read the [introduction to Azure Function](https://docs.microsoft.com/azure/azure-functions/functions-overview) or [creating an Azure Function guide](https://docs.microsoft.com/azure/azure-functions/functions-create-first-azure-function). - -## Contributing - -See our [CONTRIBUTING.md][contrib] for details on building, -testing, and contributing to this library. - -This project welcomes contributions and suggestions. Most contributions require -you to agree to a Contributor License Agreement (CLA) declaring that you have -the right to, and actually do, grant us the rights to use your contribution. For -details, visit [cla.microsoft.com][cla]. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. -For more information see the [Code of Conduct FAQ][coc_faq] -or contact [opencode@microsoft.com][coc_contact] with any -additional questions or comments. - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Fsearch%2FMicrosoft.Azure.WebJobs.Extensions.WebPubSub%2FREADME.png) - - -[source]: https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.WebPubSub_1.0.0-beta.4/sdk/search/Microsoft.Azure.WebJobs.Extensions.WebPubSub/src -[package]: https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.WebPubSub/ -[docs]: https://docs.microsoft.com/dotnet/api/Microsoft.Azure.WebJobs.Extensions.WebPubSub -[nuget]: https://www.nuget.org/ - -[contrib]: https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebJobs.Extensions.WebPubSub_1.0.0-beta.4/CONTRIBUTING.md -[cla]: https://cla.microsoft.com -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[coc_contact]: mailto:opencode@microsoft.com - diff --git a/api/overview/azure/preview/microsoft.azure.webpubsub.aspnetcore-readme.md b/api/overview/azure/preview/microsoft.azure.webpubsub.aspnetcore-readme.md deleted file mode 100644 index 4757ac521ae1..000000000000 --- a/api/overview/azure/preview/microsoft.azure.webpubsub.aspnetcore-readme.md +++ /dev/null @@ -1,138 +0,0 @@ ---- -title: Azure Web PubSub service middleware client library for .NET -keywords: Azure, dotnet, SDK, API, Microsoft.Azure.WebPubSub.AspNetCore, webpubsub -author: vicancy -ms.author: lianwei -ms.date: 11/11/2022 -ms.topic: reference -ms.devlang: dotnet -ms.service: webpubsub ---- -# Azure Web PubSub service middleware client library for .NET - version 1.0.0-beta.4 - - -[Azure Web PubSub Service](https://aka.ms/awps/doc) is a service that enables you to build real-time messaging web applications using WebSockets and the publish-subscribe pattern. Any platform supporting WebSocket APIs can connect to the service easily, e.g. web pages, mobile applications, edge devices, etc. The service manages the WebSocket connections for you and allows up to 100K **concurrent** connections. It provides powerful APIs for you to manage these clients and deliver real-time messages. - -Any scenario that requires real-time publish-subscribe messaging between server and clients or among clients, can use Azure Web PubSub service. Traditional real-time features that often require polling from server or submitting HTTP requests, can also use Azure Web PubSub service. - -This library can be used to do the following actions. Details about the terms used here are described in [Key concepts](#key-concepts) section. - -- Parse upstream requests under CloudNative CloudEvents -- Add validation options for upstream request -- API to add user defined functionality to handle different upstream events - -[Source code](https://github.com/Azure/azure-sdk-for-net/blob/Microsoft.Azure.WebPubSub.AspNetCore_1.0.0-beta.4/sdk/webpubsub/Microsoft.Azure.WebPubSub.AspNetCore/src) | -[Package][package_ref] | -[API reference documentation](https://aka.ms/awps/sdk/csharp) | -[Product documentation](https://aka.ms/awps/doc) | -[Samples][sample_ref] | - -## Getting started - -### Install the package - -Install the client library from [NuGet][package_ref] - -```PowerShell -dotnet add package Microsoft.Azure.WebPubSub.AspNetCore --prerelease -``` - -### Prerequisites - -- An [Azure subscription][azure_sub]. -- An existing Azure Web PubSub service instance. - -### Authenticate the client - -In order to interact with the service, you'll need to provide the Web PubSub service with a valid credential. To make this possible, you'll need the connection string or a key, which you can access in the Azure portal. Besides, if you want to invoke service REST API, you can call `AddWebPubSubServiceClient()` where `THub` is user implemented [`WebPubSubHub`](#webpubsubhub) listening to important events. - -### Configure Web PubSub service options - -```C# Snippet:WebPubSubDependencyInjection -public void ConfigureServices(IServiceCollection services) -{ - services.AddWebPubSub(o => - { - o.ServiceEndpoint = new(""); - }).AddWebPubSubServiceClient(); -} -``` - -### Map `WebPubSubHub` to endpoint routing - -```C# Snippet:WebPubSubMapHub -public void Configure(IApplicationBuilder app) -{ - app.UseEndpoints(endpoint => - { - endpoint.MapWebPubSubHub("/eventhandler"); - }); -} -``` - -## Key concepts - -For information about general Web PubSub concepts [Concepts in Azure Web PubSub](/azure/azure-web-pubsub/key-concepts) - -### `WebPubSubHub` - -`WebPubSubHub` is an abstract class to let users implement the subscribed Web PubSub service events. After user register the [event handler](/azure/azure-web-pubsub/howto-develop-eventhandler) in service side, these events will be forwarded from service to server. And `WebPubSubHub` provides 4 methods mapping to the service events to enable users deal with these events, for example, client management, validations or working with `Azure.Messaging.WebPubSub` to broadcast the messages. See samples below for details. - -> NOTE -> -> Among the 4 methods, `OnConnectAsync()` and `OnMessageReceivedAsync()` are blocking events that service will respect server returns. Besides the mapped correct response, server can throw exceptions whenever the request is against the server side logic. And `UnauthorizedAccessException` will be converted to `401Unauthorized` and rest will be converted to `500InternalServerError` along with exception message to return service. Then service will drop current client connection. - -## Examples - -### Handle upstream `Connect` event - -```C# Snippet:WebPubSubHubMethods -private sealed class SampleHub : WebPubSubHub -{ - internal WebPubSubServiceClient _serviceClient; - - // Need to ensure service client is injected by call `AddServiceHub` in ConfigureServices. - public SampleHub(WebPubSubServiceClient serviceClient) - { - _serviceClient = serviceClient; - } - - public override ValueTask OnConnectAsync(ConnectEventRequest request, CancellationToken cancellationToken) - { - var response = new ConnectEventResponse - { - UserId = request.ConnectionContext.UserId - }; - return new ValueTask(response); - } -} -``` - -## Troubleshooting - -### Setting up console logging - -You can also easily [enable console logging](https://github.com/Azure/azure-sdk-for-net/blob/Microsoft.Azure.WebPubSub.AspNetCore_1.0.0-beta.4/sdk/core/Azure.Core/samples/Diagnostics.md#logging) if you want to dig deeper into the requests you're making against the service. - -## Next steps - -Please take a look at the [Samples][sample_ref] directory for detailed examples on how to use this library. - -## Contributing - -This project welcomes contributions and suggestions. -Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. -For details, visit - -When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). -Simply follow the instructions provided by the bot. -You will only need to do this once across all repos using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). -For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Ftemplate%2FAzure.Template%2FREADME.png) - -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[sample_ref]: https://github.com/Azure/azure-sdk-for-net/tree/Microsoft.Azure.WebPubSub.AspNetCore_1.0.0-beta.4/sdk/webpubsub/Microsoft.Azure.WebPubSub.AspNetCore/tests/Samples/ -[package_ref]: https://www.nuget.org/packages/Microsoft.Azure.WebPubSub.AspNetCore/ diff --git a/api/overview/azure/preview/microsoft.azure.webpubsub.common-readme.md b/api/overview/azure/preview/microsoft.azure.webpubsub.common-readme.md deleted file mode 100644 index d9b6f608afb8..000000000000 --- a/api/overview/azure/preview/microsoft.azure.webpubsub.common-readme.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: Azure Web PubSub Event Handler events data model client library for .NET -keywords: Azure, dotnet, SDK, API, Microsoft.Azure.WebPubSub.Common, webpubsub -author: ramya-rao-a -ms.author: ramyar -ms.date: 10/28/2021 -ms.topic: reference -ms.prod: azure -ms.technology: azure -ms.devlang: dotnet -ms.service: webpubsub ---- - -# Azure Web PubSub Event Handler events data model client library for .NET - version 1.0.0-beta.1 - - -This library defines the class to process with Azure Web PubSub service upstream requests. - -## Getting started - -### Install the package - -Install the client library from [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Microsoft.Azure.WebPubSub.Common -``` - -### Prerequisites - -- An [Azure subscription][azure_sub]. -- An existing Azure Web PubSub service instance. - -### Authenticate the client - -Not applicable for the library. You should work with a client library to deserialize service requests in a friendly way. - -## Key concepts - -### Events - -Connect, Connected, Disconnected are system events indicate connection stage. And Connect is a blocking event that service will wait for the response to determine next action. Any error returned will drop the connection. - -User events are message event. It's also a blocking event which service is waiting for response. And server can return information in the response which will be sent to the caller directly. - -### WebPubSubEventRequest - -WebPubSubEventRequest, represents a abstract request come from service side. In detail, it should be ValidationRequest or one of the 4 events, which are ConnectEventRequest, ConnectedEventRequest, UserEventRequest and DisconnectedEventRequest. ValidationRequest represent the request for [Abuse Protection](https://github.com/cloudevents/spec/blob/v1.0.1/http-webhook.md#4-abuse-protection). - -### WebPubSubEventResponse - -WebPubSubEventResponse, represents a abstract response should return to service. In detail, it should be EventErrorResponse or one of the 2 blocking events, which are ConnectEventResponse and UserEventResponse. - -## Examples - -Check Microsoft.Azure.WebPubSub.AspNetCore for E2E using examples. - -## Troubleshooting - -You can also easily [enable console logging](https://github.com/Azure/azure-sdk-for-net/blob/Microsoft.Azure.WebPubSub.Common_1.0.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md#logging) if you want to dig deeper into the requests you're making against the service. - -## Next steps - -Please take a look at the -[samples][samples_ref] -directory for detailed examples on how to use this library. - -## Contributing - -This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][code_of_conduct]. For more information see the [Code of Conduct FAQ][code_of_conduct_faq] or contact opencode@microsoft.com with any additional questions or comments. - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Feventgrid%2FMicrosoft.Azure.Messaging.EventGrid.CloudNativeCloudEvents%2FREADME.png) - -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[samples_ref]: https://github.com/Azure/azure-sdk-for-net/blob/Microsoft.Azure.WebPubSub.Common_1.0.0-beta.1/sdk/webpubsub/Azure.Messaging.WebPubSub/tests/Samples/ diff --git a/api/overview/azure/preview/mixed-reality.md b/api/overview/azure/preview/mixed-reality.md index 84f0ab0b4da8..bd63d6877217 100644 --- a/api/overview/azure/preview/mixed-reality.md +++ b/api/overview/azure/preview/mixed-reality.md @@ -3,7 +3,7 @@ title: Azure Mixed Reality SDK for .NET description: Reference for Azure Mixed Reality SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: mixedreality diff --git a/api/overview/azure/preview/monitor-index.md b/api/overview/azure/preview/monitor-index.md index ae9b2a790336..817cf02e1ab5 100644 --- a/api/overview/azure/preview/monitor-index.md +++ b/api/overview/azure/preview/monitor-index.md @@ -1,7 +1,4 @@ | Reference | Package | Source | |---|---|---| -|[Monitor Ingestion](monitor.ingestion-readme.md)|[Azure.Monitor.Ingestion](https://www.nuget.org/packages/Azure.Monitor.Ingestion)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/monitor/Azure.Monitor.Ingestion)| |[OpenTelemetry AspNetCore](monitor.opentelemetry.aspnetcore-readme.md)|[Azure.Monitor.OpenTelemetry.AspNetCore](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.AspNetCore)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/monitor/Azure.Monitor.OpenTelemetry.AspNetCore)| -|[OpenTelemetry Exporter](monitor.opentelemetry.exporter-readme.md)|[Azure.Monitor.OpenTelemetry.Exporter](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.Exporter)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter)| -|[Monitor Query](monitor.query-readme.md)|[Azure.Monitor.Query](https://www.nuget.org/packages/Azure.Monitor.Query)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/monitor/Azure.Monitor.Query)| |[Resource Management - Monitor](resourcemanager.monitor-readme.md)|[Azure.ResourceManager.Monitor](https://www.nuget.org/packages/Azure.ResourceManager.Monitor)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/monitor/Azure.ResourceManager.Monitor)| diff --git a/api/overview/azure/preview/monitor.ingestion-readme.md b/api/overview/azure/preview/monitor.ingestion-readme.md deleted file mode 100644 index f1584c38d2cb..000000000000 --- a/api/overview/azure/preview/monitor.ingestion-readme.md +++ /dev/null @@ -1,206 +0,0 @@ ---- -title: Azure Monitor Ingestion client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.Monitor.Ingestion, monitor -author: SameergMS -ms.author: sameerg -ms.date: 10/11/2022 -ms.topic: reference -ms.devlang: dotnet -ms.service: monitor ---- -# Azure Monitor Ingestion client library for .NET - version 1.0.0-beta.4 - - -The Azure Monitor Ingestion client library is used to send custom logs to [Azure Monitor][azure_monitor_overview]. - -This library allows you to send data from virtually any source to supported built-in tables or to custom tables that you create in Log Analytics workspace. You can even extend the schema of built-in tables with custom columns. - -**Resources:** - -- [Source code](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Monitor.Ingestion_1.0.0-beta.4/sdk/monitor/Azure.Monitor.Ingestion/src) -- [NuGet package](https://www.nuget.org/packages/Azure.Monitor.Ingestion) -- [Service documentation][azure_monitor_overview] -- [Change log](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Monitor.Ingestion_1.0.0-beta.4/sdk/monitor/Azure.Monitor.Ingestion/CHANGELOG.md) - -## Getting started - -### Prerequisites - -- An [Azure subscription](https://azure.microsoft.com/free/dotnet/) -- A [TokenCredential](https://learn.microsoft.com/dotnet/api/azure.core.tokencredential?view=azure-dotnet) implementation, such as an [Azure Identity library credential type](https://learn.microsoft.com/dotnet/api/overview/azure/Identity-readme#credential-classes). -- A [Data Collection Endpoint](https://learn.microsoft.com/azure/azure-monitor/essentials/data-collection-endpoint-overview) -- A [Data Collection Rule](https://learn.microsoft.com/azure/azure-monitor/essentials/data-collection-rule-overview) -- A [Log Analytics workspace](https://learn.microsoft.com/azure/azure-monitor/logs/log-analytics-workspace-overview) - -### Install the package - -Install the Azure Monitor Ingestion client library for .NET with NuGet: - -```dotnetcli -dotnet add package Azure.Monitor.Ingestion --prerelease -``` - -### Authenticate the client - -An authenticated client is required to ingest data. To authenticate, create an instance of a `TokenCredential` class. Pass it to the constructor of the `LogsIngestionClient` class. - -To authenticate, the following example uses `DefaultAzureCredential` from the `Azure.Identity` package: - -```C# Snippet:CreateLogsIngestionClient -var endpoint = new Uri(""); -var credential = new DefaultAzureCredential(); -var client = new LogsIngestionClient(endpoint, credential); -``` - -### Upload the logs - -For examples of logs ingestion, see the [Examples](#examples) section. - -## Key concepts - -### Data collection endpoint - -Data collection endpoints (DCEs) allow you to uniquely configure ingestion settings for Azure Monitor. [This article][data_collection_endpoint] provides an overview of DCEs, including their contents, structure, and how you can create and work with them. - -### Data collection rule - -Data collection rules (DCRs) define data collected by Azure Monitor and specify how and where that data should be sent or stored. The REST API call must specify a DCR to use. A single DCE can support multiple DCRs, so you can specify a different DCR for different sources and target tables. - -The DCR must understand the structure of the input data and the structure of the target table. If the two don't match, it can use a transformation to convert the source data to match the target table. You may also use the transform to filter source data and perform any other calculations or conversions. - -For more information, see [Data collection rules in Azure Monitor][data_collection_rule]. - -### Log Analytics workspace tables - -Custom logs can send data to any custom table that you create and to certain built-in tables in your Log Analytics workspace. The target table must exist before you can send data to it. The following built-in tables are currently supported: - -- [CommonSecurityLog](https://learn.microsoft.com/azure/azure-monitor/reference/tables/commonsecuritylog) -- [SecurityEvent](https://learn.microsoft.com/azure/azure-monitor/reference/tables/securityevent) -- [Syslog](https://learn.microsoft.com/azure/azure-monitor/reference/tables/syslog) -- [WindowsEvent](https://learn.microsoft.com/azure/azure-monitor/reference/tables/windowsevent) - -### Thread safety - -We guarantee that all client instance methods are thread-safe and independent of each other ([guideline](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-service-methods-thread-safety)). This design ensures that the recommendation of reusing client instances is always safe, even across threads. - -### Additional concepts - - -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Monitor.Ingestion_1.0.0-beta.4/sdk/core/Azure.Core/README.md#configuring-service-clients-using-clientoptions) | -[Accessing the response](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Monitor.Ingestion_1.0.0-beta.4/sdk/core/Azure.Core/README.md#accessing-http-response-details-using-responset) | -[Long-running operations](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Monitor.Ingestion_1.0.0-beta.4/sdk/core/Azure.Core/README.md#consuming-long-running-operations-using-operationt) | -[Handling failures](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Monitor.Ingestion_1.0.0-beta.4/sdk/core/Azure.Core/README.md#reporting-errors-requestfailedexception) | -[Diagnostics](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Monitor.Ingestion_1.0.0-beta.4/sdk/core/Azure.Core/samples/Diagnostics.md) | -[Mocking](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Monitor.Ingestion_1.0.0-beta.4/sdk/core/Azure.Core/README.md#mocking) | -[Client lifetime](https://devblogs.microsoft.com/azure-sdk/lifetime-management-and-thread-safety-guarantees-of-azure-sdk-net-clients/) - - -## Examples - -- [Upload custom logs](#upload-custom-logs) -- [Verify logs](#verify-logs) - -You can familiarize yourself with different APIs using [samples](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.Ingestion_1.0.0-beta.4/sdk/monitor/Azure.Monitor.Ingestion/samples). - -### Upload custom logs - -You can upload logs using either the `LogsIngestionClient.Upload` or the `LogsIngestionClient.UploadAsync` method. Note the data ingestion [limits](https://learn.microsoft.com/azure/azure-monitor/service-limits#custom-logs). - -```C# Snippet:UploadCustomLogsAsync -var endpoint = new Uri(""); -var ruleId = ""; -var streamName = ""; - -var credential = new DefaultAzureCredential(); -LogsIngestionClient client = new(endpoint, credential); -DateTimeOffset currentTime = DateTimeOffset.UtcNow; - -// Use BinaryData to serialize instances of an anonymous type into JSON -BinaryData data = BinaryData.FromObjectAsJson( - new[] { - new - { - Time = currentTime, - Computer = "Computer1", - AdditionalContext = new - { - InstanceName = "user1", - TimeZone = "Pacific Time", - Level = 4, - CounterName = "AppMetric1", - CounterValue = 15.3 - } - }, - new - { - Time = currentTime, - Computer = "Computer2", - AdditionalContext = new - { - InstanceName = "user2", - TimeZone = "Central Time", - Level = 3, - CounterName = "AppMetric1", - CounterValue = 23.5 - } - }, - }); - -// Upload our logs -Response response = await client.UploadAsync( - ruleId, - streamName, - RequestContent.Create(data)).ConfigureAwait(false); -``` - -### Verify logs - -You can verify that your data has been uploaded correctly by using the [Azure Monitor Query](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Monitor.Ingestion_1.0.0-beta.4/sdk/monitor/Azure.Monitor.Query/README.md#install-the-package) library. Run the [Upload custom logs](#upload-custom-logs) sample first before verifying the logs. - -```C# Snippet:VerifyLogsAsync -var workspaceId = ""; -var tableName = ""; - -var credential = new DefaultAzureCredential(); -LogsQueryClient logsQueryClient = new(credential); - -LogsBatchQuery batch = new(); -string query = tableName + " | Count;"; -string countQueryId = batch.AddWorkspaceQuery( - workspaceId, - query, - new QueryTimeRange(TimeSpan.FromDays(1))); - -Response queryResponse = - await logsQueryClient.QueryBatchAsync(batch).ConfigureAwait(false); - -Console.WriteLine("Table entry count: " + - queryResponse.Value.GetResult(countQueryId).Single()); -``` - -## Troubleshooting - -### Enabling logging - -The Azure SDK for .NET offers a consistent logging story to aid in troubleshooting application errors and expedite their resolution. The logs produced will capture the application's flow before reaching the terminal state to help locate the root issue. For information on enabling logging, see [Logging with the Azure SDK for .NET][logging]. - -## Next steps - -To learn more about Azure Monitor, see the [Azure Monitor service documentation][azure_monitor_overview]. - -## Contributing - -This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit [https://cla.microsoft.com](https://cla.microsoft.com). - -When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately. For example, labels and comments. Follow the instructions provided by the bot. You'll only need to sign the CLA once across all repos using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information, see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any questions or comments. - - -[azure_monitor_overview]: https://learn.microsoft.com/azure/azure-monitor/overview -[data_collection_endpoint]: https://learn.microsoft.com/azure/azure-monitor/essentials/data-collection-endpoint-overview -[data_collection_rule]: https://learn.microsoft.com/azure/azure-monitor/essentials/data-collection-rule-overview -[logging]: https://learn.microsoft.com/dotnet/azure/sdk/logging - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net/sdk/monitor/Azure.Monitor.Ingestion/README.png) - diff --git a/api/overview/azure/preview/monitor.md b/api/overview/azure/preview/monitor.md index 9ad3a6b94f0d..f5437d3e1636 100644 --- a/api/overview/azure/preview/monitor.md +++ b/api/overview/azure/preview/monitor.md @@ -3,7 +3,7 @@ title: Azure Monitor SDK for .NET description: Reference for Azure Monitor SDK for .NET author: SameergMS ms.author: sameerg -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: monitor diff --git a/api/overview/azure/preview/monitor.opentelemetry.exporter-readme.md b/api/overview/azure/preview/monitor.opentelemetry.exporter-readme.md deleted file mode 100644 index 74d9fbba0986..000000000000 --- a/api/overview/azure/preview/monitor.opentelemetry.exporter-readme.md +++ /dev/null @@ -1,169 +0,0 @@ ---- -title: Azure Monitor Exporter client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.Monitor.OpenTelemetry.Exporter, monitor -author: SameergMS -ms.author: sameerg -ms.date: 08/09/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: monitor ---- -# Azure Monitor Exporter client library for .NET - version 1.0.0-beta.14 - - - - -The [OpenTelemetry .NET](https://github.com/open-telemetry/opentelemetry-dotnet) exporters which send [telemetry data](/azure/azure-monitor/app/data-model) to [Azure Monitor](/azure/azure-monitor/app/app-insights-overview) following the [OpenTelemetry Specification](https://github.com/open-telemetry/opentelemetry-specification). - -## Getting started - -### Prerequisites - -- **Azure Subscription:** To use Azure services, including Azure Monitor Exporter for [OpenTelemetry .NET](https://github.com/open-telemetry/opentelemetry-dotnet), you'll need a subscription. If you do not have an existing Azure account, you may sign up for a [free trial](https://azure.microsoft.com/free/dotnet/) or use your [Visual Studio Subscription](https://visualstudio.microsoft.com/subscriptions/) benefits when you [create an account](https://azure.microsoft.com/account). -- **Azure Application Insights Connection String:** To send telemetry data to the monitoring service you'll need connection string from Azure Application Insights. If you are not familiar with creating Azure resources, you may wish to follow the step-by-step guide for [Create an Application Insights resource](/azure/azure-monitor/app/create-new-resource) and [copy the connection string](/azure/azure-monitor/app/sdk-connection-string?tabs=net#find-your-connection-string). - -### Install the package - -#### Latest Version: [![Nuget](https://img.shields.io/nuget/vpre/Azure.Monitor.OpenTelemetry.Exporter.svg)](https://www.nuget.org/packages/Azure.Monitor.OpenTelemetry.Exporter/) - -Install the Azure Monitor Exporter for OpenTelemetry .NET with [NuGet](https://www.nuget.org/): -```dotnetcli -dotnet add package Azure.Monitor.OpenTelemetry.Exporter --prerelease -``` - -#### Nightly builds - -Nightly builds are available from this repo's [dev feed](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Monitor.OpenTelemetry.Exporter_1.0.0-beta.14/CONTRIBUTING.md#nuget-package-dev-feed). -These are provided without support and are not intended for production workloads. - -### Add the Exporter - -The following examples demonstrate how to add the `AzureMonitorExporter` to your OpenTelemetry configuration. - -- Traces - ```csharp - Sdk.CreateTracerProviderBuilder() - .AddAzureMonitorTraceExporter(o => o.ConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000") - .Build(); - ``` - - For a complete example see [TraceDemo.cs](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Monitor.OpenTelemetry.Exporter_1.0.0-beta.14/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Demo/Traces/TraceDemo.cs). - -- Metrics - ```csharp - Sdk.CreateMeterProviderBuilder() - .AddAzureMonitorMetricExporter(o => o.ConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000") - .Build(); - ``` - - For a complete example see [MetricDemo.cs](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Monitor.OpenTelemetry.Exporter_1.0.0-beta.14/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Demo/Metrics/MetricDemo.cs). - -- Logs - ```csharp - LoggerFactory.Create(builder => - { - builder.AddOpenTelemetry(options => - { - options.AddAzureMonitorLogExporter(o => o.ConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000"); - }); - }); - ``` - - For a complete example see [LogDemo.cs](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Monitor.OpenTelemetry.Exporter_1.0.0-beta.14/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Demo/Logs/LogDemo.cs). - -### Authenticate the client - -Azure Active Directory (AAD) authentication is an optional feature that can be used with the Azure Monitor Exporter. -This is made easy with the [Azure Identity library](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Monitor.OpenTelemetry.Exporter_1.0.0-beta.14/sdk/identity/Azure.Identity/README.md), which provides support for authenticating Azure SDK clients with their corresponding Azure services. - -There are two options to enable AAD authentication. Note that if both have been set AzureMonitorExporterOptions will take precedence. - -1. Set your `Credential` to the `AzureMonitorExporterOptions`. - - ```csharp - var credential = new DefaultAzureCredential(); - - Sdk.CreateTracerProviderBuilder() - .AddAzureMonitorTraceExporter(o => - { - o.ConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000"; - o.Credential = credential; - }) - .Build(); - ``` - -2. Provide your `Credential` to the AddAzureMonitorExporter method. - - ```csharp - var credential = new DefaultAzureCredential(); - - Sdk.CreateTracerProviderBuilder() - .AddAzureMonitorTraceExporter(o => o.ConnectionString = "InstrumentationKey=00000000-0000-0000-0000-000000000000", credential) - .Build(); - ``` - -## Key concepts - -Some key concepts for .NET include: - -- [Overview of .NET distributed tracing](https://learn.microsoft.com/dotnet/core/diagnostics/distributed-tracing): - Distributed tracing is a diagnostic technique that helps engineers localize failures and performance issues within applications, especially those that may be distributed across multiple machines or processes. - -- [Overview of Logging in .NET](https://learn.microsoft.com/dotnet/core/extensions/logging): - .NET supports a logging API that works with a variety of built-in and third-party logging providers. - -Some key concepts for Azure Monitor include: - -- [IP Addresses used by Azure Monitor](/azure/azure-monitor/app/ip-addresses#outgoing-ports): - This exporter sends traces to the configured Azure Monitor Resource using HTTPS. - You might need to know IP addresses if the app or infrastructure that you're monitoring is hosted behind a firewall. - -Some key concepts for OpenTelemetry include: - -- [OpenTelemetry](https://opentelemetry.io/): - OpenTelemetry is a set of libraries used to collect and export telemetry data - (metrics, logs, and traces) for analysis in order to understand your software's performance and behavior. - -- [Instrumentation](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/overview.md#instrumentation-libraries): - The ability to call the OpenTelemetry API directly by any application is - facilitated by instrumentation. A library that enables OpenTelemetry observability for another library is called an Instrumentation Library. - -- [Tracing Signal](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/overview.md#tracing-signal): - Trace refers to distributed tracing. It can be thought of as a directed acyclic graph (DAG) of Spans, where the edges between Spans are defined as parent/child relationship. - -- [Sampling](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/trace/sdk.md#sampling): - Sampling is a mechanism to control the noise and overhead introduced by OpenTelemetry by reducing the number of samples of traces collected and sent to the backend. - -- [Metric Signal](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/overview.md#metric-signal): - OpenTelemetry allows to record raw measurements or metrics with predefined aggregation and a set of attributes (dimensions). - -- [Log Signal](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/overview.md#log-signal): - A recording of an event. Typically the record includes a timestamp indicating when the event happened as well as other data that describes what happened, where it happened, etc. - -For more information on the OpenTelemetry project, please review the [OpenTelemetry Specifications](https://github.com/open-telemetry/opentelemetry-specification). - -## Examples - -Refer to [`Program.cs`](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Monitor.OpenTelemetry.Exporter_1.0.0-beta.14/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Demo/Program.cs) for a complete demo. - -## Troubleshooting - -The Azure Monitor exporter uses EventSource for its own internal logging. The exporter logs are available to any EventListener by opting into the source named "OpenTelemetry-AzureMonitor-Exporter". - -OpenTelemetry also provides it's own [self-diagnostics feature](https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/src/OpenTelemetry/README.md#troubleshooting) to collect internal logs. -An example of this is available in our demo project [here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Monitor.OpenTelemetry.Exporter_1.0.0-beta.14/sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/tests/Azure.Monitor.OpenTelemetry.Exporter.Demo/OTEL_DIAGNOSTICS.json). - -## Next steps - -For more information on Azure SDK, please refer to [this website](https://azure.github.io/azure-sdk/) - -## Contributing - -See [CONTRIBUTING.md](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Monitor.OpenTelemetry.Exporter_1.0.0-beta.14/CONTRIBUTING.md) for details on contribution process. - -## Release Schedule - -This exporter is under active development. - -The library is not yet _generally available_, and is not officially supported. Future releases will not attempt to maintain backwards compatibility with previous releases. Each beta release includes significant changes to the exporter package, making them incompatible with each other. - diff --git a/api/overview/azure/preview/monitor.query-readme.md b/api/overview/azure/preview/monitor.query-readme.md deleted file mode 100644 index dd976c13abe5..000000000000 --- a/api/overview/azure/preview/monitor.query-readme.md +++ /dev/null @@ -1,556 +0,0 @@ ---- -title: Azure Monitor Query client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.Monitor.Query, monitor -author: SameergMS -ms.author: sameerg -ms.date: 05/01/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: monitor ---- -# Azure Monitor Query client library for .NET - version 1.2.0-beta.1 - - -The Azure Monitor Query client library is used to execute read-only queries against [Azure Monitor][azure_monitor_overview]'s two data platforms: - -- [Logs](https://learn.microsoft.com/azure/azure-monitor/logs/data-platform-logs) - Collects and organizes log and performance data from monitored resources. Data from different sources such as platform logs from Azure services, log and performance data from virtual machines agents, and usage and performance data from apps can be consolidated into a single [Azure Log Analytics workspace](https://learn.microsoft.com/azure/azure-monitor/logs/data-platform-logs#log-analytics-and-workspaces). The various data types can be analyzed together using the [Kusto Query Language][kusto_query_language]. -- [Metrics](https://learn.microsoft.com/azure/azure-monitor/essentials/data-platform-metrics) - Collects numeric data from monitored resources into a time series database. Metrics are numerical values that are collected at regular intervals and describe some aspect of a system at a particular time. Metrics are lightweight and capable of supporting near real-time scenarios, making them useful for alerting and fast detection of issues. - -**Resources:** - -- [Source code][source] -- [NuGet package][package] -- [API reference documentation][msdocs_apiref] -- [Service documentation][azure_monitor_overview] -- [Change log][changelog] -- [Migration guide from Application Insights][migration_guide_app_insights] -- [Migration guide from Operational Insights][migration_guide_opp_insights] - -## Getting started - -### Prerequisites - -- An [Azure subscription][azure_subscription] -- A [TokenCredential](https://learn.microsoft.com/dotnet/api/azure.core.tokencredential?view=azure-dotnet) implementation, such as an [Azure Identity library credential type](https://learn.microsoft.com/dotnet/api/overview/azure/Identity-readme#credential-classes). -- To query Logs, you need an [Azure Log Analytics workspace][azure_monitor_create_using_portal]. -- To query Metrics, you need an Azure resource of any kind (Storage Account, Key Vault, Cosmos DB, etc.). - -### Install the package - -Install the Azure Monitor Query client library for .NET with NuGet: - -```dotnetcli -dotnet add package Azure.Monitor.Query -``` - -### Authenticate the client - -An authenticated client is required to query Logs or Metrics. To authenticate, create an instance of a `TokenCredential` class. Pass it to the constructor of the `LogsQueryClient` or `MetricsQueryClient` class. - -To authenticate, the following examples use `DefaultAzureCredential` from the `Azure.Identity` package: - -```C# Snippet:CreateLogsClient -var client = new LogsQueryClient(new DefaultAzureCredential()); -``` - -```C# Snippet:CreateMetricsClient -var client = new MetricsQueryClient(new DefaultAzureCredential()); -``` - -### Execute the query - -For examples of Logs and Metrics queries, see the [Examples](#examples) section. - -## Key concepts - -### Logs query rate limits and throttling - -The Log Analytics service applies throttling when the request rate is too high. Limits, such as the maximum number of rows returned, are also applied on the Kusto queries. For more information, see [Query API](https://learn.microsoft.com/azure/azure-monitor/service-limits#la-query-api). - -### Metrics data structure - -Each set of metric values is a time series with the following characteristics: - -- The time the value was collected -- The resource associated with the value -- A namespace that acts like a category for the metric -- A metric name -- The value itself -- Some metrics may have multiple dimensions as described in multi-dimensional metrics. Custom metrics can have up to 10 dimensions. - -### Thread safety - -All client instance methods are thread-safe and independent of each other ([guideline](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-service-methods-thread-safety)). This design ensures that the recommendation of reusing client instances is always safe, even across threads. - -### Additional concepts - - -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Monitor.Query_1.2.0-beta.1/sdk/core/Azure.Core/README.md#configuring-service-clients-using-clientoptions) | -[Accessing the response](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Monitor.Query_1.2.0-beta.1/sdk/core/Azure.Core/README.md#accessing-http-response-details-using-responset) | -[Long-running operations](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Monitor.Query_1.2.0-beta.1/sdk/core/Azure.Core/README.md#consuming-long-running-operations-using-operationt) | -[Handling failures](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Monitor.Query_1.2.0-beta.1/sdk/core/Azure.Core/README.md#reporting-errors-requestfailedexception) | -[Diagnostics](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Monitor.Query_1.2.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md) | -[Mocking](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Monitor.Query_1.2.0-beta.1/sdk/core/Azure.Core/README.md#mocking) | -[Client lifetime](https://devblogs.microsoft.com/azure-sdk/lifetime-management-and-thread-safety-guarantees-of-azure-sdk-net-clients/) - - -## Examples - -- [Logs query](#logs-query) - - [Handle logs query response](#handle-logs-query-response) - - [Map logs query results to a model](#map-logs-query-results-to-a-model) - - [Map logs query results to a primitive](#map-logs-query-results-to-a-primitive) - - [Print logs query results as a table](#print-logs-query-results-as-a-table) -- [Batch logs query](#batch-logs-query) -- [Advanced logs query scenarios](#advanced-logs-query-scenarios) - - [Set logs query timeout](#set-logs-query-timeout) - - [Query multiple workspaces](#query-multiple-workspaces) - - [Include statistics](#include-statistics) - - [Include visualization](#include-visualization) -- [Metrics query](#metrics-query) - - [Handle metrics query response](#handle-metrics-query-response) - - [Query metrics with options](#query-metrics-with-options) -- [Register the client with dependency injection](#register-the-client-with-dependency-injection) - -### Logs query - -You can query logs using the `LogsQueryClient.QueryWorkspaceAsync` method. The result is returned as a table with a collection of rows: - -```C# Snippet:QueryLogsAsTable -string workspaceId = ""; -var client = new LogsQueryClient(new DefaultAzureCredential()); -Response response = await client.QueryWorkspaceAsync( - workspaceId, - "AzureActivity | top 10 by TimeGenerated", - new QueryTimeRange(TimeSpan.FromDays(1))); - -LogsTable table = response.Value.Table; - -foreach (var row in table.Rows) -{ - Console.WriteLine(row["OperationName"] + " " + row["ResourceGroup"]); -} -``` - -#### Handle logs query response - -The `QueryWorkspace` method returns the `LogsQueryResult`, while the `QueryBatch` method returns the `LogsBatchQueryResult`. Here's a hierarchy of the response: - -``` -LogsQueryResult -|---Error -|---Status -|---Table - |---Name - |---Columns (list of `LogsTableColumn` objects) - |---Name - |---Type - |---Rows (list of `LogsTableRows` objects) - |---Count -|---AllTables (list of `LogsTable` objects) -``` - -#### Map logs query results to a model - -You can map logs query results to a model using the `LogsQueryClient.QueryWorkspaceAsync` method: - -```C# Snippet:QueryLogsAsModelsModel -public class MyLogEntryModel -{ - public string ResourceGroup { get; set; } - public int Count { get; set; } -} -``` - -```C# Snippet:QueryLogsAsModels -var client = new LogsQueryClient(new DefaultAzureCredential()); -string workspaceId = ""; - -// Query TOP 10 resource groups by event count -Response> response = await client.QueryWorkspaceAsync( - workspaceId, - "AzureActivity | summarize Count = count() by ResourceGroup | top 10 by Count", - new QueryTimeRange(TimeSpan.FromDays(1))); - -foreach (var logEntryModel in response.Value) -{ - Console.WriteLine($"{logEntryModel.ResourceGroup} had {logEntryModel.Count} events"); -} -``` - -#### Map logs query results to a primitive - -If your query returns a single column (or a single value) of a primitive type, use the `LogsQueryClient.QueryWorkspaceAsync` overload to deserialize it: - -```C# Snippet:QueryLogsAsPrimitive -string workspaceId = ""; - -var client = new LogsQueryClient(new DefaultAzureCredential()); - -// Query TOP 10 resource groups by event count -Response> response = await client.QueryWorkspaceAsync( - workspaceId, - "AzureActivity | summarize Count = count() by ResourceGroup | top 10 by Count | project ResourceGroup", - new QueryTimeRange(TimeSpan.FromDays(1))); - -foreach (var resourceGroup in response.Value) -{ - Console.WriteLine(resourceGroup); -} -``` - -#### Print logs query results as a table - -You can also dynamically inspect the list of columns. The following example prints the query result as a table: - -```C# Snippet:QueryLogsPrintTable -string workspaceId = ""; - -var client = new LogsQueryClient(new DefaultAzureCredential()); -Response response = await client.QueryWorkspaceAsync( - workspaceId, - "AzureActivity | top 10 by TimeGenerated", - new QueryTimeRange(TimeSpan.FromDays(1))); - -LogsTable table = response.Value.Table; - -foreach (var column in table.Columns) -{ - Console.Write(column.Name + ";"); -} - -Console.WriteLine(); - -var columnCount = table.Columns.Count; -foreach (var row in table.Rows) -{ - for (int i = 0; i < columnCount; i++) - { - Console.Write(row[i] + ";"); - } - - Console.WriteLine(); -} -``` - -### Batch logs query - -You can execute multiple logs queries in a single request using the `LogsQueryClient.QueryBatchAsync` method: - -```C# Snippet:BatchQuery -string workspaceId = ""; - -var client = new LogsQueryClient(new DefaultAzureCredential()); - -// Query TOP 10 resource groups by event count -// And total event count -var batch = new LogsBatchQuery(); - -string countQueryId = batch.AddWorkspaceQuery( - workspaceId, - "AzureActivity | count", - new QueryTimeRange(TimeSpan.FromDays(1))); -string topQueryId = batch.AddWorkspaceQuery( - workspaceId, - "AzureActivity | summarize Count = count() by ResourceGroup | top 10 by Count", - new QueryTimeRange(TimeSpan.FromDays(1))); - -Response response = await client.QueryBatchAsync(batch); - -var count = response.Value.GetResult(countQueryId).Single(); -var topEntries = response.Value.GetResult(topQueryId); - -Console.WriteLine($"AzureActivity has total {count} events"); -foreach (var logEntryModel in topEntries) -{ - Console.WriteLine($"{logEntryModel.ResourceGroup} had {logEntryModel.Count} events"); -} -``` - -### Advanced logs query scenarios - -#### Set logs query timeout - -Some logs queries take longer than 3 minutes to execute. The default server timeout is 3 minutes. You can increase the server timeout to a maximum of 10 minutes. In the following example, the `LogsQueryOptions` object's `ServerTimeout` property is used to set the server timeout to 10 minutes: - -```C# Snippet:QueryLogsWithTimeout -string workspaceId = ""; - -var client = new LogsQueryClient(new DefaultAzureCredential()); - -// Query TOP 10 resource groups by event count -Response> response = await client.QueryWorkspaceAsync( - workspaceId, - @"AzureActivity - | summarize Count = count() by ResourceGroup - | top 10 by Count - | project ResourceGroup", - new QueryTimeRange(TimeSpan.FromDays(1)), - new LogsQueryOptions - { - ServerTimeout = TimeSpan.FromMinutes(10) - }); - -foreach (var resourceGroup in response.Value) -{ - Console.WriteLine(resourceGroup); -} -``` - -#### Query multiple workspaces - -To run the same logs query against multiple workspaces, use the `LogsQueryOptions.AdditionalWorkspaces` property: - -```C# Snippet:QueryLogsWithAdditionalWorkspace -string workspaceId = ""; -string additionalWorkspaceId = ""; - -var client = new LogsQueryClient(new DefaultAzureCredential()); - -// Query TOP 10 resource groups by event count -Response> response = await client.QueryWorkspaceAsync( - workspaceId, - @"AzureActivity - | summarize Count = count() by ResourceGroup - | top 10 by Count - | project ResourceGroup", - new QueryTimeRange(TimeSpan.FromDays(1)), - new LogsQueryOptions - { - AdditionalWorkspaces = { additionalWorkspaceId } - }); - -foreach (var resourceGroup in response.Value) -{ - Console.WriteLine(resourceGroup); -} -``` - -#### Include statistics - -To get logs query execution statistics, such as CPU and memory consumption: - -1. Set the `LogsQueryOptions.IncludeStatistics` property to `true`. -2. Invoke the `GetStatistics` method on the `LogsQueryResult` object. - -The following example prints the query execution time: - -```C# Snippet:QueryLogsWithStatistics -string workspaceId = ""; -var client = new LogsQueryClient(new DefaultAzureCredential()); - -Response response = await client.QueryWorkspaceAsync( - workspaceId, - "AzureActivity | top 10 by TimeGenerated", - new QueryTimeRange(TimeSpan.FromDays(1)), - new LogsQueryOptions - { - IncludeStatistics = true, - }); - -BinaryData stats = response.Value.GetStatistics(); -using var statsDoc = JsonDocument.Parse(stats); -var queryStats = statsDoc.RootElement.GetProperty("query"); -Console.WriteLine(queryStats.GetProperty("executionTime").GetDouble()); -``` - -Because the structure of the statistics payload varies by query, a `BinaryData` return type is used. It contains the raw JSON response. The statistics are found within the `query` property of the JSON. For example: - -```json -{ - "query": { - "executionTime": 0.0156478, - "resourceUsage": {...}, - "inputDatasetStatistics": {...}, - "datasetStatistics": [{...}] - } -} -``` - -#### Include visualization - -To get visualization data for logs queries using the [render operator](https://learn.microsoft.com/azure/data-explorer/kusto/query/renderoperator?pivots=azuremonitor): - -1. Set the `LogsQueryOptions.IncludeVisualization` property to `true`. -2. Invoke the `GetVisualization` method on the `LogsQueryResult` object. - -For example: - -```C# Snippet:QueryLogsWithVisualization -string workspaceId = ""; -var client = new LogsQueryClient(new DefaultAzureCredential()); - -Response response = await client.QueryWorkspaceAsync( - workspaceId, - @"StormEvents - | summarize event_count = count() by State - | where event_count > 10 - | project State, event_count - | render columnchart", - new QueryTimeRange(TimeSpan.FromDays(1)), - new LogsQueryOptions - { - IncludeVisualization = true, - }); - -BinaryData viz = response.Value.GetVisualization(); -using var vizDoc = JsonDocument.Parse(viz); -var queryViz = vizDoc.RootElement.GetProperty("visualization"); -Console.WriteLine(queryViz.GetString()); -``` - -Because the structure of the visualization payload varies by query, a `BinaryData` return type is used. It contains the raw JSON response. For example: - -```json -{ - "visualization": "columnchart", - "title": null, - "accumulate": false, - "isQuerySorted": false, - "kind": null, - "legend": null, - "series": null, - "yMin": "", - "yMax": "", - "xAxis": null, - "xColumn": null, - "xTitle": null, - "yAxis": null, - "yColumns": null, - "ySplit": null, - "yTitle": null, - "anomalyColumns": null -} -``` - -### Metrics query - -You can query metrics on an Azure resource using the `MetricsQueryClient.QueryResourceAsync` method. For each requested metric, a set of aggregated values is returned inside the `TimeSeries` collection. - -A resource ID is required to query metrics. To find the resource ID: - -1. Navigate to your resource's page in the Azure portal. -2. From the **Overview** blade, select the **JSON View** link. -3. In the resulting JSON, copy the value of the `id` property. - -```C# Snippet:QueryMetrics -string resourceId = - "/subscriptions//resourceGroups//providers//"; -var client = new MetricsQueryClient(new DefaultAzureCredential()); - -Response results = await client.QueryResourceAsync( - resourceId, - new[] { "SuccessfulCalls", "TotalCalls" } -); - -foreach (MetricResult metric in results.Value.Metrics) -{ - Console.WriteLine(metric.Name); - foreach (MetricTimeSeriesElement element in metric.TimeSeries) - { - Console.WriteLine("Dimensions: " + string.Join(",", element.Metadata)); - - foreach (MetricValue value in element.Values) - { - Console.WriteLine(value); - } - } -} -``` - -#### Handle metrics query response - -The metrics query API returns a `MetricsQueryResult` object. The `MetricsQueryResult` object contains properties such as a list of `MetricResult`-typed objects, `Cost`, `Namespace`, `ResourceRegion`, `TimeSpan`, and `Interval`. The `MetricResult` objects list can be accessed using the `metrics` param. Each `MetricResult` object in this list contains a list of `MetricTimeSeriesElement` objects. Each `MetricTimeSeriesElement` object contains `Metadata` and `Values` properties. - -Here's a hierarchy of the response: - -``` -MetricsQueryResult -|---Cost -|---Granularity -|---Namespace -|---ResourceRegion -|---TimeSpan -|---Metrics (list of `MetricResult` objects) - |---Id - |---ResourceType - |---Name - |---Description - |---Error - |---Unit - |---TimeSeries (list of `MetricTimeSeriesElement` objects) - |---Metadata - |---Values -``` - -#### Query metrics with options - -A `MetricsQueryOptions` object may be used to support more granular metrics queries. Consider the following example, which queries an Azure Key Vault resource named *TestVault*. The resource's "Vault requests availability" metric is requested, as indicated by metric ID "Availability". Additionally, the "Avg" aggregation type is included. - -```C# Snippet:QueryMetricsWithAggregations -string resourceId = - "/subscriptions//resourceGroups//providers/Microsoft.KeyVault/vaults/TestVault"; -var client = new MetricsQueryClient(new DefaultAzureCredential()); - -Response result = await client.QueryResourceAsync( - resourceId, - new[] { "Availability" }, - new MetricsQueryOptions - { - Aggregations = - { - MetricAggregationType.Average, - } - }); - -MetricResult metric = result.Value.Metrics[0]; - -foreach (MetricTimeSeriesElement element in metric.TimeSeries) -{ - foreach (MetricValue value in element.Values) - { - // Prints a line that looks like the following: - // 6/21/2022 12:29:00 AM +00:00 : 100 - Console.WriteLine($"{value.TimeStamp} : {value.Average}"); - } -} -``` - -#### Register the client with dependency injection - -To register `LogsQueryClient` with the dependency injection (DI) container, invoke the `AddLogsQueryClient` method. To register `MetricsQueryClient` with the dependency injection (DI) container, invoke the `AddMetricsQueryClient` method. For more information, see [Register client](https://learn.microsoft.com/dotnet/azure/sdk/dependency-injection#register-client). - -## Troubleshooting - -To diagnose various failure scenarios, see the [troubleshooting guide](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Monitor.Query_1.2.0-beta.1/sdk/monitor/Azure.Monitor.Query/TROUBLESHOOTING.md). - -## Next steps - -To learn more about Azure Monitor, see the [Azure Monitor service documentation][azure_monitor_overview]. - -## Contributing - -This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit [cla.microsoft.com][cla]. - -When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately with labels and comments. Follow the instructions provided by the bot. You'll only need to sign the CLA once across all Microsoft repos. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For more information, see the [Code of Conduct FAQ][coc_faq] or contact [opencode@microsoft.com][coc_contact] with any questions or comments. - -[azure_monitor_create_using_portal]: https://learn.microsoft.com/azure/azure-monitor/logs/quick-create-workspace -[azure_monitor_overview]: https://learn.microsoft.com/azure/azure-monitor/overview -[azure_subscription]: https://azure.microsoft.com/free/dotnet/ -[changelog]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Monitor.Query_1.2.0-beta.1/sdk/monitor/Azure.Monitor.Query/CHANGELOG.md -[kusto_query_language]: https://learn.microsoft.com/azure/data-explorer/kusto/query/ -[migration_guide_app_insights]: https://aka.ms/azsdk/net/migrate/ai-monitor-query -[migration_guide_opp_insights]: https://aka.ms/azsdk/net/migrate/monitor-query -[msdocs_apiref]: https://learn.microsoft.com/dotnet/api/overview/azure/monitor.query-readme?view=azure-dotnet -[package]: https://www.nuget.org/packages/Azure.Monitor.Query -[source]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Monitor.Query_1.2.0-beta.1/sdk/monitor/Azure.Monitor.Query/src - -[cla]: https://cla.microsoft.com -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[coc_contact]: mailto:opencode@microsoft.com - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Fmonitor%2FAzure.Monitor.Query%2FREADME.png) - diff --git a/api/overview/azure/preview/mysql.md b/api/overview/azure/preview/mysql.md index caa4bcda993a..60ecaf936f5f 100644 --- a/api/overview/azure/preview/mysql.md +++ b/api/overview/azure/preview/mysql.md @@ -3,7 +3,7 @@ title: Azure MySQL SDK for .NET description: Reference for Azure MySQL SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: mysql diff --git a/api/overview/azure/preview/network-function.md b/api/overview/azure/preview/network-function.md index 9e57eb1aa7e1..3f03c2c5ae78 100644 --- a/api/overview/azure/preview/network-function.md +++ b/api/overview/azure/preview/network-function.md @@ -3,7 +3,7 @@ title: Azure Network Function SDK for .NET description: Reference for Azure Network Function SDK for .NET author: aznetsuppgithub ms.author: aznetsuppgithub -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: networkfunction diff --git a/api/overview/azure/preview/nginx.md b/api/overview/azure/preview/nginx.md index 7d789c7fbd1e..a6ae8a232da9 100644 --- a/api/overview/azure/preview/nginx.md +++ b/api/overview/azure/preview/nginx.md @@ -3,7 +3,7 @@ title: Azure Nginx SDK for .NET description: Reference for Azure Nginx SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: nginx diff --git a/api/overview/azure/preview/notification-hubs.md b/api/overview/azure/preview/notification-hubs.md index 2282054b4788..b670d82706b2 100644 --- a/api/overview/azure/preview/notification-hubs.md +++ b/api/overview/azure/preview/notification-hubs.md @@ -3,7 +3,7 @@ title: Azure Notification Hubs SDK for .NET description: Reference for Azure Notification Hubs SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: notificationhubs diff --git a/api/overview/azure/preview/orbital.md b/api/overview/azure/preview/orbital.md index 26cc9a6a0025..28b3e26a3d72 100644 --- a/api/overview/azure/preview/orbital.md +++ b/api/overview/azure/preview/orbital.md @@ -3,7 +3,7 @@ title: Azure Orbital SDK for .NET description: Reference for Azure Orbital SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: orbital diff --git a/api/overview/azure/preview/peering.md b/api/overview/azure/preview/peering.md index 63290150049f..3a74a8b09338 100644 --- a/api/overview/azure/preview/peering.md +++ b/api/overview/azure/preview/peering.md @@ -3,7 +3,7 @@ title: Azure Peering SDK for .NET description: Reference for Azure Peering SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: peering diff --git a/api/overview/azure/preview/policy-insights.md b/api/overview/azure/preview/policy-insights.md index 5d0a7250d8f6..d315421a4d52 100644 --- a/api/overview/azure/preview/policy-insights.md +++ b/api/overview/azure/preview/policy-insights.md @@ -3,7 +3,7 @@ title: Azure Policy Insights SDK for .NET description: Reference for Azure Policy Insights SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: policyinsights diff --git a/api/overview/azure/preview/postgresql.md b/api/overview/azure/preview/postgresql.md index e65e37ab3331..3160c6f90ebc 100644 --- a/api/overview/azure/preview/postgresql.md +++ b/api/overview/azure/preview/postgresql.md @@ -3,7 +3,7 @@ title: Azure PostgreSQL SDK for .NET description: Reference for Azure PostgreSQL SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: postgresql diff --git a/api/overview/azure/preview/power-bi-dedicated.md b/api/overview/azure/preview/power-bi-dedicated.md index 930ef8905554..d0ee0d74265a 100644 --- a/api/overview/azure/preview/power-bi-dedicated.md +++ b/api/overview/azure/preview/power-bi-dedicated.md @@ -3,7 +3,7 @@ title: Azure Power BI Dedicated SDK for .NET description: Reference for Azure Power BI Dedicated SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: powerbidedicated diff --git a/api/overview/azure/preview/private-dns.md b/api/overview/azure/preview/private-dns.md index fb5a89fe0efb..568759222658 100644 --- a/api/overview/azure/preview/private-dns.md +++ b/api/overview/azure/preview/private-dns.md @@ -3,7 +3,7 @@ title: Azure Private DNS SDK for .NET description: Reference for Azure Private DNS SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: privatedns diff --git a/api/overview/azure/preview/provider-hub.md b/api/overview/azure/preview/provider-hub.md index 04d362186582..4ced878ef298 100644 --- a/api/overview/azure/preview/provider-hub.md +++ b/api/overview/azure/preview/provider-hub.md @@ -3,7 +3,7 @@ title: Azure Provider Hub SDK for .NET description: Reference for Azure Provider Hub SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: providerhub diff --git a/api/overview/azure/preview/purview.md b/api/overview/azure/preview/purview.md index 24324c3dd273..fdd9b6e4b45f 100644 --- a/api/overview/azure/preview/purview.md +++ b/api/overview/azure/preview/purview.md @@ -3,7 +3,7 @@ title: Azure Purview SDK for .NET description: Reference for Azure Purview SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: purview diff --git a/api/overview/azure/preview/quantum.md b/api/overview/azure/preview/quantum.md index ce61a457f4af..8d118c0f77ed 100644 --- a/api/overview/azure/preview/quantum.md +++ b/api/overview/azure/preview/quantum.md @@ -3,7 +3,7 @@ title: Azure Quantum SDK for .NET description: Reference for Azure Quantum SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: quantum diff --git a/api/overview/azure/preview/qumulo.md b/api/overview/azure/preview/qumulo.md index 009b1c4a9198..e5fe236dcfec 100644 --- a/api/overview/azure/preview/qumulo.md +++ b/api/overview/azure/preview/qumulo.md @@ -3,7 +3,7 @@ title: Azure Qumulo SDK for .NET description: Reference for Azure Qumulo SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: qumulo diff --git a/api/overview/azure/preview/redis-index.md b/api/overview/azure/preview/redis-index.md index 536f783093fd..8ca244000900 100644 --- a/api/overview/azure/preview/redis-index.md +++ b/api/overview/azure/preview/redis-index.md @@ -1,5 +1,4 @@ | Reference | Package | Source | |---|---|---| -|[Resource Management - Redis](resourcemanager.redis-readme.md)|[Azure.ResourceManager.Redis](https://www.nuget.org/packages/Azure.ResourceManager.Redis)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/redis/Azure.ResourceManager.Redis)| |[Resource Management - Redis Enterprise](resourcemanager.redisenterprise-readme.md)|[Azure.ResourceManager.RedisEnterprise](https://www.nuget.org/packages/Azure.ResourceManager.RedisEnterprise)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/redisenterprise/Azure.ResourceManager.RedisEnterprise)| |[Resource Management - Redis Enterprise](resourcemanager.redisenterprisecache-readme.md)|[Azure.ResourceManager.RedisEnterpriseCache](https://www.nuget.org/packages/Azure.ResourceManager.RedisEnterpriseCache)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/redisenterprise/Azure.ResourceManager.RedisEnterpriseCache)| diff --git a/api/overview/azure/preview/redis.md b/api/overview/azure/preview/redis.md index 749a9ca3e708..bc248f4f3c57 100644 --- a/api/overview/azure/preview/redis.md +++ b/api/overview/azure/preview/redis.md @@ -3,7 +3,7 @@ title: Azure Redis SDK for .NET description: Reference for Azure Redis SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: redis diff --git a/api/overview/azure/preview/relay.md b/api/overview/azure/preview/relay.md index 1512af0db2bf..c56738eb4329 100644 --- a/api/overview/azure/preview/relay.md +++ b/api/overview/azure/preview/relay.md @@ -3,7 +3,7 @@ title: Azure Relay SDK for .NET description: Reference for Azure Relay SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: relay diff --git a/api/overview/azure/preview/reservations.md b/api/overview/azure/preview/reservations.md index d5233a8f0b00..868b317afe21 100644 --- a/api/overview/azure/preview/reservations.md +++ b/api/overview/azure/preview/reservations.md @@ -3,7 +3,7 @@ title: Azure Reservations SDK for .NET description: Reference for Azure Reservations SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: reservations diff --git a/api/overview/azure/preview/resource-graph.md b/api/overview/azure/preview/resource-graph.md index a2d11f10a614..8b41570b8cf1 100644 --- a/api/overview/azure/preview/resource-graph.md +++ b/api/overview/azure/preview/resource-graph.md @@ -3,7 +3,7 @@ title: Azure Resource Graph SDK for .NET description: Reference for Azure Resource Graph SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: resourcegraph diff --git a/api/overview/azure/preview/resource-health.md b/api/overview/azure/preview/resource-health.md index 06d5a2acc73f..b0eeb48ef13b 100644 --- a/api/overview/azure/preview/resource-health.md +++ b/api/overview/azure/preview/resource-health.md @@ -3,7 +3,7 @@ title: Azure Resource Health SDK for .NET description: Reference for Azure Resource Health SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: resourcehealth diff --git a/api/overview/azure/preview/resource-manager.md b/api/overview/azure/preview/resource-manager.md index b7121668c67f..b69bb5121c54 100644 --- a/api/overview/azure/preview/resource-manager.md +++ b/api/overview/azure/preview/resource-manager.md @@ -3,7 +3,7 @@ title: Azure Resource Manager SDK for .NET description: Reference for Azure Resource Manager SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: resourcemanager diff --git a/api/overview/azure/preview/resource-mover.md b/api/overview/azure/preview/resource-mover.md index e3036620cb96..fbfe73588b73 100644 --- a/api/overview/azure/preview/resource-mover.md +++ b/api/overview/azure/preview/resource-mover.md @@ -3,7 +3,7 @@ title: Azure Resource Mover SDK for .NET description: Reference for Azure Resource Mover SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: resourcemover diff --git a/api/overview/azure/preview/resourcemanager.appcontainers-readme.md b/api/overview/azure/preview/resourcemanager.appcontainers-readme.md deleted file mode 100644 index 3a4f9b266a82..000000000000 --- a/api/overview/azure/preview/resourcemanager.appcontainers-readme.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.AppContainers, containerapps -author: pallavit -ms.author: pallavit -ms.date: 08/08/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: containerapps ---- -# Microsoft Azure Azure Container Apps management client library for .NET - -Microsoft Azure Container Apps enables you to run microservices and containerized applications on a serverless platform. - -This library supports managing Microsoft Azure Container Apps resources. - -This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities: - - - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET. - - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. - - HTTP pipeline with custom policies. - - Better error-handling. - - Support uniform telemetry across all languages. - -## Getting started - -### Install the package - -Install the Azure Azure Container Apps management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.AppContainers -``` - -### Prerequisites - -* You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/). - -### Authenticate the Client - -To create an authenticated client and start interacting with Microsoft Azure resources, see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.AppContainers_1.1.0-beta.3/doc/dev/mgmt_quickstart.md). - -## Key concepts - -Key concepts of the Microsoft Azure SDK for .NET can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html). - -## Documentation - -Documentation is available to help you learn how to use this package: - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.AppContainers_1.1.0-beta.3/doc/dev/mgmt_quickstart.md). -- [API References](/dotnet/api/?view=azure-dotnet). -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.AppContainers_1.1.0-beta.3/sdk/identity/Azure.Identity/README.md). - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](https://aka.ms/azuresdk-net-mgmt-samples) - -## Troubleshooting - -- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues). -- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags. - -## Next steps - -For more information about Microsoft Azure SDK, see [this website](https://azure.github.io/azure-sdk/). - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(for example, label, comment). Follow the instructions provided by the -bot. You'll only need to do this action once across all repositories -using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information, see the [Code of Conduct FAQ][coc_faq] or contact - with any other questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.AppContainers_1.1.0-beta.3/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ - diff --git a/api/overview/azure/preview/resourcemanager.batch-readme.md b/api/overview/azure/preview/resourcemanager.batch-readme.md deleted file mode 100644 index 20e6b8acd24e..000000000000 --- a/api/overview/azure/preview/resourcemanager.batch-readme.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -title: -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.Batch, batch -author: jingjlii -ms.author: jingjlii -ms.date: 05/29/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: batch ---- -# Microsoft Azure Batch management client library for .NET - -Use Microsoft Azure Batch to run large-scale parallel and high-performance computing (HPC) batch jobs efficiently in Azure. Azure Batch creates and manages a pool of compute nodes (virtual machines), installs the applications you want to run, and schedules jobs to run on the nodes. - -This library supports managing Microsoft Azure Batch resources. - -This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities: - - - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET. - - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. - - HTTP pipeline with custom policies. - - Better error-handling. - - Support uniform telemetry across all languages. - -## Getting started - -### Install the package - -Install the Microsoft Azure Batch management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.Batch -``` - -### Prerequisites - -* You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/). - -### Authenticate the Client - -To create an authenticated client and start interacting with Microsoft Azure resources, see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Batch_1.2.0-beta.1/doc/dev/mgmt_quickstart.md). - -## Key concepts - -Key concepts of the Microsoft Azure SDK for .NET can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html). - -## Documentation - -Documentation is available to help you learn how to use this package: - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Batch_1.2.0-beta.1/doc/dev/mgmt_quickstart.md). -- [API References](/dotnet/api/?view=azure-dotnet). -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Batch_1.2.0-beta.1/sdk/identity/Azure.Identity/README.md). - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](https://aka.ms/azuresdk-net-mgmt-samples) - -## Troubleshooting - -- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues). -- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags. - -## Next steps - -For more information about Microsoft Azure SDK, see [this website](https://azure.github.io/azure-sdk/). - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(for example, label, comment). Follow the instructions provided by the -bot. You'll only need to do this action once across all repositories -using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information, see the [Code of Conduct FAQ][coc_faq] or contact - with any other questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Batch_1.2.0-beta.1/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ diff --git a/api/overview/azure/preview/resourcemanager.cognitiveservices-readme.md b/api/overview/azure/preview/resourcemanager.cognitiveservices-readme.md deleted file mode 100644 index e30b8e8accc0..000000000000 --- a/api/overview/azure/preview/resourcemanager.cognitiveservices-readme.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -title: -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.CognitiveServices, cognitiveservices -author: pallavit -ms.author: pallavit -ms.date: 05/29/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: cognitiveservices ---- -# Microsoft Azure Cognitive Services management client library for .NET - -Microsoft Azure Cognitive Services brings AI within reach of every developer and data scientist. With leading models, a variety of use cases can be unlocked. All it takes is an API call to embed the ability to see, hear, speak, search, understand, and accelerate advanced decision-making into your apps. Enable developers and data scientists of all skill levels to easily add AI capabilities to their apps. - -This library supports managing Microsoft Azure Cognitive Services resources. - -This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities: - - - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET. - - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. - - HTTP pipeline with custom policies. - - Better error-handling. - - Support uniform telemetry across all languages. - -## Getting started - -### Install the package - -Install the Microsoft Azure Cognitive Services management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.CognitiveServices -``` - -### Prerequisites - -* You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/). - -### Authenticate the Client - -To create an authenticated client and start interacting with Microsoft Azure resources, see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.CognitiveServices_1.3.0-beta.1/doc/dev/mgmt_quickstart.md). - -## Key concepts - -Key concepts of the Microsoft Azure SDK for .NET can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html). - -## Documentation - -Documentation is available to help you learn how to use this package: - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.CognitiveServices_1.3.0-beta.1/doc/dev/mgmt_quickstart.md). -- [API References](/dotnet/api/?view=azure-dotnet). -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.CognitiveServices_1.3.0-beta.1/sdk/identity/Azure.Identity/README.md). - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](https://aka.ms/azuresdk-net-mgmt-samples) - -## Troubleshooting - -- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues). -- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags. - -## Next steps - -For more information about Microsoft Azure SDK, see [this website](https://azure.github.io/azure-sdk/). - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(for example, label, comment). Follow the instructions provided by the -bot. You'll only need to do this action once across all repositories -using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information, see the [Code of Conduct FAQ][coc_faq] or contact - with any other questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.CognitiveServices_1.3.0-beta.1/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ diff --git a/api/overview/azure/preview/resourcemanager.compute-readme.md b/api/overview/azure/preview/resourcemanager.compute-readme.md deleted file mode 100644 index 8d240dfc8164..000000000000 --- a/api/overview/azure/preview/resourcemanager.compute-readme.md +++ /dev/null @@ -1,232 +0,0 @@ ---- -title: -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.Compute, compute -author: bilaakpan-ms -ms.author: saakpan -ms.date: 08/14/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: compute ---- -# Microsoft Azure Compute management client library for .NET - -Microsoft Azure Compute provides the infrastructure to host apps. Tap in to compute capacity in the cloud and scale on demand. Containerize your applications, deploy Windows and Linux virtual machines (VMs), and take advantage of flexible options for migrating VMs to Azure. With comprehensive support for hybrid environments, deploy how and where you want to. Azure compute also includes a full-fledged identity solution, so you gain managed end-point protection, and Active Directory support that helps secure access to on-premises and cloud apps. Deploy great apps and save with pay-as-you-go pricing, and the Azure Hybrid Benefit. - -This library supports managing Microsoft Azure Compute resources. - -This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities: - - - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET. - - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. - - HTTP pipeline with custom policies. - - Better error-handling. - - Support uniform telemetry across all languages. - -## Getting started - -### Install the package - -Install the Microsoft Azure Compute management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.Compute -``` - -### Prerequisites - -* You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/). - -### Authenticate the Client - -The default option to create an authenticated client is to use `DefaultAzureCredential`. Since all management APIs go through the same endpoint, in order to interact with resources, only one top-level `ArmClient` has to be created. - -To authenticate to Azure and create an `ArmClient`, do the following code: - -```C# Snippet:Readme_AuthClient_Namespaces -using Azure.Core; -using Azure.Identity; -using Azure.ResourceManager; -``` -```C# Snippet:Readme_AuthClient -ArmClient armClient = new ArmClient(new DefaultAzureCredential()); -``` - -More documentation for the `Azure.Identity.DefaultAzureCredential` class can be found in [this document](/dotnet/api/azure.identity.defaultazurecredential). - -## Key concepts - -Key concepts of the Azure .NET SDK can be found [here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Compute_1.2.0-beta.3/sdk/resourcemanager/Azure.ResourceManager/README.md#key-concepts) - -## Examples - -### Create an availability set - -Before creating an availability set, we need to have a resource group. - -```C# Snippet:Readme_GetResourceGroupCollection -ArmClient armClient = new ArmClient(new DefaultAzureCredential()); -SubscriptionResource subscription = await armClient.GetDefaultSubscriptionAsync(); -ResourceGroupCollection rgCollection = subscription.GetResourceGroups(); -// With the collection, we can create a new resource group with an specific name -string rgName = "myRgName"; -AzureLocation location = AzureLocation.WestUS2; -ArmOperation lro = await rgCollection.CreateOrUpdateAsync(WaitUntil.Completed, rgName, new ResourceGroupData(location)); -ResourceGroupResource resourceGroup = lro.Value; -``` - -```C# Snippet:Managing_Availability_Set_CreateAnAvailabilitySet -AvailabilitySetCollection availabilitySetCollection = resourceGroup.GetAvailabilitySets(); -string availabilitySetName = "myAvailabilitySet"; -AvailabilitySetData input = new AvailabilitySetData(location); -ArmOperation lro = await availabilitySetCollection.CreateOrUpdateAsync(WaitUntil.Completed, availabilitySetName, input); -AvailabilitySetResource availabilitySet = lro.Value; -``` - -### Get all availability set in a resource group - -```C# Snippet:Managing_Availability_Set_GetAllAvailabilitySets -// First, initialize the ArmClient and get the default subscription -ArmClient armClient = new ArmClient(new DefaultAzureCredential()); -// Now we get a ResourceGroupResource collection for that subscription -SubscriptionResource subscription = await armClient.GetDefaultSubscriptionAsync(); -ResourceGroupCollection rgCollection = subscription.GetResourceGroups(); - -string rgName = "myRgName"; -ResourceGroupResource resourceGroup = await rgCollection.GetAsync(rgName); -// First, we get the availability set collection from the resource group -AvailabilitySetCollection availabilitySetCollection = resourceGroup.GetAvailabilitySets(); -// With GetAllAsync(), we can get a list of the availability sets in the collection -AsyncPageable response = availabilitySetCollection.GetAllAsync(); -await foreach (AvailabilitySetResource availabilitySet in response) -{ - Console.WriteLine(availabilitySet.Data.Name); -} -``` - -### Update an availability set - -```C# Snippet:Managing_Availability_Set_UpdateAnAvailabilitySet -// First, initialize the ArmClient and get the default subscription -ArmClient armClient = new ArmClient(new DefaultAzureCredential()); -// Now we get a ResourceGroupResource collection for that subscription -SubscriptionResource subscription = await armClient.GetDefaultSubscriptionAsync(); -ResourceGroupCollection rgCollection = subscription.GetResourceGroups(); - -// With the collection, we can create a new resource group with an specific name -string rgName = "myRgName"; -ResourceGroupResource resourceGroup = await rgCollection.GetAsync(rgName); -AvailabilitySetCollection availabilitySetCollection = resourceGroup.GetAvailabilitySets(); -string availabilitySetName = "myAvailabilitySet"; -AvailabilitySetResource availabilitySet = await availabilitySetCollection.GetAsync(availabilitySetName); -// availabilitySet is an AvailabilitySetResource instance created above -AvailabilitySetPatch update = new AvailabilitySetPatch() -{ - PlatformFaultDomainCount = 3 -}; -AvailabilitySetResource updatedAvailabilitySet = await availabilitySet.UpdateAsync(update); -``` - -### Delete an availability set - -```C# Snippet:Managing_Availability_Set_DeleteAnAvailabilitySet -// First, initialize the ArmClient and get the default subscription -ArmClient armClient = new ArmClient(new DefaultAzureCredential()); -// Now we get a ResourceGroupResource collection for that subscription -SubscriptionResource subscription = await armClient.GetDefaultSubscriptionAsync(); -ResourceGroupCollection rgCollection = subscription.GetResourceGroups(); - -// With the collection, we can create a new resource group with an specific name -string rgName = "myRgName"; -ResourceGroupResource resourceGroup = await rgCollection.GetAsync(rgName); -AvailabilitySetCollection availabilitySetCollection = resourceGroup.GetAvailabilitySets(); -string availabilitySetName = "myAvailabilitySet"; -AvailabilitySetResource availabilitySet = await availabilitySetCollection.GetAsync(availabilitySetName); -// delete the availability set -await availabilitySet.DeleteAsync(WaitUntil.Completed); -``` - -### Check if availability set exists - -If you just want to verify if the availability set exists, you can use the function `CheckIfExists`. - -```C# Snippet:Managing_Availability_Set_CheckIfExistsForAvailabilitySet -ArmClient armClient = new ArmClient(new DefaultAzureCredential()); -SubscriptionResource subscription = await armClient.GetDefaultSubscriptionAsync(); -ResourceGroupCollection rgCollection = subscription.GetResourceGroups(); - -string rgName = "myRgName"; -ResourceGroupResource resourceGroup = await rgCollection.GetAsync(rgName); -string availabilitySetName = "myAvailabilitySet"; -bool exists = await resourceGroup.GetAvailabilitySets().ExistsAsync(availabilitySetName); - -if (exists) -{ - Console.WriteLine($"Availability Set {availabilitySetName} exists."); -} -else -{ - Console.WriteLine($"Availability Set {availabilitySetName} does not exist."); -} -``` - -### Add a tag to an availability set - -```C# Snippet:Managing_Availability_Set_AddTagAvailabilitySet -// First, initialize the ArmClient and get the default subscription -ArmClient armClient = new ArmClient(new DefaultAzureCredential()); -// Now we get a ResourceGroupResource collection for that subscription -SubscriptionResource subscription = await armClient.GetDefaultSubscriptionAsync(); -ResourceGroupCollection rgCollection = subscription.GetResourceGroups(); - -string rgName = "myRgName"; -ResourceGroupResource resourceGroup = await rgCollection.GetAsync(rgName); -AvailabilitySetCollection availabilitySetCollection = resourceGroup.GetAvailabilitySets(); -string availabilitySetName = "myAvailabilitySet"; -AvailabilitySetResource availabilitySet = await availabilitySetCollection.GetAsync(availabilitySetName); -// add a tag on this availabilitySet -AvailabilitySetResource updatedAvailabilitySet = await availabilitySet.AddTagAsync("key", "value"); -``` - -For more detailed examples, take a look at [samples](https://github.com/Azure/azure-sdk-for-net/tree/Azure.ResourceManager.Compute_1.2.0-beta.3/sdk/compute/Azure.ResourceManager.Compute/samples) we have available. - -## Troubleshooting - -- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues). -- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags. - -## Next steps - -### More sample code - -- [Managing Disks](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Compute_1.2.0-beta.3/sdk/compute/Azure.ResourceManager.Compute/samples/Sample1_ManagingDisks.md) -- [Managing Virtual Machines](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Compute_1.2.0-beta.3/sdk/compute/Azure.ResourceManager.Compute/samples/Sample2_ManagingVirtualMachines.md) - -### More Documentation - -For more information on Azure SDK, see [this website](https://azure.github.io/azure-sdk/). - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(for example, label, comment). Follow the instructions provided by the -bot. You'll only need to do this action once across all repositories -using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information, see the [Code of Conduct FAQ][coc_faq] or contact - with any other questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Compute_1.2.0-beta.3/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ - diff --git a/api/overview/azure/preview/resourcemanager.costmanagement-readme.md b/api/overview/azure/preview/resourcemanager.costmanagement-readme.md deleted file mode 100644 index c60ee2f32fca..000000000000 --- a/api/overview/azure/preview/resourcemanager.costmanagement-readme.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.CostManagement, costmanagement -author: pallavit -ms.author: pallavit -ms.date: 06/02/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: costmanagement ---- -# Microsoft Azure CostManagement management client library for .NET - -The Cost Management APIs provide the ability to explore cost and usage data via multidimensional analysis, where creating customized filters and expressions allow you to answer consumption-related questions for your Azure resources. These APIs are currently available for Azure Enterprise customers. - -This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities: - - - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET. - - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. - - HTTP pipeline with custom policies. - - Better error-handling. - - Support uniform telemetry across all languages. - -## Getting started - -### Install the package - -Install the Microsoft Azure CostManagement management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.CostManagement --prerelease -``` - -### Prerequisites - -* You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/). - -### Authenticate the Client - -To create an authenticated client and start interacting with Microsoft Azure resources, see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.CostManagement_1.0.0-beta.1/doc/dev/mgmt_quickstart.md). - -## Key concepts - -Key concepts of the Microsoft Azure SDK for .NET can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html) - -## Documentation - -Documentation is available to help you learn how to use this package: - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.CostManagement_1.0.0-beta.1/doc/dev/mgmt_quickstart.md). -- [API References](/dotnet/api/?view=azure-dotnet). -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.CostManagement_1.0.0-beta.1/sdk/identity/Azure.Identity/README.md). - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](https://aka.ms/azuresdk-net-mgmt-samples) - -## Troubleshooting - -- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues). -- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags. - -## Next steps - -For more information about Microsoft Azure SDK, see [this website](https://azure.github.io/azure-sdk/). - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(for example, label, comment). Follow the instructions provided by the -bot. You'll only need to do this action once across all repositories -using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information, see the [Code of Conduct FAQ][coc_faq] or contact - with any other questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.CostManagement_1.0.0-beta.1/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ diff --git a/api/overview/azure/preview/resourcemanager.databox-readme.md b/api/overview/azure/preview/resourcemanager.databox-readme.md deleted file mode 100644 index 60ed5cf42231..000000000000 --- a/api/overview/azure/preview/resourcemanager.databox-readme.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -title: Azure Data Box Management client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.DataBox, databox -author: pallavit -ms.author: pallavit -ms.date: 08/18/2022 -ms.topic: reference -ms.devlang: dotnet -ms.service: databox ---- -# Azure Data Box Management client library for .NET - version 1.0.0-beta.1 - - -This package follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html) which provide a number of core capabilities that are shared amongst all Azure SDKs, including the intuitive Azure Identity library, an HTTP Pipeline with custom policies, error-handling, distributed tracing, and much more. - -## Getting started - -### Install the package - -Install the Azure Data Box management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.DataBox --prerelease -``` - -### Prerequisites - -* You must have an [Azure subscription](https://azure.microsoft.com/free/dotnet/) - -### Authenticate the Client - -To create an authenticated client and start interacting with Azure resources, please see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.DataBox_1.0.0-beta.1/doc/dev/mgmt_quickstart.md) - -## Key concepts - -Key concepts of the Azure .NET SDK can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html) - -## Documentation - -Documentation is available to help you learn how to use this package - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.DataBox_1.0.0-beta.1/doc/dev/mgmt_quickstart.md) -- [API References](/dotnet/api/?view=azure-dotnet) -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.DataBox_1.0.0-beta.1/sdk/identity/Azure.Identity/README.md) - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](/samples/browse/?branch=master&languages=csharp&term=managing%20using%20Azure%20.NET%20SDK) - -## Troubleshooting - -- File an issue via [Github - Issues](https://github.com/Azure/azure-sdk-for-net/issues) -- Check [previous - questions](https://stackoverflow.com/questions/tagged/azure+.net) - or ask new ones on Stack Overflow using azure and .net tags. - - -## Next steps - -For more information on Azure SDK, please refer to [this website](https://azure.github.io/azure-sdk/) - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(e.g., label, comment). Simply follow the instructions provided by the -bot. You will only need to do this once across all repositories using -our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information see the [Code of Conduct FAQ][coc_faq] or contact - with any additional questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.DataBox_1.0.0-beta.1/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ diff --git a/api/overview/azure/preview/resourcemanager.dataprotectionbackup-readme.md b/api/overview/azure/preview/resourcemanager.dataprotectionbackup-readme.md deleted file mode 100644 index 46f4a9b57532..000000000000 --- a/api/overview/azure/preview/resourcemanager.dataprotectionbackup-readme.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -title: -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.DataProtectionBackup, dataprotection -author: pallavit -ms.author: pallavit -ms.date: 05/31/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: dataprotection ---- -# Microsoft Azure Data Protection Backup management client library for .NET - -Microsoft Azure Storage provides data protection, helps you to prepare for scenarios where you need to recover data that has been deleted or overwritten. - -This library supports managing Microsoft Azure Data Protection resources. - -This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities: - - - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET. - - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. - - HTTP pipeline with custom policies. - - Better error-handling. - - Support uniform telemetry across all languages. - -## Getting started - -### Install the package - -Install the Microsoft Azure Data Protection Backup management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.DataProtectionBackup -``` - -### Prerequisites - -* You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/). - -### Authenticate the Client - -To create an authenticated client and start interacting with Microsoft Azure resources, see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.DataProtectionBackup_1.2.0-beta.1/doc/dev/mgmt_quickstart.md). - -## Key concepts - -Key concepts of the Microsoft Azure SDK for .NET can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html). - -## Documentation - -Documentation is available to help you learn how to use this package: - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.DataProtectionBackup_1.2.0-beta.1/doc/dev/mgmt_quickstart.md). -- [API References](/dotnet/api/?view=azure-dotnet). -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.DataProtectionBackup_1.2.0-beta.1/sdk/identity/Azure.Identity/README.md). - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](https://aka.ms/azuresdk-net-mgmt-samples) - -## Troubleshooting - -- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues). -- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags. - -## Next steps - -For more information about Microsoft Azure SDK, see [this website](https://azure.github.io/azure-sdk/). - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(for example, label, comment). Follow the instructions provided by the -bot. You'll only need to do this action once across all repositories -using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information, see the [Code of Conduct FAQ][coc_faq] or contact - with any other questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.DataProtectionBackup_1.2.0-beta.1/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ diff --git a/api/overview/azure/preview/resourcemanager.desktopvirtualization-readme.md b/api/overview/azure/preview/resourcemanager.desktopvirtualization-readme.md deleted file mode 100644 index 1fcae2da806a..000000000000 --- a/api/overview/azure/preview/resourcemanager.desktopvirtualization-readme.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -title: Azure DesktopVirtualization Management client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.DesktopVirtualization, desktopvirtualization -author: pallavit -ms.author: pallavit -ms.date: 07/06/2022 -ms.topic: reference -ms.devlang: dotnet -ms.service: desktopvirtualization ---- -# Azure DesktopVirtualization Management client library for .NET - version 1.0.0-beta.1 - - -This package follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html) which provide a number of core capabilities that are shared amongst all Azure SDKs, including the intuitive Azure Identity library, an HTTP Pipeline with custom policies, error-handling, distributed tracing, and much more. - -## Getting started - -### Install the package - -Install the Azure DesktopVirtualization management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.DesktopVirtualization --prerelease -``` - -### Prerequisites - -* You must have an [Azure subscription](https://azure.microsoft.com/free/dotnet/) - -### Authenticate the Client - -To create an authenticated client and start interacting with Azure resources, please see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.DesktopVirtualization_1.0.0-beta.1/doc/mgmt_preview_quickstart.md) - -## Key concepts - -Key concepts of the Azure .NET SDK can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html) - -## Documentation - -Documentation is available to help you learn how to use this package - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.DesktopVirtualization_1.0.0-beta.1/doc/mgmt_preview_quickstart.md) -- [API References](/dotnet/api/?view=azure-dotnet) -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.DesktopVirtualization_1.0.0-beta.1/sdk/identity/Azure.Identity/README.md) - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](/samples/browse/?branch=master&languages=csharp&term=managing%20using%20Azure%20.NET%20SDK) - -## Troubleshooting - -- File an issue via [Github - Issues](https://github.com/Azure/azure-sdk-for-net/issues) -- Check [previous - questions](https://stackoverflow.com/questions/tagged/azure+.net) - or ask new ones on Stack Overflow using azure and .net tags. - - -## Next steps - -For more information on Azure SDK, please refer to [this website](https://azure.github.io/azure-sdk/) - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(e.g., label, comment). Simply follow the instructions provided by the -bot. You will only need to do this once across all repositories using -our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information see the [Code of Conduct FAQ][coc_faq] or contact - with any additional questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.DesktopVirtualization_1.0.0-beta.1/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ - diff --git a/api/overview/azure/preview/resourcemanager.devcenter-readme.md b/api/overview/azure/preview/resourcemanager.devcenter-readme.md deleted file mode 100644 index 30a54271a697..000000000000 --- a/api/overview/azure/preview/resourcemanager.devcenter-readme.md +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.DevCenter, devcenter -author: sebrenna -ms.author: sebrenna -ms.date: 02/17/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: devcenter ---- -# Microsoft Azure Dev Center management client library for .NET - -Microsoft A dev center is a collection of projects that require similar settings. Dev centers enable development infrastructure (dev infra) managers to: - -- Use catalogs to manage infrastructure as code (IaC) templates that are available to the projects. -- Use environment types to configure the types of environments that development teams can create. - -This library supports managing Microsoft Azure Dev Center resources. - -This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities: - - - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET. - - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. - - HTTP pipeline with custom policies. - - Better error-handling. - - Support uniform telemetry across all languages. - -## Getting started - -### Install the package - -Install the Microsoft Azure Dev Center management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.DevCenter --prerelease -``` - -### Prerequisites - -* You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/). - -### Authenticate the Client - -To create an authenticated client and start interacting with Microsoft Azure resources, see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.DevCenter_1.0.0-beta.2/doc/dev/mgmt_quickstart.md). - -## Key concepts - -Key concepts of the Microsoft Azure SDK for .NET can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html). - -## Documentation - -Documentation is available to help you learn how to use this package: - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.DevCenter_1.0.0-beta.2/doc/dev/mgmt_quickstart.md). -- [API References](/dotnet/api/?view=azure-dotnet). -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.DevCenter_1.0.0-beta.2/sdk/identity/Azure.Identity/README.md). - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](https://aka.ms/azuresdk-net-mgmt-samples) - -## Troubleshooting - -- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues). -- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags. - -## Next steps - -For more information about Microsoft Azure SDK, see [this website](https://azure.github.io/azure-sdk/). - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(for example, label, comment). Follow the instructions provided by the -bot. You'll only need to do this action once across all repositories -using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information, see the [Code of Conduct FAQ][coc_faq] or contact - with any other questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.DevCenter_1.0.0-beta.2/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ diff --git a/api/overview/azure/preview/resourcemanager.graphservices-readme.md b/api/overview/azure/preview/resourcemanager.graphservices-readme.md deleted file mode 100644 index 668660a6d323..000000000000 --- a/api/overview/azure/preview/resourcemanager.graphservices-readme.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -title: -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.GraphServices, graphservices -author: pallavit -ms.author: pallavit -ms.date: 04/07/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: graphservices ---- -# Microsoft Azure GraphServices management client library for .NET - -The Microsoft Graph Services API operations enable you to programmatically set up billing for metered APIs and services in Microsoft Graph. - -**More information** -- [Overview of Microsoft Graph](https://learn.microsoft.com/graph/overview) -- [Overview of metered APIs and services in Microsoft Graph](https://learn.microsoft.com/graph/metered-api-overview) -- [Enable metered APIs and services in Microsoft Graph](https://learn.microsoft.com/graph/metered-api-setup) - -This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities: - - - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET. - - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. - - HTTP pipeline with custom policies. - - Better error-handling. - - Support uniform telemetry across all languages. - -## Getting started - -### Install the package - -Install the Microsoft Azure GraphServices management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.GraphServices --prerelease -``` - -### Prerequisites - -* You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/). - -### Authenticate the Client - -To create an authenticated client and start interacting with Microsoft Azure resources, see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.GraphServices_1.0.0-beta.1/doc/dev/mgmt_quickstart.md). - -## Key concepts - -Key concepts of the Microsoft Azure SDK for .NET can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html) - -## Documentation - -Documentation is available to help you learn how to use this package: - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.GraphServices_1.0.0-beta.1/doc/dev/mgmt_quickstart.md). -- [API References](/dotnet/api/?view=azure-dotnet). -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.GraphServices_1.0.0-beta.1/sdk/identity/Azure.Identity/README.md). - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](https://aka.ms/azuresdk-net-mgmt-samples) - -## Troubleshooting - -- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues). -- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags. - -## Next steps - -For more information about Microsoft Azure SDK, see [this website](https://azure.github.io/azure-sdk/). - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(for example, label, comment). Follow the instructions provided by the -bot. You'll only need to do this action once across all repositories -using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information, see the [Code of Conduct FAQ][coc_faq] or contact - with any other questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.GraphServices_1.0.0-beta.1/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ - diff --git a/api/overview/azure/preview/resourcemanager.hci-readme.md b/api/overview/azure/preview/resourcemanager.hci-readme.md deleted file mode 100644 index 2a9eb3b2f183..000000000000 --- a/api/overview/azure/preview/resourcemanager.hci-readme.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -title: Azure Stack HCI Management client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.Hci, azurestackhci -author: sijuman -ms.author: sijuman -ms.date: 07/13/2022 -ms.topic: reference -ms.devlang: dotnet -ms.service: azurestackhci ---- -# Azure Stack HCI Management client library for .NET - version 1.0.0-beta.5 - - -This package follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html) which provide a number of core capabilities that are shared amongst all Azure SDKs, including the intuitive Azure Identity library, an HTTP Pipeline with custom policies, error-handling, distributed tracing, and much more. - -## Getting started - -### Install the package - -Install the Azure Stack HCI management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.Hci --prerelease -``` - -### Prerequisites - -* You must have an [Azure subscription](https://azure.microsoft.com/free/dotnet/) - -### Authenticate the Client - -To create an authenticated client and start interacting with Azure resources, please see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Hci_1.0.0-beta.5/doc/mgmt_preview_quickstart.md) - -## Key concepts - -Key concepts of the Azure .NET SDK can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html) - -## Documentation - -Documentation is available to help you learn how to use this package - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Hci_1.0.0-beta.5/doc/mgmt_preview_quickstart.md) -- [API References](/dotnet/api/?view=azure-dotnet) -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Hci_1.0.0-beta.5/sdk/identity/Azure.Identity/README.md) - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](/samples/browse/?branch=master&languages=csharp&term=managing%20using%20Azure%20.NET%20SDK) - -## Troubleshooting - -- File an issue via [Github - Issues](https://github.com/Azure/azure-sdk-for-net/issues) -- Check [previous - questions](https://stackoverflow.com/questions/tagged/azure+.net) - or ask new ones on Stack Overflow using azure and .net tags. - - -## Next steps - -For more information on Azure SDK, please refer to [this website](https://azure.github.io/azure-sdk/) - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(e.g., label, comment). Simply follow the instructions provided by the -bot. You will only need to do this once across all repositories using -our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information see the [Code of Conduct FAQ][coc_faq] or contact - with any additional questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Hci_1.0.0-beta.5/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ - diff --git a/api/overview/azure/preview/resourcemanager.iothub-readme.md b/api/overview/azure/preview/resourcemanager.iothub-readme.md deleted file mode 100644 index e703dc716178..000000000000 --- a/api/overview/azure/preview/resourcemanager.iothub-readme.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.IotHub, iothub -author: ethanann-ms -ms.author: ethanann -ms.date: 09/04/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: iothub ---- -# Microsoft Azure IoT Hub management client library for .NET - -Microsoft Azure IoT Hub is a managed service hosted in the cloud that acts as a central message hub for communication between an IoT application and its attached devices. - -This library supports managing Microsoft Azure IoT Hub resources. - -This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities: - - - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET. - - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. - - HTTP pipeline with custom policies. - - Better error-handling. - - Support uniform telemetry across all languages. - -## Getting started - -### Install the package - -Install the Microsoft Azure IoT Hub management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.IotHub -``` - -### Prerequisites - -* You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/). - -### Authenticate the Client - -To create an authenticated client and start interacting with Microsoft Azure resources, see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.IotHub_1.1.0-beta.2/doc/dev/mgmt_quickstart.md). - -## Key concepts - -Key concepts of the Microsoft Azure SDK for .NET can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html).. - -## Documentation - -Documentation is available to help you learn how to use this package: - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.IotHub_1.1.0-beta.2/doc/dev/mgmt_quickstart.md). -- [API References](/dotnet/api/?view=azure-dotnet). -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.IotHub_1.1.0-beta.2/sdk/identity/Azure.Identity/README.md). - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](https://aka.ms/azuresdk-net-mgmt-samples) - -## Troubleshooting - -- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues). -- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags. - -## Next steps - -For more information about Microsoft Azure SDK, see [this website](https://azure.github.io/azure-sdk/). - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(for example, label, comment). Follow the instructions provided by the -bot. You'll only need to do this action once across all repositories -using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information, see the [Code of Conduct FAQ][coc_faq] or contact - with any other questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.IotHub_1.1.0-beta.2/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ - diff --git a/api/overview/azure/preview/resourcemanager.kusto-readme.md b/api/overview/azure/preview/resourcemanager.kusto-readme.md deleted file mode 100644 index b8c073658002..000000000000 --- a/api/overview/azure/preview/resourcemanager.kusto-readme.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.Kusto, kusto -author: pallavit -ms.author: pallavit -ms.date: 05/31/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: kusto ---- -# Microsoft Azure Kusto management client library for .NET - -Microsoft Azure Data Explorer (Kusto) is a fully managed, high-performance, big data analytics platform that makes it easy to analyze high volumes of data in near real time. The Azure Data Explorer toolbox gives you an end-to-end solution for data ingestion, query, visualization, and management. - -This library supports managing Microsoft Azure Kusto resources. - -This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities: - - - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET. - - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. - - HTTP pipeline with custom policies. - - Better error-handling. - - Support uniform telemetry across all languages. - -## Getting started - -### Install the package - -Install the Microsoft Azure Kusto management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.Kusto -``` - -### Prerequisites - -* You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/). - -### Authenticate the Client - -To create an authenticated client and start interacting with Microsoft Azure resources, see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Kusto_1.4.0-beta.1/doc/dev/mgmt_quickstart.md). - -## Key concepts - -Key concepts of the Microsoft Azure SDK for .NET can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html).. - -## Documentation - -Documentation is available to help you learn how to use this package: - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Kusto_1.4.0-beta.1/doc/dev/mgmt_quickstart.md). -- [API References](/dotnet/api/?view=azure-dotnet). -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Kusto_1.4.0-beta.1/sdk/identity/Azure.Identity/README.md). - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](https://aka.ms/azuresdk-net-mgmt-samples) - -## Troubleshooting - -- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues). -- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags. - -## Next steps - -For more information about Microsoft Azure SDK, see [this website](https://azure.github.io/azure-sdk/). - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(for example, label, comment). Follow the instructions provided by the -bot. You'll only need to do this action once across all repositories -using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information, see the [Code of Conduct FAQ][coc_faq] or contact - with any other questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Kusto_1.4.0-beta.1/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ - diff --git a/api/overview/azure/preview/resourcemanager.managednetworkfabric-readme.md b/api/overview/azure/preview/resourcemanager.managednetworkfabric-readme.md deleted file mode 100644 index 7c3e5f2a7280..000000000000 --- a/api/overview/azure/preview/resourcemanager.managednetworkfabric-readme.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.ManagedNetworkFabric, managednetworkfabric -author: pallavit -ms.author: pallavit -ms.date: 06/28/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: managednetworkfabric ---- -# Microsoft Azure Azure.ResourceManager.ManagedNetworkFabric management client library for .NET - -Managed Network Fabric RP exposes APIs to enable bootstrapping and configuration of devices of Network Fabric in Telco premises. This enables programming the network devices for enabling management infrastructure and tenant workloads. - -This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities: - - - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET. - - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. - - HTTP pipeline with custom policies. - - Better error-handling. - - Support uniform telemetry across all languages. - -## Getting started - -### Install the package - -Install the Microsoft Azure Azure.ResourceManager.ManagedNetworkFabric management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.ManagedNetworkFabric --prerelease -``` - -### Prerequisites - -* You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/). - -### Authenticate the Client - -To create an authenticated client and start interacting with Microsoft Azure resources, see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.ManagedNetworkFabric_1.0.0-beta.1/doc/dev/mgmt_quickstart.md). - -## Key concepts - -Key concepts of the Microsoft Azure SDK for .NET can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html) - -## Documentation - -Documentation is available to help you learn how to use this package: - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.ManagedNetworkFabric_1.0.0-beta.1/doc/dev/mgmt_quickstart.md). -- [API References](/dotnet/api/?view=azure-dotnet). -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.ManagedNetworkFabric_1.0.0-beta.1/sdk/identity/Azure.Identity/README.md). - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](https://aka.ms/azuresdk-net-mgmt-samples) - -## Troubleshooting - -- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues). -- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags. - -## Next steps - -For more information about Microsoft Azure SDK, see [this website](https://azure.github.io/azure-sdk/). - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(for example, label, comment). Follow the instructions provided by the -bot. You'll only need to do this action once across all repositories -using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information, see the [Code of Conduct FAQ][coc_faq] or contact - with any other questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.ManagedNetworkFabric_1.0.0-beta.1/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ diff --git a/api/overview/azure/preview/resourcemanager.marketplace-readme.md b/api/overview/azure/preview/resourcemanager.marketplace-readme.md deleted file mode 100644 index 44864b905325..000000000000 --- a/api/overview/azure/preview/resourcemanager.marketplace-readme.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -title: -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.Marketplace, marketplace -author: pallavit -ms.author: pallavit -ms.date: 05/31/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: marketplace ---- -# Microsoft Azure Marketplace management client library for .NET - -Microsoft Azure Marketplace is an online store that contains thousands of IT software applications and services built by industry-leading technology companies. - -This library supports managing Microsoft Azure Marketplace resources. - -This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities: - - - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET. - - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. - - HTTP pipeline with custom policies. - - Better error-handling. - - Support uniform telemetry across all languages. - -## Getting started - -### Install the package - -Install the Microsoft Azure Marketplace management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.Marketplace -``` - -### Prerequisites - -* You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/). - -### Authenticate the Client - -To create an authenticated client and start interacting with Microsoft Azure resources, see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Marketplace_1.1.0-beta.1/doc/dev/mgmt_quickstart.md). - -## Key concepts - -Key concepts of the Microsoft Azure SDK for .NET can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html). - -## Documentation - -Documentation is available to help you learn how to use this package: - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Marketplace_1.1.0-beta.1/doc/dev/mgmt_quickstart.md). -- [API References](/dotnet/api/?view=azure-dotnet). -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Marketplace_1.1.0-beta.1/sdk/identity/Azure.Identity/README.md). - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](https://aka.ms/azuresdk-net-mgmt-samples) - -## Troubleshooting - -- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues). -- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags. - -## Next steps - -For more information about Microsoft Azure SDK, see [this website](https://azure.github.io/azure-sdk/). - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(for example, label, comment). Follow the instructions provided by the -bot. You'll only need to do this action once across all repositories -using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information, see the [Code of Conduct FAQ][coc_faq] or contact - with any other questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Marketplace_1.1.0-beta.1/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ diff --git a/api/overview/azure/preview/resourcemanager.mobilenetwork-readme.md b/api/overview/azure/preview/resourcemanager.mobilenetwork-readme.md deleted file mode 100644 index 476f033881fa..000000000000 --- a/api/overview/azure/preview/resourcemanager.mobilenetwork-readme.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -title: -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.MobileNetwork, mobilenetwork -author: pallavit -ms.author: pallavit -ms.date: 05/31/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: mobilenetwork ---- - -# Microsoft Azure MobileNetwork management client library for .NET - -[Azure Private 5G](https://learn.microsoft.com/azure/private-5g-core/private-5g-core-overview) is an Azure cloud service for deploying and managing 5G core network functions on an Azure Stack Edge device, as part of an on-premises private mobile network for enterprises. The 5G core network functions connect with standard 4G and 5G standalone radio access networks (RANs) to provide high performance, low latency, and secure connectivity for 5G Internet of Things (IoT) devices. Azure Private 5G Core gives enterprises full control and visibility of their private mobile networks. - -This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities: - - - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET. - - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. - - HTTP pipeline with custom policies. - - Better error-handling. - - Support uniform telemetry across all languages. - -## Getting started - -### Install the package - -Install the Microsoft Azure MobileNetwork management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.MobileNetwork --prerelease -``` - -### Prerequisites - -* You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/). - -### Authenticate the Client - -To create an authenticated client and start interacting with Microsoft Azure resources, see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.MobileNetwork_1.0.0-beta.2/doc/dev/mgmt_quickstart.md). - -## Key concepts - -Key concepts of the Microsoft Azure SDK for .NET can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html) - -## Documentation - -Documentation is available to help you learn how to use this package: - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.MobileNetwork_1.0.0-beta.2/doc/dev/mgmt_quickstart.md). -- [API References](/dotnet/api/?view=azure-dotnet). -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.MobileNetwork_1.0.0-beta.2/sdk/identity/Azure.Identity/README.md). - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](https://aka.ms/azuresdk-net-mgmt-samples) - -## Troubleshooting - -- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues). -- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags. - -## Next steps - -For more information about Microsoft Azure SDK, see [this website](https://azure.github.io/azure-sdk/). - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(for example, label, comment). Follow the instructions provided by the -bot. You'll only need to do this action once across all repositories -using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information, see the [Code of Conduct FAQ][coc_faq] or contact - with any other questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.MobileNetwork_1.0.0-beta.2/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ - diff --git a/api/overview/azure/preview/resourcemanager.netapp-readme.md b/api/overview/azure/preview/resourcemanager.netapp-readme.md deleted file mode 100644 index c40aaa22bca0..000000000000 --- a/api/overview/azure/preview/resourcemanager.netapp-readme.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -title: -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.NetApp, netapp -author: pallavit -ms.author: pallavit -ms.date: 05/31/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: netapp ---- -# Microsoft Azure NetApp management client library for .NET - -Microsoft Azure NetApp Files makes it easy for enterprise line-of-business (LOB) and storage professionals to migrate and run complex, file-based applications with no code change. Microsoft Azure NetApp Files is widely used as the underlying shared file-storage service in various scenarios. These include migration (lift and shift) of POSIX-compliant Linux and Windows applications, SAP HANA, databases, high-performance compute (HPC) infrastructure and apps, and enterprise web applications. - -This library supports managing Microsoft Azure NetApp resources. - -This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities: - - - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET. - - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. - - HTTP pipeline with custom policies. - - Better error-handling. - - Support uniform telemetry across all languages. - -## Getting started - -### Install the package - -Install the Microsoft Azure NetApp management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.NetApp -``` - -### Prerequisites - -* You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/). - -### Authenticate the Client - -To create an authenticated client and start interacting with Microsoft Azure resources, see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.NetApp_1.2.0-beta.1/doc/dev/mgmt_quickstart.md). - -## Key concepts - -Key concepts of the Microsoft Azure SDK for .NET can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html). - -## Documentation - -Documentation is available to help you learn how to use this package: - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.NetApp_1.2.0-beta.1/doc/dev/mgmt_quickstart.md). -- [API References](/dotnet/api/?view=azure-dotnet). -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.NetApp_1.2.0-beta.1/sdk/identity/Azure.Identity/README.md). - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](https://aka.ms/azuresdk-net-mgmt-samples) - -## Troubleshooting - -- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues). -- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags. - -## Next steps - -For more information about Microsoft Azure SDK, see [this website](https://azure.github.io/azure-sdk/). - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(for example, label, comment). Follow the instructions provided by the -bot. You'll only need to do this action once across all repositories -using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information, see the [Code of Conduct FAQ][coc_faq] or contact - with any other questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.NetApp_1.2.0-beta.1/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ diff --git a/api/overview/azure/preview/resourcemanager.network-readme.md b/api/overview/azure/preview/resourcemanager.network-readme.md deleted file mode 100644 index 8d6346bb8b74..000000000000 --- a/api/overview/azure/preview/resourcemanager.network-readme.md +++ /dev/null @@ -1,97 +0,0 @@ ---- -title: -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.Network, network -author: aznetsuppgithub -ms.author: aznetsuppgithub -ms.date: 08/14/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: network ---- -# Microsoft Azure Networking management client library for .NET - -The networking services in Microsoft Azure provide a variety of networking capabilities that can be used together or separately. Key capabilities are: - -- Connectivity services: Connect Azure resources and on-premises resources using any or a combination of these networking services in Azure - Virtual Network (VNet), Virtual WAN, ExpressRoute, VPN Gateway, Virtual network NAT Gateway, Azure DNS, Peering service, and Azure Bastion. -- Application protection services: Protect your applications using any or a combination of these networking services in Azure - Load Balancer, Private Link, DDoS protection, Firewall, - Network Security Groups, Web Application Firewall, and Virtual Network Endpoints. -- Application delivery services: Deliver applications in the Azure network using any or a combination of these networking services in Azure - Content Delivery Network (CDN), Azure Front Door Service, Traffic Manager, Application Gateway, Internet Analyzer, and Load Balancer. -- Network monitoring: Monitor your network resources using any or a combination of these networking services in Azure - Network Watcher, ExpressRoute Monitor, Azure Monitor, or VNet Terminal Access Point (TAP). - -This library supports managing Microsoft Azure Networking resources. - -This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities: - - - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET. - - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. - - HTTP pipeline with custom policies. - - Better error-handling. - - Support uniform telemetry across all languages. - -## Getting started - -### Install the package - -Install the Microsoft Azure Network management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.Network -``` - -### Prerequisites - -* You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/). - -### Authenticate the Client - -To create an authenticated client and start interacting with Microsoft Azure resources, see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Network_1.5.0-beta.1/doc/dev/mgmt_quickstart.md). - -## Key concepts - -Key concepts of the Microsoft Azure SDK for .NET can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html). - -## Documentation - -Documentation is available to help you learn how to use this package: - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Network_1.5.0-beta.1/doc/dev/mgmt_quickstart.md). -- [API References](/dotnet/api/?view=azure-dotnet). -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Network_1.5.0-beta.1/sdk/identity/Azure.Identity/README.md). - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](https://aka.ms/azuresdk-net-mgmt-samples) - -## Troubleshooting - -- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues). -- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags. - -## Next steps - -For more information about Microsoft Azure SDK, see [this website](https://azure.github.io/azure-sdk/). - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(for example, label, comment). Follow the instructions provided by the -bot. You'll only need to do this action once across all repositories -using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information, see the [Code of Conduct FAQ][coc_faq] or contact - with any other questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Network_1.5.0-beta.1/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ diff --git a/api/overview/azure/preview/resourcemanager.networkcloud-readme.md b/api/overview/azure/preview/resourcemanager.networkcloud-readme.md deleted file mode 100644 index d8b0b4dc186c..000000000000 --- a/api/overview/azure/preview/resourcemanager.networkcloud-readme.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.NetworkCloud, networkcloud -author: aznetsuppgithub -ms.author: aznetsuppgithub -ms.date: 06/30/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: networkcloud ---- -# Microsoft Azure NetworkCloud management client library for .NET - -Microsoft Azure NetworkCloud provides management of the Azure Operator Nexus - Network Cloud resources including Cluster Managers, Operator on-premises clusters and their components, such as, racks, bare metal hosts, virtual machines, workload networks and more. - -This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities: - - - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET. - - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. - - HTTP pipeline with custom policies. - - Better error-handling. - - Support uniform telemetry across all languages. - -## Getting started - -### Install the package - -Install the Microsoft Azure NetworkCloud management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.NetworkCloud --prerelease -``` - -### Prerequisites - -* You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/). - -### Authenticate the Client - -To create an authenticated client and start interacting with Microsoft Azure resources, see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.NetworkCloud_1.0.0-beta.2/doc/dev/mgmt_quickstart.md). - -## Key concepts - -Key concepts of the Microsoft Azure SDK for .NET can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html) - -## Documentation - -Documentation is available to help you learn how to use this package: - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.NetworkCloud_1.0.0-beta.2/doc/dev/mgmt_quickstart.md). -- [API References](/dotnet/api/?view=azure-dotnet). -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.NetworkCloud_1.0.0-beta.2/sdk/identity/Azure.Identity/README.md). - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](https://aka.ms/azuresdk-net-mgmt-samples) - -## Troubleshooting - -- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues). -- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags. - -## Next steps - -For more information about Microsoft Azure SDK, see [this website](https://azure.github.io/azure-sdk/). - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(for example, label, comment). Follow the instructions provided by the -bot. You'll only need to do this action once across all repositories -using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information, see the [Code of Conduct FAQ][coc_faq] or contact - with any other questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.NetworkCloud_1.0.0-beta.2/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ diff --git a/api/overview/azure/preview/resourcemanager.newrelicobservability-readme.md b/api/overview/azure/preview/resourcemanager.newrelicobservability-readme.md deleted file mode 100644 index 52fce142f559..000000000000 --- a/api/overview/azure/preview/resourcemanager.newrelicobservability-readme.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.NewRelicObservability, newrelicobservability -author: pallavit -ms.author: pallavit -ms.date: 05/31/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: newrelicobservability ---- -# Microsoft Azure Newrelic management client library for .NET - -**New Relic for Azure is the leading observability platform where Dev and Ops teams come together to solve problems with data.** - -This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities: - - - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET. - - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. - - HTTP pipeline with custom policies. - - Better error-handling. - - Support uniform telemetry across all languages. - -## Getting started - -### Install the package - -Install the Microsoft Azure Newrelic management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.NewRelicObservability --prerelease -``` - -### Prerequisites - -* You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/). - -### Authenticate the Client - -To create an authenticated client and start interacting with Microsoft Azure resources, see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.NewRelicObservability_1.0.0-beta.2/doc/dev/mgmt_quickstart.md). - -## Key concepts - -Key concepts of the Microsoft Azure SDK for .NET can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html) - -## Documentation - -Documentation is available to help you learn how to use this package: - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.NewRelicObservability_1.0.0-beta.2/doc/dev/mgmt_quickstart.md). -- [API References](/dotnet/api/?view=azure-dotnet). -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.NewRelicObservability_1.0.0-beta.2/sdk/identity/Azure.Identity/README.md). - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](https://aka.ms/azuresdk-net-mgmt-samples) - -## Troubleshooting - -- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues). -- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags. - -## Next steps - -For more information about Microsoft Azure SDK, see [this website](https://azure.github.io/azure-sdk/). - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(for example, label, comment). Follow the instructions provided by the -bot. You'll only need to do this action once across all repositories -using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information, see the [Code of Conduct FAQ][coc_faq] or contact - with any other questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.NewRelicObservability_1.0.0-beta.2/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ diff --git a/api/overview/azure/preview/resourcemanager.paloaltonetworks.ngfw-readme.md b/api/overview/azure/preview/resourcemanager.paloaltonetworks.ngfw-readme.md deleted file mode 100644 index 9833e2443789..000000000000 --- a/api/overview/azure/preview/resourcemanager.paloaltonetworks.ngfw-readme.md +++ /dev/null @@ -1,91 +0,0 @@ ---- -title: -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.PaloAltoNetworks.Ngfw, paloaltonetworks -author: pallavit -ms.author: pallavit -ms.date: 05/04/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: paloaltonetworks ---- -# Microsoft Azure PaloAltoNetworks.Ngfw management client library for .NET - -The Azure Native Paloaltonetworks' Next Generation Firewall enables customers to discover Palo Alto Networks' NGFirewall in the Azure portal and consume it in their virtual networks (a.k.a Azure VNets and Azure virtual Wan hubs). It enables secure application access, inspects all traffic, and helps enforce least-privileged access - all while detecting and preventing advanced threats. -This library supports managing Azure Paloaltonetworks CloudNGFW resources. -This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities: - - - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET. - - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. - - HTTP pipeline with custom policies. - - Better error-handling. - - Support uniform telemetry across all languages. - -## Getting started - -### Install the package - -Install the Microsoft Azure PaloAltoNetworks.Ngfw management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.PaloAltoNetworks.Ngfw --prerelease -``` - -### Prerequisites - -* You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/). - -### Authenticate the Client - -To create an authenticated client and start interacting with Microsoft Azure resources, see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.PaloAltoNetworks.Ngfw_1.0.0-beta.1/doc/dev/mgmt_quickstart.md). - -## Key concepts - -Key concepts of the Microsoft Azure SDK for .NET can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html) - -## Documentation - -Documentation is available to help you learn how to use this package: - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.PaloAltoNetworks.Ngfw_1.0.0-beta.1/doc/dev/mgmt_quickstart.md). -- [API References](/dotnet/api/?view=azure-dotnet). -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.PaloAltoNetworks.Ngfw_1.0.0-beta.1/sdk/identity/Azure.Identity/README.md). - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](https://aka.ms/azuresdk-net-mgmt-samples) - -## Troubleshooting - -- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues). -- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags. - -## Next steps - -For more information about Microsoft Azure SDK, see [this website](https://azure.github.io/azure-sdk/). - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(for example, label, comment). Follow the instructions provided by the -bot. You'll only need to do this action once across all repositories -using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information, see the [Code of Conduct FAQ][coc_faq] or contact - with any other questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.PaloAltoNetworks.Ngfw_1.0.0-beta.1/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ - diff --git a/api/overview/azure/preview/resourcemanager.quota-readme.md b/api/overview/azure/preview/resourcemanager.quota-readme.md deleted file mode 100644 index d7c0dcd3cbc0..000000000000 --- a/api/overview/azure/preview/resourcemanager.quota-readme.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.Quota, quota -author: pallavit -ms.author: pallavit -ms.date: 06/01/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: quota ---- -# Microsoft Azure Quota management client library for .NET - -This library supports managing Microsoft Azure Quota resources. - -This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities: - - - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET. - - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. - - HTTP pipeline with custom policies. - - Better error-handling. - - Support uniform telemetry across all languages. - -## Getting started - -### Install the package - -Install the Microsoft Azure Quota management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.Quota --prerelease -``` - -### Prerequisites - -* You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/). - -### Authenticate the Client - -To create an authenticated client and start interacting with Microsoft Azure resources, see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Quota_1.0.0-beta.3/doc/dev/mgmt_quickstart.md). - -## Key concepts - -Key concepts of the Microsoft Azure SDK for .NET can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html). - -## Documentation - -Documentation is available to help you learn how to use this package: - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Quota_1.0.0-beta.3/doc/dev/mgmt_quickstart.md). -- [API References](/dotnet/api/?view=azure-dotnet). -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Quota_1.0.0-beta.3/sdk/identity/Azure.Identity/README.md). - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](https://aka.ms/azuresdk-net-mgmt-samples) - -## Troubleshooting - -- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues). -- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags. - -## Next steps - -For more information about Microsoft Azure SDK, see [this website](https://azure.github.io/azure-sdk/). - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(for example, label, comment). Follow the instructions provided by the -bot. You'll only need to do this action once across all repositories -using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information, see the [Code of Conduct FAQ][coc_faq] or contact - with any other questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Quota_1.0.0-beta.3/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ diff --git a/api/overview/azure/preview/resourcemanager.recoveryservices-readme.md b/api/overview/azure/preview/resourcemanager.recoveryservices-readme.md deleted file mode 100644 index eafe92996fb0..000000000000 --- a/api/overview/azure/preview/resourcemanager.recoveryservices-readme.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.RecoveryServices, recoveryservices -author: pallavit -ms.author: pallavit -ms.date: 06/01/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: recoveryservices ---- -# Microsoft Azure Recovery Services management client library for .NET - -This library supports managing Microsoft Azure Recovery Services. - -This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities: - - - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET. - - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. - - HTTP pipeline with custom policies. - - Better error-handling. - - Support uniform telemetry across all languages. - -## Getting started - -### Install the package - -Install the Microsoft Azure Recovery Services management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.RecoveryServices -``` - -### Prerequisites - -* You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/). - -### Authenticate the Client - -To create an authenticated client and start interacting with Microsoft Azure resources, see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.RecoveryServices_1.1.0-beta.1/doc/dev/mgmt_quickstart.md). - -## Key concepts - -Key concepts of the Microsoft Azure SDK for .NET can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html). - -## Documentation - -Documentation is available to help you learn how to use this package: - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.RecoveryServices_1.1.0-beta.1/doc/dev/mgmt_quickstart.md). -- [API References](/dotnet/api/?view=azure-dotnet). -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.RecoveryServices_1.1.0-beta.1/sdk/identity/Azure.Identity/README.md). - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](https://aka.ms/azuresdk-net-mgmt-samples) - -## Troubleshooting - -- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues). -- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags. - -## Next steps - -For more information about Microsoft Azure SDK, see [this website](https://azure.github.io/azure-sdk/). - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(for example, label, comment). Follow the instructions provided by the -bot. You'll only need to do this action once across all repositories -using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information, see the [Code of Conduct FAQ][coc_faq] or contact - with any other questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.RecoveryServices_1.1.0-beta.1/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ diff --git a/api/overview/azure/preview/resourcemanager.recoveryservicesbackup-readme.md b/api/overview/azure/preview/resourcemanager.recoveryservicesbackup-readme.md deleted file mode 100644 index b31d6c769854..000000000000 --- a/api/overview/azure/preview/resourcemanager.recoveryservicesbackup-readme.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.RecoveryServicesBackup, recoveryservices-backup -author: pallavit -ms.author: pallavit -ms.date: 06/01/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: recoveryservices-backup ---- -# Microsoft Azure Recovery Services Backup management client library for .NET - -This library supports managing Microsoft Azure Recovery Services Backup resources. - -This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities: - - - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET. - - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. - - HTTP pipeline with custom policies. - - Better error-handling. - - Support uniform telemetry across all languages. - -## Getting started - -### Install the package - -Install the Microsoft Azure Recovery Services Backup management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.RecoveryServicesBackup -``` - -### Prerequisites - -* You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/). - -### Authenticate the Client - -To create an authenticated client and start interacting with Microsoft Azure resources, see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.RecoveryServicesBackup_1.1.0-beta.1/doc/dev/mgmt_quickstart.md). - -## Key concepts - -Key concepts of the Microsoft Azure SDK for .NET can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html). - -## Documentation - -Documentation is available to help you learn how to use this package: - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.RecoveryServicesBackup_1.1.0-beta.1/doc/dev/mgmt_quickstart.md). -- [API References](/dotnet/api/?view=azure-dotnet). -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.RecoveryServicesBackup_1.1.0-beta.1/sdk/identity/Azure.Identity/README.md). - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](https://aka.ms/azuresdk-net-mgmt-samples) - -## Troubleshooting - -- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues). -- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags. - -## Next steps - -For more information about Microsoft Azure SDK, see [this website](https://azure.github.io/azure-sdk/). - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(for example, label, comment). Follow the instructions provided by the -bot. You'll only need to do this action once across all repositories -using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information, see the [Code of Conduct FAQ][coc_faq] or contact - with any other questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.RecoveryServicesBackup_1.1.0-beta.1/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ diff --git a/api/overview/azure/preview/resourcemanager.recoveryservicessiterecovery-readme.md b/api/overview/azure/preview/resourcemanager.recoveryservicessiterecovery-readme.md deleted file mode 100644 index d8b5be6144eb..000000000000 --- a/api/overview/azure/preview/resourcemanager.recoveryservicessiterecovery-readme.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.RecoveryServicesSiteRecovery, recoveryservices-siterecovery -author: pallavit -ms.author: pallavit -ms.date: 06/01/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: recoveryservices-siterecovery ---- -# Microsoft Azure Recovery Services Site Recovery management client library for .NET - -This library supports managing Microsoft Azure Recovery Services Site Recovery resources. - -This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities: - - - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET. - - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. - - HTTP pipeline with custom policies. - - Better error-handling. - - Support uniform telemetry across all languages. - -## Getting started - -### Install the package - -Install the Microsoft Azure Recovery Services Site Recovery management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.RecoveryServicesSiteRecovery --prerelease -``` - -### Prerequisites - -* You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/). - -### Authenticate the Client - -To create an authenticated client and start interacting with Microsoft Azure resources, see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.RecoveryServicesSiteRecovery_1.0.0-beta.3/doc/dev/mgmt_quickstart.md). - -## Key concepts - -Key concepts of the Microsoft Azure SDK for .NET can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html). - -## Documentation - -Documentation is available to help you learn how to use this package: - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.RecoveryServicesSiteRecovery_1.0.0-beta.3/doc/dev/mgmt_quickstart.md). -- [API References](/dotnet/api/?view=azure-dotnet). -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.RecoveryServicesSiteRecovery_1.0.0-beta.3/sdk/identity/Azure.Identity/README.md). - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](https://aka.ms/azuresdk-net-mgmt-samples) - -## Troubleshooting - -- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues). -- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags. - -## Next steps - -For more information about Microsoft Azure SDK, see [this website](https://azure.github.io/azure-sdk/). - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(for example, label, comment). Follow the instructions provided by the -bot. You'll only need to do this action once across all repositories -using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information, see the [Code of Conduct FAQ][coc_faq] or contact - with any other questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.RecoveryServicesSiteRecovery_1.0.0-beta.3/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ diff --git a/api/overview/azure/preview/resourcemanager.redis-readme.md b/api/overview/azure/preview/resourcemanager.redis-readme.md deleted file mode 100644 index 942718fdb2bb..000000000000 --- a/api/overview/azure/preview/resourcemanager.redis-readme.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -title: -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.Redis, redis -author: pallavit -ms.author: pallavit -ms.date: 06/01/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: redis ---- -# Microsoft Azure Redis management client library for .NET - -Microsoft Azure Cache for Redis provides an in-memory data store based on the [Redis](https://redis.io/) software. Redis improves the performance and scalability of an application that uses backend data stores heavily. It's able to process large volumes of application requests by keeping frequently accessed data in the server memory, which can be written to and read from quickly. Redis brings a critical low-latency and high-throughput data storage solution to modern applications. - -This library supports managing Microsoft Azure Redis resources. - -This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities: - - - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET. - - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. - - HTTP pipeline with custom policies. - - Better error-handling. - - Support uniform telemetry across all languages. - -## Getting started - -### Install the package - -Install the Microsoft Azure Redis management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.Redis -``` - -### Prerequisites - -* You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/). - -### Authenticate the Client - -To create an authenticated client and start interacting with Microsoft Azure resources, see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Redis_1.2.0-beta.1/doc/dev/mgmt_quickstart.md). - -## Key concepts - -Key concepts of the Microsoft Azure SDK for .NET can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html). - -## Documentation - -Documentation is available to help you learn how to use this package: - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Redis_1.2.0-beta.1/doc/dev/mgmt_quickstart.md). -- [API References](/dotnet/api/?view=azure-dotnet). -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Redis_1.2.0-beta.1/sdk/identity/Azure.Identity/README.md). - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](https://aka.ms/azuresdk-net-mgmt-samples) - -## Troubleshooting - -- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues). -- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags. - -## Next steps - -For more information about Microsoft Azure SDK, see [this website](https://azure.github.io/azure-sdk/). - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(for example, label, comment). Follow the instructions provided by the -bot. You'll only need to do this action once across all repositories -using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information, see the [Code of Conduct FAQ][coc_faq] or contact - with any other questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.Redis_1.2.0-beta.1/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ diff --git a/api/overview/azure/preview/resourcemanager.selfhelp-readme.md b/api/overview/azure/preview/resourcemanager.selfhelp-readme.md deleted file mode 100644 index 18288915eb0e..000000000000 --- a/api/overview/azure/preview/resourcemanager.selfhelp-readme.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.SelfHelp, selfhelp -author: pallavit -ms.author: pallavit -ms.date: 05/04/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: selfhelp ---- -# Microsoft Azure SelfHelp management client library for .NET - -**[Describe the service briefly first.]** - -This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities: - - - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET. - - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. - - HTTP pipeline with custom policies. - - Better error-handling. - - Support uniform telemetry across all languages. - -## Getting started - -### Install the package - -Install the Microsoft Azure SelfHelp management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.SelfHelp --prerelease -``` - -### Prerequisites - -* You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/). - -### Authenticate the Client - -To create an authenticated client and start interacting with Microsoft Azure resources, see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.SelfHelp_1.0.0-beta.1/doc/dev/mgmt_quickstart.md). - -## Key concepts - -Key concepts of the Microsoft Azure SDK for .NET can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html) - -## Documentation - -Documentation is available to help you learn how to use this package: - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.SelfHelp_1.0.0-beta.1/doc/dev/mgmt_quickstart.md). -- [API References](/dotnet/api/?view=azure-dotnet). -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.SelfHelp_1.0.0-beta.1/sdk/identity/Azure.Identity/README.md). - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](https://aka.ms/azuresdk-net-mgmt-samples) - -## Troubleshooting - -- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues). -- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags. - -## Next steps - -For more information about Microsoft Azure SDK, see [this website](https://azure.github.io/azure-sdk/). - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(for example, label, comment). Follow the instructions provided by the -bot. You'll only need to do this action once across all repositories -using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information, see the [Code of Conduct FAQ][coc_faq] or contact - with any other questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.SelfHelp_1.0.0-beta.1/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ diff --git a/api/overview/azure/preview/resourcemanager.trafficmanager-readme.md b/api/overview/azure/preview/resourcemanager.trafficmanager-readme.md deleted file mode 100644 index 3bbcfc5afdbb..000000000000 --- a/api/overview/azure/preview/resourcemanager.trafficmanager-readme.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -title: -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.TrafficManager, trafficmanager -author: pallavit -ms.author: pallavit -ms.date: 06/01/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: trafficmanager ---- -# Microsoft Azure Traffic Manager management client library for .NET - -Microsoft Azure Traffic Manager is a DNS-based traffic load balancer. This service allows you to distribute traffic to your public facing applications across the global Azure regions. Traffic Manager also provides your public endpoints with high availability and quick responsiveness. - -This library supports managing Microsoft Azure Traffic Manager resources. - -This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities: - - - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET. - - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. - - HTTP pipeline with custom policies. - - Better error-handling. - - Support uniform telemetry across all languages. - -## Getting started - -### Install the package - -Install the Microsoft Azure Traffic Manager management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.TrafficManager -``` - -### Prerequisites - -* You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/). - -### Authenticate the Client - -To create an authenticated client and start interacting with Microsoft Azure resources, see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.TrafficManager_1.1.0-beta.3/doc/dev/mgmt_quickstart.md). - -## Key concepts - -Key concepts of the Microsoft Azure SDK for .NET can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html). - -## Documentation - -Documentation is available to help you learn how to use this package: - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.TrafficManager_1.1.0-beta.3/doc/dev/mgmt_quickstart.md). -- [API References](/dotnet/api/?view=azure-dotnet). -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.TrafficManager_1.1.0-beta.3/sdk/identity/Azure.Identity/README.md). - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](https://aka.ms/azuresdk-net-mgmt-samples) - -## Troubleshooting - -- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues). -- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags. - -## Next steps - -For more information about Microsoft Azure SDK, see [this website](https://azure.github.io/azure-sdk/). - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(for example, label, comment). Follow the instructions provided by the -bot. You'll only need to do this action once across all repositories -using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information, see the [Code of Conduct FAQ][coc_faq] or contact - with any other questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.TrafficManager_1.1.0-beta.3/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ diff --git a/api/overview/azure/preview/resourcemanager.voiceservices-readme.md b/api/overview/azure/preview/resourcemanager.voiceservices-readme.md deleted file mode 100644 index 14b90b2edf23..000000000000 --- a/api/overview/azure/preview/resourcemanager.voiceservices-readme.md +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: -keywords: Azure, dotnet, SDK, API, Azure.ResourceManager.VoiceServices, voiceservices -author: pallavit -ms.author: pallavit -ms.date: 02/21/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: voiceservices ---- -# Microsoft Azure VoiceServices management client library for .NET - -The VoiceServices management client library supports managing Azure Communications Gateway resources. - -Azure Communications Gateway is a managed, cloud-based voice gateway that simplifies connecting -operator fixed and mobile voice networks to Teams Phone. It combines a Teams-certified and -mobile-standards-compliant Session Border Controller (SBC) with API mediation function—removing the -need for disruptive voice network changes and substantial IT system integration projects. - -This library follows the [new Azure SDK guidelines](https://azure.github.io/azure-sdk/general_introduction.html), and provides many core capabilities: - - - Support MSAL.NET, Azure.Identity is out of box for supporting MSAL.NET. - - Support [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. - - HTTP pipeline with custom policies. - - Better error-handling. - - Support uniform telemetry across all languages. - -## Getting started - -### Install the package - -Install the Microsoft Azure VoiceServices management library for .NET with [NuGet](https://www.nuget.org/): - -```dotnetcli -dotnet add package Azure.ResourceManager.VoiceServices --prerelease -``` - -### Prerequisites - -* You must have an [Microsoft Azure subscription](https://azure.microsoft.com/free/dotnet/). - -### Authenticate the Client - -To create an authenticated client and start interacting with Microsoft Azure resources, see the [quickstart guide here](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.VoiceServices_1.0.0-beta.1/doc/dev/mgmt_quickstart.md). - -## Key concepts - -Key concepts of the Microsoft Azure SDK for .NET can be found [here](https://azure.github.io/azure-sdk/dotnet_introduction.html) - -## Documentation - -Documentation is available to help you learn how to use this package: - -- [Quickstart](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.VoiceServices_1.0.0-beta.1/doc/dev/mgmt_quickstart.md). -- [API References](/dotnet/api/?view=azure-dotnet). -- [Authentication](https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.VoiceServices_1.0.0-beta.1/sdk/identity/Azure.Identity/README.md). - -## Examples - -Code samples for using the management library for .NET can be found in the following locations -- [.NET Management Library Code Samples](https://aka.ms/azuresdk-net-mgmt-samples) - -## Troubleshooting - -- File an issue via [GitHub Issues](https://github.com/Azure/azure-sdk-for-net/issues). -- Check [previous questions](https://stackoverflow.com/questions/tagged/azure+.net) or ask new ones on Stack Overflow using Azure and .NET tags. - -## Next steps - -For more information about Microsoft Azure SDK, see [this website](https://azure.github.io/azure-sdk/). - -## Contributing - -For details on contributing to this repository, see the [contributing -guide][cg]. - -This project welcomes contributions and suggestions. Most contributions -require you to agree to a Contributor License Agreement (CLA) declaring -that you have the right to, and actually do, grant us the rights to use -your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine -whether you need to provide a CLA and decorate the PR appropriately -(for example, label, comment). Follow the instructions provided by the -bot. You'll only need to do this action once across all repositories -using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. For -more information, see the [Code of Conduct FAQ][coc_faq] or contact - with any other questions or comments. - - -[cg]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.ResourceManager.VoiceServices_1.0.0-beta.1/sdk/resourcemanager/Azure.ResourceManager/docs/CONTRIBUTING.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ diff --git a/api/overview/azure/preview/schema-registry-index.md b/api/overview/azure/preview/schema-registry-index.md index c4721223dfa0..a88b01ef260f 100644 --- a/api/overview/azure/preview/schema-registry-index.md +++ b/api/overview/azure/preview/schema-registry-index.md @@ -1,4 +1,3 @@ | Reference | Package | Source | |---|---|---| |[Schema Registry](data.schemaregistry-readme.md)|[Azure.Data.SchemaRegistry](https://www.nuget.org/packages/Azure.Data.SchemaRegistry)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/schemaregistry/Azure.Data.SchemaRegistry)| -|[Schema Registry - Avro](microsoft.data.schemaregistry.apacheavro-readme.md)|[Microsoft.Azure.Data.SchemaRegistry.ApacheAvro](https://www.nuget.org/packages/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/schemaregistry/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro)| diff --git a/api/overview/azure/preview/schema-registry.md b/api/overview/azure/preview/schema-registry.md index 3eee68bd8f13..bac6de58a315 100644 --- a/api/overview/azure/preview/schema-registry.md +++ b/api/overview/azure/preview/schema-registry.md @@ -3,7 +3,7 @@ title: Azure Schema Registry SDK for .NET description: Reference for Azure Schema Registry SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: schemaregistry diff --git a/api/overview/azure/preview/search.md b/api/overview/azure/preview/search.md index d155432404c0..a773724d2fc9 100644 --- a/api/overview/azure/preview/search.md +++ b/api/overview/azure/preview/search.md @@ -3,7 +3,7 @@ title: Azure Search SDK for .NET description: Reference for Azure Search SDK for .NET author: ShivangiReja ms.author: shreja -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: cognitive-search diff --git a/api/overview/azure/preview/security-devops.md b/api/overview/azure/preview/security-devops.md index c2d5c4ddfa0f..128f54018e71 100644 --- a/api/overview/azure/preview/security-devops.md +++ b/api/overview/azure/preview/security-devops.md @@ -3,7 +3,7 @@ title: Azure Security DevOps SDK for .NET description: Reference for Azure Security DevOps SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: securitydevops diff --git a/api/overview/azure/preview/security-insights.md b/api/overview/azure/preview/security-insights.md index e3f4e8261fcc..fb873a63bb35 100644 --- a/api/overview/azure/preview/security-insights.md +++ b/api/overview/azure/preview/security-insights.md @@ -3,7 +3,7 @@ title: Azure Security Insights SDK for .NET description: Reference for Azure Security Insights SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: securityinsights diff --git a/api/overview/azure/preview/security.confidentialledger-readme.md b/api/overview/azure/preview/security.confidentialledger-readme.md deleted file mode 100644 index f187c67a3875..000000000000 --- a/api/overview/azure/preview/security.confidentialledger-readme.md +++ /dev/null @@ -1,418 +0,0 @@ ---- -title: Azure confidential ledger client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.Security.ConfidentialLedger, confidentialledger -author: christothes -ms.author: chriss -ms.date: 08/10/2022 -ms.topic: reference -ms.devlang: dotnet -ms.service: confidentialledger ---- -# Azure confidential ledger client library for .NET - version 1.1.0-beta.1 - - -Azure confidential ledger provides a service for logging to an immutable, tamper-proof ledger. As part of the [Azure Confidential Computing][azure_confidential_computing] -portfolio, Azure confidential ledger runs in SGX enclaves. It is built on Microsoft Research's [Confidential Consortium Framework][ccf]. - - [Source code][client_src] | [Package (NuGet)][client_nuget_package] - -## Getting started - -This section should include everything a developer needs to do to install and create their first client connection *very quickly*. - -### Install the package - -Install the Azure confidential ledger client library for .NET with [NuGet][client_nuget_package]: - -```dotnetcli -dotnet add package Azure.Security.ConfidentialLedger -``` - -### Prerequisites - -* An [Azure subscription][azure_sub]. -* A running instance of Azure confidential ledger. -* A registered user in the Azure confidential ledger with `Administrator` privileges. - -### Authenticate the client - -#### Using Azure Active Directory - -This document demonstrates using [DefaultAzureCredential][default_cred_ref] to authenticate to the confidential ledger via Azure Active Directory. However, any of the credentials offered by the [Azure.Identity][azure_identity] will be accepted. See the [Azure.Identity][azure_identity] documentation for more information about other credentials. - -#### Using a client certificate - -As an alternative to Azure Active Directory, clients may choose to use a client certificate to authenticate via mutual TLS. - -### Create a client - -`DefaultAzureCredential` will automatically handle most Azure SDK client scenarios. To get started, set environment variables for the AAD identity registered with your confidential ledger. -```bash -export AZURE_CLIENT_ID="generated app id" -export AZURE_CLIENT_SECRET="random password" -export AZURE_TENANT_ID="tenant id" -``` -Then, `DefaultAzureCredential` will be able to authenticate the `ConfidentialLedgerClient`. - -Constructing the client also requires your confidential ledger's URI, which you can obtain from the Azure Portal page for your confidential ledger in the `Ledger URI` field under the `Properties` section. When you have retrieved the `Ledger URI`, please use it to replace `"https://my-ledger-url.confidential-ledger.azure.com"` in the example below. - -```C# Snippet:CreateClient -var ledgerClient = new ConfidentialLedgerClient(new Uri("https://my-ledger-url.confidential-ledger.azure.com"), new DefaultAzureCredential()); -``` - -> Security Note: By default when a confidential ledger Client is created it will connect to Azure's confidential ledger Identity Service to obtain the latest TLS service certificate for your Ledger in order to secure connections to Ledger Nodes. The details of this process are available in [this sample][client_construction_sample]. This behavior can be overridden by setting the `options` argument when creating the Ledger Client. - -## Key concepts - -### Ledger entries - -Every write to Azure confidential ledger generates an immutable ledger entry in the service. Writes are uniquely identified by transaction ids that increment with each write. - -```C# Snippet:AppendToLedger -Operation postOperation = ledgerClient.PostLedgerEntry( - waitUntil: WaitUntil.Completed, - RequestContent.Create( - new { contents = "Hello world!" })); - -string transactionId = postOperation.Id; -Console.WriteLine($"Appended transaction with Id: {transactionId}"); -``` - -Since Azure confidential ledger is a distributed system, rare transient failures may cause writes to be lost. For entries that must be preserved, it is advisable to verify that the write became durable. Note: It may be necessary to call `GetTransactionStatus` multiple times until it returns a "Committed" status. However, when calling `PostLedgerEntry`, a successful result indicates that the status is "Committed". - -```C# Snippet:GetStatus -Response statusResponse = ledgerClient.GetTransactionStatus(transactionId); - -string status = JsonDocument.Parse(statusResponse.Content) - .RootElement - .GetProperty("state") - .GetString(); - -Console.WriteLine($"Transaction status: {status}"); - -// Wait for the entry to be committed -while (status == "Pending") -{ - statusResponse = ledgerClient.GetTransactionStatus(transactionId); - status = JsonDocument.Parse(statusResponse.Content) - .RootElement - .GetProperty("state") - .GetString(); -} - -Console.WriteLine($"Transaction status: {status}"); -``` - -#### Receipts - -State changes to the a confidential ledger are saved in a data structure called a Merkle tree. To cryptographically verify that writes were correctly saved, a Merkle proof, or receipt, can be retrieved for any transaction id. - -```C# Snippet:GetReceipt -Response receiptResponse = ledgerClient.GetReceipt(transactionId); -string receiptJson = new StreamReader(receiptResponse.ContentStream).ReadToEnd(); - -Console.WriteLine(receiptJson); -``` - -#### Collections - -While most use cases will involve one ledger, we provide the collections feature in case different logical groups of data need to be stored in the same confidential ledger. - -```C# Snippet:Collection -ledgerClient.PostLedgerEntry( - waitUntil: WaitUntil.Completed, - RequestContent.Create( - new { contents = "Hello from Chris!", collectionId = "Chris' messages" })); - -ledgerClient.PostLedgerEntry( - waitUntil: WaitUntil.Completed, - RequestContent.Create( - new { contents = "Hello from Allison!", collectionId = "Allison's messages" })); -``` - -When no collection id is specified on method calls, the Azure confidential ledger service will assume a constant, service-determined collection id. - -```C# Snippet:NoCollectionId -Response postResponse = ledgerClient.PostLedgerEntry( -waitUntil: WaitUntil.Completed, - RequestContent.Create( - new { contents = "Hello world!" })); - -string content = postOperation.GetRawResponse().Content.ToString(); -string transactionId = postOperation.Id; -string collectionId = "subledger:0"; - -// Try fetching the ledger entry until it is "loaded". -Response getByCollectionResponse = default; -JsonElement rootElement = default; -bool loaded = false; - -while (!loaded) -{ - // Provide both the transactionId and collectionId. - getByCollectionResponse = ledgerClient.GetLedgerEntry(transactionId, collectionId); - rootElement = JsonDocument.Parse(getByCollectionResponse.Content).RootElement; - loaded = rootElement.GetProperty("state").GetString() != "Loading"; -} - -string contents = rootElement - .GetProperty("entry") - .GetProperty("contents") - .GetString(); - -Console.WriteLine(contents); // "Hello world!" - -// Now just provide the transactionId. -getByCollectionResponse = ledgerClient.GetLedgerEntry(transactionId); - -string collectionId2 = JsonDocument.Parse(getByCollectionResponse.Content) - .RootElement - .GetProperty("entry") - .GetProperty("collectionId") - .GetString(); - -Console.WriteLine($"{collectionId} == {collectionId2}"); -``` - -Ledger entries are retrieved from collections. When a transaction id is specified, the returned value is the value contained in the specified collection at the point in time identified by the transaction id. If no transaction id is specified, the latest available value is returned. - -```C# Snippet:GetEnteryWithNoTransactionId -Operation firstPostOperation = ledgerClient.PostLedgerEntry( - waitUntil: WaitUntil.Completed, - RequestContent.Create(new { contents = "Hello world 0" })); -ledgerClient.PostLedgerEntry( - waitUntil: WaitUntil.Completed, - RequestContent.Create(new { contents = "Hello world 1" })); -Operation collectionPostOperation = ledgerClient.PostLedgerEntry( - waitUntil: WaitUntil.Completed, - RequestContent.Create(new { contents = "Hello world collection 0" }), - "my collection"); -ledgerClient.PostLedgerEntry( - waitUntil: WaitUntil.Completed, - RequestContent.Create(new { contents = "Hello world collection 1" }), - "my collection"); -string transactionId = firstPostOperation.Id; - -// Wait for the entry to be committed -status = "Pending"; -while (status == "Pending") -{ - statusResponse = ledgerClient.GetTransactionStatus(transactionId); - status = JsonDocument.Parse(statusResponse.Content) - .RootElement - .GetProperty("state") - .GetString(); -} - -// The ledger entry written at the transactionId in firstResponse is retrieved from the default collection. -Response getResponse = ledgerClient.GetLedgerEntry(transactionId); - -// Try until the entry is available. -loaded = false; -JsonElement element = default; -contents = null; -while (!loaded) -{ - loaded = JsonDocument.Parse(getResponse.Content) - .RootElement - .TryGetProperty("entry", out element); - if (loaded) - { - contents = element.GetProperty("contents").GetString(); - } - else - { - getResponse = ledgerClient.GetLedgerEntry(transactionId, collectionId); - } -} - -string firstEntryContents = JsonDocument.Parse(getResponse.Content) - .RootElement - .GetProperty("entry") - .GetProperty("contents") - .GetString(); - -Console.WriteLine(firstEntryContents); // "Hello world 0" - -// This will return the latest entry available in the default collection. -getResponse = ledgerClient.GetCurrentLedgerEntry(); - -// Try until the entry is available. -loaded = false; -element = default; -string latestDefaultCollection = null; -while (!loaded) -{ - loaded = JsonDocument.Parse(getResponse.Content) - .RootElement - .TryGetProperty("contents", out element); - if (loaded) - { - latestDefaultCollection = element.GetString(); - } - else - { - getResponse = ledgerClient.GetCurrentLedgerEntry(); - } -} - -Console.WriteLine($"The latest ledger entry from the default collection is {latestDefaultCollection}"); //"Hello world 1" - -// The ledger entry written at collectionTransactionId is retrieved from the collection 'collection'. -string collectionTransactionId = collectionPostOperation.Id; - -getResponse = ledgerClient.GetLedgerEntry(collectionTransactionId, "my collection"); -// Try until the entry is available. -loaded = false; -element = default; -string collectionEntry = null; -while (!loaded) -{ - loaded = JsonDocument.Parse(getResponse.Content) - .RootElement - .TryGetProperty("entry", out element); - if (loaded) - { - collectionEntry = element.GetProperty("contents").GetString(); - } - else - { - getResponse = ledgerClient.GetLedgerEntry(collectionTransactionId, "my collection"); - } -} - -Console.WriteLine(collectionEntry); // "Hello world collection 0" - -// This will return the latest entry available in the collection. -getResponse = ledgerClient.GetCurrentLedgerEntry("my collection"); -string latestCollection = JsonDocument.Parse(getResponse.Content) - .RootElement - .GetProperty("contents") - .GetString(); - -Console.WriteLine($"The latest ledger entry from the collection is {latestCollection}"); // "Hello world collection 1" -``` - -##### Ranged queries - -Ledger entries in a collection may be retrieved over a range of transaction ids. -Note: Both ranges are optional; they can be provided individually or not at all. - -```C# Snippet:RangedQuery -ledgerClient.GetLedgerEntries(fromTransactionId: "2.1", toTransactionId: collectionTransactionId); -``` - -### User management - -Users are managed directly with the confidential ledger instead of through Azure. New users may be AAD-based or certificate-based. - -```C# Snippet:NewUser -string newUserAadObjectId = ""; -ledgerClient.CreateOrUpdateUser( - newUserAadObjectId, - RequestContent.Create(new { assignedRole = "Reader" })); -``` - - -### Confidential consortium and enclave verifications - -One may want to validate details about the confidential ledger for a variety of reasons. For example, you may want to view details about how Microsoft may manage your confidential ledger as part of [Confidential Consortium Framework governance](https://microsoft.github.io/CCF/main/governance/index.html), or verify that your confidential ledger is indeed running in SGX enclaves. A number of client methods are provided for these use cases. - -```C# Snippet:Consortium -Pageable consortiumResponse = ledgerClient.GetConsortiumMembers(); -foreach (var page in consortiumResponse) -{ - string membersJson = page.ToString(); - // Consortium members can manage and alter the confidential ledger, such as by replacing unhealthy nodes. - Console.WriteLine(membersJson); -} - -// The constitution is a collection of JavaScript code that defines actions available to members, -// and vets proposals by members to execute those actions. -Response constitutionResponse = ledgerClient.GetConstitution(); -string constitutionJson = new StreamReader(constitutionResponse.ContentStream).ReadToEnd(); - -Console.WriteLine(constitutionJson); - -// Enclave quotes contain material that can be used to cryptographically verify the validity and contents of an enclave. -Response enclavesResponse = ledgerClient.GetEnclaveQuotes(); -string enclavesJson = new StreamReader(enclavesResponse.ContentStream).ReadToEnd(); - -Console.WriteLine(enclavesJson); -``` - -[Microsoft Azure Attestation Service](https://azure.microsoft.com/services/azure-attestation/) is one provider of SGX enclave quotes. - -### Thread safety - -We guarantee that all client instance methods are thread-safe and independent of each other ([guideline](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-service-methods-thread-safety)). This ensures that the recommendation of reusing client instances is always safe, even across threads. - -### Additional concepts - - -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.ConfidentialLedger_1.1.0-beta.1/sdk/core/Azure.Core/README.md#configuring-service-clients-using-clientoptions) | -[Accessing the response](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.ConfidentialLedger_1.1.0-beta.1/sdk/core/Azure.Core/README.md#accessing-http-response-details-using-responset) | -[Long-running operations](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.ConfidentialLedger_1.1.0-beta.1/sdk/core/Azure.Core/README.md#consuming-long-running-operations-using-operationt) | -[Handling failures](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.ConfidentialLedger_1.1.0-beta.1/sdk/core/Azure.Core/README.md#reporting-errors-requestfailedexception) | -[Diagnostics](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.ConfidentialLedger_1.1.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md) | -[Mocking](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.ConfidentialLedger_1.1.0-beta.1/sdk/core/Azure.Core/README.md#mocking) | -[Client lifetime](https://devblogs.microsoft.com/azure-sdk/lifetime-management-and-thread-safety-guarantees-of-azure-sdk-net-clients/) - - -## Examples - -Coming Soon... - -## Troubleshooting - -Response values returned from Azure confidential ledger client methods are `Response` objects, which contain information about the http response such as the http `Status` property and a `Headers` object containing more information about the failure. - -### Setting up console logging - -The simplest way to see the logs is to enable the console logging. -To create an Azure SDK log listener that outputs messages to console use AzureEventSourceListener.CreateConsoleLogger method. - -```C# -// Setup a listener to monitor logged events. -using AzureEventSourceListener listener = AzureEventSourceListener.CreateConsoleLogger(level: EventLevel.Informational); -``` - -To learn more about other logging mechanisms see [here][logging]. - -## Next steps - -For more extensive documentation on Azure confidential ledger, see the API [reference documentation](https://azure.github.io/azure-sdk-for-net/). -You may also read more about Microsoft Research's open-source Confidential [Consortium Framework][ccf]. - -## Contributing - -This project welcomes contributions and suggestions. Most contributions require -you to agree to a Contributor License Agreement (CLA) declaring that you have -the right to, and actually do, grant us the rights to use your contribution. For -details, visit [cla.microsoft.com][cla]. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. -For more information see the [Code of Conduct FAQ][coc_faq] or contact -[opencode@microsoft.com][coc_contact] with any additional questions or comments. - - -[style-guide-msft]: /style-guide/capitalization -[style-guide-cloud]: https://aka.ms/azsdk/cloud-style-guide -[client_src]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.ConfidentialLedger_1.1.0-beta.1/sdk/confidentialledger/Azure.Security.ConfidentialLedger -[client_nuget_package]: https://www.nuget.org/packages?q=Azure.Security.ConfidentialLedger -[azure_cli]: /cli/azure -[azure_cloud_shell]: https://shell.azure.com/bash -[azure_confidential_computing]: https://azure.microsoft.com/solutions/confidential-compute -[client_construction_sample]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.ConfidentialLedger_1.1.0-beta.1/sdk/confidentialledger/Azure.Security.ConfidentialLedger/tests/samples/CertificateServiceSample.md -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[ccf]: https://github.com/Microsoft/CCF -[azure_identity]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.ConfidentialLedger_1.1.0-beta.1/sdk/identity/Azure.Identity -[default_cred_ref]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.ConfidentialLedger_1.1.0-beta.1/sdk/identity/Azure.Identity/README.md#defaultazurecredential -[logging]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.ConfidentialLedger_1.1.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq -[cla]: https://cla.microsoft.com -[coc_contact]: mailto:opencode@microsoft.com - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Fconfidentialledger%2FAzure.Template%2FREADME.png) - diff --git a/api/overview/azure/preview/security.keyvault.administration-readme.md b/api/overview/azure/preview/security.keyvault.administration-readme.md deleted file mode 100644 index 7acd7dbd28f6..000000000000 --- a/api/overview/azure/preview/security.keyvault.administration-readme.md +++ /dev/null @@ -1,296 +0,0 @@ ---- -title: Azure KeyVault Administration client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.Security.KeyVault.Administration, keyvault -author: heaths -ms.author: heaths -ms.date: 11/09/2022 -ms.topic: reference -ms.devlang: dotnet -ms.service: keyvault ---- -# Azure KeyVault Administration client library for .NET - version 4.3.0-beta.1 - - -Azure Key Vault Managed HSM is a fully-managed, highly-available, single-tenant, standards-compliant cloud service that enables you to safeguard -cryptographic keys for your cloud applications using FIPS 140-2 Level 3 validated HSMs. - -The Azure Key Vault administration library clients support administrative tasks such as full backup / restore and key-level role-based access control (RBAC). - -[Source code][admin_client_src] | [Package (NuGet)][admin_client_nuget_package] | [Product documentation][managedhsm_docs] | [Samples][admin_client_samples] - -## Getting started - -### Install the package - -Install the Azure Key Vault administration client library for .NET with [NuGet][nuget]: - -```dotnetcli -dotnet add package Azure.Security.KeyVault.Administration -``` - -### Prerequisites - -* An [Azure subscription][azure_sub]. -* An existing Azure Key Vault. If you need to create an Azure Key Vault, you can use the [Azure CLI][azure_cli]. -* Authorization to an existing Azure Key Vault using either [RBAC][rbac_guide] (recommended) or [access control][access_policy]. - -To create a Managed HSM resource, run the following CLI command: - -```PowerShell -az keyvault create --hsm-name --resource-group --administrators --location -``` - -To get `` you can run the following CLI command: - -```PowerShell -az ad user show --id --query id -``` - -### Authenticate the client - -In order to interact with the Azure Key Vault service, you'll need to create an instance of the client classes below. You need a **vault url**, which you may see as "DNS Name" in the portal, -and credentials to instantiate a client object. - -The examples shown below use a [`DefaultAzureCredential`][DefaultAzureCredential], which is appropriate for most scenarios including local development and production environments. -Additionally, we recommend using a managed identity for authentication in production environments. -You can find more information on different ways of authenticating and their corresponding credential types in the [Azure Identity][azure_identity] documentation. - -To use the `DefaultAzureCredential` provider shown below, -or other credential providers provided with the Azure SDK, you must first install the Azure.Identity package: - -```dotnetcli -dotnet add package Azure.Identity -``` - -#### Activate your managed HSM - -All data plane commands are disabled until the HSM is activated. You will not be able to create keys or assign roles. -Only the designated administrators that were assigned during the create command can activate the HSM. To activate the HSM you must download the security domain. - -To activate your HSM you need: - -* Minimum 3 RSA key-pairs (maximum 10) -* Specify minimum number of keys required to decrypt the security domain (quorum) - -To activate the HSM you send at least 3 (maximum 10) RSA public keys to the HSM. The HSM encrypts the security domain with these keys and sends it back. -Once this security domain is successfully downloaded, your HSM is ready to use. -You also need to specify quorum, which is the minimum number of private keys required to decrypt the security domain. - -The example below shows how to use openssl to generate 3 self signed certificate. - -```PowerShell -openssl req -newkey rsa:2048 -nodes -keyout cert_0.key -x509 -days 365 -out cert_0.cer -openssl req -newkey rsa:2048 -nodes -keyout cert_1.key -x509 -days 365 -out cert_1.cer -openssl req -newkey rsa:2048 -nodes -keyout cert_2.key -x509 -days 365 -out cert_2.cer -``` - -Use the `az keyvault security-domain download` command to download the security domain and activate your managed HSM. -The example below, uses 3 RSA key pairs (only public keys are needed for this command) and sets the quorum to 2. - -```PowerShell -az keyvault security-domain download --hsm-name --sd-wrapping-keys ./certs/cert_0.cer ./certs/cert_1.cer ./certs/cert_2.cer --sd-quorum 2 --security-domain-file ContosoMHSM-SD.json -``` - -#### Controlling access to your managed HSM - -The designated administrators assigned during creation are automatically added to the "Managed HSM Administrators" [built-in role][built_in_roles], -who are able to download a security domain and [manage roles for data plane access][access_control], among other limited permissions. - -To perform other actions on keys, you need to assign principals to other roles such as "Managed HSM Crypto User", which can perform non-destructive key operations: - -```PowerShell -az keyvault role assignment create --hsm-name --role "Managed HSM Crypto User" --scope / --assignee-object-id --assignee-principal-type -``` - -Please read [best practices][best_practices] for properly securing your managed HSM. - -#### Create KeyVaultAccessControlClient - -Instantiate a `DefaultAzureCredential` to pass to the [KeyVaultAccessControlClient][rbac_client]. -The same instance of a token credential can be used with multiple clients if they will be authenticating with the same identity. - -```C# Snippet:HelloCreateKeyVaultAccessControlClient -KeyVaultAccessControlClient client = new KeyVaultAccessControlClient(new Uri(managedHsmUrl), new DefaultAzureCredential()); -``` - -#### Create KeyVaultBackupClient - -Instantiate a `DefaultAzureCredential` to pass to the [KeyVaultBackupClient][backup_client]. -The same instance of a token credential can be used with multiple clients if they will be authenticating with the same identity. - -```C# Snippet:HelloCreateKeyVaultBackupClient -KeyVaultBackupClient client = new KeyVaultBackupClient(new Uri(managedHsmUrl), new DefaultAzureCredential()); -``` - -#### Create KeyVaultSettingClient - -Instantiate a `DefaultAzureCredential` to pass to the [KeyVaultSettingsClient][settings_client]. -The same instance of a token credential can be used with multiple clients if they will be authenticating with the same identity. - -```C# Snippet:KeyVaultSettingsClient_Create -KeyVaultSettingsClient client = new KeyVaultSettingsClient(new Uri(managedHsmUrl), new DefaultAzureCredential()); -``` - -## Key concepts - -### KeyVaultRoleDefinition - -A `KeyVaultRoleDefinition` is a collection of permissions. A role definition defines the operations that can be performed, such as read, write, -and delete. It can also define the operations that are excluded from allowed operations. - -KeyVaultRoleDefinitions can be listed and specified as part of a `KeyVaultRoleAssignment`. - -### KeyVaultRoleAssignment - -A `KeyVaultRoleAssignment` is the association of a KeyVaultRoleDefinition to a service principal. They can be created, listed, fetched individually, and deleted. - -### KeyVaultAccessControlClient - -A `KeyVaultAccessControlClient` provides both synchronous and asynchronous operations allowing for management of `KeyVaultRoleDefinition` and `KeyVaultRoleAssignment` objects. - -### KeyVaultBackupClient - -A `KeyVaultBackupClient` provides both synchronous and asynchronous operations for performing full key backups, full key restores, and selective key restores. - -### BackupOperation - -A `BackupOperation` represents a long running operation for a full key backup. - -### RestoreOperation - -A `RestoreOperation` represents a long running operation for both a full key and selective key restore. - -### Thread safety - -We guarantee that all client instance methods are thread-safe and independent of each other ([guideline](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-service-methods-thread-safety)). This ensures that the recommendation of reusing client instances is always safe, even across threads. - -### Additional concepts - -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/core/Azure.Core/README.md#configuring-service-clients-using-clientoptions) | -[Accessing the response](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/core/Azure.Core/README.md#accessing-http-response-details-using-responset) | -[Long-running operations](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/core/Azure.Core/README.md#consuming-long-running-operations-using-operationt) | -[Handling failures](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/core/Azure.Core/README.md#reporting-errors-requestfailedexception) | -[Diagnostics](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md) | -[Mocking](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/core/Azure.Core/README.md#mocking) | -[Client lifetime](https://devblogs.microsoft.com/azure-sdk/lifetime-management-and-thread-safety-guarantees-of-azure-sdk-net-clients/) - - -## Examples - -The Azure.Security.KeyVault.Administration package supports synchronous and asynchronous APIs. - -The following section provides several code snippets using the `client` created above for either [access control](#create-keyvaultaccesscontrolclient) or [backup](#create-keyvaultbackupclient) clients, covering some of the most common Azure Key Vault access control related tasks: - -### Sync examples - -* Access control - * [Listing All Role Definitions](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Administration/samples/Sample1_RbacHelloWorldSync.md#listing-all-role-definitions) - * [Listing All Role Assignments](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Administration/samples/Sample1_RbacHelloWorldSync.md#listing-all-role-assignments) - * [Creating a Role Assignment](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Administration/samples/Sample1_RbacHelloWorldSync.md#creating-a-role-assignment) - * [Getting a Role Assignment](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Administration/samples/Sample1_RbacHelloWorldSync.md#getting-a-role-assignment) - * [Deleting a Role Assignment](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Administration/samples/Sample1_RbacHelloWorldSync.md#deleting-a-role-assignment) -* Backup and restore - * [Performing a full key backup](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Administration/samples/Sample1_BackupHelloWorldSync.md#performing-a-full-key-backup) - * [Performing a full key restore](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Administration/samples/Sample1_BackupHelloWorldSync.md#performing-a-full-key-restore) - -### Async examples - -* Access control - * [Listing All Role Definitions](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Administration/samples/Sample1_RbacHelloWorldAsync.md#listing-all-role-definitions) - * [Listing All Role Assignments](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Administration/samples/Sample1_RbacHelloWorldAsync.md#listing-all-role-assignments) - * [Creating a Role Assignment](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Administration/samples/Sample1_RbacHelloWorldAsync.md#creating-a-role-assignment) - * [Getting a Role Assignment](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Administration/samples/Sample1_RbacHelloWorldAsync.md#getting-a-role-assignment) - * [Deleting a Role Assignment](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Administration/samples/Sample1_RbacHelloWorldAsync.md#deleting-a-role-assignment) -* Backup and restore - * [Performing a full key backup](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Administration/samples/Sample1_BackupHelloWorldAsync.md#performing-a-full-key-backup) - * [Performing a full key restore](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Administration/samples/Sample1_BackupHelloWorldAsync.md#performing-a-full-key-restore) - -## Troubleshooting - -See our [troubleshooting guide](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Administration/TROUBLESHOOTING.md) -for details on how to diagnose various failure scenarios. - -### General - -When you interact with the Azure Key Vault administration library using the .NET SDK, errors returned by the service correspond to the same HTTP status codes returned for [REST API][keyvault_rest] requests. - -For example, if you try to retrieve a role assignment that doesn't exist in your Azure Key Vault, a `404` error is returned, indicating "Not Found". - -```C# Snippet:RoleAssignmentNotFound -try -{ - KeyVaultRoleAssignment roleAssignment = client.GetRoleAssignment(KeyVaultRoleScope.Global, "example-name"); -} -catch (RequestFailedException ex) -{ - Console.WriteLine(ex.ToString()); -} -``` - -```text -Azure.RequestFailedException: Service request failed. -Status: 404 (Not Found) - -Content: -{"error":{"code":"RoleAssignmentNotFound","message":"Requested role assignment not found (Activity ID: a67f09f4-b68e-11ea-bd6d-0242ac120006)"}} - -Headers: -X-Content-Type-Options: REDACTED -x-ms-request-id: a67f09f4-b68e-11ea-bd6d-0242ac120006 -Content-Length: 143 -Content-Type: application/json -``` - -### Setting up console logging - -The simplest way to see the logs is to enable the console logging. -To create an Azure SDK log listener that outputs messages to console use AzureEventSourceListener.CreateConsoleLogger method. - -```c# -// Setup a listener to monitor logged events. -using AzureEventSourceListener listener = AzureEventSourceListener.CreateConsoleLogger(level: EventLevel.Informational); -``` - -To learn more about other logging mechanisms see [here][logging]. - -## Next steps - -Get started with our [samples][admin_client_samples]. - -## Contributing - -This project welcomes contributions and suggestions. Most contributions require -you to agree to a Contributor License Agreement (CLA) declaring that you have -the right to, and actually do, grant us the rights to use your contribution. For -details, visit . - -This project has adopted the [Microsoft Open Source Code of Conduct][code_of_conduct]. -For more information see the [Code of Conduct FAQ][coc_faq] -or contact opencode@microsoft.com with any -additional questions or comments. - - -[access_control]: https://learn.microsoft.com/azure/key-vault/managed-hsm/access-control -[access_policy]: https://learn.microsoft.com/azure/key-vault/general/assign-access-policy -[rbac_guide]: https://learn.microsoft.com/azure/key-vault/general/rbac-guide -[azure_cli]: https://learn.microsoft.com/cli/azure -[azure_identity]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/identity/Azure.Identity -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[best_practices]: https://learn.microsoft.com/azure/key-vault/managed-hsm/best-practices -[built_in_roles]: https://learn.microsoft.com/azure/key-vault/managed-hsm/built-in-roles -[code_of_conduct]: https://opensource.microsoft.com/codeofconduct/ -[rbac_client]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Administration/src/KeyVaultAccessControlClient.cs -[backup_client]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Administration/src/KeyVaultBackupClient.cs -[settings_client]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Administration/src/KeyVaultSettingsClient.cs -[managedhsm_docs]: https://learn.microsoft.com/azure/key-vault/managed-hsm/ -[keyvault_rest]: https://learn.microsoft.com/rest/api/keyvault/ -[admin_client_nuget_package]: https://www.nuget.org/packages?q=Azure.Security.KeyVault.Administration -[admin_client_samples]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Administration/samples -[admin_client_src]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Administration/src -[nuget]: https://www.nuget.org/ -[DefaultAzureCredential]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/identity/Azure.Identity/README.md#defaultazurecredential -[logging]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Administration_4.3.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Ftables%2FAzure.Data.Tables%2FREADME.png) - diff --git a/api/overview/azure/preview/security.keyvault.certificates-readme.md b/api/overview/azure/preview/security.keyvault.certificates-readme.md deleted file mode 100644 index 949934cacfda..000000000000 --- a/api/overview/azure/preview/security.keyvault.certificates-readme.md +++ /dev/null @@ -1,352 +0,0 @@ ---- -title: Azure Key Vault Certificate client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.Security.KeyVault.Certificates, keyvault -author: heaths -ms.author: heaths -ms.date: 11/09/2022 -ms.topic: reference -ms.devlang: dotnet -ms.service: keyvault ---- -# Azure Key Vault Certificate client library for .NET - version 4.5.0-beta.1 - - -Azure Key Vault is a cloud service that provides secure storage and automated management of certificates used throughout a cloud application. Multiple certificates, and multiple versions of the same certificate, can be kept in the Azure Key Vault. Each certificate in the vault has a policy associated with it which controls the issuance and lifetime of the certificate, along with actions to be taken as certificates near expiry. - -The Azure Key Vault certificates client library enables programmatically managing certificates, offering methods to create, update, list, and delete certificates, policies, issuers, and contacts. The library also supports managing pending certificate operations and management of deleted certificates. - -[Source code][certificate_client_src] | [Package (NuGet)][certificate_client_nuget_package] | [API reference documentation][API_reference] | [Product documentation][keyvault_docs] | [Samples][certificate_client_samples] | [Migration guide][migration_guide] - -## Getting started - -### Install the package - -Install the Azure Key Vault certificates client library for .NET with [NuGet][nuget]: - -```dotnetcli -dotnet add package Azure.Security.KeyVault.Certificates -``` - -### Prerequisites - -* An [Azure subscription][azure_sub]. -* An existing Azure Key Vault. If you need to create an Azure Key Vault, you can use the Azure Portal or [Azure CLI][azure_cli]. -* Authorization to an existing Azure Key Vault using either [RBAC][rbac_guide] (recommended) or [access control][access_policy]. - -If you use the Azure CLI, replace `` and `` with your own, unique names: - -```PowerShell -az keyvault create --resource-group --name -``` - -### Authenticate the client - -In order to interact with the Azure Key Vault service, you'll need to create an instance of the [CertificateClient][certificate_client_class] class. You need a **vault url**, which you may see as "DNS Name" in the portal, -and credentials to instantiate a client object. - -The examples shown below use a [`DefaultAzureCredential`][DefaultAzureCredential], which is appropriate for most scenarios including local development and production environments. -Additionally, we recommend using a managed identity for authentication in production environments. -You can find more information on different ways of authenticating and their corresponding credential types in the [Azure Identity][azure_identity] documentation. - -To use the `DefaultAzureCredential` provider shown below, -or other credential providers provided with the Azure SDK, you must first install the Azure.Identity package: - -```dotnetcli -dotnet add package Azure.Identity -``` - -#### Create CertificateClient - -Instantiate a `DefaultAzureCredential` to pass to the client. -The same instance of a token credential can be used with multiple clients if they will be authenticating with the same identity. - -```C# Snippet:CreateCertificateClient -// Create a new certificate client using the default credential from Azure.Identity using environment variables previously set, -// including AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, and AZURE_TENANT_ID. -var client = new CertificateClient(vaultUri: new Uri(vaultUrl), credential: new DefaultAzureCredential()); -``` - -## Key concepts - -### KeyVaultCertificate - -A `KeyVaultCertificate` is the fundamental resource within Azure Key Vault. You'll use certificates to encrypt and verify encrypted or signed data. - -### CertificateClient - -With a `CertificateClient` you can get certificates from the vault, create new certificates and -new versions of existing certificates, update certificate metadata, and delete certificates. You -can also manage certificate issuers, contacts, and management policies of certificates. This is -illustrated in the examples below. - -### Thread safety - -We guarantee that all client instance methods are thread-safe and independent of each other ([guideline](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-service-methods-thread-safety)). This ensures that the recommendation of reusing client instances is always safe, even across threads. - -### Additional concepts - -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Certificates_4.5.0-beta.1/sdk/core/Azure.Core/README.md#configuring-service-clients-using-clientoptions) | -[Accessing the response](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Certificates_4.5.0-beta.1/sdk/core/Azure.Core/README.md#accessing-http-response-details-using-responset) | -[Long-running operations](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Certificates_4.5.0-beta.1/sdk/core/Azure.Core/README.md#consuming-long-running-operations-using-operationt) | -[Handling failures](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Certificates_4.5.0-beta.1/sdk/core/Azure.Core/README.md#reporting-errors-requestfailedexception) | -[Diagnostics](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Certificates_4.5.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md) | -[Mocking](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Certificates_4.5.0-beta.1/sdk/core/Azure.Core/README.md#mocking) | -[Client lifetime](https://devblogs.microsoft.com/azure-sdk/lifetime-management-and-thread-safety-guarantees-of-azure-sdk-net-clients/) - - -## Examples - -The Azure.Security.KeyVault.Certificates package supports synchronous and asynchronous APIs. - -The following section provides several code snippets using the `client`[created above](#create-certificateclient), covering some of the most common Azure Key Vault certificate service related tasks: - -### Sync examples - -* [Create a certificate](#create-a-certificate) -* [Retrieve a certificate](#retrieve-a-certificate) -* [Update an existing certificate](#update-an-existing-certificate) -* [List certificates](#list-certificates) -* [Delete a certificate](#delete-a-certificate) - -### Async examples - -* [Create a certificate asynchronously](#create-a-certificate-asynchronously) -* [List certificates asynchronously](#list-certificates-asynchronously) -* [Delete a certificate asynchronously](#delete-a-certificate-asynchronously) - -### Create a certificate - -`StartCreateCertificate` creates a certificate to be stored in the Azure Key Vault. If a certificate with -the same name already exists, then a new version of the certificate is created. -When creating the certificate the user can specify the policy which controls the certificate lifetime. If no policy is specified the default policy will be used. The `StartCreateCertificate` operation returns a `CertificateOperation`. The following example creates a self-signed certificate with the default policy. - -```C# Snippet:CreateCertificate -// Create a certificate. This starts a long running operation to create and sign the certificate. -CertificateOperation operation = client.StartCreateCertificate("MyCertificate", CertificatePolicy.Default); - -// You can await the completion of the create certificate operation. -// You should run UpdateStatus in another thread or do other work like pumping messages between calls. -while (!operation.HasCompleted) -{ - Thread.Sleep(2000); - - operation.UpdateStatus(); -} - -KeyVaultCertificateWithPolicy certificate = operation.Value; -``` - -> NOTE: Depending on the certificate issuer and validation methods, certificate creation and signing can take an indeterminate amount of time. Users should only wait on certificate operations when the operation can be reasonably completed in the scope of the application, such as with self-signed certificates or issuers with well known response times. - -### Retrieve a certificate - -`GetCertificate` retrieves the latest version of a certificate stored in the Azure Key Vault along with its `CertificatePolicy`. - -```C# Snippet:RetrieveCertificate -KeyVaultCertificateWithPolicy certificateWithPolicy = client.GetCertificate("MyCertificate"); -``` - -`GetCertificateVersion` retrieves a specific version of a certificate in the vault. - -```C# Snippet:GetCertificate -KeyVaultCertificate certificate = client.GetCertificateVersion(certificateWithPolicy.Name, certificateWithPolicy.Properties.Version); -``` - -### Update an existing certificate - -`UpdateCertificate` updates a certificate stored in the Azure Key Vault. - -```C# Snippet:UpdateCertificate -CertificateProperties certificateProperties = new CertificateProperties(certificate.Id); -certificateProperties.Tags["key1"] = "value1"; - -KeyVaultCertificate updated = client.UpdateCertificateProperties(certificateProperties); -``` - -### List certificates - -`GetCertificates` enumerates the certificates in the vault, returning select properties of the -certificate. Sensitive fields of the certificate will not be returned. This operation -requires the certificates/list permission. - -```C# Snippet:ListCertificates -Pageable allCertificates = client.GetPropertiesOfCertificates(); - -foreach (CertificateProperties certificateProperties in allCertificates) -{ - Console.WriteLine(certificateProperties.Name); -} -``` - -### Delete a certificate - -`DeleteCertificate` deletes all versions of a certificate stored in the Azure Key Vault. When [soft-delete][soft_delete] -is not enabled for the Azure Key Vault, this operation permanently deletes the certificate. If soft delete is enabled the certificate is marked for deletion and can be optionally purged or recovered up until its scheduled purge date. - -```C# Snippet:DeleteAndPurgeCertificate -DeleteCertificateOperation operation = client.StartDeleteCertificate("MyCertificate"); - -// You only need to wait for completion if you want to purge or recover the certificate. -// You should call `UpdateStatus` in another thread or after doing additional work like pumping messages. -while (!operation.HasCompleted) -{ - Thread.Sleep(2000); - - operation.UpdateStatus(); -} - -DeletedCertificate certificate = operation.Value; -client.PurgeDeletedCertificate(certificate.Name); -``` - -### Create a certificate asynchronously - -The asynchronous APIs are identical to their synchronous counterparts, but return with the typical "Async" suffix for asynchronous methods and return a `Task`. - -This example creates a certificate in the Azure Key Vault with the specified optional arguments. - -```C# Snippet:CreateCertificateAsync -// Create a certificate. This starts a long running operation to create and sign the certificate. -CertificateOperation operation = await client.StartCreateCertificateAsync("MyCertificate", CertificatePolicy.Default); - -// You can await the completion of the create certificate operation. -KeyVaultCertificateWithPolicy certificate = await operation.WaitForCompletionAsync(); -``` - -### List certificates asynchronously - -Listing certificate does not rely on awaiting the `GetPropertiesOfCertificatesAsync` method, but returns an `AsyncPageable` that you can use with the `await foreach` statement: - -```C# Snippet:ListCertificatesAsync -AsyncPageable allCertificates = client.GetPropertiesOfCertificatesAsync(); - -await foreach (CertificateProperties certificateProperties in allCertificates) -{ - Console.WriteLine(certificateProperties.Name); -} -``` - -### Delete a certificate asynchronously - -When deleting a certificate asynchronously before you purge it, you can await the `WaitForCompletionAsync` method on the operation. -By default, this loops indefinitely but you can cancel it by passing a `CancellationToken`. - -```C# Snippet:DeleteAndPurgeCertificateAsync -DeleteCertificateOperation operation = await client.StartDeleteCertificateAsync("MyCertificate"); - -// You only need to wait for completion if you want to purge or recover the certificate. -await operation.WaitForCompletionAsync(); - -DeletedCertificate certificate = operation.Value; -await client.PurgeDeletedCertificateAsync(certificate.Name); -``` - -## Troubleshooting - -See our [troubleshooting guide](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Certificates_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Certificates/TROUBLESHOOTING.md) -for details on how to diagnose various failure scenarios. - -### General - -When you interact with the Azure Key Vault certificates client library using the .NET SDK, errors returned by the service correspond to the same HTTP status codes returned for [REST API][keyvault_rest] requests. - -For example, if you try to retrieve a Key that doesn't exist in your Azure Key Vault, a `404` error is returned, indicating `Not Found`. - -```C# Snippet:CertificateNotFound -try -{ - KeyVaultCertificateWithPolicy certificateWithPolicy = client.GetCertificate("SomeCertificate"); -} -catch (RequestFailedException ex) -{ - Console.WriteLine(ex.ToString()); -} -``` - -You will notice that additional information is logged, like the Client Request ID of the operation. - -```text -Message: - Azure.RequestFailedException : Service request failed. - Status: 404 (Not Found) -Content: - {"error":{"code":"CertificateNotFound","message":"Certificate not found: MyCertificate"}} - -Headers: - Cache-Control: no-cache - Pragma: no-cache - Server: Microsoft-IIS/10.0 - x-ms-keyvault-region: westus - x-ms-request-id: 625f870e-10ea-41e5-8380-282e5cf768f2 - x-ms-keyvault-service-version: 1.1.0.866 - x-ms-keyvault-network-info: addr=131.107.174.199;act_addr_fam=InterNetwork; - X-AspNet-Version: 4.0.30319 - X-Powered-By: ASP.NET - Strict-Transport-Security: max-age=31536000;includeSubDomains - X-Content-Type-Options: nosniff - Date: Tue, 18 Jun 2019 16:02:11 GMT - Content-Length: 75 - Content-Type: application/json; charset=utf-8 - Expires: -1 -``` - -## Next steps - -Several Azure Key Vault certificates client library samples are available to you in this GitHub repository. These samples provide example code for additional scenarios commonly encountered while working with Azure Key Vault: - -* [Sample1_HelloWorld.md][hello_world_sample] - for working with Azure Key Vault certificates, including: - * Create a certificate - * Get an existing certificate - * Update an existing certificate - * Delete a certificate - -* [Sample2_GetCertificates.md][get_cetificates_sample] - Example code for working with Azure Key Vault certificates, including: - * Create certificates - * List all certificates in the Key Vault - * List versions of a specified certificate - * Delete certificates from the Key Vault - * List deleted certificates in the Key Vault - -### Additional Documentation - -* For more extensive documentation on Azure Key Vault, see the [API reference documentation][keyvault_rest]. -* For Secrets client library see [Secrets client library][secrets_client_library]. -* For Keys client library see [Keys client library][keys_client_library]. - -## Contributing - -See the [CONTRIBUTING.md][contributing] for details on building, testing, and contributing to these libraries. - -This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][code_of_conduct]. For more information see the [Code of Conduct FAQ][coc_faq] or contact opencode@microsoft.com with any additional questions or comments. - - -[certificate_client_src]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Certificates_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Certificates/src -[certificate_client_nuget_package]: https://www.nuget.org/packages/Azure.Security.KeyVault.Certificates/ -[API_reference]: https://learn.microsoft.com/dotnet/api/azure.security.keyvault.certificates -[keyvault_docs]: https://learn.microsoft.com/azure/key-vault/ -[certificate_client_samples]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Certificates_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Certificates/samples -[nuget]: https://www.nuget.org/ -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[azure_cli]: https://learn.microsoft.com/cli/azure -[certificate_client_class]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Certificates_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Certificates/src/CertificateClient.cs -[soft_delete]: https://learn.microsoft.com/azure/key-vault/general/soft-delete-overview -[azure_identity]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Certificates_4.5.0-beta.1/sdk/identity/Azure.Identity#defaultazurecredential -[keyvault_rest]: https://learn.microsoft.com/rest/api/keyvault/ -[secrets_client_library]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Certificates_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Secrets -[keys_client_library]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Certificates_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Keys -[hello_world_sample]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Certificates_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Certificates/samples/Sample1_HelloWorld.md -[get_cetificates_sample]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Certificates_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Certificates/samples/Sample2_GetCertificates.md -[code_of_conduct]: https://opensource.microsoft.com/codeofconduct/ -[DefaultAzureCredential]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Certificates_4.5.0-beta.1/sdk/identity/Azure.Identity/README.md#defaultazurecredential -[contributing]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Certificates_4.5.0-beta.1/sdk/keyvault/CONTRIBUTING.md -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[migration_guide]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Certificates_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Certificates/MigrationGuide.md -[access_policy]: https://learn.microsoft.com/azure/key-vault/general/assign-access-policy -[rbac_guide]: https://learn.microsoft.com/azure/key-vault/general/rbac-guide - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Fkeyvault%2FAzure.Security.KeyVault.Certificates%2FREADME.png) - diff --git a/api/overview/azure/preview/security.keyvault.keys-readme.md b/api/overview/azure/preview/security.keyvault.keys-readme.md deleted file mode 100644 index 30ffda5b5bdf..000000000000 --- a/api/overview/azure/preview/security.keyvault.keys-readme.md +++ /dev/null @@ -1,490 +0,0 @@ ---- -title: Azure Key Vault key client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.Security.KeyVault.Keys, keyvault -author: heaths -ms.author: heaths -ms.date: 11/09/2022 -ms.topic: reference -ms.devlang: dotnet -ms.service: keyvault ---- -# Azure Key Vault key client library for .NET - version 4.5.0-beta.1 - - -Azure Key Vault is a cloud service that provides secure storage of keys for encrypting your data. -Multiple keys, and multiple versions of the same key, can be kept in the Azure Key Vault. -Cryptographic keys in Azure Key Vault are represented as [JSON Web Key (JWK)][JWK] objects. - -Azure Key Vault Managed HSM is a fully-managed, highly-available, single-tenant, standards-compliant cloud service that enables -you to safeguard cryptographic keys for your cloud applications using FIPS 140-2 Level 3 validated HSMs. - -The Azure Key Vault keys library client supports RSA keys and Elliptic Curve (EC) keys, each with corresponding support in hardware security modules (HSM). It offers operations to create, retrieve, update, delete, purge, backup, restore, and list the keys and its versions. - -[Source code][key_client_src] | [Package (NuGet)][key_client_nuget_package] | [API reference documentation][API_reference] | [Product documentation][keyvault_docs] | [Samples][key_client_samples] | [Migration guide][migration_guide] - -## Getting started - -### Install the package - -Install the Azure Key Vault keys client library for .NET with [NuGet][nuget]: - -```dotnetcli -dotnet add package Azure.Security.KeyVault.Keys -``` - -### Prerequisites - -* An [Azure subscription][azure_sub]. -* An existing Azure Key Vault. If you need to create an Azure Key Vault, you can use the Azure Portal or [Azure CLI][azure_cli]. -* Authorization to an existing Azure Key Vault using either [RBAC][rbac_guide] (recommended) or [access control][access_policy]. - -If you are creating a standard Key Vault resource, run the following CLI command replacing `` and `` with your own, unique names: - -```PowerShell -az keyvault create --resource-group --name -``` - -If you are creating a Managed HSM resource, run the following CLI command: - -```PowerShell -az keyvault create --hsm-name --resource-group --administrators --location -``` - -To get `` you can run the following CLI command: - -```PowerShell -az ad user show --id --query id -``` - -### Authenticate the client - -In order to interact with the Azure Key Vault service, you'll need to create an instance of the [KeyClient][key_client_class] class. You need a **vault url**, which you may see as "DNS Name" in the portal, -and credentials to instantiate a client object. - -The examples shown below use a [`DefaultAzureCredential`][DefaultAzureCredential], which is appropriate for most scenarios including local development and production environments utilizing managed identity authentication. -Additionally, we recommend using a managed identity for authentication in production environments. -You can find more information on different ways of authenticating and their corresponding credential types in the [Azure Identity][azure_identity] documentation. - -To use the `DefaultAzureCredential` provider shown below, -or other credential providers provided with the Azure SDK, you must first install the Azure.Identity package: - -```dotnetcli -dotnet add package Azure.Identity -``` - -#### Activate your managed HSM - -This section only applies if you are creating a Managed HSM. All data plane commands are disabled until the HSM is activated. You will not be able to create keys or assign roles. -Only the designated administrators that were assigned during the create command can activate the HSM. To activate the HSM you must download the security domain. - -To activate your HSM you need: - -* Minimum 3 RSA key-pairs (maximum 10) -* Specify minimum number of keys required to decrypt the security domain (quorum) - -To activate the HSM you send at least 3 (maximum 10) RSA public keys to the HSM. The HSM encrypts the security domain with these keys and sends it back. -Once this security domain is successfully downloaded, your HSM is ready to use. -You also need to specify quorum, which is the minimum number of private keys required to decrypt the security domain. - -The example below shows how to use openssl to generate 3 self signed certificate. - -```PowerShell -openssl req -newkey rsa:2048 -nodes -keyout cert_0.key -x509 -days 365 -out cert_0.cer -openssl req -newkey rsa:2048 -nodes -keyout cert_1.key -x509 -days 365 -out cert_1.cer -openssl req -newkey rsa:2048 -nodes -keyout cert_2.key -x509 -days 365 -out cert_2.cer -``` - -Use the `az keyvault security-domain download` command to download the security domain and activate your managed HSM. -The example below uses 3 RSA key pairs (only public keys are needed for this command) and sets the quorum to 2. - -```PowerShell -az keyvault security-domain download --hsm-name --sd-wrapping-keys ./certs/cert_0.cer ./certs/cert_1.cer ./certs/cert_2.cer --sd-quorum 2 --security-domain-file ContosoMHSM-SD.json -``` - -#### Create KeyClient - -Instantiate a `DefaultAzureCredential` to pass to the client. -The same instance of a token credential can be used with multiple clients if they will be authenticating with the same identity. - -```C# Snippet:CreateKeyClient -// Create a new key client using the default credential from Azure.Identity using environment variables previously set, -// including AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, and AZURE_TENANT_ID. -var client = new KeyClient(vaultUri: new Uri(vaultUrl), credential: new DefaultAzureCredential()); - -// Create a new key using the key client. -KeyVaultKey key = client.CreateKey("key-name", KeyType.Rsa); - -// Retrieve a key using the key client. -key = client.GetKey("key-name"); -``` - -#### Create CryptographyClient - -Once you've created a `KeyVaultKey` in the Azure Key Vault, you can also create the [CryptographyClient][crypto_client_class]: - -```C# Snippet:CreateCryptographyClient -// Create a new cryptography client using the same Key Vault or Managed HSM endpoint, service version, -// and options as the KeyClient created earlier. -CryptographyClient cryptoClient = client.GetCryptographyClient(key.Name, key.Properties.Version); -``` - -## Key concepts - -### KeyVaultKey - -Azure Key Vault supports multiple key types and algorithms, and enables the use of hardware security modules (HSM) for high value keys. - -### KeyClient - -A `KeyClient` providing both synchronous and asynchronous operations exists in the SDK allowing for selection of a client based on an application's use case. Once you've initialized a `KeyClient`, you can interact with the primary resource types in Azure Key Vault. - -### CryptographyClient - -A `CryptographyClient` providing both synchronous and asynchronous operations exists in the SDK allowing for selection of a client based on an application's use case. Once you've initialized a `CryptographyClient`, you can use it to perform cryptographic operations with keys stored in Azure Key Vault. - -### Thread safety - -We guarantee that all client instance methods are thread-safe and independent of each other ([guideline](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-service-methods-thread-safety)). This ensures that the recommendation of reusing client instances is always safe, even across threads. - -### Additional concepts - -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Keys_4.5.0-beta.1/sdk/core/Azure.Core/README.md#configuring-service-clients-using-clientoptions) | -[Accessing the response](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Keys_4.5.0-beta.1/sdk/core/Azure.Core/README.md#accessing-http-response-details-using-responset) | -[Long-running operations](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Keys_4.5.0-beta.1/sdk/core/Azure.Core/README.md#consuming-long-running-operations-using-operationt) | -[Handling failures](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Keys_4.5.0-beta.1/sdk/core/Azure.Core/README.md#reporting-errors-requestfailedexception) | -[Diagnostics](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Keys_4.5.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md) | -[Mocking](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Keys_4.5.0-beta.1/sdk/core/Azure.Core/README.md#mocking) | -[Client lifetime](https://devblogs.microsoft.com/azure-sdk/lifetime-management-and-thread-safety-guarantees-of-azure-sdk-net-clients/) - - -## Examples - -The Azure.Security.KeyVault.Keys package supports synchronous and asynchronous APIs. - -The following section provides several code snippets using the `client` [created above](#create-keyclient), covering some of the most common Azure Key Vault key service related tasks: - -### Sync examples - -* [Create a key](#create-a-key) -* [Retrieve a key](#retrieve-a-key) -* [Update an existing key](#update-an-existing-key) -* [Delete a key](#delete-a-key) -* [Delete and purge a key](#delete-and-purge-a-key) -* [List keys](#list-keys) -* [Encrypt and Decrypt](#encrypt-and-decrypt) - -### Async examples - -* [Create a key asynchronously](#create-a-key-asynchronously) -* [List keys asynchronously](#list-keys-asynchronously) -* [Delete a key asynchronously](#delete-a-key-asynchronously) - -### Create a key - -Create a key to be stored in the Azure Key Vault. If a key with the same name already exists, then a new version of the key is created. - -```C# Snippet:CreateKey -// Create a key. Note that you can specify the type of key -// i.e. Elliptic curve, Hardware Elliptic Curve, RSA -KeyVaultKey key = client.CreateKey("key-name", KeyType.Rsa); - -Console.WriteLine(key.Name); -Console.WriteLine(key.KeyType); - -// Create a software RSA key -var rsaCreateKey = new CreateRsaKeyOptions("rsa-key-name", hardwareProtected: false); -KeyVaultKey rsaKey = client.CreateRsaKey(rsaCreateKey); - -Console.WriteLine(rsaKey.Name); -Console.WriteLine(rsaKey.KeyType); - -// Create a hardware Elliptic Curve key -// Because only premium Azure Key Vault supports HSM backed keys , please ensure your Azure Key Vault -// SKU is premium when you set "hardwareProtected" value to true -var echsmkey = new CreateEcKeyOptions("ec-key-name", hardwareProtected: true); -KeyVaultKey ecKey = client.CreateEcKey(echsmkey); - -Console.WriteLine(ecKey.Name); -Console.WriteLine(ecKey.KeyType); -``` - -### Retrieve a key - -`GetKey` retrieves a key previously stored in the Azure Key Vault. - -```C# Snippet:RetrieveKey -KeyVaultKey key = client.GetKey("key-name"); - -Console.WriteLine(key.Name); -Console.WriteLine(key.KeyType); -``` - -### Update an existing key - -`UpdateKeyProperties` updates a key previously stored in the Azure Key Vault. - -```C# Snippet:UpdateKey -KeyVaultKey key = client.CreateKey("key-name", KeyType.Rsa); - -// You can specify additional application-specific metadata in the form of tags. -key.Properties.Tags["foo"] = "updated tag"; - -KeyVaultKey updatedKey = client.UpdateKeyProperties(key.Properties); - -Console.WriteLine(updatedKey.Name); -Console.WriteLine(updatedKey.Properties.Version); -Console.WriteLine(updatedKey.Properties.UpdatedOn); -``` - -### Delete a key - -`StartDeleteKey` starts a long-running operation to delete a key previously stored in the Azure Key Vault. -You can retrieve the key immediately without waiting for the operation to complete. -When [soft-delete][soft_delete] is not enabled for the Azure Key Vault, this operation permanently deletes the key. - -```C# Snippet:DeleteKey -DeleteKeyOperation operation = client.StartDeleteKey("key-name"); - -DeletedKey key = operation.Value; -Console.WriteLine(key.Name); -Console.WriteLine(key.DeletedOn); -``` - -### Delete and purge a key - -You will need to wait for the long-running operation to complete before trying to purge or recover the key. - -```C# Snippet:DeleteAndPurgeKey -DeleteKeyOperation operation = client.StartDeleteKey("key-name"); - -// You only need to wait for completion if you want to purge or recover the key. -while (!operation.HasCompleted) -{ - Thread.Sleep(2000); - - operation.UpdateStatus(); -} - -DeletedKey key = operation.Value; -client.PurgeDeletedKey(key.Name); -``` - -### List Keys - -This example lists all the keys in the specified Azure Key Vault. - -```C# Snippet:ListKeys -Pageable allKeys = client.GetPropertiesOfKeys(); - -foreach (KeyProperties keyProperties in allKeys) -{ - Console.WriteLine(keyProperties.Name); -} -``` - -### Encrypt and Decrypt - -This example creates a `CryptographyClient` and uses it to encrypt and decrypt with a key in Azure Key Vault. - -```C# Snippet:EncryptDecrypt -// Create a new cryptography client using the same Key Vault or Managed HSM endpoint, service version, -// and options as the KeyClient created earlier. -var cryptoClient = client.GetCryptographyClient(key.Name, key.Properties.Version); - -byte[] plaintext = Encoding.UTF8.GetBytes("A single block of plaintext"); - -// encrypt the data using the algorithm RSAOAEP -EncryptResult encryptResult = cryptoClient.Encrypt(EncryptionAlgorithm.RsaOaep, plaintext); - -// decrypt the encrypted data. -DecryptResult decryptResult = cryptoClient.Decrypt(EncryptionAlgorithm.RsaOaep, encryptResult.Ciphertext); -``` - -### Create a key asynchronously - -The asynchronous APIs are identical to their synchronous counterparts, but return with the typical "Async" suffix for asynchronous methods and return a Task. - -```C# Snippet:CreateKeyAsync -// Create a key of any type -KeyVaultKey key = await client.CreateKeyAsync("key-name", KeyType.Rsa); - -Console.WriteLine(key.Name); -Console.WriteLine(key.KeyType); - -// Create a software RSA key -var rsaCreateKey = new CreateRsaKeyOptions("rsa-key-name", hardwareProtected: false); -KeyVaultKey rsaKey = await client.CreateRsaKeyAsync(rsaCreateKey); - -Console.WriteLine(rsaKey.Name); -Console.WriteLine(rsaKey.KeyType); - -// Create a hardware Elliptic Curve key -// Because only premium Azure Key Vault supports HSM backed keys , please ensure your Azure Key Vault -// SKU is premium when you set "hardwareProtected" value to true -var echsmkey = new CreateEcKeyOptions("ec-key-name", hardwareProtected: true); -KeyVaultKey ecKey = await client.CreateEcKeyAsync(echsmkey); - -Console.WriteLine(ecKey.Name); -Console.WriteLine(ecKey.KeyType); -``` - -### List keys asynchronously - -Listing keys does not rely on awaiting the `GetPropertiesOfKeysAsync` method, but returns an `AsyncPageable` that you can use with the `await foreach` statement: - -```C# Snippet:ListKeysAsync -AsyncPageable allKeys = client.GetPropertiesOfKeysAsync(); - -await foreach (KeyProperties keyProperties in allKeys) -{ - Console.WriteLine(keyProperties.Name); -} -``` - -### Delete a key asynchronously - -When deleting a key asynchronously before you purge it, you can await the `WaitForCompletionAsync` method on the operation. -By default, this loops indefinitely but you can cancel it by passing a `CancellationToken`. - -```C# Snippet:DeleteAndPurgeKeyAsync -DeleteKeyOperation operation = await client.StartDeleteKeyAsync("key-name"); - -// You only need to wait for completion if you want to purge or recover the key. -await operation.WaitForCompletionAsync(); - -DeletedKey key = operation.Value; -await client.PurgeDeletedKeyAsync(key.Name); -``` - -## Troubleshooting - -See our [troubleshooting guide](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Keys_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Keys/TROUBLESHOOTING.md) -for details on how to diagnose various failure scenarios. - -### General - -When you interact with the Azure Key Vault key client library using the .NET SDK, errors returned by the service correspond to the same HTTP status codes returned for [REST API][keyvault_rest] requests. - -For example, if you try to retrieve a key that doesn't exist in your Azure Key Vault, a `404` error is returned, indicating "Not Found". - -```C# Snippet:KeyNotFound -try -{ - KeyVaultKey key = client.GetKey("some_key"); -} -catch (RequestFailedException ex) -{ - Console.WriteLine(ex.ToString()); -} -``` - -You will notice that additional information is logged, like the client request ID of the operation. - -```text -Message: - Azure.RequestFailedException : Service request failed. - Status: 404 (Not Found) -Content: - {"error":{"code":"KeyNotFound","message":"Key not found: some_key"}} - -Headers: - Cache-Control: no-cache - Pragma: no-cache - Server: Microsoft-IIS/10.0 - x-ms-keyvault-region: westus - x-ms-request-id: 625f870e-10ea-41e5-8380-282e5cf768f2 - x-ms-keyvault-service-version: 1.1.0.866 - x-ms-keyvault-network-info: addr=131.107.174.199;act_addr_fam=InterNetwork; - X-AspNet-Version: 4.0.30319 - X-Powered-By: ASP.NET - Strict-Transport-Security: max-age=31536000;includeSubDomains - X-Content-Type-Options: nosniff - Date: Tue, 18 Jun 2019 16:02:11 GMT - Content-Length: 75 - Content-Type: application/json; charset=utf-8 - Expires: -1 -``` - -## Next steps - -Several Azure Key Vault keys client library samples are available to you in this GitHub repository. These samples provide example code for additional scenarios commonly encountered while working with Azure Key Vault: - -* [Sample1_HelloWorld.md][hello_world_sample] - for working with Azure Key Vault, including: - * Create a key - * Get an existing key - * Update an existing key - * Delete a key - -* [Sample2_BackupAndRestore.md][backup_and_restore_sample] - Contains the code snippets working with Azure Key Vault keys, including: - * Backup and recover a key - -* [Sample3_GetKeys.md][get_keys_sample] - Example code for working with Azure Key Vault keys, including: - * Create keys - * List all keys in the Key Vault - * Update keys in the Key Vault - * List versions of a specified key - * Delete keys from the Key Vault - * List deleted keys in the Key Vault - -* [Sample4_EncryptDecrypt.md][encrypt_decrypt_sample] - Example code for performing cryptographic operations with Azure Key Vault keys, including: - * Encrypt and Decrypt data with the CryptographyClient - -* [Sample5_SignVerify.md][sign_verify_sample] - Example code for working with Azure Key Vault keys, including: - * Sign a precalculated digest and verify the signature with Sign and Verify - * Sign raw data and verify the signature with SignData and VerifyData - -* [Sample6_WrapUnwrap.md][wrap_unwrap_sample] - Example code for working with Azure Key Vault keys, including: - * Wrap and Unwrap a symmetric key - -### Additional Documentation - -* For more extensive documentation on Azure Key Vault, see the [API reference documentation][keyvault_rest]. -* For Secrets client library see [Secrets client library][secrets_client_library]. -* For Certificates client library see [Certificates client library][certificates_client_library]. - -## Contributing - -See the [CONTRIBUTING.md][contributing] for details on building, testing, and contributing to these libraries. - -This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) -declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). -Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][code_of_conduct]. -For more information see the [Code of Conduct FAQ][coc_faq] or contact opencode@microsoft.com with any additional questions or comments. - - -[API_reference]: https://learn.microsoft.com/dotnet/api/azure.security.keyvault.keys -[azure_cli]: https://learn.microsoft.com/cli/azure -[azure_identity]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Keys_4.5.0-beta.1/sdk/identity/Azure.Identity -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[backup_and_restore_sample]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Keys_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Keys/samples/Sample2_BackupAndRestore.md -[certificates_client_library]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Keys_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Certificates -[code_of_conduct]: https://opensource.microsoft.com/codeofconduct/ -[get_keys_sample]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Keys_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Keys/samples/Sample3_GetKeys.md -[encrypt_decrypt_sample]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Keys_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Keys/samples/Sample4_EncryptDecrypt.md -[sign_verify_sample]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Keys_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Keys/samples/Sample5_SignVerify.md -[wrap_unwrap_sample]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Keys_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Keys/samples/Sample6_WrapUnwrap.md -[hello_world_sample]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Keys_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Keys/samples/Sample1_HelloWorld.md -[key_client_class]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Keys_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Keys/src/KeyClient.cs -[crypto_client_class]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Keys_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Keys/src/Cryptography/CryptographyClient.cs -[key_client_nuget_package]: https://www.nuget.org/packages/Azure.Security.KeyVault.Keys/ -[key_client_samples]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Keys_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Keys/samples -[key_client_src]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Keys_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Keys/src -[keyvault_docs]: https://learn.microsoft.com/azure/key-vault/ -[keyvault_rest]: https://learn.microsoft.com/rest/api/keyvault/ -[JWK]: https://tools.ietf.org/html/rfc7517 -[nuget]: https://www.nuget.org/ -[secrets_client_library]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Keys_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Secrets -[soft_delete]: https://learn.microsoft.com/azure/key-vault/general/soft-delete-overview -[DefaultAzureCredential]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Keys_4.5.0-beta.1/sdk/identity/Azure.Identity/README.md#defaultazurecredential -[contributing]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Keys_4.5.0-beta.1/sdk/keyvault/CONTRIBUTING.md -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[migration_guide]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Keys_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Keys/MigrationGuide.md -[access_policy]: https://learn.microsoft.com/azure/key-vault/general/assign-access-policy -[rbac_guide]: https://learn.microsoft.com/azure/key-vault/general/rbac-guide - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Fkeyvault%2FAzure.Security.KeyVault.Keys%2FREADME.png) - diff --git a/api/overview/azure/preview/security.keyvault.secrets-readme.md b/api/overview/azure/preview/security.keyvault.secrets-readme.md deleted file mode 100644 index d98ab96ccb0a..000000000000 --- a/api/overview/azure/preview/security.keyvault.secrets-readme.md +++ /dev/null @@ -1,366 +0,0 @@ ---- -title: Azure Key Vault secret client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.Security.KeyVault.Secrets, keyvault -author: heaths -ms.author: heaths -ms.date: 11/09/2022 -ms.topic: reference -ms.devlang: dotnet -ms.service: keyvault ---- -# Azure Key Vault secret client library for .NET - version 4.5.0-beta.1 - - -Azure Key Vault is a cloud service that provides a secure storage of secrets, such as passwords and database connection strings. - -The Azure Key Vault secrets client library allows you to securely store and control the access to tokens, passwords, API keys, and other secrets. This library offers operations to create, retrieve, update, delete, purge, backup, restore, and list the secrets and its versions. - -[Source code][secret_client_src] | [Package (NuGet)][secret_client_nuget_package] | [API reference documentation][API_reference] | [Product documentation][keyvault_docs] | [Samples][secret_client_samples] | [Migration guide][migration_guide] - -## Getting started - -### Install the package - -Install the Azure Key Vault secrets client library for .NET with [NuGet][nuget]: - -```dotnetcli -dotnet add package Azure.Security.KeyVault.Secrets -``` - -### Prerequisites - -* An [Azure subscription][azure_sub]. -* An existing Azure Key Vault. If you need to create an Azure Key Vault, you can use the Azure Portal or [Azure CLI][azure_cli]. -* Authorization to an existing Azure Key Vault using either [RBAC][rbac_guide] (recommended) or [access control][access_policy]. - -If you use the Azure CLI, replace `` and `` with your own, unique names: - -```PowerShell -az keyvault create --resource-group --name -``` - -### Authenticate the client - -In order to interact with the Azure Key Vault service, you'll need to create an instance of the [SecretClient][secret_client_class] class. You need a **vault url**, which you may see as "DNS Name" in the portal, -and credentials to instantiate a client object. - -The examples shown below use a [`DefaultAzureCredential`][DefaultAzureCredential], which is appropriate for most scenarios including local development and production environments. -Additionally, we recommend using a managed identity for authentication in production environments. -You can find more information on different ways of authenticating and their corresponding credential types in the [Azure Identity][azure_identity] documentation. - -To use the `DefaultAzureCredential` provider shown below, -or other credential providers provided with the Azure SDK, you must first install the Azure.Identity package: - -```dotnetcli -dotnet add package Azure.Identity -``` - -Instantiate a `DefaultAzureCredential` to pass to the client. -The same instance of a token credential can be used with multiple clients if they will be authenticating with the same identity. - -```C# Snippet:CreateSecretClient -// Create a new secret client using the default credential from Azure.Identity using environment variables previously set, -// including AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, and AZURE_TENANT_ID. -var client = new SecretClient(vaultUri: new Uri(vaultUrl), credential: new DefaultAzureCredential()); - -// Create a new secret using the secret client. -KeyVaultSecret secret = client.SetSecret("secret-name", "secret-value"); - -// Retrieve a secret using the secret client. -secret = client.GetSecret("secret-name"); -``` - -## Key concepts - -### KeyVaultSecret - -A `KeyVaultSecret` is the fundamental resource within Azure Key Vault. From a developer's perspective, Azure Key Vault APIs accept and return secret values as strings. - -### SecretClient - -A `SecretClient` provides both synchronous and asynchronous operations in the SDK allowing for selection of a client based on an application's use case. -Once you've initialized a `SecretClient`, you can interact with secrets in Azure Key Vault. - -### Thread safety - -We guarantee that all client instance methods are thread-safe and independent of each other ([guideline](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-service-methods-thread-safety)). This ensures that the recommendation of reusing client instances is always safe, even across threads. - -### Additional concepts - -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Secrets_4.5.0-beta.1/sdk/core/Azure.Core/README.md#configuring-service-clients-using-clientoptions) | -[Accessing the response](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Secrets_4.5.0-beta.1/sdk/core/Azure.Core/README.md#accessing-http-response-details-using-responset) | -[Long-running operations](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Secrets_4.5.0-beta.1/sdk/core/Azure.Core/README.md#consuming-long-running-operations-using-operationt) | -[Handling failures](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Secrets_4.5.0-beta.1/sdk/core/Azure.Core/README.md#reporting-errors-requestfailedexception) | -[Diagnostics](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Secrets_4.5.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md) | -[Mocking](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Secrets_4.5.0-beta.1/sdk/core/Azure.Core/README.md#mocking) | -[Client lifetime](https://devblogs.microsoft.com/azure-sdk/lifetime-management-and-thread-safety-guarantees-of-azure-sdk-net-clients/) - - -## Examples - -The Azure.Security.KeyVault.Secrets package supports synchronous and asynchronous APIs. - -The following section provides several code snippets using the `client` created above, covering some of the most common Azure Key Vault secret service related tasks: - -### Sync examples - -* [Create a secret](#create-a-secret) -* [Retrieve a secret](#retrieve-a-secret) -* [Update an existing secret](#update-an-existing-secret) -* [Delete a secret](#delete-a-secret) -* [Delete and purge a secret](#delete-and-purge-a-secret) -* [List Secrets](#list-secrets) - -### Async examples - -* [Create a secret asynchronously](#create-a-secret-asynchronously) -* [List secrets asynchronously](#list-secrets-asynchronously) -* [Delete a secret asynchronously](#delete-a-secret-asynchronously) - -### Create a secret - -`SetSecret` creates a `KeyVaultSecret` to be stored in the Azure Key Vault. If a secret with the same name already exists, then a new version of the secret is created. - -```C# Snippet:CreateSecret -KeyVaultSecret secret = client.SetSecret("secret-name", "secret-value"); - -Console.WriteLine(secret.Name); -Console.WriteLine(secret.Value); -Console.WriteLine(secret.Properties.Version); -Console.WriteLine(secret.Properties.Enabled); -``` - -### Retrieve a secret - -`GetSecret` retrieves a secret previously stored in the Azure Key Vault. - -```C# Snippet:RetrieveSecret -KeyVaultSecret secret = client.GetSecret("secret-name"); - -Console.WriteLine(secret.Name); -Console.WriteLine(secret.Value); -``` - -### Update an existing secret - -`UpdateSecretProperties` updates a secret previously stored in the Azure Key Vault. Only the attributes of the secret are updated. To update the value, call `SecretClient.SetSecret` on a secret with the same name. - -```C# Snippet:UpdateSecret -KeyVaultSecret secret = client.GetSecret("secret-name"); - -// Clients may specify the content type of a secret to assist in interpreting the secret data when its retrieved. -secret.Properties.ContentType = "text/plain"; - -// You can specify additional application-specific metadata in the form of tags. -secret.Properties.Tags["foo"] = "updated tag"; - -SecretProperties updatedSecretProperties = client.UpdateSecretProperties(secret.Properties); - -Console.WriteLine(updatedSecretProperties.Name); -Console.WriteLine(updatedSecretProperties.Version); -Console.WriteLine(updatedSecretProperties.ContentType); -``` - -### Delete a secret - -`StartDeleteSecret` starts a long-running operation to delete a secret previously stored in the Azure Key Vault. -You can retrieve the secret immediately without waiting for the operation to complete. -When [soft-delete][soft_delete] is not enabled for the Azure Key Vault, this operation permanently deletes the secret. - -```C# Snippet:DeleteSecret -DeleteSecretOperation operation = client.StartDeleteSecret("secret-name"); - -DeletedSecret secret = operation.Value; -Console.WriteLine(secret.Name); -Console.WriteLine(secret.Value); -``` - -### Delete and purge a secret - -You will need to wait for the long-running operation to complete before trying to purge or recover the secret. -You can do this by calling `UpdateStatus` in a loop as shown below: - -```C# Snippet:DeleteAndPurgeSecret -DeleteSecretOperation operation = client.StartDeleteSecret("secret-name"); - -// You only need to wait for completion if you want to purge or recover the secret. -// You should call `UpdateStatus` in another thread or after doing additional work like pumping messages. -while (!operation.HasCompleted) -{ - Thread.Sleep(2000); - - operation.UpdateStatus(); -} - -DeletedSecret secret = operation.Value; -client.PurgeDeletedSecret(secret.Name); -``` - -### List secrets - -This example lists all the secrets in the specified Azure Key Vault. The value is not returned when listing all secrets. You will need to call `SecretClient.GetSecret` to retrieve the value. - -```C# Snippet:ListSecrets -Pageable allSecrets = client.GetPropertiesOfSecrets(); - -foreach (SecretProperties secretProperties in allSecrets) -{ - Console.WriteLine(secretProperties.Name); -} -``` - -### Create a secret asynchronously - -The asynchronous APIs are identical to their synchronous counterparts, but return with the typical "Async" suffix for asynchronous methods and return a `Task`. - -This example creates a secret in the Azure Key Vault with the specified optional arguments. - -```C# Snippet:CreateSecretAsync -KeyVaultSecret secret = await client.SetSecretAsync("secret-name", "secret-value"); - -Console.WriteLine(secret.Name); -Console.WriteLine(secret.Value); -``` - -### List secrets asynchronously - -Listing secrets does not rely on awaiting the `GetPropertiesOfSecretsAsync` method, but returns an `AsyncPageable` that you can use with the `await foreach` statement: - -```C# Snippet:ListSecretsAsync -AsyncPageable allSecrets = client.GetPropertiesOfSecretsAsync(); - -await foreach (SecretProperties secretProperties in allSecrets) -{ - Console.WriteLine(secretProperties.Name); -} -``` - -### Delete a secret asynchronously - -When deleting a secret asynchronously before you purge it, you can await the `WaitForCompletionAsync` method on the operation. -By default, this loops indefinitely but you can cancel it by passing a `CancellationToken`. - -```C# Snippet:DeleteAndPurgeSecretAsync -DeleteSecretOperation operation = await client.StartDeleteSecretAsync("secret-name"); - -// You only need to wait for completion if you want to purge or recover the secret. -await operation.WaitForCompletionAsync(); - -DeletedSecret secret = operation.Value; -await client.PurgeDeletedSecretAsync(secret.Name); -``` - -## Troubleshooting - -See our [troubleshooting guide](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Secrets_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Secrets/TROUBLESHOOTING.md) -for details on how to diagnose various failure scenarios. - -### General - -When you interact with the Azure Key Vault secret client library using the .NET SDK, errors returned by the service correspond to the same HTTP status codes returned for [REST API][keyvault_rest] requests. - -For example, if you try to retrieve a secret that doesn't exist in your Azure Key Vault, a `404` error is returned, indicating `Not Found`. - -```C# Snippet:SecretNotFound -try -{ - KeyVaultSecret secret = client.GetSecret("some_secret"); -} -catch (RequestFailedException ex) -{ - Console.WriteLine(ex.ToString()); -} -``` - -You will notice that additional information is logged, like the Client Request ID of the operation. - -```text -Message: - Azure.RequestFailedException : Service request failed. - Status: 404 (Not Found) -Content: - {"error":{"code":"SecretNotFound","message":"Secret not found: some_secret"}} - -Headers: - Cache-Control: no-cache - Pragma: no-cache - Server: Microsoft-IIS/10.0 - x-ms-keyvault-region: westus - x-ms-request-id: 625f870e-10ea-41e5-8380-282e5cf768f2 - x-ms-keyvault-service-version: 1.1.0.866 - x-ms-keyvault-network-info: addr=131.107.174.199;act_addr_fam=InterNetwork; - X-AspNet-Version: 4.0.30319 - X-Powered-By: ASP.NET - Strict-Transport-Security: max-age=31536000;includeSubDomains - X-Content-Type-Options: nosniff - Date: Tue, 18 Jun 2019 16:02:11 GMT - Content-Length: 75 - Content-Type: application/json; charset=utf-8 - Expires: -1 -``` - -## Next steps - -Several Azure Key Vault secrets client library samples are available to you in this GitHub repository. These samples provide example code for additional scenarios commonly encountered while working with Azure Key Vault: - -* [Sample1_HelloWorld.md][hello_world_sample] - for working with Azure Key Vault, including: - * Create a secret - * Get an existing secret - * Update an existing secret - * Delete secret - -* [Sample2_BackupAndRestore.md][backup_and_restore_sample] - contains the code snippets working with Azure Key Vault secrets, including: - * Backup and recover a secret - -* [Sample3_GetSecrets.md][get_secrets_sample] - example code for working with Azure Key Vault secrets, including: - * Create secrets - * List all secrets in the Key Vault - * Update secrets in the Key Vault - * List versions of a specified secret - * Delete secrets from the Key Vault - * List deleted secrets in the Key Vault - -### Additional Documentation - -* For more extensive documentation on Azure Key Vault, see the [API reference documentation][keyvault_rest]. -* For Keys client library see [Keys client library][keys_client_library]. -* For Certificates client library see [Certificates client library][certificates_client_library]. - -## Contributing - -See the [CONTRIBUTING.md][contributing] for details on building, testing, and contributing to these libraries. - -This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit . - -When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA. - -This project has adopted the [Microsoft Open Source Code of Conduct][code_of_conduct]. For more information see the [Code of Conduct FAQ][coc_faq] or contact opencode@microsoft.com with any additional questions or comments. - - -[API_reference]: https://learn.microsoft.com/dotnet/api/azure.security.keyvault.secrets -[azure_cli]: https://learn.microsoft.com/cli/azure -[azure_identity]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Secrets_4.5.0-beta.1/sdk/identity/Azure.Identity -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[backup_and_restore_sample]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Secrets_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Secrets/samples/Sample2_BackupAndRestore.md -[certificates_client_library]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Secrets_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Certificates -[code_of_conduct]: https://opensource.microsoft.com/codeofconduct/ -[get_secrets_sample]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Secrets_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Secrets/samples/Sample3_GetSecrets.md -[hello_world_sample]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Secrets_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Secrets/samples/Sample1_HelloWorld.md -[keys_client_library]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Secrets_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Keys -[keyvault_docs]: https://learn.microsoft.com/azure/key-vault/ -[keyvault_rest]: https://learn.microsoft.com/rest/api/keyvault/ -[nuget]: https://www.nuget.org/ -[secret_client_class]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Secrets_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Secrets/src/SecretClient.cs -[secret_client_nuget_package]: https://www.nuget.org/packages/Azure.Security.KeyVault.Secrets/ -[secret_client_samples]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Secrets_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Secrets/samples -[secret_client_src]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Security.KeyVault.Secrets_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Secrets/src -[soft_delete]: https://learn.microsoft.com/azure/key-vault/general/soft-delete-overview -[DefaultAzureCredential]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Secrets_4.5.0-beta.1/sdk/identity/Azure.Identity/README.md#defaultazurecredential -[contributing]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Secrets_4.5.0-beta.1/sdk/keyvault/CONTRIBUTING.md -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[migration_guide]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Security.KeyVault.Secrets_4.5.0-beta.1/sdk/keyvault/Azure.Security.KeyVault.Secrets/MigrationGuide.md -[access_policy]: https://learn.microsoft.com/azure/key-vault/general/assign-access-policy -[rbac_guide]: https://learn.microsoft.com/azure/key-vault/general/rbac-guide - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Fkeyvault%2FAzure.Security.KeyVault.Secrets%2FREADME.png) - diff --git a/api/overview/azure/preview/security.md b/api/overview/azure/preview/security.md index f28676dc27b8..deea566c4378 100644 --- a/api/overview/azure/preview/security.md +++ b/api/overview/azure/preview/security.md @@ -3,7 +3,7 @@ title: Azure Security SDK for .NET description: Reference for Azure Security SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: security diff --git a/api/overview/azure/preview/service-bus-index.md b/api/overview/azure/preview/service-bus-index.md index 222d41fced1b..ec578271aac3 100644 --- a/api/overview/azure/preview/service-bus-index.md +++ b/api/overview/azure/preview/service-bus-index.md @@ -1,4 +1,3 @@ | Reference | Package | Source | |---|---|---| -|[Service Bus](messaging.servicebus-readme.md)|[Azure.Messaging.ServiceBus](https://www.nuget.org/packages/Azure.Messaging.ServiceBus)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/servicebus/Azure.Messaging.ServiceBus)| |[Resource Management - Service Bus](resourcemanager.servicebus-readme.md)|[Azure.ResourceManager.ServiceBus](https://www.nuget.org/packages/Azure.ResourceManager.ServiceBus)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/servicebus/Azure.ResourceManager.ServiceBus)| diff --git a/api/overview/azure/preview/service-bus.md b/api/overview/azure/preview/service-bus.md index 03b1d92fec68..ed5296e336ea 100644 --- a/api/overview/azure/preview/service-bus.md +++ b/api/overview/azure/preview/service-bus.md @@ -3,7 +3,7 @@ title: Azure Service Bus SDK for .NET description: Reference for Azure Service Bus SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: servicebus diff --git a/api/overview/azure/preview/service-fabric.md b/api/overview/azure/preview/service-fabric.md index 6302739fa17b..9d00c5f2150d 100644 --- a/api/overview/azure/preview/service-fabric.md +++ b/api/overview/azure/preview/service-fabric.md @@ -3,7 +3,7 @@ title: Azure Service Fabric SDK for .NET description: Reference for Azure Service Fabric SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: servicefabric diff --git a/api/overview/azure/preview/service-linker.md b/api/overview/azure/preview/service-linker.md index 935583d2f9ec..664b67f38743 100644 --- a/api/overview/azure/preview/service-linker.md +++ b/api/overview/azure/preview/service-linker.md @@ -3,7 +3,7 @@ title: Azure Service Linker SDK for .NET description: Reference for Azure Service Linker SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: servicelinker diff --git a/api/overview/azure/preview/service-networking.md b/api/overview/azure/preview/service-networking.md index ebc59811e70f..ca993ad73767 100644 --- a/api/overview/azure/preview/service-networking.md +++ b/api/overview/azure/preview/service-networking.md @@ -3,7 +3,7 @@ title: Azure Service Networking SDK for .NET description: Reference for Azure Service Networking SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: servicenetworking diff --git a/api/overview/azure/preview/signalr.md b/api/overview/azure/preview/signalr.md index 8bcab448723a..09a32884e5ac 100644 --- a/api/overview/azure/preview/signalr.md +++ b/api/overview/azure/preview/signalr.md @@ -3,7 +3,7 @@ title: Azure SignalR SDK for .NET description: Reference for Azure SignalR SDK for .NET author: sffamily ms.author: zhshang -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: signalr diff --git a/api/overview/azure/preview/sphere.md b/api/overview/azure/preview/sphere.md index 3112fac08c5e..dc4909419a2b 100644 --- a/api/overview/azure/preview/sphere.md +++ b/api/overview/azure/preview/sphere.md @@ -3,7 +3,7 @@ title: Azure Sphere SDK for .NET description: Reference for Azure Sphere SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: sphere diff --git a/api/overview/azure/preview/sql-virtual-machine.md b/api/overview/azure/preview/sql-virtual-machine.md index 989730e75c51..6224450fd116 100644 --- a/api/overview/azure/preview/sql-virtual-machine.md +++ b/api/overview/azure/preview/sql-virtual-machine.md @@ -3,7 +3,7 @@ title: Azure SQL Virtual Machine SDK for .NET description: Reference for Azure SQL Virtual Machine SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: sqlvirtualmachine diff --git a/api/overview/azure/preview/sql.md b/api/overview/azure/preview/sql.md index 80242b6863f8..45ceca2cc472 100644 --- a/api/overview/azure/preview/sql.md +++ b/api/overview/azure/preview/sql.md @@ -3,7 +3,7 @@ title: Azure SQL SDK for .NET description: Reference for Azure SQL SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: sql diff --git a/api/overview/azure/preview/storage-index.md b/api/overview/azure/preview/storage-index.md index b0d319c3e9c5..685bdeb4345e 100644 --- a/api/overview/azure/preview/storage-index.md +++ b/api/overview/azure/preview/storage-index.md @@ -1,15 +1,9 @@ | Reference | Package | Source | |---|---|---| |[Data Movement - Blobs](storage.datamovement.blobs-readme.md)|[Azure.Storage.DataMovement.Blobs](https://www.nuget.org/packages/Azure.Storage.DataMovement.Blobs)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storage/Azure.Storage.DataMovement.Blobs)| -|[Storage - Blobs](storage.blobs-readme.md)|[Azure.Storage.Blobs](https://www.nuget.org/packages/Azure.Storage.Blobs)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storage/Azure.Storage.Blobs)| -|[Storage - Blobs Batch](storage.blobs.batch-readme.md)|[Azure.Storage.Blobs.Batch](https://www.nuget.org/packages/Azure.Storage.Blobs.Batch)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storage/Azure.Storage.Blobs.Batch)| |[Storage - Blobs ChangeFeed](storage.blobs.changefeed-readme.md)|[Azure.Storage.Blobs.ChangeFeed](https://www.nuget.org/packages/Azure.Storage.Blobs.ChangeFeed)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storage/Azure.Storage.Blobs.ChangeFeed)| |[Data Movement](storage.datamovement-readme.md)|[Azure.Storage.DataMovement](https://www.nuget.org/packages/Azure.Storage.DataMovement)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storage/Azure.Storage.DataMovement)| -|[Storage - Files Data Lake](storage.files.datalake-readme.md)|[Azure.Storage.Files.DataLake](https://www.nuget.org/packages/Azure.Storage.Files.DataLake)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storage/Azure.Storage.Files.DataLake)| -|[Storage - Files Share](storage.files.shares-readme.md)|[Azure.Storage.Files.Shares](https://www.nuget.org/packages/Azure.Storage.Files.Shares)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storage/Azure.Storage.Files.Shares)| -|[Storage - Queues](storage.queues-readme.md)|[Azure.Storage.Queues](https://www.nuget.org/packages/Azure.Storage.Queues)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storage/Azure.Storage.Queues)| |Storage - Files Data Lake|[Microsoft.Azure.DataLake.Store](https://www.nuget.org/packages/Microsoft.Azure.DataLake.Store)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/)| -|[Storage - Common](storage.common-readme.md)|[Azure.Storage.Common](https://www.nuget.org/packages/Azure.Storage.Common)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storage/Azure.Storage.Common)| |[Resource Management - Storage](resourcemanager.storage-readme.md)|[Azure.ResourceManager.Storage](https://www.nuget.org/packages/Azure.ResourceManager.Storage)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storage/Azure.ResourceManager.Storage)| |[Resource Management - Storage Cache](resourcemanager.storagecache-readme.md)|[Azure.ResourceManager.StorageCache](https://www.nuget.org/packages/Azure.ResourceManager.StorageCache)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storagecache/Azure.ResourceManager.StorageCache)| |[Resource Management - Storage Mover](resourcemanager.storagemover-readme.md)|[Azure.ResourceManager.StorageMover](https://www.nuget.org/packages/Azure.ResourceManager.StorageMover)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/storagemover/Azure.ResourceManager.StorageMover)| diff --git a/api/overview/azure/preview/storage.blobs-readme.md b/api/overview/azure/preview/storage.blobs-readme.md deleted file mode 100644 index 8450fcdb48a3..000000000000 --- a/api/overview/azure/preview/storage.blobs-readme.md +++ /dev/null @@ -1,243 +0,0 @@ ---- -title: Azure Storage Blobs client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.Storage.Blobs, storage -author: seanmcc-msft -ms.author: seanmcc -ms.date: 08/08/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: storage ---- -# Azure Storage Blobs client library for .NET - version 12.18.0-beta.1 - - -> Server Version: 2021-02-12, 2020-12-06, 2020-10-02, 2020-08-04, 2020-06-12, 2020-04-08, 2020-02-10, 2019-12-12, 2019-07-07, and 2019-02-02 - -Azure Blob storage is Microsoft's object storage solution for the cloud. Blob -storage is optimized for storing massive amounts of unstructured data. -Unstructured data is data that does not adhere to a particular data model or -definition, such as text or binary data. - -[Source code][source] | [Package (NuGet)][package] | [API reference documentation][docs] | [REST API documentation][rest_docs] | [Product documentation][product_docs] - -## Getting started - -### Install the package - -Install the Azure Storage Blobs client library for .NET with [NuGet][nuget]: - -```dotnetcli -dotnet add package Azure.Storage.Blobs -``` - -### Prerequisites - -You need an [Azure subscription][azure_sub] and a -[Storage Account][storage_account_docs] to use this package. - -To create a new Storage Account, you can use the [Azure Portal][storage_account_create_portal], -[Azure PowerShell][storage_account_create_ps], or the [Azure CLI][storage_account_create_cli]. -Here's an example using the Azure CLI: - -```Powershell -az storage account create --name MyStorageAccount --resource-group MyResourceGroup --location westus --sku Standard_LRS -``` - -### Authenticate the client - -In order to interact with the Azure Blobs Storage service, you'll need to create an instance of the BlobServiceClient class. The [Azure Identity library][identity] makes it easy to add Azure Active Directory support for authenticating Azure SDK clients with their corresponding Azure services. - -```C# Snippet:SampleSnippetsBlob_Auth -// Create a BlobServiceClient that will authenticate through Active Directory -Uri accountUri = new Uri("https://MYSTORAGEACCOUNT.blob.core.windows.net/"); -BlobServiceClient client = new BlobServiceClient(accountUri, new DefaultAzureCredential()); -``` - -Learn more about enabling Azure Active Directory for authentication with Azure Storage in [our documentation][storage_ad] and [our samples](#next-steps). - -## Key concepts - -Blob storage is designed for: - -- Serving images or documents directly to a browser. -- Storing files for distributed access. -- Streaming video and audio. -- Writing to log files. -- Storing data for backup and restore, disaster recovery, and archiving. -- Storing data for analysis by an on-premises or Azure-hosted service. - -Blob storage offers three types of resources: - -- The _storage account_ used via `BlobServiceClient` -- A _container_ in the storage account used via `BlobContainerClient` -- A _blob_ in a container used via `BlobClient` - -Learn more about options for authentication _(including Connection Strings, Shared Key, Shared Key Signatures, Active Directory, and anonymous public access)_ [in our samples.](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Blobs_12.18.0-beta.1/sdk/storage/Azure.Storage.Blobs/samples/Sample02_Auth.cs) - -### Thread safety -We guarantee that all client instance methods are thread-safe and independent of each other ([guideline](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-service-methods-thread-safety)). This ensures that the recommendation of reusing client instances is always safe, even across threads. - -### Additional concepts - -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Blobs_12.18.0-beta.1/sdk/core/Azure.Core/README.md#configuring-service-clients-using-clientoptions) | -[Accessing the response](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Blobs_12.18.0-beta.1/sdk/core/Azure.Core/README.md#accessing-http-response-details-using-responset) | -[Long-running operations](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Blobs_12.18.0-beta.1/sdk/core/Azure.Core/README.md#consuming-long-running-operations-using-operationt) | -[Handling failures](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Blobs_12.18.0-beta.1/sdk/core/Azure.Core/README.md#reporting-errors-requestfailedexception) | -[Diagnostics](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Blobs_12.18.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md) | -[Mocking](https://learn.microsoft.com/dotnet/azure/sdk/unit-testing-mocking) | -[Client lifetime](https://devblogs.microsoft.com/azure-sdk/lifetime-management-and-thread-safety-guarantees-of-azure-sdk-net-clients/) - - -## Examples - -### Uploading a blob - -```C# Snippet:SampleSnippetsBlob_Upload -// Get a connection string to our Azure Storage account. You can -// obtain your connection string from the Azure Portal (click -// Access Keys under Settings in the Portal Storage account blade) -// or using the Azure CLI with: -// -// az storage account show-connection-string --name --resource-group -// -// And you can provide the connection string to your application -// using an environment variable. - -string connectionString = ""; -string containerName = "sample-container"; -string blobName = "sample-blob"; -string filePath = "sample-file"; - -// Get a reference to a container named "sample-container" and then create it -BlobContainerClient container = new BlobContainerClient(connectionString, containerName); -container.Create(); - -// Get a reference to a blob named "sample-file" in a container named "sample-container" -BlobClient blob = container.GetBlobClient(blobName); - -// Upload local file -blob.Upload(filePath); -``` - -### Downloading a blob - -```C# Snippet:SampleSnippetsBlob_Download -// Get a temporary path on disk where we can download the file -string downloadPath = "hello.jpg"; - -// Download the public blob at https://aka.ms/bloburl -new BlobClient(new Uri("https://aka.ms/bloburl")).DownloadTo(downloadPath); -``` - -### Enumerating blobs - -```C# Snippet:SampleSnippetsBlob_List -// Get a connection string to our Azure Storage account. -string connectionString = ""; -string containerName = "sample-container"; -string filePath = "hello.jpg"; - -// Get a reference to a container named "sample-container" and then create it -BlobContainerClient container = new BlobContainerClient(connectionString, containerName); -container.Create(); - -// Upload a few blobs so we have something to list -container.UploadBlob("first", File.OpenRead(filePath)); -container.UploadBlob("second", File.OpenRead(filePath)); -container.UploadBlob("third", File.OpenRead(filePath)); - -// Print out all the blob names -foreach (BlobItem blob in container.GetBlobs()) -{ - Console.WriteLine(blob.Name); -} -``` - -### Async APIs - -We fully support both synchronous and asynchronous APIs. -```C# Snippet:SampleSnippetsBlob_Async -// Get a temporary path on disk where we can download the file -string downloadPath = "hello.jpg"; - -// Download the public blob at https://aka.ms/bloburl -await new BlobClient(new Uri("https://aka.ms/bloburl")).DownloadToAsync(downloadPath); -``` - -## Troubleshooting - -All Blob service operations will throw a -[RequestFailedException][RequestFailedException] on failure with -helpful [`ErrorCode`s][error_codes]. Many of these errors are recoverable. - -```C# Snippet:SampleSnippetsBlob_Troubleshooting -// Get a connection string to our Azure Storage account. -string connectionString = ""; -string containerName = "sample-container"; - -// Try to delete a container named "sample-container" and avoid any potential race conditions -// that might arise by checking if the container is already deleted or is in the process -// of being deleted. -BlobContainerClient container = new BlobContainerClient(connectionString, containerName); - -try -{ - container.Delete(); -} -catch (RequestFailedException ex) - when (ex.ErrorCode == BlobErrorCode.ContainerBeingDeleted || - ex.ErrorCode == BlobErrorCode.ContainerNotFound) -{ - // Ignore any errors if the container being deleted or if it has already been deleted -} -``` - -## Next steps - -Get started with our [Blob samples][samples]: - -1. [Hello World](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Blobs_12.18.0-beta.1/sdk/storage/Azure.Storage.Blobs/samples/Sample01a_HelloWorld.cs): Upload, download, and list blobs (or [asynchronously](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Blobs_12.18.0-beta.1/sdk/storage/Azure.Storage.Blobs/samples/Sample01b_HelloWorldAsync.cs)) -2. [Auth](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Blobs_12.18.0-beta.1/sdk/storage/Azure.Storage.Blobs/samples/Sample02_Auth.cs): Authenticate with connection strings, public access, shared keys, shared access signatures, and Azure Active Directory. - -## Contributing - -See the [Storage CONTRIBUTING.md][storage_contrib] for details on building, -testing, and contributing to this library. - -This project welcomes contributions and suggestions. Most contributions require -you to agree to a Contributor License Agreement (CLA) declaring that you have -the right to, and actually do, grant us the rights to use your contribution. For -details, visit [cla.microsoft.com][cla]. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. -For more information see the [Code of Conduct FAQ][coc_faq] -or contact [opencode@microsoft.com][coc_contact] with any -additional questions or comments. - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Fstorage%2FAzure.Storage.Blobs%2FREADME.png) - - -[source]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.18.0-beta.1/sdk/storage/Azure.Storage.Blobs/src -[package]: https://www.nuget.org/packages/Azure.Storage.Blobs/ -[docs]: /dotnet/api/azure.storage.blobs -[rest_docs]: /rest/api/storageservices/blob-service-rest-api -[product_docs]: /azure/storage/blobs/storage-blobs-overview -[nuget]: https://www.nuget.org/ -[storage_account_docs]: /azure/storage/common/storage-account-overview -[storage_account_create_ps]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-powershell -[storage_account_create_cli]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-cli -[storage_account_create_portal]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-portal -[azure_cli]: /cli/azure -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[identity]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.18.0-beta.1/sdk/identity/Azure.Identity/README.md -[storage_ad]: /azure/storage/common/storage-auth-aad -[storage_ad_sample]: samples/Sample02c_Auth_ActiveDirectory.cs -[RequestFailedException]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs_12.18.0-beta.1/sdk/core/Azure.Core/src/RequestFailedException.cs -[error_codes]: /rest/api/storageservices/blob-service-error-codes -[samples]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Blobs_12.18.0-beta.1/sdk/storage/Azure.Storage.Blobs/samples/ -[storage_contrib]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Blobs_12.18.0-beta.1/sdk/storage/CONTRIBUTING.md -[cla]: https://cla.microsoft.com -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[coc_contact]: mailto:opencode@microsoft.com - diff --git a/api/overview/azure/preview/storage.blobs.batch-readme.md b/api/overview/azure/preview/storage.blobs.batch-readme.md deleted file mode 100644 index 75ff20caf76a..000000000000 --- a/api/overview/azure/preview/storage.blobs.batch-readme.md +++ /dev/null @@ -1,241 +0,0 @@ ---- -title: Azure Storage Blobs Batch client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.Storage.Blobs.Batch, storage -author: seanmcc-msft -ms.author: seanmcc -ms.date: 08/08/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: storage ---- -# Azure Storage Blobs Batch client library for .NET - version 12.15.0-beta.1 - - -> Server Version: 2021-02-12, 2020-12-06, 2020-10-02, 2020-08-04, 2020-06-12, 2020-04-08, 2020-02-10, 2019-12-12, 2019-07-07, and 2019-02-02 - -Azure Blob storage is Microsoft's object storage solution for the cloud. Blob -storage is optimized for storing massive amounts of unstructured data. This -library allows you to batch multiple Azure Blob Storage operations in a single request. - -[Source code][source] | [Package (NuGet)][package] | [API reference documentation][docs] | [REST API documentation][rest_docs] | [Product documentation][product_docs] - -## Getting started - -### Install the package - -Install the Azure Storage Blobs Batch client library for .NET with [NuGet][nuget]: - -```dotnetcli -dotnet add package Azure.Storage.Blobs.Batch -``` - -### Prerequisites - -You need an [Azure subscription][azure_sub] and a -[Storage Account][storage_account_docs] to use this package. - -To create a new Storage Account, you can use the [Azure Portal][storage_account_create_portal], -[Azure PowerShell][storage_account_create_ps], or the [Azure CLI][storage_account_create_cli]. -Here's an example using the Azure CLI: - -```Powershell -az storage account create --name MyStorageAccount --resource-group MyResourceGroup --location westus --sku Standard_LRS -``` - -### Authenticate the client - -In order to interact with the Azure Blobs Storage service for batch operations, you'll need to create an instance of the BlobServiceClient class. The [Azure Identity library][identity] makes it easy to add Azure Active Directory support for authenticating Azure SDK clients with their corresponding Azure services. - -```C# Snippet:SampleSnippetsBlobBatch_Auth -// Create a BlobServiceClient that will authenticate through Active Directory -Uri accountUri = new Uri("https://MYSTORAGEACCOUNT.blob.core.windows.net/"); -BlobServiceClient client = new BlobServiceClient(accountUri, new DefaultAzureCredential()); -BlobBatchClient batch = client.GetBlobBatchClient(); -``` - -## Key concepts - -Batching supports two types of subrequests: SetBlobAccessTier for block blobs and DeleteBlob for blobs. - -- Only supports up to 256 subrequests in a single batch. The size of the body for a batch request cannot exceed 4MB. -- There are no guarantees on the order of execution of the batch subrequests. -- Batch subrequest execution is not atomic. Each subrequest is executed independently. -- Each subrequest must be for a resource within the same storage account. - -### Thread safety -We guarantee that all client instance methods are thread-safe and independent of each other ([guideline](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-service-methods-thread-safety)). This ensures that the recommendation of reusing client instances is always safe, even across threads. - -### Additional concepts - -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Blobs.Batch_12.15.0-beta.1/sdk/core/Azure.Core/README.md#configuring-service-clients-using-clientoptions) | -[Accessing the response](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Blobs.Batch_12.15.0-beta.1/sdk/core/Azure.Core/README.md#accessing-http-response-details-using-responset) | -[Long-running operations](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Blobs.Batch_12.15.0-beta.1/sdk/core/Azure.Core/README.md#consuming-long-running-operations-using-operationt) | -[Handling failures](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Blobs.Batch_12.15.0-beta.1/sdk/core/Azure.Core/README.md#reporting-errors-requestfailedexception) | -[Diagnostics](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Blobs.Batch_12.15.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md) | -[Mocking](https://learn.microsoft.com/dotnet/azure/sdk/unit-testing-mocking) | -[Client lifetime](https://devblogs.microsoft.com/azure-sdk/lifetime-management-and-thread-safety-guarantees-of-azure-sdk-net-clients/) - - -## Examples - -### Deleting blobs - -```C# Snippet:SampleSnippetsBatch_DeleteBatch -// Get a connection string to our Azure Storage account. -string connectionString = ""; -string containerName = "sample-container"; - -// Get a reference to a container named "sample-container" and then create it -BlobServiceClient service = new BlobServiceClient(connectionString); -BlobContainerClient container = service.GetBlobContainerClient(containerName); -container.Create(); - -// Create three blobs named "foo", "bar", and "baz" -BlobClient foo = container.GetBlobClient("foo"); -BlobClient bar = container.GetBlobClient("bar"); -BlobClient baz = container.GetBlobClient("baz"); -foo.Upload(BinaryData.FromString("Foo!")); -bar.Upload(BinaryData.FromString("Bar!")); -baz.Upload(BinaryData.FromString("Baz!")); - -// Delete all three blobs at once -BlobBatchClient batch = service.GetBlobBatchClient(); -batch.DeleteBlobs(new Uri[] { foo.Uri, bar.Uri, baz.Uri }); -``` - -### Setting Access Tiers - -```C# Snippet:SampleSnippetsBatch_AccessTier -// Get a connection string to our Azure Storage account. -string connectionString = ""; -string containerName = "sample-container"; - -// Get a reference to a container named "sample-container" and then create it -BlobServiceClient service = new BlobServiceClient(connectionString); -BlobContainerClient container = service.GetBlobContainerClient(containerName); -container.Create(); -// Create three blobs named "foo", "bar", and "baz" -BlobClient foo = container.GetBlobClient("foo"); -BlobClient bar = container.GetBlobClient("bar"); -BlobClient baz = container.GetBlobClient("baz"); -foo.Upload(BinaryData.FromString("Foo!")); -bar.Upload(BinaryData.FromString("Bar!")); -baz.Upload(BinaryData.FromString("Baz!")); - -// Set the access tier for all three blobs at once -BlobBatchClient batch = service.GetBlobBatchClient(); -batch.SetBlobsAccessTier(new Uri[] { foo.Uri, bar.Uri, baz.Uri }, AccessTier.Cool); -``` - -### Fine-grained control - -```C# Snippet:SampleSnippetsBatch_FineGrainedBatching -// Get a connection string to our Azure Storage account. -string connectionString = ""; -string containerName = "sample-container"; - -// Get a reference to a container named "sample-container" and then create it -BlobServiceClient service = new BlobServiceClient(connectionString); -BlobContainerClient container = service.GetBlobContainerClient(containerName); -container.Create(); - -// Create three blobs named "foo", "bar", and "baz" -BlobClient foo = container.GetBlobClient("foo"); -BlobClient bar = container.GetBlobClient("bar"); -BlobClient baz = container.GetBlobClient("baz"); -foo.Upload(BinaryData.FromString("Foo!")); -foo.CreateSnapshot(); -bar.Upload(BinaryData.FromString("Bar!")); -bar.CreateSnapshot(); -baz.Upload(BinaryData.FromString("Baz!")); - -// Create a batch with three deletes -BlobBatchClient batchClient = service.GetBlobBatchClient(); -BlobBatch batch = batchClient.CreateBatch(); -batch.DeleteBlob(foo.Uri, DeleteSnapshotsOption.IncludeSnapshots); -batch.DeleteBlob(bar.Uri, DeleteSnapshotsOption.OnlySnapshots); -batch.DeleteBlob(baz.Uri); - -// Submit the batch -batchClient.SubmitBatch(batch); -``` - -## Troubleshooting - -All Blob service operations will throw a -[RequestFailedException][RequestFailedException] on failure with -helpful [`ErrorCode`s][error_codes]. Many of these errors are recoverable. Subrequest failures will be bundled together into an AggregateException. - -```C# Snippet:SampleSnippetsBatch_Troubleshooting -// Get a connection string to our Azure Storage account. -string connectionString = ""; -string containerName = "sample-container"; - -// Get a reference to a container named "sample-container" and then create it -BlobServiceClient service = new BlobServiceClient(connectionString); -BlobContainerClient container = service.GetBlobContainerClient(containerName); -container.Create(); - -// Create a blob named "valid" -BlobClient valid = container.GetBlobClient("valid"); -valid.Upload(BinaryData.FromString("Valid!")); - -// Get a reference to a blob named "invalid", but never create it -BlobClient invalid = container.GetBlobClient("invalid"); - -// Delete both blobs at the same time -BlobBatchClient batch = service.GetBlobBatchClient(); -try -{ - batch.DeleteBlobs(new Uri[] { valid.Uri, invalid.Uri }); -} -catch (AggregateException) -{ - // An aggregate exception is thrown for all the individual failures - // Check ex.InnerExceptions for RequestFailedException instances -} -``` - -## Next steps - -Check out our [sync](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Blobs.Batch_12.15.0-beta.1/sdk/storage/Azure.Storage.Blobs.Batch/samples/Sample03a_Batching.cs) and [async](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Blobs.Batch_12.15.0-beta.1/sdk/storage/Azure.Storage.Blobs.Batch/samples/Sample03b_BatchingAsync.cs) samples for more. - -## Contributing - -See the [Storage CONTRIBUTING.md][storage_contrib] for details on building, -testing, and contributing to this library. - -This project welcomes contributions and suggestions. Most contributions require -you to agree to a Contributor License Agreement (CLA) declaring that you have -the right to, and actually do, grant us the rights to use your contribution. For -details, visit [cla.microsoft.com][cla]. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. -For more information see the [Code of Conduct FAQ][coc_faq] -or contact [opencode@microsoft.com][coc_contact] with any -additional questions or comments. - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Fstorage%2FAzure.Storage.Blobs.Batch%2FREADME.png) - - -[source]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.15.0-beta.1/sdk/storage/Azure.Storage.Blobs.Batch/src -[package]: https://www.nuget.org/packages/Azure.Storage.Blobs.Batch/ -[docs]: https://azure.github.io/azure-sdk-for-net/storage.html -[rest_docs]: /rest/api/storageservices/blob-service-rest-api -[product_docs]: /azure/storage/blobs/storage-blobs-overview -[nuget]: https://www.nuget.org/ -[storage_account_docs]: /azure/storage/common/storage-account-overview -[storage_account_create_ps]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-powershell -[storage_account_create_cli]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-cli -[storage_account_create_portal]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-portal -[azure_cli]: /cli/azure -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[identity]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.15.0-beta.1/sdk/identity/Azure.Identity/README.md -[RequestFailedException]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Blobs.Batch_12.15.0-beta.1/sdk/core/Azure.Core/src/RequestFailedException.cs -[error_codes]: /rest/api/storageservices/blob-service-error-codes -[storage_contrib]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Blobs.Batch_12.15.0-beta.1/sdk/storage/CONTRIBUTING.md -[cla]: https://cla.microsoft.com -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[coc_contact]: mailto:opencode@microsoft.com - diff --git a/api/overview/azure/preview/storage.common-readme.md b/api/overview/azure/preview/storage.common-readme.md deleted file mode 100644 index 42e4ffe9581b..000000000000 --- a/api/overview/azure/preview/storage.common-readme.md +++ /dev/null @@ -1,129 +0,0 @@ ---- -title: Azure Storage Common client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.Storage.Common, storage -author: seanmcc-msft -ms.author: seanmcc -ms.date: 08/08/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: storage ---- -# Azure Storage Common client library for .NET - version 12.17.0-beta.1 - - -> Server Version: 2021-02-12, 2020-12-06, 2020-10-02, 2020-08-04, 2020-06-12, 2020-04-08, 2020-02-10, 2019-12-12, 2019-07-07, and 2020-02-02 - -Azure Storage is a Microsoft-managed service providing cloud storage that is -highly available, secure, durable, scalable, and redundant. Azure Storage -includes Azure Blobs (objects), Azure Data Lake Storage Gen2, Azure Files, -and Azure Queues. - -The Azure.Storage.Common library provides infrastructure shared by the other -Azure Storage client libraries. - -[Source code][source] | [Package (NuGet)][package] | [API reference documentation][docs] | [REST API documentation][rest_docs] | [Product documentation][product_docs] - -## Getting started - -### Install the package - -Install the Azure Storage client library for .NET you'd like to use with -[NuGet][nuget] and the `Azure.Storage.Common` client library will be included: - -```dotnetcli -dotnet add package Azure.Storage.Blobs -dotnet add package Azure.Storage.Queues -dotnet add package Azure.Storage.Files.Shares -``` - -### Prerequisites - -You need an [Azure subscription][azure_sub] and a -[Storage Account][storage_account_docs] to use this package. - -To create a new Storage Account, you can use the [Azure Portal][storage_account_create_portal], -[Azure PowerShell][storage_account_create_ps], or the [Azure CLI][storage_account_create_cli]. -Here's an example using the Azure CLI: - -```Powershell -az storage account create --name MyStorageAccount --resource-group MyResourceGroup --location westus --sku Standard_LRS -``` - -## Key concepts - -The Azure Storage Common client library contains shared infrastructure like -[authentication credentials][auth_credentials] and [RequestFailedException][RequestFailedException]. - -### Thread safety -We guarantee that all client instance methods are thread-safe and independent of each other ([guideline](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-service-methods-thread-safety)). This ensures that the recommendation of reusing client instances is always safe, even across threads. - -### Additional concepts - -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Common_12.17.0-beta.1/sdk/core/Azure.Core/README.md#configuring-service-clients-using-clientoptions) | -[Accessing the response](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Common_12.17.0-beta.1/sdk/core/Azure.Core/README.md#accessing-http-response-details-using-responset) | -[Long-running operations](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Common_12.17.0-beta.1/sdk/core/Azure.Core/README.md#consuming-long-running-operations-using-operationt) | -[Handling failures](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Common_12.17.0-beta.1/sdk/core/Azure.Core/README.md#reporting-errors-requestfailedexception) | -[Diagnostics](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Common_12.17.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md) | -[Mocking](https://learn.microsoft.com/dotnet/azure/sdk/unit-testing-mocking) | -[Client lifetime](https://devblogs.microsoft.com/azure-sdk/lifetime-management-and-thread-safety-guarantees-of-azure-sdk-net-clients/) - - -## Examples - -Please see the examples for [Blobs][blobs_examples], [Queues][queues_examples], and [Files][files_examples]. - -## Troubleshooting - -All Azure Storage services will throw a [RequestFailedException][RequestFailedException] -with helpful [`ErrorCode`s][error_codes]. - -## Next steps - -Get started with our [Common samples][samples] and then continue on with our [Blobs][blobs_samples], [Queues][queues_samples], and [Files][files_samples] samples. - -## Contributing - -See the [Storage CONTRIBUTING.md][storage_contrib] for details on building, -testing, and contributing to these libraries. - -This project welcomes contributions and suggestions. Most contributions require -you to agree to a Contributor License Agreement (CLA) declaring that you have -the right to, and actually do, grant us the rights to use your contribution. For -details, visit [cla.microsoft.com][cla]. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. -For more information see the [Code of Conduct FAQ][coc_faq] -or contact [opencode@microsoft.com][coc_contact] with any -additional questions or comments. - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Fstorage%2FAzure.Storage.Common%2FREADME.png) - - -[source]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.17.0-beta.1/sdk/storage/Azure.Storage.Common/src -[package]: https://www.nuget.org/packages/Azure.Storage.Common/ -[docs]: /dotnet/api/azure.storage -[rest_docs]: /rest/api/storageservices/ -[product_docs]: /azure/storage/ -[nuget]: https://www.nuget.org/ -[storage_account_docs]: /azure/storage/common/storage-account-overview -[storage_account_create_ps]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-powershell -[storage_account_create_cli]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-cli -[storage_account_create_portal]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-portal -[azure_cli]: /cli/azure -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[auth_credentials]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Common_12.17.0-beta.1/sdk/storage/Azure.Storage.Common/src/StorageSharedKeyCredential.cs -[blobs_examples]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.17.0-beta.1/sdk/storage/Azure.Storage.Blobs/README.md#Examples -[files_examples]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.17.0-beta.1/sdk/storage/Azure.Storage.Files.Shares/README.md#Examples -[queues_examples]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.17.0-beta.1/sdk/storage/Azure.Storage.Queues/README.md#Examples -[RequestFailedException]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.17.0-beta.1/sdk/core/Azure.Core/src/RequestFailedException.cs -[error_codes]: /rest/api/storageservices/common-rest-api-error-codes -[samples]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Common_12.17.0-beta.1/sdk/storage/Azure.Storage.Common/samples/ -[blobs_samples]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.17.0-beta.1/sdk/storage/Azure.Storage.Blobs/README.md#next-steps -[files_samples]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.17.0-beta.1/sdk/storage/Azure.Storage.Files.Shares/README.md#next-steps -[queues_samples]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Common_12.17.0-beta.1/sdk/storage/Azure.Storage.Queues/README.md#next-steps -[storage_contrib]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Common_12.17.0-beta.1/sdk/storage/CONTRIBUTING.md -[cla]: https://cla.microsoft.com -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[coc_contact]: mailto:opencode@microsoft.com - diff --git a/api/overview/azure/preview/storage.files.datalake-readme.md b/api/overview/azure/preview/storage.files.datalake-readme.md deleted file mode 100644 index bb6a0e7ea278..000000000000 --- a/api/overview/azure/preview/storage.files.datalake-readme.md +++ /dev/null @@ -1,281 +0,0 @@ ---- -title: Azure Storage Files Data Lake client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.Storage.Files.DataLake, storage -author: seanmcc-msft -ms.author: seanmcc -ms.date: 08/08/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: storage ---- -# Azure Storage Files Data Lake client library for .NET - version 12.16.0-beta.1 - - -> Server Version: 2021-02-12, 2020-12-06, 2020-10-02, 2020-08-04, 2020-06-12, 2020-04-08, 2020-02-10, 2019-12-12, 2019-07-07, and 2019-02-02 - -Azure Data Lake includes all the capabilities required to make it easy for developers, data scientists, -and analysts to store data of any size, shape, and speed, and do all types of processing and analytics -across platforms and languages. It removes the complexities of ingesting and storing all of your data -while making it faster to get up and running with batch, streaming, and interactive analytics. - -[Source code][source] | [Package (NuGet)][package] | [API reference documentation][docs] | [REST API documentation][rest_docs] | [Product documentation][product_docs] - -## Getting started - -### Install the package - -Install the Azure Storage Files Data Lake client library for .NET with [NuGet][nuget]: - -```dotnetcli -dotnet add package Azure.Storage.Files.DataLake -``` - -### Prerequisites - -You need an [Azure subscription][azure_sub] and a -[Storage Account][storage_account_docs] to use this package. - -To create a new Storage Account, you can use the [Azure Portal][storage_account_create_portal], -[Azure PowerShell][storage_account_create_ps], or the [Azure CLI][storage_account_create_cli]. -Here's an example using the Azure CLI: - -```Powershell -az storage account create --name MyStorageAccount --resource-group MyResourceGroup --location westus --sku Standard_LRS -``` - -## Key concepts - -DataLake Storage Gen2 was designed to: -- Service multiple petabytes of information while sustaining hundreds of gigabits of throughput -- Allow you to easily manage massive amounts of data - -Key Features of DataLake Storage Gen2 include: -- Hadoop compatible access -- A superset of POSIX permissions -- Cost effective in terms of low-cost storage capacity and transactions -- Optimized driver for big data analytics - -A fundamental part of Data Lake Storage Gen2 is the addition of a hierarchical namespace to Blob storage. The hierarchical namespace organizes objects/files into a hierarchy of directories for efficient data access. - -In the past, cloud-based analytics had to compromise in areas of performance, management, and security. Data Lake Storage Gen2 addresses each of these aspects in the following ways: -- Performance is optimized because you do not need to copy or transform data as a prerequisite for analysis. The hierarchical namespace greatly improves the performance of directory management operations, which improves overall job performance. -- Management is easier because you can organize and manipulate files through directories and subdirectories. -- Security is enforceable because you can define POSIX permissions on directories or individual files. -- Cost effectiveness is made possible as Data Lake Storage Gen2 is built on top of the low-cost Azure Blob storage. The additional features further lower the total cost of ownership for running big data analytics on Azure. - -Data Lake Storage Gen2 offers two types of resources: - -- The _filesystem_ used via 'DataLakeFileSystemClient' -- The _path_ used via 'DataLakeFileClient' or 'DataLakeDirectoryClient' - -|ADLS Gen2 | Blob | -| --------------------------| ---------- | -|Filesystem | Container | -|Path (File or Directory) | Blob | - -Note: This client library does not support hierarchical namespace (HNS) disabled storage accounts. - -### Thread safety -We guarantee that all client instance methods are thread-safe and independent of each other ([guideline](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-service-methods-thread-safety)). This ensures that the recommendation of reusing client instances is always safe, even across threads. - -### Additional concepts - -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Files.DataLake_12.16.0-beta.1/sdk/core/Azure.Core/README.md#configuring-service-clients-using-clientoptions) | -[Accessing the response](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Files.DataLake_12.16.0-beta.1/sdk/core/Azure.Core/README.md#accessing-http-response-details-using-responset) | -[Long-running operations](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Files.DataLake_12.16.0-beta.1/sdk/core/Azure.Core/README.md#consuming-long-running-operations-using-operationt) | -[Handling failures](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Files.DataLake_12.16.0-beta.1/sdk/core/Azure.Core/README.md#reporting-errors-requestfailedexception) | -[Diagnostics](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Files.DataLake_12.16.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md) | -[Mocking](https://learn.microsoft.com/dotnet/azure/sdk/unit-testing-mocking) | -[Client lifetime](https://devblogs.microsoft.com/azure-sdk/lifetime-management-and-thread-safety-guarantees-of-azure-sdk-net-clients/) - - -## Examples - -### Create a DataLakeServiceClient -```C# Snippet:SampleSnippetDataLakeServiceClient_Create -StorageSharedKeyCredential sharedKeyCredential = new StorageSharedKeyCredential(storageAccountName, storageAccountKey); - -// Create DataLakeServiceClient using StorageSharedKeyCredentials -DataLakeServiceClient serviceClient = new DataLakeServiceClient(serviceUri, sharedKeyCredential); -``` - -### Create a DataLakeFileSystemClient -```C# Snippet:SampleSnippetDataLakeFileSystemClient_Create -StorageSharedKeyCredential sharedKeyCredential = new StorageSharedKeyCredential(storageAccountName, storageAccountKey); - -// Create DataLakeServiceClient using StorageSharedKeyCredentials -DataLakeServiceClient serviceClient = new DataLakeServiceClient(serviceUri, sharedKeyCredential); - -// Create a DataLake Filesystem -DataLakeFileSystemClient filesystem = serviceClient.GetFileSystemClient(Randomize("sample-filesystem")); -filesystem.Create(); -``` - -### Create a DataLakeDirectoryClient -```C# Snippet:SampleSnippetDataLakeDirectoryClient_Create -StorageSharedKeyCredential sharedKeyCredential = new StorageSharedKeyCredential(storageAccountName, storageAccountKey); - -// Create DataLakeServiceClient using StorageSharedKeyCredentials -DataLakeServiceClient serviceClient = new DataLakeServiceClient(serviceUri, sharedKeyCredential); - -// Get a reference to a filesystem named "sample-filesystem-append" and then create it -DataLakeFileSystemClient filesystem = serviceClient.GetFileSystemClient(Randomize("sample-filesystem-append")); -filesystem.Create(); - -// Create -DataLakeDirectoryClient directory = filesystem.GetDirectoryClient(Randomize("sample-file")); -directory.Create(); -``` - -### Create a DataLakeFileClient - -Create DataLakeFileClient from a DataLakeDirectoryClient -```C# Snippet:SampleSnippetDataLakeFileClient_Create_Directory -// Create a DataLake Directory -DataLakeDirectoryClient directory = filesystem.CreateDirectory(Randomize("sample-directory")); -directory.Create(); - -// Create a DataLake File using a DataLake Directory -DataLakeFileClient file = directory.GetFileClient(Randomize("sample-file")); -file.Create(); -``` - -Create DataLakeFileClient from a DataLakeFileSystemClient -```C# Snippet:SampleSnippetDataLakeFileClient_Create -// Create a DataLake Filesystem -DataLakeFileSystemClient filesystem = serviceClient.GetFileSystemClient(Randomize("sample-filesystem")); -filesystem.Create(); - -// Create a DataLake file using a DataLake Filesystem -DataLakeFileClient file = filesystem.GetFileClient(Randomize("sample-file")); -file.Create(); -``` - -### Appending Data to a DataLake File -```C# Snippet:SampleSnippetDataLakeFileClient_Append -// Create a file -DataLakeFileClient file = filesystem.GetFileClient(Randomize("sample-file")); -file.Create(); - -// Append data to the DataLake File -file.Append(File.OpenRead(sampleFilePath), 0); -file.Flush(SampleFileContent.Length); -``` - -### Reading Data from a DataLake File -```C# Snippet:SampleSnippetDataLakeFileClient_Read -Response fileContents = file.Read(); -``` - -### Listing/Traversing through a DataLake Filesystem -```C# Snippet:SampleSnippetDataLakeFileClient_List -foreach (PathItem pathItem in filesystem.GetPaths()) -{ - names.Add(pathItem.Name); -} -``` - -### Set Permissions on a DataLake File -```C# Snippet:SampleSnippetDataLakeFileClient_SetPermissions -// Create a DataLake file so we can set the Access Controls on the files -DataLakeFileClient fileClient = filesystem.GetFileClient(Randomize("sample-file")); -fileClient.Create(); - -// Set the Permissions of the file -PathPermissions pathPermissions = PathPermissions.ParseSymbolicPermissions("rwxrwxrwx"); -fileClient.SetPermissions(permissions: pathPermissions); -``` - -### Set Access Controls (ACLs) on a DataLake File -```C# Snippet:SampleSnippetDataLakeFileClient_SetAcls -// Create a DataLake file so we can set the Access Controls on the files -DataLakeFileClient fileClient = filesystem.GetFileClient(Randomize("sample-file")); -fileClient.Create(); - -// Set Access Control List -IList accessControlList - = PathAccessControlExtensions.ParseAccessControlList("user::rwx,group::r--,mask::rwx,other::---"); -fileClient.SetAccessControlList(accessControlList); -``` - -### Get Access Controls (ACLs) on a DataLake File -```C# Snippet:SampleSnippetDataLakeFileClient_GetAcls -// Get Access Control List -PathAccessControl accessControlResponse = fileClient.GetAccessControl(); -``` - -### Rename a DataLake File -```C# Snippet:SampleSnippetDataLakeFileClient_RenameFile -DataLakeFileClient renamedFileClient = fileClient.Rename("sample-file2"); -``` - -### Rename a DataLake Directory -```C# Snippet:SampleSnippetDataLakeFileClient_RenameDirectory -DataLakeDirectoryClient renamedDirectoryClient = directoryClient.Rename("sample-directory2"); -``` - -### Get Properties on a DataLake File -```C# Snippet:SampleSnippetDataLakeFileClient_GetProperties -// Get Properties on a File -PathProperties filePathProperties = fileClient.GetProperties(); -``` -### Get Properties on a DataLake Directory -```C# Snippet:SampleSnippetDataLakeDirectoryClient_GetProperties -// Get Properties on a Directory -PathProperties directoryPathProperties = directoryClient.GetProperties(); -``` - -## Troubleshooting - -All File DataLake service operations will throw a -[RequestFailedException][RequestFailedException] on failure with -helpful [`ErrorCode`s][error_codes]. Many of these errors are recoverable. - -## Next steps - -Get started with our [DataLake samples][samples]: - -1. [Hello World](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Files.DataLake_12.16.0-beta.1/sdk/storage/Azure.Storage.Files.DataLake/samples/Sample01a_HelloWorld.cs): Append, Read, and List DataLake Files (or [asynchronously](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Files.DataLake_12.16.0-beta.1/sdk/storage/Azure.Storage.Files.DataLake/samples/Sample01b_HelloWorldAsync.cs)) -2. [Auth](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Files.DataLake_12.16.0-beta.1/sdk/storage/Azure.Storage.Files.DataLake/samples/Sample02_Auth.cs): Authenticate with public access, shared keys, shared access signatures, and Azure Active Directory. - -## Contributing - -See the [Storage CONTRIBUTING.md][storage_contrib] for details on building, -testing, and contributing to this library. - -This project welcomes contributions and suggestions. Most contributions require -you to agree to a Contributor License Agreement (CLA) declaring that you have -the right to, and actually do, grant us the rights to use your contribution. For -details, visit [cla.microsoft.com][cla]. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. -For more information see the [Code of Conduct FAQ][coc_faq] -or contact [opencode@microsoft.com][coc_contact] with any -additional questions or comments. - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Fstorage%2FAzure.Storage.Files.DataLake%2FREADME.png) - - -[samples]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Files.DataLake_12.16.0-beta.1/sdk/storage/Azure.Storage.Files.DataLake/samples -[source]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.16.0-beta.1/sdk/storage/Azure.Storage.Files.DataLake/src -[package]: https://www.nuget.org/packages/Azure.Storage.Files.DataLake/ -[docs]: /dotnet/api/azure.storage.files.datalake -[rest_docs]: /rest/api/storageservices/datalakestoragegen2/filesystem -[product_docs]: /azure/storage/blobs/?toc=%2fazure%2fstorage%2fblobs%2ftoc.json -[nuget]: https://www.nuget.org/ -[storage_account_docs]: /azure/storage/common/storage-account-overview -[storage_account_create_ps]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-powershell -[storage_account_create_cli]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-cli -[storage_account_create_portal]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-portal -[azure_cli]: /cli/azure -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[identity]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.16.0-beta.1/sdk/identity/Azure.Identity/README.md -[RequestFailedException]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.DataLake_12.16.0-beta.1/sdk/core/Azure.Core/src/RequestFailedException.cs -[error_codes]: /rest/api/storageservices/blob-service-error-codes -[storage_contrib]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Files.DataLake_12.16.0-beta.1/sdk/storage/CONTRIBUTING.md -[cla]: https://cla.microsoft.com -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[coc_contact]: mailto:opencode@microsoft.com -[https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Files.DataLake_12.16.0-beta.1/sdk/storage/Azure.Storage.Files.DataLake/samples]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Files.DataLake_12.16.0-beta.1/sdk/storage/Azure.Storage.Files.DataLake/samples - diff --git a/api/overview/azure/preview/storage.files.shares-readme.md b/api/overview/azure/preview/storage.files.shares-readme.md deleted file mode 100644 index 6f15a63dadb0..000000000000 --- a/api/overview/azure/preview/storage.files.shares-readme.md +++ /dev/null @@ -1,265 +0,0 @@ ---- -title: Azure Storage File Shares client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.Storage.Files.Shares, storage -author: seanmcc-msft -ms.author: seanmcc -ms.date: 08/08/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: storage ---- -# Azure Storage File Shares client library for .NET - version 12.16.0-beta.1 - - -> Server Version: 2021-02-12, 2020-12-06, 2020-10-02, 2020-08-04, 2020-06-12, 2020-04-08, 2020-02-10, 2019-12-12, 2019-07-07, and 2019-02-02 - -Azure File Shares offers fully managed file shares in the cloud that are accessible -via the industry standard Server Message Block (SMB) protocol. Azure file -shares can be mounted concurrently by cloud or on-premises deployments of -Windows, Linux, and macOS. Additionally, Azure file shares can be cached on -Windows Servers with Azure File Sync for fast access near where the data is -being used. - -[Source code][source] | [Package (NuGet)][package] | [API reference documentation][docs] | [REST API documentation][rest_docs] | [Product documentation][product_docs] - -## Getting started - -### Install the package - -Install the Azure Storage File Shares client library for .NET with [NuGet][nuget]: - -```dotnetcli -dotnet add package Azure.Storage.Files.Shares -``` - -### Prerequisites - -You need an [Azure subscription][azure_sub] and a -[Storage Account][storage_account_docs] to use this package. - -To create a new Storage Account, you can use the [Azure Portal][storage_account_create_portal], -[Azure PowerShell][storage_account_create_ps], or the [Azure CLI][storage_account_create_cli]. -Here's an example using the Azure CLI: - -```Powershell -az storage account create --name MyStorageAccount --resource-group MyResourceGroup --location westus --sku Standard_LRS -``` - -## Key concepts - -Azure file shares can be used to: - -- Completely replace or supplement traditional on-premises file servers or NAS devices. -- "Lift and shift" applications to the cloud that expect a file share to store file application or user data. -- Simplify new cloud development projects with shared application settings, diagnostic shares, and Dev/Test/Debug tool file shares. - -### Thread safety -We guarantee that all client instance methods are thread-safe and independent of each other ([guideline](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-service-methods-thread-safety)). This ensures that the recommendation of reusing client instances is always safe, even across threads. - -### Additional concepts - -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Files.Shares_12.16.0-beta.1/sdk/core/Azure.Core/README.md#configuring-service-clients-using-clientoptions) | -[Accessing the response](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Files.Shares_12.16.0-beta.1/sdk/core/Azure.Core/README.md#accessing-http-response-details-using-responset) | -[Long-running operations](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Files.Shares_12.16.0-beta.1/sdk/core/Azure.Core/README.md#consuming-long-running-operations-using-operationt) | -[Handling failures](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Files.Shares_12.16.0-beta.1/sdk/core/Azure.Core/README.md#reporting-errors-requestfailedexception) | -[Diagnostics](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Files.Shares_12.16.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md) | -[Mocking](https://learn.microsoft.com/dotnet/azure/sdk/unit-testing-mocking) | -[Client lifetime](https://devblogs.microsoft.com/azure-sdk/lifetime-management-and-thread-safety-guarantees-of-azure-sdk-net-clients/) - - -## Examples - -### Create a share and upload a file - -```C# Snippet:Azure_Storage_Files_Shares_Samples_Sample01a_HelloWorld_Upload -// Get a connection string to our Azure Storage account. You can -// obtain your connection string from the Azure Portal (click -// Access Keys under Settings in the Portal Storage account blade) -// or using the Azure CLI with: -// -// az storage account show-connection-string --name --resource-group -// -// And you can provide the connection string to your application -// using an environment variable. -string connectionString = ""; - -// Name of the share, directory, and file we'll create -string shareName = "sample-share"; -string dirName = "sample-dir"; -string fileName = "sample-file"; - -// Path to the local file to upload -string localFilePath = @""; - -// Get a reference to a share and then create it -ShareClient share = new ShareClient(connectionString, shareName); -share.Create(); - -// Get a reference to a directory and create it -ShareDirectoryClient directory = share.GetDirectoryClient(dirName); -directory.Create(); - -// Get a reference to a file and upload it -ShareFileClient file = directory.GetFileClient(fileName); -using (FileStream stream = File.OpenRead(localFilePath)) -{ - file.Create(stream.Length); - file.UploadRange( - new HttpRange(0, stream.Length), - stream); -} -``` - -### Download a file - -```C# Snippet:Azure_Storage_Files_Shares_Samples_Sample01a_HelloWorld_Download -string connectionString = ""; - -// Name of the share, directory, and file we'll download from -string shareName = "sample-share"; -string dirName = "sample-dir"; -string fileName = "sample-file"; - -// Path to the save the downloaded file -string localFilePath = @""; - -// Get a reference to the file -ShareClient share = new ShareClient(connectionString, shareName); -ShareDirectoryClient directory = share.GetDirectoryClient(dirName); -ShareFileClient file = directory.GetFileClient(fileName); - -// Download the file -ShareFileDownloadInfo download = file.Download(); -using (FileStream stream = File.OpenWrite(localFilePath)) -{ - download.Content.CopyTo(stream); -} -``` - -### Traverse a share - -```C# Snippet:Azure_Storage_Files_Shares_Samples_Sample01a_HelloWorld_Traverse -// Connect to the share -string connectionString = ""; -string shareName = "sample-share"; -ShareClient share = new ShareClient(connectionString, shareName); - -// Track the remaining directories to walk, starting from the root -var remaining = new Queue(); -remaining.Enqueue(share.GetRootDirectoryClient()); -while (remaining.Count > 0) -{ - // Get all of the next directory's files and subdirectories - ShareDirectoryClient dir = remaining.Dequeue(); - foreach (ShareFileItem item in dir.GetFilesAndDirectories()) - { - // Print the name of the item - Console.WriteLine(item.Name); - - // Keep walking down directories - if (item.IsDirectory) - { - remaining.Enqueue(dir.GetSubdirectoryClient(item.Name)); - } - } -} -``` - -### Async APIs - -We fully support both synchronous and asynchronous APIs. - -```C# Snippet:Azure_Storage_Files_Shares_Samples_Sample01b_HelloWorldAsync_DownloadAsync -string connectionString = ""; - -// Name of the share, directory, and file we'll download from -string shareName = "sample-share"; -string dirName = "sample-dir"; -string fileName = "sample-file"; - -// Path to the save the downloaded file -string localFilePath = @""; - -// Get a reference to the file -ShareClient share = new ShareClient(connectionString, shareName); -ShareDirectoryClient directory = share.GetDirectoryClient(dirName); -ShareFileClient file = directory.GetFileClient(fileName); - -// Download the file -ShareFileDownloadInfo download = await file.DownloadAsync(); -using (FileStream stream = File.OpenWrite(localFilePath)) -{ - await download.Content.CopyToAsync(stream); -} -``` - -## Troubleshooting - -All Azure Storage File Shares service operations will throw a -[RequestFailedException][RequestFailedException] on failure with -helpful [`ErrorCode`s][error_codes]. Many of these errors are recoverable. - -```C# Snippet:Azure_Storage_Files_Shares_Samples_Sample01a_HelloWorld_Errors -// Connect to the existing share -string connectionString = ""; -string shareName = "sample-share"; -ShareClient share = new ShareClient(connectionString, shareName); - -try -{ - // Try to create the share again - share.Create(); -} -catch (RequestFailedException ex) - when (ex.ErrorCode == ShareErrorCode.ShareAlreadyExists) -{ - // Ignore any errors if the share already exists -} -``` - -## Next steps - -Get started with our [File samples][samples]: - -1. [Hello World](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Files.Shares_12.16.0-beta.1/sdk/storage/Azure.Storage.Files.Shares/samples/Sample01a_HelloWorld.cs): Upload files, download files, and traverse shares (or [asynchronously](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Files.Shares_12.16.0-beta.1/sdk/storage/Azure.Storage.Files.Shares/samples/Sample01b_HelloWorldAsync.cs)) -2. [Auth](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Files.Shares_12.16.0-beta.1/sdk/storage/Azure.Storage.Files.Shares/samples/Sample02_Auth.cs): Authenticate with connection strings, shared keys, and shared access signatures. - -## Contributing - -See the [Storage CONTRIBUTING.md][storage_contrib] for details on building, -testing, and contributing to this library. - -This project welcomes contributions and suggestions. Most contributions require -you to agree to a Contributor License Agreement (CLA) declaring that you have -the right to, and actually do, grant us the rights to use your contribution. For -details, visit [cla.microsoft.com][cla]. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. -For more information see the [Code of Conduct FAQ][coc_faq] -or contact [opencode@microsoft.com][coc_contact] with any -additional questions or comments. - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Fstorage%2FAzure.Storage.Files.Shares%2FREADME.png) - - -[source]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.16.0-beta.1/sdk/storage/Azure.Storage.Files.Shares/src -[package]: https://www.nuget.org/packages/Azure.Storage.Files.Shares/ -[docs]: /dotnet/api/azure.storage.files.shares -[rest_docs]: /rest/api/storageservices/file-service-rest-api -[product_docs]: /azure/storage/files/storage-files-introduction -[nuget]: https://www.nuget.org/ -[storage_account_docs]: /azure/storage/common/storage-account-overview -[storage_account_create_ps]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-powershell -[storage_account_create_cli]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-cli -[storage_account_create_portal]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-portal -[azure_cli]: /cli/azure -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[RequestFailedException]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Files.Shares_12.16.0-beta.1/sdk/core/Azure.Core/src/RequestFailedException.cs -[error_codes]: /rest/api/storageservices/file-service-error-codes -[samples]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Files.Shares_12.16.0-beta.1/sdk/storage/Azure.Storage.Files.Shares/samples/ -[storage_contrib]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Files.Shares_12.16.0-beta.1/sdk/storage/CONTRIBUTING.md -[cla]: https://cla.microsoft.com -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[coc_contact]: mailto:opencode@microsoft.com - diff --git a/api/overview/azure/preview/storage.md b/api/overview/azure/preview/storage.md index eb56357aa970..9b0660bed448 100644 --- a/api/overview/azure/preview/storage.md +++ b/api/overview/azure/preview/storage.md @@ -3,7 +3,7 @@ title: Azure Storage SDK for .NET description: Reference for Azure Storage SDK for .NET author: seanmcc-msft ms.author: seanmcc -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: storage diff --git a/api/overview/azure/preview/storage.queues-readme.md b/api/overview/azure/preview/storage.queues-readme.md deleted file mode 100644 index 65abd8a8d3d6..000000000000 --- a/api/overview/azure/preview/storage.queues-readme.md +++ /dev/null @@ -1,241 +0,0 @@ ---- -title: Azure Storage Queues client library for .NET -keywords: Azure, dotnet, SDK, API, Azure.Storage.Queues, storage -author: seanmcc-msft -ms.author: seanmcc -ms.date: 08/08/2023 -ms.topic: reference -ms.devlang: dotnet -ms.service: storage ---- -# Azure Storage Queues client library for .NET - version 12.16.0-beta.1 - - -> Server Version: 2021-02-12, 2020-12-06, 2020-10-02, 2020-08-04, 2020-06-12, 2020-04-08, 2020-02-10, 2019-12-12, 2019-07-07, and 2019-02-02 - -Azure Queue storage is a service for storing large numbers of messages that -can be accessed from anywhere in the world via authenticated calls using -HTTP or HTTPS. A single queue message can be up to 64 KB in size, and a -queue can contain millions of messages, up to the total capacity limit of -a storage account. - -[Source code][source] | [Package (NuGet)][package] | [API reference documentation][docs] | [REST API documentation][rest_docs] | [Product documentation][product_docs] - -## Getting started - -### Install the package - -Install the Azure Storage Queues client library for .NET with [NuGet][nuget]: - -```dotnetcli -dotnet add package Azure.Storage.Queues -``` - -### Prerequisites - -You need an [Azure subscription][azure_sub] and a -[Storage Account][storage_account_docs] to use this package. - -To create a new Storage Account, you can use the [Azure Portal][storage_account_create_portal], -[Azure PowerShell][storage_account_create_ps], or the [Azure CLI][storage_account_create_cli]. -Here's an example using the Azure CLI: - -```Powershell -az storage account create --name MyStorageAccount --resource-group MyResourceGroup --location westus --sku Standard_LRS -``` - -### Authenticate the client - -In order to interact with the Azure Queue Storage service, you'll need to create an instance of the QueueClient class. The [Azure Identity library][identity] makes it easy to add Azure Active Directory support for authenticating Azure SDK clients with their corresponding Azure services. - -```C# Snippet:Azure_Storage_Queues_Samples_Sample01a_HelloWorld_IdentityAuth -// Create a QueueClient that will authenticate through Active Directory -Uri queueUri = new Uri("https://MYSTORAGEACCOUNT.queue.core.windows.net/QUEUENAME"); -QueueClient queue = new QueueClient(queueUri, new DefaultAzureCredential()); -``` - -Learn more about enabling Azure Active Directory for authentication with Azure Storage in [our documentation][storage_ad] and [our samples](#next-steps). - -## Key concepts - -Common uses of Queue storage include: - -- Creating a backlog of work to process asynchronously -- Passing messages between different parts of a distributed application - -### Thread safety -We guarantee that all client instance methods are thread-safe and independent of each other ([guideline](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-service-methods-thread-safety)). This ensures that the recommendation of reusing client instances is always safe, even across threads. - -### Additional concepts - -[Client options](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Queues_12.16.0-beta.1/sdk/core/Azure.Core/README.md#configuring-service-clients-using-clientoptions) | -[Accessing the response](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Queues_12.16.0-beta.1/sdk/core/Azure.Core/README.md#accessing-http-response-details-using-responset) | -[Long-running operations](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Queues_12.16.0-beta.1/sdk/core/Azure.Core/README.md#consuming-long-running-operations-using-operationt) | -[Handling failures](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Queues_12.16.0-beta.1/sdk/core/Azure.Core/README.md#reporting-errors-requestfailedexception) | -[Diagnostics](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Queues_12.16.0-beta.1/sdk/core/Azure.Core/samples/Diagnostics.md) | -[Mocking](https://learn.microsoft.com/dotnet/azure/sdk/unit-testing-mocking) | -[Client lifetime](https://devblogs.microsoft.com/azure-sdk/lifetime-management-and-thread-safety-guarantees-of-azure-sdk-net-clients/) - - -## Examples - -### Send messages - -```C# Snippet:Azure_Storage_Queues_Samples_Sample01a_HelloWorld_SendMessage -// We'll need a connection string to your Azure Storage account. -// You can obtain your connection string from the Azure Portal -// (click Access Keys under Settings in the Portal Storage account -// blade) or using the Azure CLI with: -// -// az storage account show-connection-string --name --resource-group -// -// You would normally provide the connection string to your -// application using an environment variable. -string connectionString = ""; - -// Name of the queue we'll send messages to -string queueName = "sample-queue"; - -// Get a reference to a queue and then create it -QueueClient queue = new QueueClient(connectionString, queueName); -queue.Create(); - -// Send a message to our queue -queue.SendMessage("Hello, Azure!"); -``` - -### Receive messages - -```C# Snippet:Azure_Storage_Queues_Samples_Sample01a_HelloWorld_ReceiveMessages -// We'll need a connection string to your Azure Storage account. -string connectionString = ""; - -// Name of an existing queue we'll operate on -string queueName = "sample-queue"; - -// Get a reference to a queue and then fill it with messages -QueueClient queue = new QueueClient(connectionString, queueName); -queue.SendMessage("first"); -queue.SendMessage("second"); -queue.SendMessage("third"); - -// Get the next messages from the queue -foreach (QueueMessage message in queue.ReceiveMessages(maxMessages: 10).Value) -{ - // "Process" the message - Console.WriteLine($"Message: {message.Body}"); - - // Let the service know we're finished with the message and - // it can be safely deleted. - queue.DeleteMessage(message.MessageId, message.PopReceipt); -} -``` - -### Async APIs - -We fully support both synchronous and asynchronous APIs. - -```C# Snippet:Azure_Storage_Queues_Samples_Sample01b_HelloWorld_SendMessageAsync -// We'll need a connection string to your Azure Storage account. -string connectionString = ""; - -// Name of the queue we'll send messages to -string queueName = "sample-queue"; - -// Get a reference to a queue and then create it -QueueClient queue = new QueueClient(connectionString, queueName); -await queue.CreateAsync(); - -// Send a message to our queue -await queue.SendMessageAsync("Hello, Azure!"); -``` - -### Message encoding - -This version of library does not encode message by default. V11 and prior versions as well as Azure Functions use base64-encoded messages by default. -Therefore it's recommended to use this feature for interop scenarios. - -```C# Snippet:Azure_Storage_Queues_Samples_Sample03_MessageEncoding_ConfigureMessageEncodingAsync -QueueClientOptions queueClientOptions = new QueueClientOptions() -{ - MessageEncoding = QueueMessageEncoding.Base64 -}; - -QueueClient queueClient = new QueueClient(connectionString, queueName, queueClientOptions); -``` - -## Troubleshooting - -All Azure Storage Queue service operations will throw a -[RequestFailedException][RequestFailedException] on failure with -helpful [`ErrorCode`s][error_codes]. Many of these errors are recoverable. - -```C# Snippet:Azure_Storage_Queues_Samples_Sample01a_HelloWorld_Errors -// We'll need a connection string to your Azure Storage account. -string connectionString = ""; - -// Name of an existing queue we'll operate on -string queueName = "sample-queue"; - -try -{ - // Try to create a queue that already exists - QueueClient queue = new QueueClient(connectionString, queueName); - queue.Create(); -} -catch (RequestFailedException ex) - when (ex.ErrorCode == QueueErrorCode.QueueAlreadyExists) -{ - // Ignore any errors if the queue already exists -} -``` - -## Next steps - -Get started with our [Queue samples][samples]: - -1. [Hello World](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Queues_12.16.0-beta.1/sdk/storage/Azure.Storage.Queues/samples/Sample01a_HelloWorld.cs): Enqueue, Dequeue, Peek, and Update queue messages (or [asynchronously](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Queues_12.16.0-beta.1/sdk/storage/Azure.Storage.Queues/samples/Sample01b_HelloWorldAsync.cs)) -2. [Auth](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Queues_12.16.0-beta.1/sdk/storage/Azure.Storage.Queues/samples/Sample02_Auth.cs): Authenticate with connection strings, shared keys, shared access signatures, and Azure Active Directory. - -## Contributing - -See the [Storage CONTRIBUTING.md][storage_contrib] for details on building, -testing, and contributing to this library. - -This project welcomes contributions and suggestions. Most contributions require -you to agree to a Contributor License Agreement (CLA) declaring that you have -the right to, and actually do, grant us the rights to use your contribution. For -details, visit [cla.microsoft.com][cla]. - -This project has adopted the [Microsoft Open Source Code of Conduct][coc]. -For more information see the [Code of Conduct FAQ][coc_faq] -or contact [opencode@microsoft.com][coc_contact] with any -additional questions or comments. - -![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-net%2Fsdk%2Fstorage%2FAzure.Storage.Queues%2FREADME.png) - - -[source]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.16.0-beta.1/sdk/storage/Azure.Storage.Queues/src -[package]: https://www.nuget.org/packages/Azure.Storage.Queues/ -[docs]: /dotnet/api/azure.storage.queues -[rest_docs]: /rest/api/storageservices/queue-service-rest-api -[product_docs]: /azure/storage/queues/storage-queues-introduction -[nuget]: https://www.nuget.org/ -[storage_account_docs]: /azure/storage/common/storage-account-overview -[storage_account_create_ps]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-powershell -[storage_account_create_cli]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-cli -[storage_account_create_portal]: /azure/storage/common/storage-quickstart-create-account?tabs=azure-portal -[azure_cli]: /cli/azure -[azure_sub]: https://azure.microsoft.com/free/dotnet/ -[identity]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.16.0-beta.1/sdk/identity/Azure.Identity/README.md -[storage_ad]: /azure/storage/common/storage-auth-aad -[storage_ad_sample]: samples/Sample02c_Auth_ActiveDirectory.cs -[RequestFailedException]: https://github.com/Azure/azure-sdk-for-net/tree/Azure.Storage.Queues_12.16.0-beta.1/sdk/core/Azure.Core/src/RequestFailedException.cs -[error_codes]: /rest/api/storageservices/queue-service-error-codes -[samples]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Queues_12.16.0-beta.1/sdk/storage/Azure.Storage.Queues/samples/ -[storage_contrib]: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Storage.Queues_12.16.0-beta.1/sdk/storage/CONTRIBUTING.md -[cla]: https://cla.microsoft.com -[coc]: https://opensource.microsoft.com/codeofconduct/ -[coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/ -[coc_contact]: mailto:opencode@microsoft.com - diff --git a/api/overview/azure/preview/stream-analytics.md b/api/overview/azure/preview/stream-analytics.md index f1c303cfb216..523eee902cd1 100644 --- a/api/overview/azure/preview/stream-analytics.md +++ b/api/overview/azure/preview/stream-analytics.md @@ -3,7 +3,7 @@ title: Azure Stream Analytics SDK for .NET description: Reference for Azure Stream Analytics SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: stream-analytics diff --git a/api/overview/azure/preview/subscriptions.md b/api/overview/azure/preview/subscriptions.md index c7fe82e46810..32216c8c2bfa 100644 --- a/api/overview/azure/preview/subscriptions.md +++ b/api/overview/azure/preview/subscriptions.md @@ -3,7 +3,7 @@ title: Azure Subscriptions SDK for .NET description: Reference for Azure Subscriptions SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: subscriptions diff --git a/api/overview/azure/preview/support.md b/api/overview/azure/preview/support.md index 5120d44cb84a..bce42d36e454 100644 --- a/api/overview/azure/preview/support.md +++ b/api/overview/azure/preview/support.md @@ -3,7 +3,7 @@ title: Azure Support SDK for .NET description: Reference for Azure Support SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: support diff --git a/api/overview/azure/preview/synapse.md b/api/overview/azure/preview/synapse.md index 21c98770bec9..039e40b5800f 100644 --- a/api/overview/azure/preview/synapse.md +++ b/api/overview/azure/preview/synapse.md @@ -3,7 +3,7 @@ title: Azure Synapse SDK for .NET description: Reference for Azure Synapse SDK for .NET author: wonner ms.author: wanyang -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: synapse diff --git a/api/overview/azure/preview/video-analyzer.md b/api/overview/azure/preview/video-analyzer.md index 2da1329bb669..80514a145b37 100644 --- a/api/overview/azure/preview/video-analyzer.md +++ b/api/overview/azure/preview/video-analyzer.md @@ -3,7 +3,7 @@ title: Azure Video Analyzer SDK for .NET description: Reference for Azure Video Analyzer SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: videoanalyzer diff --git a/api/overview/azure/preview/web-pubsub-index.md b/api/overview/azure/preview/web-pubsub-index.md index e1f7ff35fc50..973f3aff7238 100644 --- a/api/overview/azure/preview/web-pubsub-index.md +++ b/api/overview/azure/preview/web-pubsub-index.md @@ -1,8 +1,4 @@ | Reference | Package | Source | |---|---|---| -|Microsoft.Azure.WebPubSub.AspNetCore|[Microsoft.Azure.WebPubSub.AspNetCore](https://www.nuget.org/packages/Microsoft.Azure.WebPubSub.AspNetCore)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/webpubsub/Microsoft.Azure.WebPubSub.AspNetCore)| -|Microsoft.Azure.WebPubSub.Common|[Microsoft.Azure.WebPubSub.Common](https://www.nuget.org/packages/Microsoft.Azure.WebPubSub.Common)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/webpubsub/Microsoft.Azure.WebPubSub.Common)| -|[Web PubSub](messaging.webpubsub-readme.md)|[Azure.Messaging.WebPubSub](https://www.nuget.org/packages/Azure.Messaging.WebPubSub)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/webpubsub/Azure.Messaging.WebPubSub)| |[Web PubSub Client](messaging.webpubsub.client-readme.md)|[Azure.Messaging.WebPubSub.Client](https://www.nuget.org/packages/Azure.Messaging.WebPubSub.Client)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/webpubsub/Azure.Messaging.WebPubSub.Client)| -|WebJobs Extensions - Web PubSub|[Microsoft.Azure.WebJobs.Extensions.WebPubSub](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.WebPubSub)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/webpubsub/Microsoft.Azure.WebJobs.Extensions.WebPubSub)| |[Resource Management - Web PubSub](resourcemanager.webpubsub-readme.md)|[Azure.ResourceManager.WebPubSub](https://www.nuget.org/packages/Azure.ResourceManager.WebPubSub)|[GitHub](https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/webpubsub/Azure.ResourceManager.WebPubSub)| diff --git a/api/overview/azure/preview/web-pubsub.md b/api/overview/azure/preview/web-pubsub.md index 50682a279e8e..7eb51a6769a1 100644 --- a/api/overview/azure/preview/web-pubsub.md +++ b/api/overview/azure/preview/web-pubsub.md @@ -3,7 +3,7 @@ title: Azure Web PubSub SDK for .NET description: Reference for Azure Web PubSub SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: webpubsub diff --git a/api/overview/azure/preview/workload-monitor.md b/api/overview/azure/preview/workload-monitor.md index f3ecfe65eaee..a1503eef4919 100644 --- a/api/overview/azure/preview/workload-monitor.md +++ b/api/overview/azure/preview/workload-monitor.md @@ -3,7 +3,7 @@ title: Azure Workload Monitor SDK for .NET description: Reference for Azure Workload Monitor SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: workloadmonitor diff --git a/api/overview/azure/preview/workloads.md b/api/overview/azure/preview/workloads.md index f6a253b769fa..54794983d552 100644 --- a/api/overview/azure/preview/workloads.md +++ b/api/overview/azure/preview/workloads.md @@ -3,7 +3,7 @@ title: Azure Workloads SDK for .NET description: Reference for Azure Workloads SDK for .NET author: pallavit ms.author: pallavit -ms.data: 09/20/2023 +ms.data: 09/21/2023 ms.topic: reference ms.devlang: dotnet ms.service: workloads diff --git a/bundlepackages/azure-dotnet-preview.csv b/bundlepackages/azure-dotnet-preview.csv index 125ea3ba75e7..53f2c3a051d1 100644 --- a/bundlepackages/azure-dotnet-preview.csv +++ b/bundlepackages/azure-dotnet-preview.csv @@ -1,304 +1,227 @@ -azureaianomalydetector,[tfm=netstandard2.0;isPrerelease=true]Azure.AI.AnomalyDetector,3.0.0-preview.7 +azureaianomalydetector,[isPrerelease=true;tfm=netstandard2.0]Azure.AI.AnomalyDetector,3.0.0-preview.7 azureaicontentsafety,[tfm=netstandard2.0;isPrerelease=true]Azure.AI.ContentSafety,1.0.0-beta.1 -azureaiformrecognizer,[tfm=netstandard2.0;isPrerelease=true]Azure.AI.FormRecognizer,4.1.0-beta.1 -azureailanguageconversations,[tfm=netstandard2.0;isPrerelease=true]Azure.AI.Language.Conversations,1.1.0-beta.2 -azureailanguagequestionanswering,[tfm=netstandard2.0;isPrerelease=true]Azure.AI.Language.QuestionAnswering,1.1.0-beta.2 -azureaiopenai,[tfm=netstandard2.0;isPrerelease=true]Azure.AI.OpenAI,1.0.0-beta.7 -azureaipersonalizer,[tfm=netstandard2.0;isPrerelease=true]Azure.AI.Personalizer,2.0.0-beta.2 -azureaitextanalytics,[tfm=netstandard2.0;isPrerelease=true]Azure.AI.TextAnalytics,5.3.0-beta.3 -azureaitranslationdocument,[tfm=netstandard2.0;isPrerelease=true]Azure.AI.Translation.Document,1.0.0-beta.6 +azureaiopenai,[tfm=netstandard2.0;isPrerelease=true]Azure.AI.OpenAI,1.0.0-beta.8 +azureaipersonalizer,[isPrerelease=true;tfm=netstandard2.0]Azure.AI.Personalizer,2.0.0-beta.2 azureaitranslationtext,[tfm=netstandard2.0;isPrerelease=true]Azure.AI.Translation.Text,1.0.0-beta.1 azureaivisioncommon,[tfm=netstandard2.0;isPrerelease=true]Azure.AI.Vision.Common,0.15.1-beta.1 azureaivisioncore,[tfm=netstandard2.0;isPrerelease=true]Azure.AI.Vision.Core,0.10.0-beta.1 azureaivisionimageanalysis,[tfm=netstandard2.0;isPrerelease=true]Azure.AI.Vision.ImageAnalysis,0.15.1-beta.1 -azureanalyticspurviewaccount,[tfm=netstandard2.0;isPrerelease=true]Azure.Analytics.Purview.Account,1.0.0-beta.1 -azureanalyticspurviewadministration,[tfm=netstandard2.0;isPrerelease=true]Azure.Analytics.Purview.Administration,1.0.0-beta.1 -azureanalyticspurviewcatalog,[tfm=netstandard2.0;isPrerelease=true]Azure.Analytics.Purview.Catalog,1.0.0-beta.4 -azureanalyticspurviewscanning,[tfm=netstandard2.0;isPrerelease=true]Azure.Analytics.Purview.Scanning,1.0.0-beta.2 +azureanalyticspurviewaccount,[isPrerelease=true;tfm=netstandard2.0]Azure.Analytics.Purview.Account,1.0.0-beta.1 +azureanalyticspurviewadministration,[isPrerelease=true;tfm=netstandard2.0]Azure.Analytics.Purview.Administration,1.0.0-beta.1 +azureanalyticspurviewcatalog,[isPrerelease=true;tfm=netstandard2.0]Azure.Analytics.Purview.Catalog,1.0.0-beta.4 +azureanalyticspurviewscanning,[isPrerelease=true;tfm=netstandard2.0]Azure.Analytics.Purview.Scanning,1.0.0-beta.2 azureanalyticspurviewsharing,[tfm=netstandard2.0;isPrerelease=true]Azure.Analytics.Purview.Sharing,1.0.0-beta.3 azureanalyticspurviewworkflows,[tfm=netstandard2.0;isPrerelease=true]Azure.Analytics.Purview.Workflows,1.0.0-beta.1 -azureanalyticssynapseaccesscontrol,[tfm=netstandard2.0;isPrerelease=true]Azure.Analytics.Synapse.AccessControl,1.0.0-preview.5 -azureanalyticssynapseartifacts,[tfm=netstandard2.0;isPrerelease=true]Azure.Analytics.Synapse.Artifacts,1.0.0-preview.18 -azureanalyticssynapsemanagedprivateendpoints,[tfm=netstandard2.0;isPrerelease=true]Azure.Analytics.Synapse.ManagedPrivateEndpoints,1.0.0-beta.5 -azureanalyticssynapsemonitoring,[tfm=netstandard2.0;isPrerelease=true]Azure.Analytics.Synapse.Monitoring,1.0.0-beta.3 -azureanalyticssynapsespark,[tfm=netstandard2.0;isPrerelease=true]Azure.Analytics.Synapse.Spark,1.0.0-preview.8 -azurecommunicationcallautomation,[tfm=netstandard2.0;isPrerelease=true]Azure.Communication.CallAutomation,1.1.0-beta.1 -azurecommunicationcallingserver,[tfm=netstandard2.0;isPrerelease=true]Azure.Communication.CallingServer,1.0.0-beta.3 +azureanalyticssynapseaccesscontrol,[isPrerelease=true;tfm=netstandard2.0]Azure.Analytics.Synapse.AccessControl,1.0.0-preview.5 +azureanalyticssynapseartifacts,[isPrerelease=true;tfm=netstandard2.0]Azure.Analytics.Synapse.Artifacts,1.0.0-preview.18 +azureanalyticssynapsemanagedprivateendpoints,[isPrerelease=true;tfm=netstandard2.0]Azure.Analytics.Synapse.ManagedPrivateEndpoints,1.0.0-beta.5 +azureanalyticssynapsemonitoring,[isPrerelease=true;tfm=netstandard2.0]Azure.Analytics.Synapse.Monitoring,1.0.0-beta.3 +azureanalyticssynapsespark,[isPrerelease=true;tfm=netstandard2.0]Azure.Analytics.Synapse.Spark,1.0.0-preview.8 +azurecommunicationcallautomation,[isPrerelease=true;tfm=netstandard2.0]Azure.Communication.CallAutomation,1.1.0-beta.1 +azurecommunicationcallingserver,[isPrerelease=true;tfm=netstandard2.0]Azure.Communication.CallingServer,1.0.0-beta.3 azurecommunicationchat,[tfm=netstandard2.0;isPrerelease=true]Azure.Communication.Chat,1.2.0-beta.1 azurecommunicationcommon,[tfm=netstandard2.0;isPrerelease=true]Azure.Communication.Common,2.0.0-beta.1 -azurecommunicationemail,[tfm=netstandard2.0;isPrerelease=true]Azure.Communication.Email,1.0.0-beta.4 -azurecommunicationidentity,[tfm=netstandard2.0;isPrerelease=true]Azure.Communication.Identity,1.1.0-beta.1 azurecommunicationjobrouter,[tfm=netstandard2.0;isPrerelease=true]Azure.Communication.JobRouter,1.0.0-beta.3 -azurecommunicationnetworktraversal,[tfm=netstandard2.0;isPrerelease=true]Azure.Communication.NetworkTraversal,1.1.0-beta.1 -azurecommunicationphonenumbers,[tfm=netstandard2.0;isPrerelease=true]Azure.Communication.PhoneNumbers,1.3.0-beta.2 -azurecommunicationrooms,[tfm=netstandard2.0;isPrerelease=true]Azure.Communication.Rooms,1.0.0-beta.2 -azurecontainerscontainerregistry,[tfm=netstandard2.0;isPrerelease=true]Azure.Containers.ContainerRegistry,1.2.0-beta.1 -azurecoreexperimental,[tfm=netstandard2.0;isPrerelease=true]Azure.Core.Experimental,0.1.0-preview.30 -azurecoreexpressionsdatafactory,[tfm=netstandard2.0;isPrerelease=true]Azure.Core.Expressions.DataFactory,1.0.0-beta.5 -azurecosmos,[tfm=netstandard2.0;isPrerelease=true]Azure.Cosmos,4.0.0-preview3 -azuredataappconfiguration,[tfm=netstandard2.0;isPrerelease=true]Azure.Data.AppConfiguration,1.3.0-beta.2 -azuredataschemaregistry,[tfm=netstandard2.0;isPrerelease=true]Azure.Data.SchemaRegistry,1.4.0-beta.2 -azuredatatables,[tfm=netstandard2.0;isPrerelease=true]Azure.Data.Tables,12.7.0-beta.1 -azuredeveloperdevcenter,[tfm=netstandard2.0;isPrerelease=true]Azure.Developer.DevCenter,1.0.0-beta.2 -azuredeveloperloadtesting,[tfm=netstandard2.0;isPrerelease=true]Azure.Developer.LoadTesting,1.0.0-beta.2 -azuredigitaltwinscore,[tfm=netstandard2.0;isPrerelease=true]Azure.DigitalTwins.Core,1.4.0-beta.1 +azurecommunicationnetworktraversal,[isPrerelease=true;tfm=netstandard2.0]Azure.Communication.NetworkTraversal,1.1.0-beta.1 +azurecommunicationphonenumbers,[isPrerelease=true;tfm=netstandard2.0]Azure.Communication.PhoneNumbers,1.3.0-beta.2 +azurecontainerscontainerregistry,[isPrerelease=true;tfm=netstandard2.0]Azure.Containers.ContainerRegistry,1.2.0-beta.1 +azurecoreexperimental,[isPrerelease=true;tfm=netstandard2.0]Azure.Core.Experimental,0.1.0-preview.30 +azurecoreexpressionsdatafactory,[isPrerelease=true;tfm=netstandard2.0]Azure.Core.Expressions.DataFactory,1.0.0-beta.5 +azurecosmos,[isPrerelease=true;tfm=netstandard2.0]Azure.Cosmos,4.0.0-preview3 +azuredataappconfiguration,[isPrerelease=true;tfm=netstandard2.0]Azure.Data.AppConfiguration,1.3.0-beta.2 +azuredataschemaregistry,[isPrerelease=true;tfm=netstandard2.0]Azure.Data.SchemaRegistry,1.4.0-beta.2 +azuredeveloperdevcenter,[isPrerelease=true;tfm=netstandard2.0]Azure.Developer.DevCenter,1.0.0-beta.2 azurehealthinsightscancerprofiling,[tfm=netstandard2.0;isPrerelease=true]Azure.Health.Insights.CancerProfiling,1.0.0-beta.1 azurehealthinsightsclinicalmatching,[tfm=netstandard2.0;isPrerelease=true]Azure.Health.Insights.ClinicalMatching,1.0.0-beta.1 -azureidentity,[tfm=netstandard2.0;isPrerelease=true]Azure.Identity,1.10.0-beta.1 -azureidentitybrokeredauthentication,[tfm=netstandard2.0;isPrerelease=true]Azure.Identity.BrokeredAuthentication,1.0.0-beta.4 -azureiotdeviceupdate,[tfm=netstandard2.0;isPrerelease=true]Azure.IoT.DeviceUpdate,1.0.0-beta.4 -azureiotmodelsrepository,[tfm=netstandard2.0;isPrerelease=true]Azure.IoT.ModelsRepository,1.0.0-preview.5 -azuremapscommon,[tfm=netstandard2.0;isPrerelease=true]Azure.Maps.Common,1.0.0-beta.4 -azuremapsgeolocation,[tfm=netstandard2.0;isPrerelease=true]Azure.Maps.Geolocation,1.0.0-beta.2 -azuremapsrendering,[tfm=netstandard2.0;isPrerelease=true]Azure.Maps.Rendering,1.0.0-beta.2 -azuremapsrouting,[tfm=netstandard2.0;isPrerelease=true]Azure.Maps.Routing,1.0.0-beta.2 -azuremapssearch,[tfm=netstandard2.0;isPrerelease=true]Azure.Maps.Search,1.0.0-beta.4 -azuremediaanalyticsedge,[tfm=netstandard2.0;isPrerelease=true]Azure.Media.Analytics.Edge,1.0.0-beta.1 -azuremediavideoanalyzeredge,[tfm=netstandard2.0;isPrerelease=true]Azure.Media.VideoAnalyzer.Edge,1.0.0-beta.6 -azuremessagingeventgrid,[tfm=netstandard2.0;isPrerelease=true]Azure.Messaging.EventGrid,4.18.0-beta.1 -azuremessagingeventhubs,[tfm=netstandard2.0;isPrerelease=true]Azure.Messaging.EventHubs,5.7.0-beta.5 -azuremessagingeventhubsprocessor,[tfm=netstandard2.0;isPrerelease=true]Azure.Messaging.EventHubs.Processor,5.7.0-beta.5 -azuremessagingservicebus,[tfm=netstandard2.0;isPrerelease=true]Azure.Messaging.ServiceBus,7.11.0-beta.1 -azuremessagingwebpubsub,[tfm=netstandard2.0;isPrerelease=true]Azure.Messaging.WebPubSub,1.1.0-beta.1 -azuremessagingwebpubsubclient,[tfm=netstandard2.0;isPrerelease=true]Azure.Messaging.WebPubSub.Client,1.0.0-beta.2 -azuremixedrealityobjectanchorsconversion,[tfm=netstandard2.0;isPrerelease=true]Azure.MixedReality.ObjectAnchors.Conversion,0.3.0-beta.6 -azuremonitoringestion,[tfm=netstandard2.0;isPrerelease=true]Azure.Monitor.Ingestion,1.0.0-beta.4 +azureidentitybrokeredauthentication,[isPrerelease=true;tfm=netstandard2.0]Azure.Identity.BrokeredAuthentication,1.0.0-beta.4 +azureiotmodelsrepository,[isPrerelease=true;tfm=netstandard2.0]Azure.IoT.ModelsRepository,1.0.0-preview.5 +azuremapscommon,[isPrerelease=true;tfm=netstandard2.0]Azure.Maps.Common,1.0.0-beta.4 +azuremapsgeolocation,[isPrerelease=true;tfm=netstandard2.0]Azure.Maps.Geolocation,1.0.0-beta.2 +azuremapsrendering,[isPrerelease=true;tfm=netstandard2.0]Azure.Maps.Rendering,1.0.0-beta.2 +azuremapsrouting,[isPrerelease=true;tfm=netstandard2.0]Azure.Maps.Routing,1.0.0-beta.2 +azuremapssearch,[isPrerelease=true;tfm=netstandard2.0]Azure.Maps.Search,1.0.0-beta.4 +azuremediaanalyticsedge,[isPrerelease=true;tfm=netstandard2.0]Azure.Media.Analytics.Edge,1.0.0-beta.1 +azuremediavideoanalyzeredge,[isPrerelease=true;tfm=netstandard2.0]Azure.Media.VideoAnalyzer.Edge,1.0.0-beta.6 +azuremessagingwebpubsubclient,[isPrerelease=true;tfm=netstandard2.0]Azure.Messaging.WebPubSub.Client,1.0.0-beta.2 +azuremixedrealityobjectanchorsconversion,[isPrerelease=true;tfm=netstandard2.0]Azure.MixedReality.ObjectAnchors.Conversion,0.3.0-beta.6 azuremonitoropentelemetryaspnetcore,[tfm=netstandard2.0;isPrerelease=true]Azure.Monitor.OpenTelemetry.AspNetCore,1.0.0-beta.7 -azuremonitoropentelemetryexporter,[tfm=netstandard2.0;isPrerelease=true]Azure.Monitor.OpenTelemetry.Exporter,1.0.0-beta.14 -azuremonitorquery,[tfm=netstandard2.0;isPrerelease=true]Azure.Monitor.Query,1.2.0-beta.1 -azurequantumjobs,[tfm=netstandard2.0;isPrerelease=true]Azure.Quantum.Jobs,1.0.0-beta.3 -azureresourcemanager,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager,1.8.0-beta.1 -azureresourcemanageradvisor,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Advisor,1.0.0-beta.3 -azureresourcemanageragfoodplatform,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.AgFoodPlatform,1.0.0-beta.3 -azureresourcemanageralertsmanagement,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.AlertsManagement,1.1.0-beta.1 -azureresourcemanageranalysis,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Analysis,1.1.0-beta.1 +azurequantumjobs,[isPrerelease=true;tfm=netstandard2.0]Azure.Quantum.Jobs,1.0.0-beta.3 +azureresourcemanager,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager,1.8.0-beta.1 +azureresourcemanageradvisor,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Advisor,1.0.0-beta.3 +azureresourcemanageragfoodplatform,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.AgFoodPlatform,1.0.0-beta.3 +azureresourcemanageralertsmanagement,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.AlertsManagement,1.1.0-beta.1 +azureresourcemanageranalysis,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Analysis,1.1.0-beta.1 azureresourcemanagerapicenter,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ApiCenter,1.0.0-beta.1 -azureresourcemanagerapimanagement,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ApiManagement,1.1.0-beta.1 -azureresourcemanagerappcomplianceautomation,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.AppComplianceAutomation,1.0.0-beta.3 -azureresourcemanagerappconfiguration,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.AppConfiguration,1.1.0-beta.1 -azureresourcemanagerappcontainers,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.AppContainers,1.1.0-beta.3 -azureresourcemanagerapplicationinsights,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ApplicationInsights,1.0.0-beta.3 -azureresourcemanagerapplicationscontainers,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Applications.Containers,1.0.0-beta.1 -azureresourcemanagerappplatform,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.AppPlatform,1.1.0-beta.2 -azureresourcemanagerappservice,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.AppService,1.1.0-beta.3 -azureresourcemanagerarcscvmm,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ArcScVmm,1.0.0-beta.3 -azureresourcemanagerattestation,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Attestation,1.0.0-beta.3 -azureresourcemanagerauthorization,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Authorization,1.1.0-beta.1 -azureresourcemanagerautomanage,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Automanage,1.1.0-beta.1 -azureresourcemanagerautomation,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Automation,1.1.0-beta.1 -azureresourcemanageravs,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Avs,1.2.0-beta.1 -azureresourcemanagerbatch,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Batch,1.2.0-beta.1 -azureresourcemanagerbilling,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Billing,1.1.0-beta.1 -azureresourcemanagerbillingbenefits,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.BillingBenefits,1.0.0-beta.2 -azureresourcemanagerblueprint,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Blueprint,1.0.0-beta.3 -azureresourcemanagerbotservice,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.BotService,1.1.0-beta.1 -azureresourcemanagercdn,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Cdn,1.2.0-beta.1 -azureresourcemanagerchangeanalysis,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ChangeAnalysis,1.1.0-beta.1 -azureresourcemanagerchaos,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Chaos,1.0.0-beta.4 -azureresourcemanagercognitiveservices,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.CognitiveServices,1.3.0-beta.1 -azureresourcemanagercommunication,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Communication,1.2.0-beta.2 -azureresourcemanagercompute,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Compute,1.2.0-beta.3 -azureresourcemanagerconfidentialledger,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ConfidentialLedger,1.1.0-beta.2 -azureresourcemanagerconfluent,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Confluent,1.1.0-beta.1 -azureresourcemanagerconnectedvmwarevsphere,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ConnectedVMwarevSphere,1.0.0-beta.7 -azureresourcemanagerconsumption,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Consumption,1.1.0-beta.1 -azureresourcemanagercontainerinstance,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ContainerInstance,1.2.0-beta.1 -azureresourcemanagercontainerregistry,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ContainerRegistry,1.2.0-beta.1 -azureresourcemanagercontainerservice,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ContainerService,1.2.0-beta.2 -azureresourcemanagercosmosdb,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.CosmosDB,1.4.0-beta.3 +azureresourcemanagerapimanagement,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.ApiManagement,1.1.0-beta.1 +azureresourcemanagerappcomplianceautomation,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.AppComplianceAutomation,1.0.0-beta.3 +azureresourcemanagerappconfiguration,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.AppConfiguration,1.1.0-beta.1 +azureresourcemanagerapplicationinsights,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.ApplicationInsights,1.0.0-beta.3 +azureresourcemanagerapplicationscontainers,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Applications.Containers,1.0.0-beta.1 +azureresourcemanagerappplatform,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.AppPlatform,1.1.0-beta.2 +azureresourcemanagerappservice,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.AppService,1.1.0-beta.3 +azureresourcemanagerarcscvmm,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.ArcScVmm,1.0.0-beta.3 +azureresourcemanagerattestation,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Attestation,1.0.0-beta.3 +azureresourcemanagerauthorization,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Authorization,1.1.0-beta.1 +azureresourcemanagerautomanage,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Automanage,1.1.0-beta.1 +azureresourcemanagerautomation,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Automation,1.1.0-beta.1 +azureresourcemanageravs,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Avs,1.2.0-beta.1 +azureresourcemanagerbilling,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Billing,1.1.0-beta.1 +azureresourcemanagerbillingbenefits,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.BillingBenefits,1.0.0-beta.2 +azureresourcemanagerblueprint,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Blueprint,1.0.0-beta.3 +azureresourcemanagerbotservice,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.BotService,1.1.0-beta.1 +azureresourcemanagercdn,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Cdn,1.2.0-beta.1 +azureresourcemanagerchangeanalysis,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.ChangeAnalysis,1.1.0-beta.1 +azureresourcemanagerchaos,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Chaos,1.0.0-beta.4 +azureresourcemanagercommunication,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Communication,1.2.0-beta.2 +azureresourcemanagerconfidentialledger,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.ConfidentialLedger,1.1.0-beta.2 +azureresourcemanagerconfluent,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Confluent,1.1.0-beta.1 +azureresourcemanagerconnectedvmwarevsphere,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.ConnectedVMwarevSphere,1.0.0-beta.7 +azureresourcemanagerconsumption,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Consumption,1.1.0-beta.1 +azureresourcemanagercontainerinstance,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.ContainerInstance,1.2.0-beta.1 +azureresourcemanagercontainerregistry,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.ContainerRegistry,1.2.0-beta.1 +azureresourcemanagercontainerservice,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.ContainerService,1.2.0-beta.2 +azureresourcemanagercosmosdb,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.CosmosDB,1.4.0-beta.3 azureresourcemanagercosmosdbforpostgresql,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.CosmosDBForPostgreSql,1.0.0-beta.1 -azureresourcemanagercostmanagement,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.CostManagement,1.0.0-beta.1 -azureresourcemanagercustomerinsights,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.CustomerInsights,1.0.0-beta.3 -azureresourcemanagerdatabox,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.DataBox,1.0.0-beta.1 -azureresourcemanagerdataboxedge,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.DataBoxEdge,1.1.0-beta.1 -azureresourcemanagerdatadog,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Datadog,1.0.0-beta.3 -azureresourcemanagerdatafactory,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.DataFactory,1.0.0-beta.3 -azureresourcemanagerdatalakeanalytics,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.DataLakeAnalytics,1.1.0-beta.2 -azureresourcemanagerdatalakestore,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.DataLakeStore,1.1.0-beta.2 -azureresourcemanagerdatamigration,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.DataMigration,1.0.0-beta.3 -azureresourcemanagerdataprotectionbackup,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.DataProtectionBackup,1.2.0-beta.1 -azureresourcemanagerdatashare,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.DataShare,1.1.0-beta.1 +azureresourcemanagercustomerinsights,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.CustomerInsights,1.0.0-beta.3 +azureresourcemanagerdataboxedge,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.DataBoxEdge,1.1.0-beta.1 +azureresourcemanagerdatadog,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Datadog,1.0.0-beta.3 +azureresourcemanagerdatafactory,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.DataFactory,1.0.0-beta.3 +azureresourcemanagerdatalakeanalytics,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.DataLakeAnalytics,1.1.0-beta.2 +azureresourcemanagerdatalakestore,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.DataLakeStore,1.1.0-beta.2 +azureresourcemanagerdatamigration,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.DataMigration,1.0.0-beta.3 +azureresourcemanagerdatashare,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.DataShare,1.1.0-beta.1 azureresourcemanagerdefendereasm,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.DefenderEasm,1.0.0-beta.1 -azureresourcemanagerdeploymentmanager,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.DeploymentManager,1.0.0-beta.3 -azureresourcemanagerdesktopvirtualization,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.DesktopVirtualization,1.0.0-beta.1 -azureresourcemanagerdevcenter,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.DevCenter,1.0.0-beta.2 -azureresourcemanagerdeviceprovisioningservices,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.DeviceProvisioningServices,1.2.0-beta.1 -azureresourcemanagerdeviceupdate,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.DeviceUpdate,1.0.0-beta.9 -azureresourcemanagerdevspaces,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.DevSpaces,1.0.0-beta.3 -azureresourcemanagerdevtestlabs,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.DevTestLabs,1.1.0-beta.1 -azureresourcemanagerdigitaltwins,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.DigitalTwins,1.3.0-beta.1 -azureresourcemanagerdns,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Dns,1.1.0-beta.1 -azureresourcemanagerdnsresolver,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.DnsResolver,1.1.0-beta.1 -azureresourcemanagerdynatrace,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Dynatrace,1.1.0-beta.1 -azureresourcemanageredgeorder,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.EdgeOrder,1.1.0-beta.1 -azureresourcemanagerelastic,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Elastic,1.0.0-beta.3 -azureresourcemanagerelasticsan,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ElasticSan,1.0.0-beta.4 +azureresourcemanagerdeploymentmanager,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.DeploymentManager,1.0.0-beta.3 +azureresourcemanagerdeviceprovisioningservices,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.DeviceProvisioningServices,1.2.0-beta.1 +azureresourcemanagerdeviceupdate,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.DeviceUpdate,1.0.0-beta.9 +azureresourcemanagerdevspaces,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.DevSpaces,1.0.0-beta.3 +azureresourcemanagerdevtestlabs,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.DevTestLabs,1.1.0-beta.1 +azureresourcemanagerdigitaltwins,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.DigitalTwins,1.3.0-beta.1 +azureresourcemanagerdns,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Dns,1.1.0-beta.1 +azureresourcemanagerdnsresolver,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.DnsResolver,1.1.0-beta.1 +azureresourcemanagerdynatrace,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Dynatrace,1.1.0-beta.1 +azureresourcemanageredgeorder,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.EdgeOrder,1.1.0-beta.1 +azureresourcemanagerelastic,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Elastic,1.0.0-beta.3 +azureresourcemanagerelasticsan,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.ElasticSan,1.0.0-beta.4 azureresourcemanagerenergyservices,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.EnergyServices,1.0.0-beta.1 -azureresourcemanagereventgrid,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.EventGrid,1.1.0-beta.2 -azureresourcemanagereventhubs,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.EventHubs,1.1.0-beta.3 -azureresourcemanagerextendedlocation,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ExtendedLocation,1.0.0-beta.2 -azureresourcemanagerextendedlocations,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ExtendedLocations,1.1.0-beta.1 -azureresourcemanagerfluidrelay,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.FluidRelay,1.1.0-beta.1 -azureresourcemanagerfrontdoor,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.FrontDoor,1.2.0-beta.1 -azureresourcemanagergrafana,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Grafana,1.1.0-beta.1 -azureresourcemanagergraphservices,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.GraphServices,1.0.0-beta.1 -azureresourcemanagerguestconfiguration,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.GuestConfiguration,1.1.0-beta.1 -azureresourcemanagerhci,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Hci,1.0.0-beta.5 -azureresourcemanagerhdinsight,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.HDInsight,1.2.0-beta.1 +azureresourcemanagereventgrid,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.EventGrid,1.1.0-beta.2 +azureresourcemanagereventhubs,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.EventHubs,1.1.0-beta.3 +azureresourcemanagerextendedlocation,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.ExtendedLocation,1.0.0-beta.2 +azureresourcemanagerextendedlocations,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.ExtendedLocations,1.1.0-beta.1 +azureresourcemanagerfluidrelay,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.FluidRelay,1.1.0-beta.1 +azureresourcemanagerfrontdoor,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.FrontDoor,1.2.0-beta.1 +azureresourcemanagergrafana,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Grafana,1.1.0-beta.1 +azureresourcemanagerguestconfiguration,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.GuestConfiguration,1.1.0-beta.1 +azureresourcemanagerhdinsight,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.HDInsight,1.2.0-beta.1 azureresourcemanagerhdinsightcontainers,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.HDInsight.Containers,1.0.0-beta.1 azureresourcemanagerhealthbot,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.HealthBot,1.1.0-beta.1 -azureresourcemanagerhealthcareapis,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.HealthcareApis,1.1.0-beta.1 -azureresourcemanagerhybridcompute,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.HybridCompute,1.0.0-beta.4 -azureresourcemanagerhybridconnectivity,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.HybridConnectivity,1.0.0-beta.3 +azureresourcemanagerhealthcareapis,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.HealthcareApis,1.1.0-beta.1 +azureresourcemanagerhybridcompute,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.HybridCompute,1.0.0-beta.4 +azureresourcemanagerhybridconnectivity,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.HybridConnectivity,1.0.0-beta.3 azureresourcemanagerhybridcontainerservice,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.HybridContainerService,1.0.0-beta.2 -azureresourcemanageriotcentral,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.IotCentral,1.1.0-beta.1 +azureresourcemanageriotcentral,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.IotCentral,1.1.0-beta.1 azureresourcemanageriotfirmwaredefense,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.IotFirmwareDefense,1.0.0-beta.1 -azureresourcemanageriothub,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.IotHub,1.1.0-beta.2 -azureresourcemanagerkeyvault,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.KeyVault,1.2.0-beta.2 -azureresourcemanagerkubernetes,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Kubernetes,1.0.0-beta.3 -azureresourcemanagerkubernetesconfiguration,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.KubernetesConfiguration,1.2.0-beta.1 -azureresourcemanagerkusto,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Kusto,1.4.0-beta.1 -azureresourcemanagerlabservices,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.LabServices,1.1.0-beta.1 -azureresourcemanagerloadtesting,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.LoadTesting,1.1.0-beta.1 -azureresourcemanagerlogic,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Logic,1.1.0-beta.1 -azureresourcemanagermachinelearning,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.MachineLearning,1.2.0-beta.1 -azureresourcemanagermachinelearningcompute,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.MachineLearningCompute,1.0.0-beta.3 -azureresourcemanagermaintenance,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Maintenance,1.2.0-beta.4 -azureresourcemanagermanagednetwork,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ManagedNetwork,1.0.0-beta.3 -azureresourcemanagermanagednetworkfabric,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ManagedNetworkFabric,1.0.0-beta.1 -azureresourcemanagermanagedserviceidentities,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ManagedServiceIdentities,1.2.0-beta.1 -azureresourcemanagermanagedservices,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ManagedServices,1.1.0-beta.1 -azureresourcemanagermanagementpartner,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ManagementPartner,1.0.0-beta.3 -azureresourcemanagermaps,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Maps,1.1.0-beta.2 -azureresourcemanagermarketplace,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Marketplace,1.1.0-beta.1 -azureresourcemanagermarketplaceordering,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.MarketplaceOrdering,1.1.0-beta.1 -azureresourcemanagermedia,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Media,1.3.0-beta.1 -azureresourcemanagermigrate,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Migrate,1.0.0-beta.1 -azureresourcemanagermixedreality,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.MixedReality,1.1.0-beta.1 -azureresourcemanagermobilenetwork,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.MobileNetwork,1.0.0-beta.2 -azureresourcemanagermonitor,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Monitor,1.3.0-beta.2 -azureresourcemanagermysql,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.MySql,1.1.0-beta.2 -azureresourcemanagernetapp,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.NetApp,1.2.0-beta.1 -azureresourcemanagernetwork,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Network,1.5.0-beta.1 -azureresourcemanagernetworkcloud,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.NetworkCloud,1.0.0-beta.2 -azureresourcemanagernetworkfunction,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.NetworkFunction,1.0.0-beta.3 -azureresourcemanagernewrelicobservability,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.NewRelicObservability,1.0.0-beta.2 -azureresourcemanagernginx,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Nginx,1.0.0-beta.2 -azureresourcemanagernotificationhubs,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.NotificationHubs,1.1.0-beta.1 -azureresourcemanageroperationalinsights,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.OperationalInsights,1.2.0-beta.1 -azureresourcemanagerorbital,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Orbital,1.1.0-beta.1 -azureresourcemanagerpaloaltonetworksngfw,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.PaloAltoNetworks.Ngfw,1.0.0-beta.1 -azureresourcemanagerpeering,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Peering,1.2.0-beta.1 -azureresourcemanagerpolicyinsights,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.PolicyInsights,1.2.0-beta.1 -azureresourcemanagerpostgresql,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.PostgreSql,1.2.0-beta.2 -azureresourcemanagerpowerbidedicated,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.PowerBIDedicated,1.0.0-beta.3 -azureresourcemanagerprivatedns,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.PrivateDns,1.1.0-beta.1 -azureresourcemanagerproviderhub,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ProviderHub,1.1.0-beta.1 -azureresourcemanagerpurview,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Purview,1.1.0-beta.1 -azureresourcemanagerquantum,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Quantum,1.0.0-beta.3 +azureresourcemanagerkeyvault,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.KeyVault,1.2.0-beta.2 +azureresourcemanagerkubernetes,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Kubernetes,1.0.0-beta.3 +azureresourcemanagerkubernetesconfiguration,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.KubernetesConfiguration,1.2.0-beta.1 +azureresourcemanagerlabservices,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.LabServices,1.1.0-beta.1 +azureresourcemanagerloadtesting,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.LoadTesting,1.1.0-beta.1 +azureresourcemanagerlogic,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Logic,1.1.0-beta.1 +azureresourcemanagermachinelearning,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.MachineLearning,1.2.0-beta.1 +azureresourcemanagermachinelearningcompute,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.MachineLearningCompute,1.0.0-beta.3 +azureresourcemanagermaintenance,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Maintenance,1.2.0-beta.4 +azureresourcemanagermanagednetwork,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.ManagedNetwork,1.0.0-beta.3 +azureresourcemanagermanagedserviceidentities,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.ManagedServiceIdentities,1.2.0-beta.1 +azureresourcemanagermanagedservices,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.ManagedServices,1.1.0-beta.1 +azureresourcemanagermanagementpartner,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.ManagementPartner,1.0.0-beta.3 +azureresourcemanagermaps,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Maps,1.1.0-beta.2 +azureresourcemanagermarketplaceordering,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.MarketplaceOrdering,1.1.0-beta.1 +azureresourcemanagermedia,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Media,1.3.0-beta.1 +azureresourcemanagermigrate,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Migrate,1.0.0-beta.1 +azureresourcemanagermixedreality,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.MixedReality,1.1.0-beta.1 +azureresourcemanagermonitor,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Monitor,1.3.0-beta.2 +azureresourcemanagermysql,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.MySql,1.1.0-beta.2 +azureresourcemanagernetworkfunction,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.NetworkFunction,1.0.0-beta.3 +azureresourcemanagernginx,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Nginx,1.0.0-beta.2 +azureresourcemanagernotificationhubs,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.NotificationHubs,1.1.0-beta.1 +azureresourcemanageroperationalinsights,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.OperationalInsights,1.2.0-beta.1 +azureresourcemanagerorbital,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Orbital,1.1.0-beta.1 +azureresourcemanagerpeering,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Peering,1.2.0-beta.1 +azureresourcemanagerpolicyinsights,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.PolicyInsights,1.2.0-beta.1 +azureresourcemanagerpostgresql,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.PostgreSql,1.2.0-beta.2 +azureresourcemanagerpowerbidedicated,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.PowerBIDedicated,1.0.0-beta.3 +azureresourcemanagerprivatedns,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.PrivateDns,1.1.0-beta.1 +azureresourcemanagerproviderhub,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.ProviderHub,1.1.0-beta.1 +azureresourcemanagerpurview,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Purview,1.1.0-beta.1 +azureresourcemanagerquantum,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Quantum,1.0.0-beta.3 azureresourcemanagerqumulo,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Qumulo,1.1.0-beta.1 -azureresourcemanagerquota,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Quota,1.0.0-beta.3 -azureresourcemanagerrecoveryservices,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.RecoveryServices,1.1.0-beta.1 -azureresourcemanagerrecoveryservicesbackup,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.RecoveryServicesBackup,1.1.0-beta.1 -azureresourcemanagerrecoveryservicessiterecovery,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.RecoveryServicesSiteRecovery,1.0.0-beta.3 -azureresourcemanagerredis,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Redis,1.2.0-beta.1 -azureresourcemanagerredisenterprise,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.RedisEnterprise,1.1.0-beta.1 -azureresourcemanagerredisenterprisecache,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.RedisEnterpriseCache,1.0.0-beta.1 -azureresourcemanagerrelay,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Relay,1.2.0-beta.1 -azureresourcemanagerreservations,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Reservations,1.4.0-beta.1 +azureresourcemanagerredisenterprise,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.RedisEnterprise,1.1.0-beta.1 +azureresourcemanagerredisenterprisecache,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.RedisEnterpriseCache,1.0.0-beta.1 +azureresourcemanagerrelay,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Relay,1.2.0-beta.1 +azureresourcemanagerreservations,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Reservations,1.4.0-beta.1 azureresourcemanagerresourceconnector,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ResourceConnector,1.0.0-beta.1 -azureresourcemanagerresourcegraph,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ResourceGraph,1.1.0-beta.1 +azureresourcemanagerresourcegraph,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.ResourceGraph,1.1.0-beta.1 azureresourcemanagerresourcehealth,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ResourceHealth,1.1.0-beta.1 -azureresourcemanagerresourcemover,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ResourceMover,1.1.0-beta.1 -azureresourcemanagerresources,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Resources,1.7.0-beta.1 -azureresourcemanagersearch,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Search,1.2.0-beta.1 -azureresourcemanagersecuritycenter,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.SecurityCenter,1.2.0-beta.3 -azureresourcemanagersecuritydevops,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.SecurityDevOps,1.0.0-beta.3 -azureresourcemanagersecurityinsights,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.SecurityInsights,1.1.0-beta.1 -azureresourcemanagerselfhelp,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.SelfHelp,1.0.0-beta.1 -azureresourcemanagerservicebus,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ServiceBus,1.1.0-beta.3 -azureresourcemanagerservicefabric,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ServiceFabric,1.1.0-beta.1 -azureresourcemanagerservicefabricmanagedclusters,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ServiceFabricManagedClusters,1.1.0-beta.2 -azureresourcemanagerservicelinker,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ServiceLinker,1.1.0-beta.1 +azureresourcemanagerresourcemover,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.ResourceMover,1.1.0-beta.1 +azureresourcemanagerresources,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Resources,1.7.0-beta.1 +azureresourcemanagersearch,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Search,1.2.0-beta.1 +azureresourcemanagersecuritycenter,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.SecurityCenter,1.2.0-beta.3 +azureresourcemanagersecuritydevops,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.SecurityDevOps,1.0.0-beta.3 +azureresourcemanagersecurityinsights,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.SecurityInsights,1.1.0-beta.1 +azureresourcemanagerservicebus,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.ServiceBus,1.1.0-beta.3 +azureresourcemanagerservicefabric,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.ServiceFabric,1.1.0-beta.1 +azureresourcemanagerservicefabricmanagedclusters,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.ServiceFabricManagedClusters,1.1.0-beta.2 +azureresourcemanagerservicelinker,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.ServiceLinker,1.1.0-beta.1 azureresourcemanagerservicenetworking,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.ServiceNetworking,1.0.0-beta.2 -azureresourcemanagersignalr,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.SignalR,1.1.0-beta.1 +azureresourcemanagersignalr,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.SignalR,1.1.0-beta.1 azureresourcemanagersphere,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Sphere,1.0.0-beta.1 -azureresourcemanagersql,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Sql,1.3.0-beta.2 -azureresourcemanagersqlvirtualmachine,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.SqlVirtualMachine,1.1.0-beta.1 -azureresourcemanagerstorage,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Storage,1.2.0-beta.2 -azureresourcemanagerstoragecache,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.StorageCache,1.2.0-beta.2 -azureresourcemanagerstoragemover,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.StorageMover,1.1.0-beta.2 -azureresourcemanagerstoragepool,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.StoragePool,1.1.0-beta.1 -azureresourcemanagerstoragesync,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.StorageSync,1.2.0-beta.1 -azureresourcemanagerstreamanalytics,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.StreamAnalytics,1.2.0-beta.1 -azureresourcemanagersubscription,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Subscription,1.1.0-beta.1 -azureresourcemanagersupport,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Support,1.1.0-beta.1 -azureresourcemanagersynapse,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Synapse,1.2.0-beta.1 -azureresourcemanagertrafficmanager,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.TrafficManager,1.1.0-beta.3 -azureresourcemanagervoiceservices,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.VoiceServices,1.0.0-beta.1 -azureresourcemanagerwebpubsub,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.WebPubSub,1.1.0-beta.1 -azureresourcemanagerworkloadmonitor,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.WorkloadMonitor,1.0.0-beta.3 -azureresourcemanagerworkloads,[tfm=netstandard2.0;isPrerelease=true]Azure.ResourceManager.Workloads,1.1.0-beta.1 -azuresearchdocuments,[tfm=netstandard2.0;isPrerelease=true]Azure.Search.Documents,11.5.0-beta.4 -azuresecurityconfidentialledger,[tfm=netstandard2.0;isPrerelease=true]Azure.Security.ConfidentialLedger,1.1.0-beta.1 -azuresecuritykeyvaultadministration,[tfm=netstandard2.0;isPrerelease=true]Azure.Security.KeyVault.Administration,4.3.0-beta.1 -azuresecuritykeyvaultcertificates,[tfm=netstandard2.0;isPrerelease=true]Azure.Security.KeyVault.Certificates,4.5.0-beta.1 -azuresecuritykeyvaultkeys,[tfm=netstandard2.0;isPrerelease=true]Azure.Security.KeyVault.Keys,4.5.0-beta.1 -azuresecuritykeyvaultsecrets,[tfm=netstandard2.0;isPrerelease=true]Azure.Security.KeyVault.Secrets,4.5.0-beta.1 -azurestorageblobs,[tfm=netstandard2.0;isPrerelease=true]Azure.Storage.Blobs,12.18.0-beta.1 -azurestorageblobsbatch,[tfm=netstandard2.0;isPrerelease=true]Azure.Storage.Blobs.Batch,12.15.0-beta.1 -azurestorageblobschangefeed,[tfm=netstandard2.0;isPrerelease=true]Azure.Storage.Blobs.ChangeFeed,12.0.0-preview.38 -azurestoragecommon,[tfm=netstandard2.0;isPrerelease=true]Azure.Storage.Common,12.17.0-beta.1 -azurestoragedatamovement,[tfm=netstandard2.0;isPrerelease=true]Azure.Storage.DataMovement,12.0.0-beta.3 -azurestoragedatamovementblobs,[tfm=netstandard2.0;isPrerelease=true]Azure.Storage.DataMovement.Blobs,12.0.0-beta.3 -azurestoragefilesdatalake,[tfm=netstandard2.0;isPrerelease=true]Azure.Storage.Files.DataLake,12.16.0-beta.1 -azurestoragefilesshares,[tfm=netstandard2.0;isPrerelease=true]Azure.Storage.Files.Shares,12.16.0-beta.1 -azurestoragequeues,[tfm=netstandard2.0;isPrerelease=true]Azure.Storage.Queues,12.16.0-beta.1 -azuretemplate,[tfm=netstandard2.0;isPrerelease=true]Azure.Template,1.0.3-beta.2997675 -azureverticalsagrifoodfarming,[tfm=netstandard2.0;isPrerelease=true]Azure.Verticals.AgriFood.Farming,1.0.0-beta.2 +azureresourcemanagersql,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Sql,1.3.0-beta.2 +azureresourcemanagersqlvirtualmachine,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.SqlVirtualMachine,1.1.0-beta.1 +azureresourcemanagerstorage,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Storage,1.2.0-beta.2 +azureresourcemanagerstoragecache,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.StorageCache,1.2.0-beta.2 +azureresourcemanagerstoragemover,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.StorageMover,1.1.0-beta.2 +azureresourcemanagerstoragepool,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.StoragePool,1.1.0-beta.1 +azureresourcemanagerstoragesync,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.StorageSync,1.2.0-beta.1 +azureresourcemanagerstreamanalytics,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.StreamAnalytics,1.2.0-beta.1 +azureresourcemanagersubscription,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Subscription,1.1.0-beta.1 +azureresourcemanagersupport,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Support,1.1.0-beta.1 +azureresourcemanagersynapse,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Synapse,1.2.0-beta.1 +azureresourcemanagerwebpubsub,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.WebPubSub,1.1.0-beta.1 +azureresourcemanagerworkloadmonitor,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.WorkloadMonitor,1.0.0-beta.3 +azureresourcemanagerworkloads,[isPrerelease=true;tfm=netstandard2.0]Azure.ResourceManager.Workloads,1.1.0-beta.1 +azuresearchdocuments,[isPrerelease=true;tfm=netstandard2.0]Azure.Search.Documents,11.5.0-beta.4 +azurestorageblobschangefeed,[isPrerelease=true;tfm=netstandard2.0]Azure.Storage.Blobs.ChangeFeed,12.0.0-preview.38 +azurestoragedatamovement,[isPrerelease=true;tfm=netstandard2.0]Azure.Storage.DataMovement,12.0.0-beta.3 +azurestoragedatamovementblobs,[isPrerelease=true;tfm=netstandard2.0]Azure.Storage.DataMovement.Blobs,12.0.0-beta.3 +azuretemplate,[isPrerelease=true;tfm=netstandard2.0]Azure.Template,1.0.3-beta.2997675 +azureverticalsagrifoodfarming,[isPrerelease=true;tfm=netstandard2.0]Azure.Verticals.AgriFood.Farming,1.0.0-beta.2 microsoftapplicationinsights,[tfm=netstandard2.0;isPrerelease=true]Microsoft.ApplicationInsights,2.22.0-beta2 -microsoftazureapplicationinsights,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.ApplicationInsights,0.9.0-preview -microsoftazurecognitiveserviceslanguageluisauthoring,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.CognitiveServices.Language.LUIS.Authoring,3.2.0-preview.5 -microsoftazurecognitiveserviceslanguageluisruntime,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.CognitiveServices.Language.LUIS.Runtime,3.1.0-preview.1 -microsoftazurecognitiveserviceslanguagespellcheck,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.CognitiveServices.Language.SpellCheck,4.1.0-preview.1 -microsoftazurecognitiveservicesvisioncustomvisiontraining,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.CognitiveServices.Vision.CustomVision.Training,2.1.0-preview -microsoftazurecognitiveservicesvisionface,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.CognitiveServices.Vision.Face,2.8.0-preview.3 -microsoftazurecorespatial,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.Core.Spatial,1.2.0-beta.1 -microsoftazurecorespatialnewtonsoftjson,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.Core.Spatial.NewtonsoftJson,1.1.0-beta.1 -microsoftazurecosmosdbbulkexecutor,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.CosmosDB.BulkExecutor,2.5.1-preview -microsoftazuredataschemaregistryapacheavro,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.Data.SchemaRegistry.ApacheAvro,1.0.0-beta.8 -microsoftazuredatalakestore,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.DataLake.Store,1.2.5-alpha -microsoftazuredevices,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.Devices,2.0.0-preview002 -microsoftazuredevicesclient,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.Devices.Client,2.0.0-preview002 -microsoftazuredevicesprovisioningclient,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.Devices.Provisioning.Client,2.0.0-preview002 -microsoftazuredevicesprovisioningsecuritytpm,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.Devices.Provisioning.Security.Tpm,1.15.0-preview-001 -microsoftazuredevicesprovisioningservice,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.Devices.Provisioning.Service,2.0.0-preview002 -microsoftazuredevicesprovisioningtransportamqp,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.Devices.Provisioning.Transport.Amqp,1.17.0-preview-001 -microsoftazuredevicesprovisioningtransporthttp,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.Devices.Provisioning.Transport.Http,1.16.0-preview-001 -microsoftazuredevicesprovisioningtransportmqtt,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.Devices.Provisioning.Transport.Mqtt,1.18.0-preview-001 -microsoftazuredevicesshared,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.Devices.Shared,1.31.0-preview-001 -microsoftazurefunctionsworker,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.Functions.Worker,1.11.0-preview2 +microsoftazureapplicationinsights,[isPrerelease=true;tfm=netstandard2.0]Microsoft.Azure.ApplicationInsights,0.9.0-preview +microsoftazurecognitiveserviceslanguageluisauthoring,[isPrerelease=true;tfm=netstandard2.0]Microsoft.Azure.CognitiveServices.Language.LUIS.Authoring,3.2.0-preview.5 +microsoftazurecognitiveserviceslanguageluisruntime,[isPrerelease=true;tfm=netstandard2.0]Microsoft.Azure.CognitiveServices.Language.LUIS.Runtime,3.1.0-preview.1 +microsoftazurecognitiveserviceslanguagespellcheck,[isPrerelease=true;tfm=netstandard2.0]Microsoft.Azure.CognitiveServices.Language.SpellCheck,4.1.0-preview.1 +microsoftazurecognitiveservicesvisioncustomvisiontraining,[isPrerelease=true;tfm=netstandard2.0]Microsoft.Azure.CognitiveServices.Vision.CustomVision.Training,2.1.0-preview +microsoftazurecognitiveservicesvisionface,[isPrerelease=true;tfm=netstandard2.0]Microsoft.Azure.CognitiveServices.Vision.Face,2.8.0-preview.3 +microsoftazurecorespatial,[isPrerelease=true;tfm=netstandard2.0]Microsoft.Azure.Core.Spatial,1.2.0-beta.1 +microsoftazurecorespatialnewtonsoftjson,[isPrerelease=true;tfm=netstandard2.0]Microsoft.Azure.Core.Spatial.NewtonsoftJson,1.1.0-beta.1 +microsoftazurecosmosdbbulkexecutor,[isPrerelease=true;tfm=netstandard2.0]Microsoft.Azure.CosmosDB.BulkExecutor,2.5.1-preview +microsoftazuredatalakestore,[isPrerelease=true;tfm=netstandard2.0]Microsoft.Azure.DataLake.Store,1.2.5-alpha +microsoftazuredevices,[isPrerelease=true;tfm=netstandard2.0]Microsoft.Azure.Devices,2.0.0-preview002 +microsoftazuredevicesclient,[isPrerelease=true;tfm=netstandard2.0]Microsoft.Azure.Devices.Client,2.0.0-preview002 +microsoftazuredevicesprovisioningclient,[isPrerelease=true;tfm=netstandard2.0]Microsoft.Azure.Devices.Provisioning.Client,2.0.0-preview002 +microsoftazuredevicesprovisioningservice,[isPrerelease=true;tfm=netstandard2.0]Microsoft.Azure.Devices.Provisioning.Service,2.0.0-preview002 +microsoftazurefunctionsworker,[isPrerelease=true;tfm=netstandard2.0]Microsoft.Azure.Functions.Worker,1.11.0-preview2 microsoftazurefunctionsworkerextensionswebpubsub,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.Functions.Worker.Extensions.WebPubSub,1.7.0-beta.1 -microsoftazurehdinsightjob,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.HDInsight.Job,3.0.0-preview.3 -microsoftazureiotdigitaltwinmodel,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.IoT.DigitalTwin.Model,1.0.12-preview -microsoftazuremanagementchaos,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.Management.Chaos,0.9.15-preview -microsoftazuremanagementdeviceupdate,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.Management.DeviceUpdate,1.0.0-beta.1 -microsoftazuremanagementmaintenance,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.Management.Maintenance,1.5.0-preview -microsoftazuremanagementpurview,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.Management.Purview,1.0.1 -microsoftazuremedialivevideoanalyticsedge,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.Media.LiveVideoAnalytics.Edge,1.0.4-preview.1 -microsoftazurerelay,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.Relay,3.0.0-preview -microsoftazuresynapse,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.Synapse,0.1.0-preview -microsoftazurewebjobsextensionsauthenticationevents,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents,1.0.0-beta.3 -microsoftazurewebjobsextensionseventgrid,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.WebJobs.Extensions.EventGrid,3.0.0-beta.4 -microsoftazurewebjobsextensionssignalrservice,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.WebJobs.Extensions.SignalRService,1.7.0-beta.2 -microsoftazurewebjobsextensionsstorage,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.WebJobs.Extensions.Storage,5.1.0-beta.1 -microsoftazurewebjobsextensionsstorageblobs,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.WebJobs.Extensions.Storage.Blobs,5.1.0-beta.1 -microsoftazurewebjobsextensionsstoragequeues,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.WebJobs.Extensions.Storage.Queues,5.1.0-beta.1 -microsoftazurewebjobsextensionstables,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.WebJobs.Extensions.Tables,1.2.0-beta.1 -microsoftazurewebjobsextensionswebpubsub,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.WebJobs.Extensions.WebPubSub,1.0.0-beta.4 -microsoftazurewebpubsubaspnetcore,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.WebPubSub.AspNetCore,1.0.0-beta.4 -microsoftazurewebpubsubcommon,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Azure.WebPubSub.Common,1.0.0-beta.1 -microsoftcognitiveservicesspeech,[tfm=netstandard2.0;isPrerelease=true]Microsoft.CognitiveServices.Speech,1.25.1-beta.1 -microsoftextensionsconfigurationazureappconfiguration,[tfm=netstandard2.0;isPrerelease=true]Microsoft.Extensions.Configuration.AzureAppConfiguration,5.3.0-preview -microsoftfeaturemanagement,[tfm=netstandard2.0;isPrerelease=true]Microsoft.FeatureManagement,3.0.0-preview -microsoftfeaturemanagementaspnetcore,[tfm=netstandard2.0;isPrerelease=true]Microsoft.FeatureManagement.AspNetCore,3.0.0-preview +microsoftazurehdinsightjob,[isPrerelease=true;tfm=netstandard2.0]Microsoft.Azure.HDInsight.Job,3.0.0-preview.3 +microsoftazureiotdigitaltwinmodel,[isPrerelease=true;tfm=netstandard2.0]Microsoft.Azure.IoT.DigitalTwin.Model,1.0.12-preview +microsoftazuremanagementchaos,[isPrerelease=true;tfm=netstandard2.0]Microsoft.Azure.Management.Chaos,0.9.15-preview +microsoftazuremanagementdeviceupdate,[isPrerelease=true;tfm=netstandard2.0]Microsoft.Azure.Management.DeviceUpdate,1.0.0-beta.1 +microsoftazuremanagementmaintenance,[isPrerelease=true;tfm=netstandard2.0]Microsoft.Azure.Management.Maintenance,1.5.0-preview +microsoftazuremanagementpurview,[isPrerelease=true;tfm=netstandard2.0]Microsoft.Azure.Management.Purview,1.0.1 +microsoftazuremedialivevideoanalyticsedge,[isPrerelease=true;tfm=netstandard2.0]Microsoft.Azure.Media.LiveVideoAnalytics.Edge,1.0.4-preview.1 +microsoftazurerelay,[isPrerelease=true;tfm=netstandard2.0]Microsoft.Azure.Relay,3.0.0-preview +microsoftazuresynapse,[isPrerelease=true;tfm=netstandard2.0]Microsoft.Azure.Synapse,0.1.0-preview +microsoftazurewebjobsextensionsauthenticationevents,[isPrerelease=true;tfm=netstandard2.0]Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents,1.0.0-beta.3 +microsoftextensionsconfigurationazureappconfiguration,[isPrerelease=true;tfm=netstandard2.0]Microsoft.Extensions.Configuration.AzureAppConfiguration,5.3.0-preview +microsoftfeaturemanagement,[isPrerelease=true;tfm=netstandard2.0]Microsoft.FeatureManagement,3.0.0-preview +microsoftfeaturemanagementaspnetcore,[isPrerelease=true;tfm=netstandard2.0]Microsoft.FeatureManagement.AspNetCore,3.0.0-preview diff --git a/docs-ref-toc/reference-unified.yml b/docs-ref-toc/reference-unified.yml index c2baa147f72d..c2d03270b9ca 100644 --- a/docs-ref-toc/reference-unified.yml +++ b/docs-ref-toc/reference-unified.yml @@ -519,7 +519,6 @@ children: - Azure.AI.Language.QuestionAnswering - Azure.AI.Language.QuestionAnswering.Authoring - - Azure.AI.Language.QuestionAnswering.Projects - Microsoft.Extensions.Azure - name: OpenAI Inference href: ~/api/overview/azure/{moniker}/ai.openai-readme.md @@ -623,7 +622,6 @@ href: ~/api/overview/azure/{moniker}/microsoft.cognitiveservices.speech-readme.md children: - Azure.AI.Vision.Common.Internal - - Azure.AI.Vision.Core.Internal - Microsoft.CognitiveServices.Speech - Microsoft.CognitiveServices.Speech.Audio - Microsoft.CognitiveServices.Speech.Diagnostics.Logging @@ -739,7 +737,6 @@ href: ~/api/overview/azure/{moniker}/resourcemanager.compute-readme.md children: - Azure.ResourceManager.Compute - - Azure.ResourceManager.Compute.Mocking - Azure.ResourceManager.Compute.Models - name: Management - Compute (deprecated) href: ~/api/overview/azure/{moniker}/microsoft.azure.management.compute-readme.md @@ -1456,7 +1453,6 @@ children: - Azure.Messaging.EventGrid - Azure.Messaging.EventGrid.Models - - Azure.Messaging.EventGrid.Namespaces - Azure.Messaging.EventGrid.SystemEvents - Microsoft.Extensions.Azure - name: Event Grid (deprecated) @@ -1907,7 +1903,6 @@ href: ~/api/overview/azure/{moniker}/digitaltwins.core-readme.md children: - Azure.DigitalTwins.Core - - Azure.DigitalTwins.Core.Models - name: Device Update href: ~/api/overview/azure/{moniker}/iot.deviceupdate-readme.md children: @@ -2658,7 +2653,6 @@ href: ~/api/overview/azure/{moniker}/resourcemanager.network-readme.md children: - Azure.ResourceManager.Network - - Azure.ResourceManager.Network.Mocking - Azure.ResourceManager.Network.Models - name: Management - Network (deprecated) href: ~/api/overview/azure/{moniker}/microsoft.azure.management.network-readme.md diff --git a/metadata/preview/Azure.AI.FormRecognizer.json b/metadata/preview/Azure.AI.FormRecognizer.json deleted file mode 100644 index 0bf6f16d7c5f..000000000000 --- a/metadata/preview/Azure.AI.FormRecognizer.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "Name": "Azure.AI.FormRecognizer", - "Version": "4.1.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/formrecognizer/Azure.AI.FormRecognizer", - "ServiceDirectory": "formrecognizer", - "ReadMePath": "sdk/formrecognizer/Azure.AI.FormRecognizer/README.md", - "ChangeLogPath": "sdk/formrecognizer/Azure.AI.FormRecognizer/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.AI.FormRecognizer", - "ReleaseStatus": "2023-04-13", - "Namespaces": [ - "Azure.AI.FormRecognizer", - "Azure.AI.FormRecognizer.DocumentAnalysis", - "Azure.AI.FormRecognizer.Models", - "Azure.AI.FormRecognizer.Training", - "Microsoft.Extensions.Azure" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.AI.Language.Conversations.json b/metadata/preview/Azure.AI.Language.Conversations.json deleted file mode 100644 index 1914c85755a2..000000000000 --- a/metadata/preview/Azure.AI.Language.Conversations.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "Name": "Azure.AI.Language.Conversations", - "Version": "1.1.0-beta.2", - "DevVersion": null, - "DirectoryPath": "sdk/cognitivelanguage/Azure.AI.Language.Conversations", - "ServiceDirectory": "cognitivelanguage", - "ReadMePath": "sdk/cognitivelanguage/Azure.AI.Language.Conversations/README.md", - "ChangeLogPath": "sdk/cognitivelanguage/Azure.AI.Language.Conversations/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.AI.Language.Conversations", - "ReleaseStatus": "2022-11-10", - "Namespaces": [ - "Azure.AI.Language.Conversations", - "Azure.AI.Language.Conversations.Authoring", - "Microsoft.Extensions.Azure" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.AI.Language.QuestionAnswering.json b/metadata/preview/Azure.AI.Language.QuestionAnswering.json deleted file mode 100644 index 6f0d394551e3..000000000000 --- a/metadata/preview/Azure.AI.Language.QuestionAnswering.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "Name": "Azure.AI.Language.QuestionAnswering", - "Version": "1.1.0-beta.2", - "DevVersion": null, - "DirectoryPath": "sdk/cognitivelanguage/Azure.AI.Language.QuestionAnswering", - "ServiceDirectory": "cognitivelanguage", - "ReadMePath": "sdk/cognitivelanguage/Azure.AI.Language.QuestionAnswering/README.md", - "ChangeLogPath": "sdk/cognitivelanguage/Azure.AI.Language.QuestionAnswering/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.AI.Language.QuestionAnswering", - "ReleaseStatus": "2022-07-19", - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder", - "Namespaces": [ - "Azure.AI.Language.QuestionAnswering", - "Azure.AI.Language.QuestionAnswering.Projects", - "Microsoft.Extensions.Azure" - ] -} diff --git a/metadata/preview/Azure.AI.OpenAI.json b/metadata/preview/Azure.AI.OpenAI.json index 652023ec2d8a..b2df8963d524 100644 --- a/metadata/preview/Azure.AI.OpenAI.json +++ b/metadata/preview/Azure.AI.OpenAI.json @@ -1,6 +1,6 @@ { "Name": "Azure.AI.OpenAI", - "Version": "1.0.0-beta.7", + "Version": "1.0.0-beta.8", "DevVersion": null, "DirectoryPath": "sdk/openai/Azure.AI.OpenAI", "ServiceDirectory": "openai", @@ -10,7 +10,7 @@ "SdkType": "client", "IsNewSdk": true, "ArtifactName": "Azure.AI.OpenAI", - "ReleaseStatus": "2023-08-25", + "ReleaseStatus": "2023-09-21", "Namespaces": [ "Azure.AI.OpenAI", "Microsoft.Extensions.Azure" diff --git a/metadata/preview/Azure.AI.TextAnalytics.json b/metadata/preview/Azure.AI.TextAnalytics.json deleted file mode 100644 index 7f66c3ce707c..000000000000 --- a/metadata/preview/Azure.AI.TextAnalytics.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.AI.TextAnalytics", - "Version": "5.3.0-beta.3", - "DevVersion": null, - "DirectoryPath": "sdk/textanalytics/Azure.AI.TextAnalytics", - "ServiceDirectory": "textanalytics", - "ReadMePath": "sdk/textanalytics/Azure.AI.TextAnalytics/README.md", - "ChangeLogPath": "sdk/textanalytics/Azure.AI.TextAnalytics/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.AI.TextAnalytics", - "ReleaseStatus": "2023-03-11", - "Namespaces": [ - "Azure.AI.TextAnalytics", - "Microsoft.Extensions.Azure" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.AI.Translation.Document.json b/metadata/preview/Azure.AI.Translation.Document.json deleted file mode 100644 index 5e1c913a99da..000000000000 --- a/metadata/preview/Azure.AI.Translation.Document.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "Name": "Azure.AI.Translation.Document", - "Version": "1.0.0-beta.6", - "DevVersion": null, - "DirectoryPath": "sdk/translation/Azure.AI.Translation.Document", - "ServiceDirectory": "translation", - "ReadMePath": "sdk/translation/Azure.AI.Translation.Document/README.md", - "ChangeLogPath": "sdk/translation/Azure.AI.Translation.Document/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.AI.Translation.Document", - "ReleaseStatus": "2021-11-09", - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder", - "Namespaces": "Azure.AI.Translation.Document" -} diff --git a/metadata/preview/Azure.Communication.Email.json b/metadata/preview/Azure.Communication.Email.json deleted file mode 100644 index a583a8b2725b..000000000000 --- a/metadata/preview/Azure.Communication.Email.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.Communication.Email", - "Version": "1.0.0-beta.4", - "DevVersion": null, - "DirectoryPath": "sdk/communication/Azure.Communication.Email", - "ServiceDirectory": "communication", - "ReadMePath": "sdk/communication/Azure.Communication.Email/README.md", - "ChangeLogPath": "sdk/communication/Azure.Communication.Email/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.Communication.Email", - "ReleaseStatus": "2023-03-15", - "Namespaces": [ - "Azure.Communication.Email", - "Microsoft.Extensions.Azure" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.Communication.Identity.json b/metadata/preview/Azure.Communication.Identity.json deleted file mode 100644 index 21448dda23e9..000000000000 --- a/metadata/preview/Azure.Communication.Identity.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.Communication.Identity", - "Version": "1.1.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/communication/Azure.Communication.Identity", - "ServiceDirectory": "communication", - "ReadMePath": "sdk/communication/Azure.Communication.Identity/README.md", - "ChangeLogPath": "sdk/communication/Azure.Communication.Identity/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.Communication.Identity", - "ReleaseStatus": "2021-10-29", - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder", - "Namespaces": [ - "Azure.Communication.Identity", - "Azure.Communication.Identity.Models" - ] -} diff --git a/metadata/preview/Azure.Communication.Rooms.json b/metadata/preview/Azure.Communication.Rooms.json deleted file mode 100644 index 3320b2ead5a0..000000000000 --- a/metadata/preview/Azure.Communication.Rooms.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "Name": "Azure.Communication.Rooms", - "Version": "1.0.0-beta.2", - "DevVersion": null, - "DirectoryPath": "sdk/communication/Azure.Communication.Rooms", - "ServiceDirectory": "communication", - "ReadMePath": "sdk/communication/Azure.Communication.Rooms/README.md", - "ChangeLogPath": "sdk/communication/Azure.Communication.Rooms/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.Communication.Rooms", - "ReleaseStatus": "2023-05-17", - "Namespaces": "Azure.Communication.Rooms", - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.Data.Tables.json b/metadata/preview/Azure.Data.Tables.json deleted file mode 100644 index 00aa854b4d3c..000000000000 --- a/metadata/preview/Azure.Data.Tables.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "Name": "Azure.Data.Tables", - "Version": "12.7.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/tables/Azure.Data.Tables", - "ServiceDirectory": "tables", - "ReadMePath": "sdk/tables/Azure.Data.Tables/README.md", - "ChangeLogPath": "sdk/tables/Azure.Data.Tables/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.Data.Tables", - "ReleaseStatus": "2022-09-06", - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder", - "Namespaces": [ - "Azure.Data.Tables", - "Azure.Data.Tables.Models", - "Azure.Data.Tables.Sas", - "Microsoft.Extensions.Azure" - ] -} diff --git a/metadata/preview/Azure.Developer.LoadTesting.json b/metadata/preview/Azure.Developer.LoadTesting.json deleted file mode 100644 index ae73c99f7114..000000000000 --- a/metadata/preview/Azure.Developer.LoadTesting.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "Name": "Azure.Developer.LoadTesting", - "Version": "1.0.0-beta.2", - "DevVersion": null, - "DirectoryPath": "sdk/loadtestservice/Azure.Developer.LoadTesting", - "ServiceDirectory": "loadtestservice", - "ReadMePath": "sdk/loadtestservice/Azure.Developer.LoadTesting/README.md", - "ChangeLogPath": "sdk/loadtestservice/Azure.Developer.LoadTesting/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.Developer.LoadTesting", - "ReleaseStatus": "2023-01-13", - "Namespaces": "Azure.Developer.LoadTesting", - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.DigitalTwins.Core.json b/metadata/preview/Azure.DigitalTwins.Core.json deleted file mode 100644 index 3ec7fe444bf9..000000000000 --- a/metadata/preview/Azure.DigitalTwins.Core.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.DigitalTwins.Core", - "Version": "1.4.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/digitaltwins/Azure.DigitalTwins.Core", - "ServiceDirectory": "digitaltwins", - "ReadMePath": "sdk/digitaltwins/Azure.DigitalTwins.Core/README.md", - "ChangeLogPath": "sdk/digitaltwins/Azure.DigitalTwins.Core/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.DigitalTwins.Core", - "ReleaseStatus": "2022-03-25", - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder", - "Namespaces": [ - "Azure.DigitalTwins.Core", - "Azure.DigitalTwins.Core.Models" - ] -} diff --git a/metadata/preview/Azure.Identity.json b/metadata/preview/Azure.Identity.json deleted file mode 100644 index efb9c7a6e352..000000000000 --- a/metadata/preview/Azure.Identity.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "Name": "Azure.Identity", - "Version": "1.10.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/identity/Azure.Identity", - "ServiceDirectory": "identity", - "ReadMePath": "sdk/identity/Azure.Identity/README.md", - "ChangeLogPath": "sdk/identity/Azure.Identity/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.Identity", - "ReleaseStatus": "2023-07-17", - "Namespaces": [ - "Azure.Identity" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.IoT.DeviceUpdate.json b/metadata/preview/Azure.IoT.DeviceUpdate.json deleted file mode 100644 index 61a9bb311038..000000000000 --- a/metadata/preview/Azure.IoT.DeviceUpdate.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "Name": "Azure.IoT.DeviceUpdate", - "Version": "1.0.0-beta.4", - "DevVersion": null, - "DirectoryPath": "sdk/deviceupdate/Azure.IoT.DeviceUpdate", - "ServiceDirectory": "deviceupdate", - "ReadMePath": "sdk/deviceupdate/Azure.IoT.DeviceUpdate/README.md", - "ChangeLogPath": "sdk/deviceupdate/Azure.IoT.DeviceUpdate/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.IoT.DeviceUpdate", - "ReleaseStatus": "2022-07-11", - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder", - "Namespaces": "Azure.IoT.DeviceUpdate" -} diff --git a/metadata/preview/Azure.Messaging.EventGrid.json b/metadata/preview/Azure.Messaging.EventGrid.json deleted file mode 100644 index 319e0ebc3dde..000000000000 --- a/metadata/preview/Azure.Messaging.EventGrid.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "Name": "Azure.Messaging.EventGrid", - "Version": "4.18.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/eventgrid/Azure.Messaging.EventGrid", - "ServiceDirectory": "eventgrid", - "ReadMePath": "sdk/eventgrid/Azure.Messaging.EventGrid/README.md", - "ChangeLogPath": "sdk/eventgrid/Azure.Messaging.EventGrid/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.Messaging.EventGrid", - "ReleaseStatus": "2023-07-16", - "Namespaces": [ - "Azure.Messaging.EventGrid", - "Azure.Messaging.EventGrid.Models", - "Azure.Messaging.EventGrid.Namespaces", - "Azure.Messaging.EventGrid.SystemEvents", - "Microsoft.Extensions.Azure" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.Messaging.EventHubs.Processor.json b/metadata/preview/Azure.Messaging.EventHubs.Processor.json deleted file mode 100644 index 7de81cc0dadd..000000000000 --- a/metadata/preview/Azure.Messaging.EventHubs.Processor.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.Messaging.EventHubs.Processor", - "Version": "5.7.0-beta.5", - "DevVersion": null, - "DirectoryPath": "sdk/eventhub/Azure.Messaging.EventHubs.Processor", - "ServiceDirectory": "eventhub", - "ReadMePath": "sdk/eventhub/Azure.Messaging.EventHubs.Processor/README.md", - "ChangeLogPath": "sdk/eventhub/Azure.Messaging.EventHubs.Processor/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.Messaging.EventHubs.Processor", - "ReleaseStatus": "2022-04-05", - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder", - "Namespaces": [ - "Azure.Messaging.EventHubs", - "Azure.Messaging.EventHubs.Primitives" - ] -} diff --git a/metadata/preview/Azure.Messaging.EventHubs.json b/metadata/preview/Azure.Messaging.EventHubs.json deleted file mode 100644 index dd65697281dd..000000000000 --- a/metadata/preview/Azure.Messaging.EventHubs.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "Name": "Azure.Messaging.EventHubs", - "Version": "5.7.0-beta.5", - "DevVersion": null, - "DirectoryPath": "sdk/eventhub/Azure.Messaging.EventHubs", - "ServiceDirectory": "eventhub", - "ReadMePath": "sdk/eventhub/Azure.Messaging.EventHubs/README.md", - "ChangeLogPath": "sdk/eventhub/Azure.Messaging.EventHubs/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.Messaging.EventHubs", - "ReleaseStatus": "2022-04-05", - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder", - "Namespaces": [ - "Azure.Messaging.EventHubs", - "Azure.Messaging.EventHubs.Consumer", - "Azure.Messaging.EventHubs.Primitives", - "Azure.Messaging.EventHubs.Processor", - "Azure.Messaging.EventHubs.Producer", - "Microsoft.Extensions.Azure" - ] -} diff --git a/metadata/preview/Azure.Messaging.ServiceBus.json b/metadata/preview/Azure.Messaging.ServiceBus.json deleted file mode 100644 index 79a7b0224363..000000000000 --- a/metadata/preview/Azure.Messaging.ServiceBus.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "Name": "Azure.Messaging.ServiceBus", - "Version": "7.11.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/servicebus/Azure.Messaging.ServiceBus", - "ServiceDirectory": "servicebus", - "ReadMePath": "sdk/servicebus/Azure.Messaging.ServiceBus/README.md", - "ChangeLogPath": "sdk/servicebus/Azure.Messaging.ServiceBus/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.Messaging.ServiceBus", - "ReleaseStatus": "2022-09-06", - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder", - "Namespaces": [ - "Azure.Messaging.ServiceBus", - "Azure.Messaging.ServiceBus.Administration", - "Microsoft.Extensions.Azure" - ] -} diff --git a/metadata/preview/Azure.Messaging.WebPubSub.json b/metadata/preview/Azure.Messaging.WebPubSub.json deleted file mode 100644 index abf68909fcf3..000000000000 --- a/metadata/preview/Azure.Messaging.WebPubSub.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.Messaging.WebPubSub", - "Version": "1.1.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/webpubsub/Azure.Messaging.WebPubSub", - "ServiceDirectory": "webpubsub", - "ReadMePath": "sdk/webpubsub/Azure.Messaging.WebPubSub/README.md", - "ChangeLogPath": "sdk/webpubsub/Azure.Messaging.WebPubSub/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.Messaging.WebPubSub", - "ReleaseStatus": "2022-08-06", - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder", - "Namespaces": [ - "Azure.Messaging.WebPubSub", - "Microsoft.Extensions.Azure" - ] -} diff --git a/metadata/preview/Azure.Monitor.Ingestion.json b/metadata/preview/Azure.Monitor.Ingestion.json deleted file mode 100644 index 253aa8c1a546..000000000000 --- a/metadata/preview/Azure.Monitor.Ingestion.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.Monitor.Ingestion", - "Version": "1.0.0-beta.4", - "DevVersion": null, - "DirectoryPath": "sdk/monitor/Azure.Monitor.Ingestion", - "ServiceDirectory": "monitor", - "ReadMePath": "sdk/monitor/Azure.Monitor.Ingestion/README.md", - "ChangeLogPath": "sdk/monitor/Azure.Monitor.Ingestion/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.Monitor.Ingestion", - "ReleaseStatus": "2022-10-11", - "Namespaces": [ - "Azure.Monitor.Ingestion", - "Microsoft.Extensions.Azure" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.Monitor.OpenTelemetry.Exporter.json b/metadata/preview/Azure.Monitor.OpenTelemetry.Exporter.json deleted file mode 100644 index 3c1043afbc15..000000000000 --- a/metadata/preview/Azure.Monitor.OpenTelemetry.Exporter.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "Name": "Azure.Monitor.OpenTelemetry.Exporter", - "Version": "1.0.0-beta.14", - "DevVersion": null, - "DirectoryPath": "sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter", - "ServiceDirectory": "monitor", - "ReadMePath": "sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/README.md", - "ChangeLogPath": "sdk/monitor/Azure.Monitor.OpenTelemetry.Exporter/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.Monitor.OpenTelemetry.Exporter", - "ReleaseStatus": "2023-08-09", - "Namespaces": "Azure.Monitor.OpenTelemetry.Exporter", - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.Monitor.Query.json b/metadata/preview/Azure.Monitor.Query.json deleted file mode 100644 index d3f866379fb9..000000000000 --- a/metadata/preview/Azure.Monitor.Query.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "Name": "Azure.Monitor.Query", - "Version": "1.2.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/monitor/Azure.Monitor.Query", - "ServiceDirectory": "monitor", - "ReadMePath": "sdk/monitor/Azure.Monitor.Query/README.md", - "ChangeLogPath": "sdk/monitor/Azure.Monitor.Query/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.Monitor.Query", - "ReleaseStatus": "2023-05-09", - "Namespaces": [ - "Azure.Monitor.Query", - "Azure.Monitor.Query.Models", - "Microsoft.Extensions.Azure" - ] -} diff --git a/metadata/preview/Azure.ResourceManager.AppContainers.json b/metadata/preview/Azure.ResourceManager.AppContainers.json deleted file mode 100644 index bbae389ccb31..000000000000 --- a/metadata/preview/Azure.ResourceManager.AppContainers.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.ResourceManager.AppContainers", - "Version": "1.1.0-beta.3", - "DevVersion": null, - "DirectoryPath": "sdk/containerapps/Azure.ResourceManager.AppContainers", - "ServiceDirectory": "containerapps", - "ReadMePath": "sdk/containerapps/Azure.ResourceManager.AppContainers/README.md", - "ChangeLogPath": "sdk/containerapps/Azure.ResourceManager.AppContainers/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.AppContainers", - "ReleaseStatus": "2023-08-08", - "Namespaces": [ - "Azure.ResourceManager.AppContainers", - "Azure.ResourceManager.AppContainers.Models" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.ResourceManager.Batch.json b/metadata/preview/Azure.ResourceManager.Batch.json deleted file mode 100644 index 816b31386bf8..000000000000 --- a/metadata/preview/Azure.ResourceManager.Batch.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.ResourceManager.Batch", - "Version": "1.2.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/batch/Azure.ResourceManager.Batch", - "ServiceDirectory": "batch", - "ReadMePath": "sdk/batch/Azure.ResourceManager.Batch/README.md", - "ChangeLogPath": "sdk/batch/Azure.ResourceManager.Batch/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.Batch", - "ReleaseStatus": "2023-05-25", - "Namespaces": [ - "Azure.ResourceManager.Batch", - "Azure.ResourceManager.Batch.Models" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.ResourceManager.CognitiveServices.json b/metadata/preview/Azure.ResourceManager.CognitiveServices.json deleted file mode 100644 index 0d48b30b8a24..000000000000 --- a/metadata/preview/Azure.ResourceManager.CognitiveServices.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.ResourceManager.CognitiveServices", - "Version": "1.3.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/cognitiveservices/Azure.ResourceManager.CognitiveServices", - "ServiceDirectory": "cognitiveservices", - "ReadMePath": "sdk/cognitiveservices/Azure.ResourceManager.CognitiveServices/README.md", - "ChangeLogPath": "sdk/cognitiveservices/Azure.ResourceManager.CognitiveServices/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.CognitiveServices", - "ReleaseStatus": "2023-05-29", - "Namespaces": [ - "Azure.ResourceManager.CognitiveServices", - "Azure.ResourceManager.CognitiveServices.Models" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.ResourceManager.Compute.json b/metadata/preview/Azure.ResourceManager.Compute.json deleted file mode 100644 index 057f5d7bdc57..000000000000 --- a/metadata/preview/Azure.ResourceManager.Compute.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "Name": "Azure.ResourceManager.Compute", - "Version": "1.2.0-beta.3", - "DevVersion": null, - "DirectoryPath": "sdk/compute/Azure.ResourceManager.Compute", - "ServiceDirectory": "compute", - "ReadMePath": "sdk/compute/Azure.ResourceManager.Compute/README.md", - "ChangeLogPath": "sdk/compute/Azure.ResourceManager.Compute/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.Compute", - "ReleaseStatus": "2023-08-14", - "Namespaces": [ - "Azure.ResourceManager.Compute", - "Azure.ResourceManager.Compute.Mocking", - "Azure.ResourceManager.Compute.Models" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.ResourceManager.CostManagement.json b/metadata/preview/Azure.ResourceManager.CostManagement.json deleted file mode 100644 index 1fa596b92764..000000000000 --- a/metadata/preview/Azure.ResourceManager.CostManagement.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "Name": "Azure.ResourceManager.CostManagement", - "Version": "1.0.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/costmanagement/Azure.ResourceManager.CostManagement", - "ServiceDirectory": "costmanagement", - "ReadMePath": "sdk/costmanagement/Azure.ResourceManager.CostManagement/README.md", - "ChangeLogPath": "sdk/costmanagement/Azure.ResourceManager.CostManagement/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.CostManagement", - "ReleaseStatus": "2023-06-02", - "Namespaces": [ - "Azure.ResourceManager.CostManagement", - "Azure.ResourceManager.CostManagement.Models" - ] -} diff --git a/metadata/preview/Azure.ResourceManager.DataBox.json b/metadata/preview/Azure.ResourceManager.DataBox.json deleted file mode 100644 index dbe8f4bfbbe9..000000000000 --- a/metadata/preview/Azure.ResourceManager.DataBox.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.ResourceManager.DataBox", - "Version": "1.0.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/databox/Azure.ResourceManager.DataBox", - "ServiceDirectory": "databox", - "ReadMePath": "sdk/databox/Azure.ResourceManager.DataBox/README.md", - "ChangeLogPath": "sdk/databox/Azure.ResourceManager.DataBox/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.DataBox", - "ReleaseStatus": "2022-08-18", - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder", - "Namespaces": [ - "Azure.ResourceManager.DataBox", - "Azure.ResourceManager.DataBox.Models" - ] -} diff --git a/metadata/preview/Azure.ResourceManager.DataProtectionBackup.json b/metadata/preview/Azure.ResourceManager.DataProtectionBackup.json deleted file mode 100644 index dc2ea0a445bc..000000000000 --- a/metadata/preview/Azure.ResourceManager.DataProtectionBackup.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.ResourceManager.DataProtectionBackup", - "Version": "1.2.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/dataprotection/Azure.ResourceManager.DataProtectionBackup", - "ServiceDirectory": "dataprotection", - "ReadMePath": "sdk/dataprotection/Azure.ResourceManager.DataProtectionBackup/README.md", - "ChangeLogPath": "sdk/dataprotection/Azure.ResourceManager.DataProtectionBackup/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.DataProtectionBackup", - "ReleaseStatus": "2023-05-29", - "Namespaces": [ - "Azure.ResourceManager.DataProtectionBackup", - "Azure.ResourceManager.DataProtectionBackup.Models" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.ResourceManager.DesktopVirtualization.json b/metadata/preview/Azure.ResourceManager.DesktopVirtualization.json deleted file mode 100644 index 1e42cdd861ed..000000000000 --- a/metadata/preview/Azure.ResourceManager.DesktopVirtualization.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.ResourceManager.DesktopVirtualization", - "Version": "1.0.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/desktopvirtualization/Azure.ResourceManager.DesktopVirtualization", - "ServiceDirectory": "desktopvirtualization", - "ReadMePath": "sdk/desktopvirtualization/Azure.ResourceManager.DesktopVirtualization/README.md", - "ChangeLogPath": "sdk/desktopvirtualization/Azure.ResourceManager.DesktopVirtualization/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.DesktopVirtualization", - "ReleaseStatus": "2022-07-06", - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder", - "Namespaces": [ - "Azure.ResourceManager.DesktopVirtualization", - "Azure.ResourceManager.DesktopVirtualization.Models" - ] -} diff --git a/metadata/preview/Azure.ResourceManager.DevCenter.json b/metadata/preview/Azure.ResourceManager.DevCenter.json deleted file mode 100644 index 8793fe370260..000000000000 --- a/metadata/preview/Azure.ResourceManager.DevCenter.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.ResourceManager.DevCenter", - "Version": "1.0.0-beta.2", - "DevVersion": null, - "DirectoryPath": "sdk/devcenter/Azure.ResourceManager.DevCenter", - "ServiceDirectory": "devcenter", - "ReadMePath": "sdk/devcenter/Azure.ResourceManager.DevCenter/README.md", - "ChangeLogPath": "sdk/devcenter/Azure.ResourceManager.DevCenter/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.DevCenter", - "ReleaseStatus": "2023-02-17", - "Namespaces": [ - "Azure.ResourceManager.DevCenter", - "Azure.ResourceManager.DevCenter.Models" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.ResourceManager.GraphServices.json b/metadata/preview/Azure.ResourceManager.GraphServices.json deleted file mode 100644 index c620ce5a8f42..000000000000 --- a/metadata/preview/Azure.ResourceManager.GraphServices.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "Name": "Azure.ResourceManager.GraphServices", - "Version": "1.0.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/graphservices/Azure.ResourceManager.GraphServices", - "ServiceDirectory": "graphservices", - "ReadMePath": "sdk/graphservices/Azure.ResourceManager.GraphServices/README.md", - "ChangeLogPath": "sdk/graphservices/Azure.ResourceManager.GraphServices/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.GraphServices", - "ReleaseStatus": "2023-04-07", - "Namespaces": [ - "Azure.ResourceManager.GraphServices", - "Azure.ResourceManager.GraphServices.Models" - ] -} diff --git a/metadata/preview/Azure.ResourceManager.Hci.json b/metadata/preview/Azure.ResourceManager.Hci.json deleted file mode 100644 index 099cd523fadc..000000000000 --- a/metadata/preview/Azure.ResourceManager.Hci.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.ResourceManager.Hci", - "Version": "1.0.0-beta.5", - "DevVersion": null, - "DirectoryPath": "sdk/azurestackhci/Azure.ResourceManager.Hci", - "ServiceDirectory": "azurestackhci", - "ReadMePath": "sdk/azurestackhci/Azure.ResourceManager.Hci/README.md", - "ChangeLogPath": "sdk/azurestackhci/Azure.ResourceManager.Hci/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.Hci", - "ReleaseStatus": "2022-07-12", - "Namespaces": [ - "Azure.ResourceManager.Hci", - "Azure.ResourceManager.Hci.Models" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.ResourceManager.IotHub.json b/metadata/preview/Azure.ResourceManager.IotHub.json deleted file mode 100644 index 5ba6a92c35d2..000000000000 --- a/metadata/preview/Azure.ResourceManager.IotHub.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.ResourceManager.IotHub", - "Version": "1.1.0-beta.2", - "DevVersion": null, - "DirectoryPath": "sdk/iothub/Azure.ResourceManager.IotHub", - "ServiceDirectory": "iothub", - "ReadMePath": "sdk/iothub/Azure.ResourceManager.IotHub/README.md", - "ChangeLogPath": "sdk/iothub/Azure.ResourceManager.IotHub/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.IotHub", - "ReleaseStatus": "2023-09-04", - "Namespaces": [ - "Azure.ResourceManager.IotHub", - "Azure.ResourceManager.IotHub.Models" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.ResourceManager.Kusto.json b/metadata/preview/Azure.ResourceManager.Kusto.json deleted file mode 100644 index 62cd75132b60..000000000000 --- a/metadata/preview/Azure.ResourceManager.Kusto.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.ResourceManager.Kusto", - "Version": "1.4.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/kusto/Azure.ResourceManager.Kusto", - "ServiceDirectory": "kusto", - "ReadMePath": "sdk/kusto/Azure.ResourceManager.Kusto/README.md", - "ChangeLogPath": "sdk/kusto/Azure.ResourceManager.Kusto/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.Kusto", - "ReleaseStatus": "2023-05-30", - "Namespaces": [ - "Azure.ResourceManager.Kusto", - "Azure.ResourceManager.Kusto.Models" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.ResourceManager.ManagedNetworkFabric.json b/metadata/preview/Azure.ResourceManager.ManagedNetworkFabric.json deleted file mode 100644 index 9ba3968d96b2..000000000000 --- a/metadata/preview/Azure.ResourceManager.ManagedNetworkFabric.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "Name": "Azure.ResourceManager.ManagedNetworkFabric", - "Version": "1.0.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/managednetworkfabric/Azure.ResourceManager.ManagedNetworkFabric", - "ServiceDirectory": "managednetworkfabric", - "ReadMePath": "sdk/managednetworkfabric/Azure.ResourceManager.ManagedNetworkFabric/README.md", - "ChangeLogPath": "sdk/managednetworkfabric/Azure.ResourceManager.ManagedNetworkFabric/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.ManagedNetworkFabric", - "ReleaseStatus": "2023-06-28", - "Namespaces": [ - "Azure.ResourceManager.ManagedNetworkFabric", - "Azure.ResourceManager.ManagedNetworkFabric.Models" - ] -} diff --git a/metadata/preview/Azure.ResourceManager.Marketplace.json b/metadata/preview/Azure.ResourceManager.Marketplace.json deleted file mode 100644 index 4f631ccf58e7..000000000000 --- a/metadata/preview/Azure.ResourceManager.Marketplace.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.ResourceManager.Marketplace", - "Version": "1.1.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/marketplace/Azure.ResourceManager.Marketplace", - "ServiceDirectory": "marketplace", - "ReadMePath": "sdk/marketplace/Azure.ResourceManager.Marketplace/README.md", - "ChangeLogPath": "sdk/marketplace/Azure.ResourceManager.Marketplace/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.Marketplace", - "ReleaseStatus": "2023-05-30", - "Namespaces": [ - "Azure.ResourceManager.Marketplace", - "Azure.ResourceManager.Marketplace.Models" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.ResourceManager.MobileNetwork.json b/metadata/preview/Azure.ResourceManager.MobileNetwork.json deleted file mode 100644 index 782474332ebb..000000000000 --- a/metadata/preview/Azure.ResourceManager.MobileNetwork.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "Name": "Azure.ResourceManager.MobileNetwork", - "Version": "1.0.0-beta.2", - "DevVersion": null, - "DirectoryPath": "sdk/mobilenetwork/Azure.ResourceManager.MobileNetwork", - "ServiceDirectory": "mobilenetwork", - "ReadMePath": "sdk/mobilenetwork/Azure.ResourceManager.MobileNetwork/README.md", - "ChangeLogPath": "sdk/mobilenetwork/Azure.ResourceManager.MobileNetwork/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.MobileNetwork", - "ReleaseStatus": "2023-05-30", - "Namespaces": [ - "Azure.ResourceManager.MobileNetwork", - "Azure.ResourceManager.MobileNetwork.Models" - ] -} diff --git a/metadata/preview/Azure.ResourceManager.NetApp.json b/metadata/preview/Azure.ResourceManager.NetApp.json deleted file mode 100644 index 8725e65c7c94..000000000000 --- a/metadata/preview/Azure.ResourceManager.NetApp.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.ResourceManager.NetApp", - "Version": "1.2.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/netapp/Azure.ResourceManager.NetApp", - "ServiceDirectory": "netapp", - "ReadMePath": "sdk/netapp/Azure.ResourceManager.NetApp/README.md", - "ChangeLogPath": "sdk/netapp/Azure.ResourceManager.NetApp/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.NetApp", - "ReleaseStatus": "2023-05-30", - "Namespaces": [ - "Azure.ResourceManager.NetApp", - "Azure.ResourceManager.NetApp.Models" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.ResourceManager.Network.json b/metadata/preview/Azure.ResourceManager.Network.json deleted file mode 100644 index 9fb062a35d55..000000000000 --- a/metadata/preview/Azure.ResourceManager.Network.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "Name": "Azure.ResourceManager.Network", - "Version": "1.5.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/network/Azure.ResourceManager.Network", - "ServiceDirectory": "network", - "ReadMePath": "sdk/network/Azure.ResourceManager.Network/README.md", - "ChangeLogPath": "sdk/network/Azure.ResourceManager.Network/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.Network", - "ReleaseStatus": "2023-08-14", - "Namespaces": [ - "Azure.ResourceManager.Network", - "Azure.ResourceManager.Network.Mocking", - "Azure.ResourceManager.Network.Models" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.ResourceManager.NetworkCloud.json b/metadata/preview/Azure.ResourceManager.NetworkCloud.json deleted file mode 100644 index ab14ecf8d474..000000000000 --- a/metadata/preview/Azure.ResourceManager.NetworkCloud.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "Name": "Azure.ResourceManager.NetworkCloud", - "Version": "1.0.0-beta.2", - "DevVersion": null, - "DirectoryPath": "sdk/networkcloud/Azure.ResourceManager.NetworkCloud", - "ServiceDirectory": "networkcloud", - "ReadMePath": "sdk/networkcloud/Azure.ResourceManager.NetworkCloud/README.md", - "ChangeLogPath": "sdk/networkcloud/Azure.ResourceManager.NetworkCloud/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.NetworkCloud", - "ReleaseStatus": "2023-06-30", - "Namespaces": [ - "Azure.ResourceManager.NetworkCloud", - "Azure.ResourceManager.NetworkCloud.Models" - ] -} diff --git a/metadata/preview/Azure.ResourceManager.NewRelicObservability.json b/metadata/preview/Azure.ResourceManager.NewRelicObservability.json deleted file mode 100644 index 2afea1edbbd7..000000000000 --- a/metadata/preview/Azure.ResourceManager.NewRelicObservability.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "Name": "Azure.ResourceManager.NewRelicObservability", - "Version": "1.0.0-beta.2", - "DevVersion": null, - "DirectoryPath": "sdk/newrelicobservability/Azure.ResourceManager.NewRelicObservability", - "ServiceDirectory": "newrelicobservability", - "ReadMePath": "sdk/newrelicobservability/Azure.ResourceManager.NewRelicObservability/README.md", - "ChangeLogPath": "sdk/newrelicobservability/Azure.ResourceManager.NewRelicObservability/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.NewRelicObservability", - "ReleaseStatus": "2023-05-30", - "Namespaces": [ - "Azure.ResourceManager.NewRelicObservability", - "Azure.ResourceManager.NewRelicObservability.Models" - ] -} diff --git a/metadata/preview/Azure.ResourceManager.PaloAltoNetworks.Ngfw.json b/metadata/preview/Azure.ResourceManager.PaloAltoNetworks.Ngfw.json deleted file mode 100644 index 355bce6c171a..000000000000 --- a/metadata/preview/Azure.ResourceManager.PaloAltoNetworks.Ngfw.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "Name": "Azure.ResourceManager.PaloAltoNetworks.Ngfw", - "Version": "1.0.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/paloaltonetworks/Azure.ResourceManager.PaloAltoNetworks.Ngfw", - "ServiceDirectory": "paloaltonetworks", - "ReadMePath": "sdk/paloaltonetworks/Azure.ResourceManager.PaloAltoNetworks.Ngfw/README.md", - "ChangeLogPath": "sdk/paloaltonetworks/Azure.ResourceManager.PaloAltoNetworks.Ngfw/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.PaloAltoNetworks.Ngfw", - "ReleaseStatus": "2023-05-04", - "Namespaces": [ - "Azure.ResourceManager.PaloAltoNetworks.Ngfw", - "Azure.ResourceManager.PaloAltoNetworks.Ngfw.Models" - ] -} diff --git a/metadata/preview/Azure.ResourceManager.Quota.json b/metadata/preview/Azure.ResourceManager.Quota.json deleted file mode 100644 index dac8b266295b..000000000000 --- a/metadata/preview/Azure.ResourceManager.Quota.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.ResourceManager.Quota", - "Version": "1.0.0-beta.3", - "DevVersion": null, - "DirectoryPath": "sdk/quota/Azure.ResourceManager.Quota", - "ServiceDirectory": "quota", - "ReadMePath": "sdk/quota/Azure.ResourceManager.Quota/README.md", - "ChangeLogPath": "sdk/quota/Azure.ResourceManager.Quota/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.Quota", - "ReleaseStatus": "2023-05-31", - "Namespaces": [ - "Azure.ResourceManager.Quota", - "Azure.ResourceManager.Quota.Models" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.ResourceManager.RecoveryServices.json b/metadata/preview/Azure.ResourceManager.RecoveryServices.json deleted file mode 100644 index cf37e608c789..000000000000 --- a/metadata/preview/Azure.ResourceManager.RecoveryServices.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.ResourceManager.RecoveryServices", - "Version": "1.1.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/recoveryservices/Azure.ResourceManager.RecoveryServices", - "ServiceDirectory": "recoveryservices", - "ReadMePath": "sdk/recoveryservices/Azure.ResourceManager.RecoveryServices/README.md", - "ChangeLogPath": "sdk/recoveryservices/Azure.ResourceManager.RecoveryServices/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.RecoveryServices", - "ReleaseStatus": "2023-05-31", - "Namespaces": [ - "Azure.ResourceManager.RecoveryServices", - "Azure.ResourceManager.RecoveryServices.Models" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.ResourceManager.RecoveryServicesBackup.json b/metadata/preview/Azure.ResourceManager.RecoveryServicesBackup.json deleted file mode 100644 index ccc9b0356da8..000000000000 --- a/metadata/preview/Azure.ResourceManager.RecoveryServicesBackup.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.ResourceManager.RecoveryServicesBackup", - "Version": "1.1.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/recoveryservices-backup/Azure.ResourceManager.RecoveryServicesBackup", - "ServiceDirectory": "recoveryservices-backup", - "ReadMePath": "sdk/recoveryservices-backup/Azure.ResourceManager.RecoveryServicesBackup/README.md", - "ChangeLogPath": "sdk/recoveryservices-backup/Azure.ResourceManager.RecoveryServicesBackup/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.RecoveryServicesBackup", - "ReleaseStatus": "2023-05-31", - "Namespaces": [ - "Azure.ResourceManager.RecoveryServicesBackup", - "Azure.ResourceManager.RecoveryServicesBackup.Models" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.ResourceManager.RecoveryServicesSiteRecovery.json b/metadata/preview/Azure.ResourceManager.RecoveryServicesSiteRecovery.json deleted file mode 100644 index cbd81d511838..000000000000 --- a/metadata/preview/Azure.ResourceManager.RecoveryServicesSiteRecovery.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.ResourceManager.RecoveryServicesSiteRecovery", - "Version": "1.0.0-beta.3", - "DevVersion": null, - "DirectoryPath": "sdk/recoveryservices-siterecovery/Azure.ResourceManager.RecoveryServicesSiteRecovery", - "ServiceDirectory": "recoveryservices-siterecovery", - "ReadMePath": "sdk/recoveryservices-siterecovery/Azure.ResourceManager.RecoveryServicesSiteRecovery/README.md", - "ChangeLogPath": "sdk/recoveryservices-siterecovery/Azure.ResourceManager.RecoveryServicesSiteRecovery/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.RecoveryServicesSiteRecovery", - "ReleaseStatus": "2023-05-31", - "Namespaces": [ - "Azure.ResourceManager.RecoveryServicesSiteRecovery", - "Azure.ResourceManager.RecoveryServicesSiteRecovery.Models" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.ResourceManager.Redis.json b/metadata/preview/Azure.ResourceManager.Redis.json deleted file mode 100644 index c0acc496e99f..000000000000 --- a/metadata/preview/Azure.ResourceManager.Redis.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.ResourceManager.Redis", - "Version": "1.2.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/redis/Azure.ResourceManager.Redis", - "ServiceDirectory": "redis", - "ReadMePath": "sdk/redis/Azure.ResourceManager.Redis/README.md", - "ChangeLogPath": "sdk/redis/Azure.ResourceManager.Redis/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.Redis", - "ReleaseStatus": "2023-05-31", - "Namespaces": [ - "Azure.ResourceManager.Redis", - "Azure.ResourceManager.Redis.Models" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.ResourceManager.SelfHelp.json b/metadata/preview/Azure.ResourceManager.SelfHelp.json deleted file mode 100644 index 7de87eb644cc..000000000000 --- a/metadata/preview/Azure.ResourceManager.SelfHelp.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "Name": "Azure.ResourceManager.SelfHelp", - "Version": "1.0.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/selfhelp/Azure.ResourceManager.SelfHelp", - "ServiceDirectory": "selfhelp", - "ReadMePath": "sdk/selfhelp/Azure.ResourceManager.SelfHelp/README.md", - "ChangeLogPath": "sdk/selfhelp/Azure.ResourceManager.SelfHelp/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.SelfHelp", - "ReleaseStatus": "2023-05-04", - "Namespaces": [ - "Azure.ResourceManager.SelfHelp", - "Azure.ResourceManager.SelfHelp.Models" - ] -} diff --git a/metadata/preview/Azure.ResourceManager.TrafficManager.json b/metadata/preview/Azure.ResourceManager.TrafficManager.json deleted file mode 100644 index 35427b08b4aa..000000000000 --- a/metadata/preview/Azure.ResourceManager.TrafficManager.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.ResourceManager.TrafficManager", - "Version": "1.1.0-beta.3", - "DevVersion": null, - "DirectoryPath": "sdk/trafficmanager/Azure.ResourceManager.TrafficManager", - "ServiceDirectory": "trafficmanager", - "ReadMePath": "sdk/trafficmanager/Azure.ResourceManager.TrafficManager/README.md", - "ChangeLogPath": "sdk/trafficmanager/Azure.ResourceManager.TrafficManager/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.TrafficManager", - "ReleaseStatus": "2023-05-31", - "Namespaces": [ - "Azure.ResourceManager.TrafficManager", - "Azure.ResourceManager.TrafficManager.Models" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.ResourceManager.VoiceServices.json b/metadata/preview/Azure.ResourceManager.VoiceServices.json deleted file mode 100644 index e59440365982..000000000000 --- a/metadata/preview/Azure.ResourceManager.VoiceServices.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "Name": "Azure.ResourceManager.VoiceServices", - "Version": "1.0.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/voiceservices/Azure.ResourceManager.VoiceServices", - "ServiceDirectory": "voiceservices", - "ReadMePath": "sdk/voiceservices/Azure.ResourceManager.VoiceServices/README.md", - "ChangeLogPath": "sdk/voiceservices/Azure.ResourceManager.VoiceServices/CHANGELOG.md", - "Group": null, - "SdkType": "mgmt", - "IsNewSdk": true, - "ArtifactName": "Azure.ResourceManager.VoiceServices", - "ReleaseStatus": "2023-02-20", - "Namespaces": [ - "Azure.ResourceManager.VoiceServices", - "Azure.ResourceManager.VoiceServices.Models" - ] -} diff --git a/metadata/preview/Azure.Security.ConfidentialLedger.json b/metadata/preview/Azure.Security.ConfidentialLedger.json deleted file mode 100644 index 115445724317..000000000000 --- a/metadata/preview/Azure.Security.ConfidentialLedger.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.Security.ConfidentialLedger", - "Version": "1.1.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/confidentialledger/Azure.Security.ConfidentialLedger", - "ServiceDirectory": "confidentialledger", - "ReadMePath": "sdk/confidentialledger/Azure.Security.ConfidentialLedger/README.md", - "ChangeLogPath": "sdk/confidentialledger/Azure.Security.ConfidentialLedger/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.Security.ConfidentialLedger", - "ReleaseStatus": "2022-08-10", - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder", - "Namespaces": [ - "Azure.Security.ConfidentialLedger", - "Azure.Security.ConfidentialLedger.Certificate" - ] -} diff --git a/metadata/preview/Azure.Security.KeyVault.Administration.json b/metadata/preview/Azure.Security.KeyVault.Administration.json deleted file mode 100644 index 2854ba4036be..000000000000 --- a/metadata/preview/Azure.Security.KeyVault.Administration.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "Name": "Azure.Security.KeyVault.Administration", - "Version": "4.3.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/keyvault/Azure.Security.KeyVault.Administration", - "ServiceDirectory": "keyvault", - "ReadMePath": "sdk/keyvault/Azure.Security.KeyVault.Administration/README.md", - "ChangeLogPath": "sdk/keyvault/Azure.Security.KeyVault.Administration/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.Security.KeyVault.Administration", - "ReleaseStatus": "2022-11-09", - "Namespaces": [ - "Azure.Security.KeyVault.Administration" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.Security.KeyVault.Certificates.json b/metadata/preview/Azure.Security.KeyVault.Certificates.json deleted file mode 100644 index 279603e9479d..000000000000 --- a/metadata/preview/Azure.Security.KeyVault.Certificates.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.Security.KeyVault.Certificates", - "Version": "4.5.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/keyvault/Azure.Security.KeyVault.Certificates", - "ServiceDirectory": "keyvault", - "ReadMePath": "sdk/keyvault/Azure.Security.KeyVault.Certificates/README.md", - "ChangeLogPath": "sdk/keyvault/Azure.Security.KeyVault.Certificates/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.Security.KeyVault.Certificates", - "ReleaseStatus": "2022-11-09", - "Namespaces": [ - "Azure.Security.KeyVault.Certificates", - "Microsoft.Extensions.Azure" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.Security.KeyVault.Keys.json b/metadata/preview/Azure.Security.KeyVault.Keys.json deleted file mode 100644 index eacf384e8820..000000000000 --- a/metadata/preview/Azure.Security.KeyVault.Keys.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "Name": "Azure.Security.KeyVault.Keys", - "Version": "4.5.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/keyvault/Azure.Security.KeyVault.Keys", - "ServiceDirectory": "keyvault", - "ReadMePath": "sdk/keyvault/Azure.Security.KeyVault.Keys/README.md", - "ChangeLogPath": "sdk/keyvault/Azure.Security.KeyVault.Keys/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.Security.KeyVault.Keys", - "ReleaseStatus": "2022-11-09", - "Namespaces": [ - "Azure.Security.KeyVault.Keys", - "Azure.Security.KeyVault.Keys.Cryptography", - "Microsoft.Extensions.Azure" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.Security.KeyVault.Secrets.json b/metadata/preview/Azure.Security.KeyVault.Secrets.json deleted file mode 100644 index 1a1213c09fde..000000000000 --- a/metadata/preview/Azure.Security.KeyVault.Secrets.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.Security.KeyVault.Secrets", - "Version": "4.5.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/keyvault/Azure.Security.KeyVault.Secrets", - "ServiceDirectory": "keyvault", - "ReadMePath": "sdk/keyvault/Azure.Security.KeyVault.Secrets/README.md", - "ChangeLogPath": "sdk/keyvault/Azure.Security.KeyVault.Secrets/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.Security.KeyVault.Secrets", - "ReleaseStatus": "2022-11-09", - "Namespaces": [ - "Azure.Security.KeyVault.Secrets", - "Microsoft.Extensions.Azure" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.Storage.Blobs.Batch.json b/metadata/preview/Azure.Storage.Blobs.Batch.json deleted file mode 100644 index 2015ac875519..000000000000 --- a/metadata/preview/Azure.Storage.Blobs.Batch.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "Name": "Azure.Storage.Blobs.Batch", - "Version": "12.15.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/storage/Azure.Storage.Blobs.Batch", - "ServiceDirectory": "storage", - "ReadMePath": "sdk/storage/Azure.Storage.Blobs.Batch/README.md", - "ChangeLogPath": "sdk/storage/Azure.Storage.Blobs.Batch/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.Storage.Blobs.Batch", - "ReleaseStatus": "2023-08-08", - "Namespaces": [ - "Azure.Storage.Blobs.Specialized" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.Storage.Blobs.json b/metadata/preview/Azure.Storage.Blobs.json deleted file mode 100644 index 7aca5d8f23c0..000000000000 --- a/metadata/preview/Azure.Storage.Blobs.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "Name": "Azure.Storage.Blobs", - "Version": "12.18.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/storage/Azure.Storage.Blobs", - "ServiceDirectory": "storage", - "ReadMePath": "sdk/storage/Azure.Storage.Blobs/README.md", - "ChangeLogPath": "sdk/storage/Azure.Storage.Blobs/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.Storage.Blobs", - "ReleaseStatus": "2023-08-08", - "Namespaces": [ - "Azure.Storage.Blobs", - "Azure.Storage.Blobs.Models", - "Azure.Storage.Blobs.Specialized", - "Azure.Storage.Sas", - "Microsoft.Extensions.Azure" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.Storage.Common.json b/metadata/preview/Azure.Storage.Common.json deleted file mode 100644 index 69a94ca1492a..000000000000 --- a/metadata/preview/Azure.Storage.Common.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Azure.Storage.Common", - "Version": "12.17.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/storage/Azure.Storage.Common", - "ServiceDirectory": "storage", - "ReadMePath": "sdk/storage/Azure.Storage.Common/README.md", - "ChangeLogPath": "sdk/storage/Azure.Storage.Common/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.Storage.Common", - "ReleaseStatus": "2023-08-08", - "Namespaces": [ - "Azure.Storage", - "Azure.Storage.Sas" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.Storage.Files.DataLake.json b/metadata/preview/Azure.Storage.Files.DataLake.json deleted file mode 100644 index cc9a9975b003..000000000000 --- a/metadata/preview/Azure.Storage.Files.DataLake.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "Name": "Azure.Storage.Files.DataLake", - "Version": "12.16.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/storage/Azure.Storage.Files.DataLake", - "ServiceDirectory": "storage", - "ReadMePath": "sdk/storage/Azure.Storage.Files.DataLake/README.md", - "ChangeLogPath": "sdk/storage/Azure.Storage.Files.DataLake/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.Storage.Files.DataLake", - "ReleaseStatus": "2023-08-08", - "Namespaces": [ - "Azure.Storage.Files.DataLake", - "Azure.Storage.Files.DataLake.Models", - "Azure.Storage.Files.DataLake.Specialized", - "Azure.Storage.Sas", - "Microsoft.Extensions.Azure" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.Storage.Files.Shares.json b/metadata/preview/Azure.Storage.Files.Shares.json deleted file mode 100644 index fe5427ee6fec..000000000000 --- a/metadata/preview/Azure.Storage.Files.Shares.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "Name": "Azure.Storage.Files.Shares", - "Version": "12.16.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/storage/Azure.Storage.Files.Shares", - "ServiceDirectory": "storage", - "ReadMePath": "sdk/storage/Azure.Storage.Files.Shares/README.md", - "ChangeLogPath": "sdk/storage/Azure.Storage.Files.Shares/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.Storage.Files.Shares", - "ReleaseStatus": "2023-08-08", - "Namespaces": [ - "Azure.Storage.Files.Shares", - "Azure.Storage.Files.Shares.Models", - "Azure.Storage.Files.Shares.Specialized", - "Azure.Storage.Sas", - "Microsoft.Extensions.Azure" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Azure.Storage.Queues.json b/metadata/preview/Azure.Storage.Queues.json deleted file mode 100644 index 76c806885a5d..000000000000 --- a/metadata/preview/Azure.Storage.Queues.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "Name": "Azure.Storage.Queues", - "Version": "12.16.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/storage/Azure.Storage.Queues", - "ServiceDirectory": "storage", - "ReadMePath": "sdk/storage/Azure.Storage.Queues/README.md", - "ChangeLogPath": "sdk/storage/Azure.Storage.Queues/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Azure.Storage.Queues", - "ReleaseStatus": "2023-08-08", - "Namespaces": [ - "Azure.Storage.Queues", - "Azure.Storage.Queues.Models", - "Azure.Storage.Queues.Specialized", - "Azure.Storage.Sas", - "Microsoft.Extensions.Azure" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro.json b/metadata/preview/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro.json deleted file mode 100644 index 2ad222637a69..000000000000 --- a/metadata/preview/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "Name": "Microsoft.Azure.Data.SchemaRegistry.ApacheAvro", - "Version": "1.0.0-beta.8", - "DevVersion": null, - "DirectoryPath": "sdk/schemaregistry/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro", - "ServiceDirectory": "schemaregistry", - "ReadMePath": "sdk/schemaregistry/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro/README.md", - "ChangeLogPath": "sdk/schemaregistry/Microsoft.Azure.Data.SchemaRegistry.ApacheAvro/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Microsoft.Azure.Data.SchemaRegistry.ApacheAvro", - "ReleaseStatus": "2022-04-05", - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder", - "Namespaces": "Microsoft.Azure.Data.SchemaRegistry.ApacheAvro" -} diff --git a/metadata/preview/Microsoft.Azure.Devices.Provisioning.Security.Tpm.json b/metadata/preview/Microsoft.Azure.Devices.Provisioning.Security.Tpm.json deleted file mode 100644 index bdff258176bd..000000000000 --- a/metadata/preview/Microsoft.Azure.Devices.Provisioning.Security.Tpm.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "Name": "Microsoft.Azure.Devices.Provisioning.Security.Tpm", - "Version": "1.15.0-preview-001", - "Namespaces": "Microsoft.Azure.Devices.Provisioning.Security", - "DocsCiConfigProperties": { - "isPrerelease": "true" - }, - "MSDocService": "placeholder", - "ServiceDirectory": "NA", - "SdkType": "client", - "IsNewSdk": false, - "DirectoryPath": "" -} diff --git a/metadata/preview/Microsoft.Azure.Devices.Provisioning.Transport.Amqp.json b/metadata/preview/Microsoft.Azure.Devices.Provisioning.Transport.Amqp.json deleted file mode 100644 index 2dd33d3ff0bb..000000000000 --- a/metadata/preview/Microsoft.Azure.Devices.Provisioning.Transport.Amqp.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "Name": "Microsoft.Azure.Devices.Provisioning.Transport.Amqp", - "Version": "1.17.0-preview-001", - "Namespaces": "Microsoft.Azure.Devices.Provisioning.Client.Transport", - "DocsCiConfigProperties": { - "isPrerelease": "true" - }, - "MSDocService": "placeholder", - "ServiceDirectory": "NA", - "SdkType": "client", - "IsNewSdk": false, - "DirectoryPath": "" -} diff --git a/metadata/preview/Microsoft.Azure.Devices.Provisioning.Transport.Http.json b/metadata/preview/Microsoft.Azure.Devices.Provisioning.Transport.Http.json deleted file mode 100644 index 40fcb56bc369..000000000000 --- a/metadata/preview/Microsoft.Azure.Devices.Provisioning.Transport.Http.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "Name": "Microsoft.Azure.Devices.Provisioning.Transport.Http", - "Version": "1.16.0-preview-001", - "Namespaces": "Microsoft.Azure.Devices.Provisioning.Client.Transport", - "DocsCiConfigProperties": { - "isPrerelease": "true" - }, - "MSDocService": "placeholder", - "ServiceDirectory": "NA", - "SdkType": "client", - "IsNewSdk": false, - "DirectoryPath": "" -} diff --git a/metadata/preview/Microsoft.Azure.Devices.Provisioning.Transport.Mqtt.json b/metadata/preview/Microsoft.Azure.Devices.Provisioning.Transport.Mqtt.json deleted file mode 100644 index 3bfa4103c7b7..000000000000 --- a/metadata/preview/Microsoft.Azure.Devices.Provisioning.Transport.Mqtt.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "Name": "Microsoft.Azure.Devices.Provisioning.Transport.Mqtt", - "Version": "1.18.0-preview-001", - "Namespaces": "Microsoft.Azure.Devices.Provisioning.Client.Transport", - "DocsCiConfigProperties": { - "isPrerelease": "true" - }, - "MSDocService": "placeholder", - "ServiceDirectory": "NA", - "SdkType": "client", - "IsNewSdk": false, - "DirectoryPath": "" -} diff --git a/metadata/preview/Microsoft.Azure.Devices.Shared.json b/metadata/preview/Microsoft.Azure.Devices.Shared.json deleted file mode 100644 index 86f0e12c1a0f..000000000000 --- a/metadata/preview/Microsoft.Azure.Devices.Shared.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "Name": "Microsoft.Azure.Devices.Shared", - "Version": "1.31.0-preview-001", - "Namespaces": [ - "Microsoft.Azure.Devices", - "Microsoft.Azure.Devices.Common", - "Microsoft.Azure.Devices.Shared" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true" - }, - "MSDocService": "placeholder", - "ServiceDirectory": "NA", - "SdkType": "client", - "IsNewSdk": false, - "DirectoryPath": "" -} diff --git a/metadata/preview/Microsoft.Azure.WebJobs.Extensions.EventGrid.json b/metadata/preview/Microsoft.Azure.WebJobs.Extensions.EventGrid.json deleted file mode 100644 index 69beb399cf2d..000000000000 --- a/metadata/preview/Microsoft.Azure.WebJobs.Extensions.EventGrid.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "Name": "Microsoft.Azure.WebJobs.Extensions.EventGrid", - "Version": "3.0.0-beta.4", - "DevVersion": null, - "DirectoryPath": "sdk/eventgrid/Microsoft.Azure.WebJobs.Extensions.EventGrid", - "ServiceDirectory": "eventgrid", - "ReadMePath": "sdk/eventgrid/Microsoft.Azure.WebJobs.Extensions.EventGrid/README.md", - "ChangeLogPath": "sdk/eventgrid/Microsoft.Azure.WebJobs.Extensions.EventGrid/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Microsoft.Azure.WebJobs.Extensions.EventGrid", - "ReleaseStatus": "2021-10-11", - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder", - "Namespaces": "Microsoft.Azure.WebJobs.Extensions.EventGrid" -} diff --git a/metadata/preview/Microsoft.Azure.WebJobs.Extensions.SignalRService.json b/metadata/preview/Microsoft.Azure.WebJobs.Extensions.SignalRService.json deleted file mode 100644 index cf20e873e43c..000000000000 --- a/metadata/preview/Microsoft.Azure.WebJobs.Extensions.SignalRService.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "Name": "Microsoft.Azure.WebJobs.Extensions.SignalRService", - "Version": "1.7.0-beta.2", - "DevVersion": null, - "DirectoryPath": "sdk/signalr/Microsoft.Azure.WebJobs.Extensions.SignalRService", - "ServiceDirectory": "signalr", - "ReadMePath": "sdk/signalr/Microsoft.Azure.WebJobs.Extensions.SignalRService/README.md", - "ChangeLogPath": "sdk/signalr/Microsoft.Azure.WebJobs.Extensions.SignalRService/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Microsoft.Azure.WebJobs.Extensions.SignalRService", - "ReleaseStatus": "2022-02-14", - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder", - "Namespaces": "Microsoft.Azure.WebJobs.Extensions.SignalRService" -} diff --git a/metadata/preview/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs.json b/metadata/preview/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs.json deleted file mode 100644 index 1028ece9ab1e..000000000000 --- a/metadata/preview/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "Name": "Microsoft.Azure.WebJobs.Extensions.Storage.Blobs", - "Version": "5.1.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs", - "ServiceDirectory": "storage", - "ReadMePath": "sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs/README.md", - "ChangeLogPath": "sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Blobs/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Microsoft.Azure.WebJobs.Extensions.Storage.Blobs", - "ReleaseStatus": "2023-02-07", - "Namespaces": [ - "Microsoft.Azure.WebJobs", - "Microsoft.Azure.WebJobs.Extensions.Storage", - "Microsoft.Azure.WebJobs.Host", - "Microsoft.Extensions.Hosting" - ] -} diff --git a/metadata/preview/Microsoft.Azure.WebJobs.Extensions.Storage.Queues.json b/metadata/preview/Microsoft.Azure.WebJobs.Extensions.Storage.Queues.json deleted file mode 100644 index a3ce3f4bf216..000000000000 --- a/metadata/preview/Microsoft.Azure.WebJobs.Extensions.Storage.Queues.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "Name": "Microsoft.Azure.WebJobs.Extensions.Storage.Queues", - "Version": "5.1.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Queues", - "ServiceDirectory": "storage", - "ReadMePath": "sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Queues/README.md", - "ChangeLogPath": "sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage.Queues/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Microsoft.Azure.WebJobs.Extensions.Storage.Queues", - "ReleaseStatus": "2023-02-07", - "Namespaces": [ - "Microsoft.Azure.WebJobs", - "Microsoft.Azure.WebJobs.Extensions.Storage", - "Microsoft.Azure.WebJobs.Host", - "Microsoft.Azure.WebJobs.Host.Queues", - "Microsoft.Extensions.Hosting" - ] -} diff --git a/metadata/preview/Microsoft.Azure.WebJobs.Extensions.Storage.json b/metadata/preview/Microsoft.Azure.WebJobs.Extensions.Storage.json deleted file mode 100644 index ec43b07c4a45..000000000000 --- a/metadata/preview/Microsoft.Azure.WebJobs.Extensions.Storage.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "Name": "Microsoft.Azure.WebJobs.Extensions.Storage", - "Version": "5.1.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage", - "ServiceDirectory": "storage", - "ReadMePath": "sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage/README.md", - "ChangeLogPath": "sdk/storage/Microsoft.Azure.WebJobs.Extensions.Storage/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Microsoft.Azure.WebJobs.Extensions.Storage", - "ReleaseStatus": "2023-02-07" -} diff --git a/metadata/preview/Microsoft.Azure.WebJobs.Extensions.Tables.json b/metadata/preview/Microsoft.Azure.WebJobs.Extensions.Tables.json deleted file mode 100644 index 296f55f74ad4..000000000000 --- a/metadata/preview/Microsoft.Azure.WebJobs.Extensions.Tables.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Microsoft.Azure.WebJobs.Extensions.Tables", - "Version": "1.2.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/tables/Microsoft.Azure.WebJobs.Extensions.Tables", - "ServiceDirectory": "tables", - "ReadMePath": "sdk/tables/Microsoft.Azure.WebJobs.Extensions.Tables/README.md", - "ChangeLogPath": "sdk/tables/Microsoft.Azure.WebJobs.Extensions.Tables/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Microsoft.Azure.WebJobs.Extensions.Tables", - "ReleaseStatus": "2023-05-23", - "Namespaces": [ - "Microsoft.Azure.WebJobs", - "Microsoft.Extensions.Hosting" - ], - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder" -} diff --git a/metadata/preview/Microsoft.Azure.WebJobs.Extensions.WebPubSub.json b/metadata/preview/Microsoft.Azure.WebJobs.Extensions.WebPubSub.json deleted file mode 100644 index ee03be623a4b..000000000000 --- a/metadata/preview/Microsoft.Azure.WebJobs.Extensions.WebPubSub.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "Name": "Microsoft.Azure.WebJobs.Extensions.WebPubSub", - "Version": "1.0.0-beta.4", - "DevVersion": null, - "DirectoryPath": "sdk/webpubsub/Microsoft.Azure.WebJobs.Extensions.WebPubSub", - "ServiceDirectory": "webpubsub", - "ReadMePath": "sdk/webpubsub/Microsoft.Azure.WebJobs.Extensions.WebPubSub/README.md", - "ChangeLogPath": "sdk/webpubsub/Microsoft.Azure.WebJobs.Extensions.WebPubSub/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Microsoft.Azure.WebJobs.Extensions.WebPubSub", - "ReleaseStatus": "2021-11-09", - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder", - "Namespaces": [ - "Microsoft.Azure.WebJobs.Extensions.WebPubSub", - "Microsoft.Azure.WebJobs.Extensions.WebPubSub.Operations" - ] -} diff --git a/metadata/preview/Microsoft.Azure.WebPubSub.AspNetCore.json b/metadata/preview/Microsoft.Azure.WebPubSub.AspNetCore.json deleted file mode 100644 index cefbcca38eec..000000000000 --- a/metadata/preview/Microsoft.Azure.WebPubSub.AspNetCore.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "Name": "Microsoft.Azure.WebPubSub.AspNetCore", - "Version": "1.0.0-beta.4", - "DevVersion": null, - "DirectoryPath": "sdk/webpubsub/Microsoft.Azure.WebPubSub.AspNetCore", - "ServiceDirectory": "webpubsub", - "ReadMePath": "sdk/webpubsub/Microsoft.Azure.WebPubSub.AspNetCore/README.md", - "ChangeLogPath": "sdk/webpubsub/Microsoft.Azure.WebPubSub.AspNetCore/CHANGELOG.md", - "Group": null, - "SdkType": "client", - "IsNewSdk": true, - "ArtifactName": "Microsoft.Azure.WebPubSub.AspNetCore", - "ReleaseStatus": "2022-11-11", - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder", - "Namespaces": [ - "Microsoft.AspNetCore.Builder", - "Microsoft.Azure.WebPubSub.AspNetCore", - "Microsoft.Extensions.DependencyInjection" - ] -} diff --git a/metadata/preview/Microsoft.Azure.WebPubSub.Common.json b/metadata/preview/Microsoft.Azure.WebPubSub.Common.json deleted file mode 100644 index b603095d0bff..000000000000 --- a/metadata/preview/Microsoft.Azure.WebPubSub.Common.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "Name": "Microsoft.Azure.WebPubSub.Common", - "Version": "1.0.0-beta.1", - "DevVersion": null, - "DirectoryPath": "sdk/webpubsub/Microsoft.Azure.WebPubSub.Common", - "ServiceDirectory": "webpubsub", - "ReadMePath": "sdk/webpubsub/Microsoft.Azure.WebPubSub.Common/README.md", - "ChangeLogPath": "sdk/webpubsub/Microsoft.Azure.WebPubSub.Common/CHANGELOG.md", - "Group": null, - "SdkType": "data", - "IsNewSdk": false, - "ArtifactName": "Microsoft.Azure.WebPubSub.Common", - "ReleaseStatus": "2021-11-09", - "DocsCiConfigProperties": { - "isPrerelease": "true", - "tfm": "netstandard2.0" - }, - "MSDocService": "placeholder", - "Namespaces": "Microsoft.Azure.WebPubSub.Common" -} diff --git a/metadata/preview/Microsoft.CognitiveServices.Speech.json b/metadata/preview/Microsoft.CognitiveServices.Speech.json deleted file mode 100644 index cdada866d070..000000000000 --- a/metadata/preview/Microsoft.CognitiveServices.Speech.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "Name": "Microsoft.CognitiveServices.Speech", - "Version": "1.25.1-beta.1", - "Namespaces": [ - "Azure.AI.Vision.Core.Internal", - "Microsoft.CognitiveServices.Speech", - "Microsoft.CognitiveServices.Speech.Audio", - "Microsoft.CognitiveServices.Speech.Diagnostics.Logging", - "Microsoft.CognitiveServices.Speech.Dialog", - "Microsoft.CognitiveServices.Speech.Intent", - "Microsoft.CognitiveServices.Speech.Internal", - "Microsoft.CognitiveServices.Speech.PronunciationAssessment", - "Microsoft.CognitiveServices.Speech.Speaker", - "Microsoft.CognitiveServices.Speech.Transcription", - "Microsoft.CognitiveServices.Speech.Translation" - ], - "ServiceDirectory": "NA", - "SdkType": "client", - "IsNewSdk": false, - "DirectoryPath": "" -}