Fixed links and syntax highlighting (#1237)

* Fixed links and syntax highlighting

* Fixing links

* Correct date formats in releases

* Made everything relative links and markdownlint corrections

* Fixing config for Jekyll 4.0 prework

* Removed site.baseurl from includes

* Markdownlint repair

* Fixing stray paren
This commit is contained in:
Adrian Hall 2020-04-17 12:29:06 -07:00 коммит произвёл GitHub
Родитель 4c7f0c3ba4
Коммит 492d786927
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
68 изменённых файлов: 307 добавлений и 268 удалений

Просмотреть файл

@ -244,7 +244,6 @@ GEM
tzinfo-data (1.2019.3)
tzinfo (>= 1.0.0)
unicode-display_width (1.6.0)
wdm (0.1.1)
PLATFORMS
ruby
@ -254,7 +253,6 @@ DEPENDENCIES
github-pages (> 200)
jekyll-relative-links
tzinfo-data
wdm (>= 0.1.0)
BUNDLED WITH
2.1.4

Просмотреть файл

@ -16,7 +16,7 @@ host: 127.0.0.1
port: 4000
output: web
plugins_dir:
plugins:
- jekyll-github-metadata
- jekyll-paginate
- jekyll-sitemap
@ -63,7 +63,8 @@ timezone: "US/Pacific"
relative_links:
enabled: true
collections: true
defaults:
-
scope:

Просмотреть файл

@ -4,22 +4,21 @@
<meta name="description" content="{% if page.summary %}{{ page.summary | strip_html | strip_newlines | truncate: 160 }}{% endif %}">
<meta name="keywords" content="{{page.tags}}{% if page.tags %}, {% endif %} {{page.keywords}}">
<title>{{ page.title }} | {{ site.site_title }}</title>
<link rel="stylesheet" href="{{ site.baseurl }}/css/syntax.css">
<link rel="stylesheet" href="{{ "/css/syntax.css" | relative_url }}" />
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="{{ site.baseurl }}/css/modern-business.css">
<link rel="stylesheet" href="{{ "/css/modern-business.css" | relative_url }}" />
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<link rel="stylesheet" href="{{ site.baseurl }}/css/boxshadowproperties.css">
<link rel="stylesheet" href="{{ site.baseurl }}/css/theme-azure.css">
<link rel="stylesheet" href="{{ site.baseurl }}/css/customstyles.css">
<link rel="stylesheet" href="{{ "/css/boxshadowproperties.css" | relative_url }}" />
<link rel="stylesheet" href="{{ "/css/theme-azure.css" | relative_url }}" />
<link rel="stylesheet" href="{{ "/css/customstyles.css" | relative_url }}" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
<script src="{{ site.baseurl }}/js/jquery.navgoco.min.js"></script>
<script src="{{ "/js/jquery.navgoco.min.js" | relative_url }}"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/4.2.0/anchor.min.js"></script>
<script src="{{ site.baseurl }}/js/toc.js"></script>
<script src="{{ site.baseurl }}/js/customscripts.js"></script>
<script src="{{ "/js/toc.js" | relative_url }}"></script>
<script src="{{ "/js/customscripts.js" | relative_url }}"></script>
<link rel="shortcut icon" href="{{ site.baseurl }}/images/azure-icon.png"/>
<link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ site.baseurl }}/feed.xml" >
<link rel="shortcut icon" href="{{ "/images/azure-icon.png" | relative_url }}"/>
<link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ "/feed.xml" | relative_url }}" />

Просмотреть файл

@ -6,14 +6,14 @@
<title>{% if page.homepage == true %} {{site.homepage_title}} {% elsif page.title %}{{ page.title }}{% endif %} | {{ site.site_title }}</title>
<link rel="stylesheet" href="{{ "/css/syntax.css" | prepend: site.baseurl | prepend: site.url }}">
<link rel="stylesheet" href="{{ "/css/font-awesome.min.css" | prepend: site.baseurl | prepend: site.url }}">
<link rel="stylesheet" href="{{ "/css/bootstrap.min.css" | prepend: site.baseurl | prepend: site.url }}">
<link rel="stylesheet" href="{{ "/css/modern-business.css" | prepend: site.baseurl | prepend: site.url }}">
<link rel="stylesheet" href="{{ "/css/customstyles.css" | prepend: site.baseurl | prepend: site.url }}">
<link rel="stylesheet" href="{{ "/css/theme-blue.css" | prepend: site.baseurl | prepend: site.url }}">
<link rel="stylesheet" href="{{ "/css/syntax.css" | prepend: site.baseurl | prepend: site.url }}">
<link rel="stylesheet" href="{{ "/css/printstyles.css" | prepend: site.baseurl }}">
<link rel="stylesheet" href="{{ "/css/syntax.css" | relative_url }}">
<link rel="stylesheet" href="{{ "/css/font-awesome.min.css" | relative_url }}">
<link rel="stylesheet" href="{{ "/css/bootstrap.min.css" | relative_url }}">
<link rel="stylesheet" href="{{ "/css/modern-business.css" | relative_url }}">
<link rel="stylesheet" href="{{ "/css/customstyles.css" | relative_url }}">
<link rel="stylesheet" href="{{ "/css/theme-blue.css" | relative_url }}">
<link rel="stylesheet" href="{{ "/css/syntax.css" | relative_url }}">
<link rel="stylesheet" href="{{ "/css/printstyles.css" | relative_url }}">
<script>
Prince.addScriptFunc("datestamp", function() {

Просмотреть файл

@ -1,21 +1,21 @@
[Architecture Board]: https://github.com/azure/azure-sdk/issues
[General Azure SDK Guidelines]: {{ site.baseurl }}/general_introduction.html
[General Azure SDK Guidelines]: {{ site.baseurl }}{% link docs/general/introduction.md %}
[Azure SDK Contributors Guide]: https://review.docs.microsoft.com/en-us/help/contribute-ref/contribute-ref-how-to-document-sdk
[Microsoft Writing Style Guide]: https://styleguides.azurewebsites.net/StyleGuide/Read?id=2700
[Microsoft Cloud Style Guide]: https://styleguides.azurewebsites.net/Styleguide/Read?id=2696
[rest-lro]: https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md#13-long-running-operations
[general-guidelines]: {{ site.baseurl }}/general_introduction.html
[android-guidelines]: {{ site.baseurl }}/android_introduction.html
[clang-guidelines]: {{ site.baseurl }}/clang_introduction.html
[cpp-guidelines]: {{ site.baseurl }}/cpp_introduction.html
[dotnet-guidelines]: {{ site.baseurl }}/dotnet_introduction.html
[golang-guidelines]: {{ site.baseurl }}/golang_introduction.html
[ios-guidelines]: {{ site.baseurl }}/ios_introduction.html
[java-guidelines]: {{ site.baseurl }}/java_introduction.html
[python-guidelines]: {{ site.baseurl }}/python_introduction.html
[typescript-guidelines]: {{ site.baseurl }}/typescript_introduction.html
[general-guidelines]: {{ site.baseurl }}{% link docs/general/introduction.md %}
[android-guidelines]: {{ site.baseurl }}{% link docs/android/introduction.md %}
[clang-guidelines]: {{ site.baseurl }}{% link docs/clang/introduction.md %}
[cpp-guidelines]: {{ site.baseurl }}{% link docs/cpp/introduction.md %}
[dotnet-guidelines]: {{ site.baseurl }}{% link docs/dotnet/introduction.md %}
[golang-guidelines]: {{ site.baseurl }}{% link docs/golang/introduction.md %}
[ios-guidelines]: {{ site.baseurl }}{% link docs/ios/introduction.md %}
[java-guidelines]: {{ site.baseurl }}{% link docs/java/introduction.md %}
[python-guidelines]: {{ site.baseurl }}{% link docs/python/introduction.md %}
[typescript-guidelines]: {{ site.baseurl }}{% link docs/typescript/introduction.md %}
[dotnet-latest-releases]: {{ site.baseurl }}{% link releases/latest/dotnet.md %}
[java-latest-releases]: {{ site.baseurl }}{% link releases/latest/java.md %}

Просмотреть файл

@ -8,7 +8,7 @@
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="{{site.baseurl }}/index.html">
<a class="navbar-brand" href="{{ "/index.html" | relative_url }}"/>
<span class="projectTitle"><img style="margin-top: -8px;" class="d-inline-block align-top" src="{{ "/images/azure-icon.png" | relative_url }}" width="42" height="42" alt=""/> {{site.topnav_title}}</span>
</a>
</div>

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK Releases (November 2019)
layout: post
date: 11 Nov 2019
date: 2019-11-11
sidebar: releases_sidebar
repository: azure/azure-sdk
---
@ -29,7 +29,7 @@ We also encourage you to try out the new previews and give us your feedback by o
You can find all the details in our release notes for each language:
* [.NET release notes]({{site.baseurl}}/releases/2019-11/dotnet.html)
* [Java release notes]({{site.baseurl}}/releases/2019-11/java.html)
* [Python release notes]({{site.baseurl}}/releases/2019-11/python.html)
* [TypeScript release notes]({{site.baseurl}}/releases/2019-11/js.html)
* [.NET release notes]({{site.baseurl}}{% link releases/2019-11/2019-11-dotnet.md %})
* [Java release notes]({{site.baseurl}}{% link releases/2019-11/2019-11-java.md %})
* [Python release notes]({{site.baseurl}}{% link releases/2019-11/2019-11-python.md %})
* [JavaScript release notes]({{site.baseurl}}{% link releases/2019-11/2019-11-js.md %})

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK Releases (December 2019)
layout: post
date: 13 Dec 2019
date: 2019-12-13
sidebar: releases_sidebar
repository: azure/azure-sdk
---
@ -28,7 +28,7 @@ We are always looking for developer feedback. When you have feedback, open an is
You can find all the details in our release notes for each language:
* [.NET release notes]({{site.baseurl}}/releases/2019-12/dotnet.html)
* [Java release notes]({{site.baseurl}}/releases/2019-12/java.html)
* [Python release notes]({{site.baseurl}}/releases/2019-12/python.html)
* [JavaScript release notes]({{site.baseurl}}/releases/2019-12/js.html)
* [.NET release notes]({{site.baseurl}}{% link releases/2019-12/2019-12-dotnet.md %})
* [Java release notes]({{site.baseurl}}{% link releases/2019-12/2019-12-java.md %})
* [Python release notes]({{site.baseurl}}{% link releases/2019-12/2019-12-python.md %})
* [JavaScript release notes]({{site.baseurl}}{% link releases/2019-12/2019-12-js.md %})

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK Releases (January 2020)
layout: post
date: 13 Jan 2020
date: 2020-01-13
sidebar: releases_sidebar
repository: azure/azure-sdk
---
@ -14,7 +14,7 @@ The new generally available libraries being released this month are:
* [Azure Key Vault Certificates](https://docs.microsoft.com/en-us/azure/key-vault/certificate-scenarios)
* [Azure Event Hubs](https://docs.microsoft.com/en-us/azure/event-hubs/) (.NET and Java are pending final validation, but should appear soon!)
These are ready to use in your production applications. You can find details of all released libraries on [our releases page](https://azure.github.io/azure-sdk/releases/latest/).
These are ready to use in your production applications. You can find details of all released libraries on [our releases page]({{site.baseurl}}{% link releases/latest/index.md %}).
New preview releases:
@ -27,10 +27,10 @@ We believe these are ready for your use, but not yet ready for production.  Bet
Use the links below to get started with your language of choice. You will notice that all the preview libraries are tagged with "preview".
* [.NET release notes]({{site.baseurl}}/releases/2020-01/dotnet.html)
* [Java release notes]({{site.baseurl}}/releases/2020-01/java.html)
* [Python release notes]({{site.baseurl}}/releases/2020-01/python.html)
* [JavaScript release notes]({{site.baseurl}}/releases/2020-01/js.html)
* [.NET release notes]({{site.baseurl}}{% link releases/2020-01/dotnet.md %})
* [Java release notes]({{site.baseurl}}{% link releases/2020-01/java.md %})
* [Python release notes]({{site.baseurl}}{% link releases/2020-01/python.md %})
* [JavaScript release notes]({{site.baseurl}}{% link releases/2020-01/js.md %})
If you want to dive deep into the content, the release notes linked above and the change logs they point to give more details on what has changed.
@ -105,7 +105,7 @@ Be sure to check out all the samples for Text Analytics and let us know what you
So far, the community has filed hundreds of issues against these new SDKs with feedback randing from documentation issues to API surface area change requests to pointing out failure cases. Please keep that coming. We work in the open on GitHub and you can submit issues here:
* [API design guidelines](https://github.com/Azure/azure-sdk/)
* [API design guidelines](https://github.com/Azure/azure-sdk)
* [.NET](https://github.com/Azure/azure-sdk-for-net)
* [Java](https://github.com/Azure/azure-sdk-for-java)
* [JavaScript / TypeScript](https://github.com/Azure/azure-sdk-for-js)

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK Releases (February 2020)
layout: post
date: 11 Feb 2020
date: 2020-02-11
sidebar: releases_sidebar
repository: azure/azure-sdk
---
@ -13,7 +13,7 @@ Welcome to the February release of the Azure SDK. We have updated the following
* Key Vault (Python only).
* Storage (Blobs, Files, and Queues).
These are ready to use in your production applications. You can find details of all released libraries on [our releases page](https://azure.github.io/azure-sdk/releases/latest/).
These are ready to use in your production applications. You can find details of all released libraries on [our releases page]({{site.baseurl}}{% link releases/latest/index.md %}).
New preview releases:
@ -29,10 +29,10 @@ We believe these are ready for your use, but not yet ready for production.  Bet
Use the links below to get started with your language of choice. You will notice that all the preview libraries are tagged with "preview".
* [.NET release notes]({{site.baseurl}}/releases/2020-02/dotnet.html)
* [Java release notes]({{site.baseurl}}/releases/2020-02/java.html)
* [Python release notes]({{site.baseurl}}/releases/2020-02/python.html)
* [JavaScript release notes]({{site.baseurl}}/releases/2020-02/js.html)
* [.NET release notes]({{site.baseurl}}{% link releases/2020-02/dotnet.md %})
* [Java release notes]({{site.baseurl}}{% link releases/2020-02/java.md %})
* [Python release notes]({{site.baseurl}}{% link releases/2020-02/python.md %})
* [JavaScript release notes]({{site.baseurl}}{% link releases/2020-02/js.md %})
If you want to dive deep into the content, the release notes linked above and the change logs they point to give more details on what has changed.
@ -44,7 +44,7 @@ One of the main advantages of the new Azure SDK is that common developer concern
All .NET client libraries emit events to ETW (Event Tracing for Windows) via the `EventSource` class. This system has been a part of the .NET framework for a long time. Event sources allow you to use structured logging in your application code with a minimal performance overhead.
Although you can use out-of-process tools (such as [PerfView](https://github.com/Microsoft/perfview) or [dotnet trace](https://docs.microsoft.com/en-us/dotnet/core/diagnostics/dotnet-trace)), a [core tenet of our libraries](https://azure.github.io/azure-sdk/general_implementation.html#general-logging-console-logger) includes the ability to easily send logs to the console. When developing your app, you should be able to view the logs in real time without much overhead. You can accomplish this with a one-liner at the top of your application:
Although you can use out-of-process tools (such as [PerfView](https://github.com/Microsoft/perfview) or [dotnet trace](https://docs.microsoft.com/en-us/dotnet/core/diagnostics/dotnet-trace)), a [core tenet of our libraries]({{ "/general_implementation.html#general-logging-console-logger" | relative_url }}) includes the ability to easily send logs to the console. When developing your app, you should be able to view the logs in real time without much overhead. You can accomplish this with a one-liner at the top of your application:
```csharp
using AzureEventSourceListener listener = AzureEventSourceListener.CreateConsoleLogger();
@ -113,7 +113,7 @@ If it doesn't, let us know!
So far, the community has filed hundreds of issues against these new SDKs with feedback ranging from documentation issues to API surface area change requests to pointing out failure cases. Please keep that coming. We work in the open on GitHub and you can submit issues here:
* [API design guidelines](https://github.com/Azure/azure-sdk/)
* [API design guidelines](https://github.com/Azure/azure-sdk)
* [.NET](https://github.com/Azure/azure-sdk-for-net)
* [Java](https://github.com/Azure/azure-sdk-for-java)
* [JavaScript / TypeScript](https://github.com/Azure/azure-sdk-for-js)

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Authentication and the Azure SDK
layout: post
date: 25 Feb 2020
date: 2020-02-25
sidebar: releases_sidebar
author_github: adrianhall
repository: azure/azure-sdk
@ -49,7 +49,7 @@ The first choice is the environment. If you have the following environment vari
* `AZURE_CLIENT_SECRET`
* `AZURE_TENANT_ID`
If you need to explicitly define what user is used for authentication when communicating with an Azure resource, set these environment variables. These environment variables define the [service principal](https://docs.microsoft.com/en-us/azure/active-directory/develop/app-objects-and-service-principals) that will be used for authentication and authorization. You can configure a service principal for your application using the Azure CLI as follows:
If you need to explicitly define what user is used for authentication when communicating with an Azure resource, set these environment variables. These environment variables define the [service principal](https://docs.microsoft.com/azure/active-directory/develop/app-objects-and-service-principals) that will be used for authentication and authorization. You can configure a service principal for your application using the Azure CLI as follows:
```bash
$> az ad sp create-for-rbac --name http://my-application --skip-assignment
@ -80,7 +80,7 @@ Now that your environment is set up, the `client` in your application will be ab
## Managed Identities
The environment is a great option when you have all the information necessary to authenticate as a service principal. However, it does establish a management burden. You have to maintain the service credentials, and rotate client secrets on a regular basis. When running your service in the confines of a cloud compute instance (such as a virtual machine, container, App Service, Functions, or Service Bus), you can use [managed identities](https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview). When you establish a system-assigned identity for the service, a service principal is created for you that is associated with the service. You can also establish a user-assigned identity (which is a service principal that you associate with the service). Your application can get authenticated easily by reaching out to an endpoint on the compute resource. the `DefaultAzureCredential` manages this communication for you.
The environment is a great option when you have all the information necessary to authenticate as a service principal. However, it does establish a management burden. You have to maintain the service credentials, and rotate client secrets on a regular basis. When running your service in the confines of a cloud compute instance (such as a virtual machine, container, App Service, Functions, or Service Bus), you can use [managed identities](https://docs.microsoft.com/azure/active-directory/managed-identities-azure-resources/overview). When you establish a system-assigned identity for the service, a service principal is created for you that is associated with the service. You can also establish a user-assigned identity (which is a service principal that you associate with the service). Your application can get authenticated easily by reaching out to an endpoint on the compute resource. the `DefaultAzureCredential` manages this communication for you.
For instance, let's say you are running your application in Azure App Service. To create a suitable managed identity with permissions to access your Key Vault:
@ -118,7 +118,7 @@ If all of these mechanisms for obtaining a credential fail, the `DefaultAzureCre
Let's take an example. I'm writing a backend service right now that consists of a Node.js API service that communicates with Cosmos DB and Azure Storage. I store the base URI for Azure Storage and the connection string for Cosmos DB in Azure Key Vault secrets, and specify the URI needed to access the Key Vault as an environment variables. This allows me to run the service locally, as an App Service, or in a container.
{% highlight javascript %}
```javascript
import { SecretClient } from '@azure/keyvault-secrets';
import { DefaultAzureCredential } from '@azure/identity';
import { CosmosClient } from '@azure/cosmos';
@ -136,7 +136,7 @@ async function configureClients() {
cosmosClient = new CosmosClient(cosmosDbConnectonString);
storageClient = new BlobServiceClient(storageUri, credential);
}
{% endhighlight %}
```
When I run my app from my development environment, it uses the credentials from my tooling. If I don't have any appropriate tooling, the app will pop up a browser to get the credentials. I can bypass this process by creating a service principal and ensuring the permissions are set properly.

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Pluggable HTTP Modules with the Azure SDK for Java
layout: post
date: 03 Mar 2020
date: 2020-03-03
sidebar: releases_sidebar
author_github: alzimmermsft
repository: azure/azure-sdk
@ -74,6 +74,6 @@ If OkHttp and Netty doesn't fit your requirements, you can also [write your own
## Want to hear more?
Follow us on [Twitter](https://twitter.com/AzureSDK). We'll be covering more best practices in cloud-native development as well as providing updates on our progress in developing the next generation of Azure SDK.
Follow us on [Twitter](https://twitter.com/AzureSDK). We'll be covering more best practices in cloud-native development as well as providing updates on our progress in developing the next generation of Azure SDK.
Contributors to this article: _Alan Zimmer_.

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Building the Azure SDK - Repository Structure
layout: post
date: 10 Mar 2020
date: 2020-03-10
sidebar: releases_sidebar
author_github: mitchdenny
repository: azure/azure-sdk

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK Releases (March 2020)
layout: post
date: 17 mar 2020
date: 2020-03-17
sidebar: releases_sidebar
repository: azure/azure-sdk
---
@ -14,7 +14,7 @@ Welcome to the March release of the Azure SDK. We have updated the following li
* Storage Blobs, File Shares, and Queues.
* Storage Data Lake (new GA release).
These are ready to use in your production applications. You can find details of all released libraries on [our releases page](https://azure.github.io/azure-sdk/releases/latest/).
These are ready to use in your production applications. You can find details of all released libraries on [our releases page]({{site.baseurl}}{% link releases/latest/index.md %}).
New preview releases:
@ -32,16 +32,16 @@ We believe these are ready for you to use and experiment with, but not yet ready
Use the links below to get started with your language of choice. You will notice that all the preview libraries are tagged with "preview".
* [.NET release notes]({{site.baseurl}}/releases/2020-03/dotnet.html)
* [Java release notes]({{site.baseurl}}/releases/2020-03/java.html)
* [Python release notes]({{site.baseurl}}/releases/2020-03/python.html)
* [JavaScript release notes]({{site.baseurl}}/releases/2020-03/js.html)
* [.NET release notes]({{site.baseurl}}{% link releases/2020-03/dotnet.md %})
* [Java release notes]({{site.baseurl}}{% link releases/2020-03/java.md %})
* [Python release notes]({{site.baseurl}}{% link releases/2020-03/python.md %})
* [JavaScript release notes]({{site.baseurl}}{% link releases/2020-03/js.md %})
If you want to dive deep into the content, the release notes linked above and the change logs they point to give more details on what has changed.
## Introducing Azure Cognitive Search
This month, we are introducing a preview of the Azure Cognitive Search client. [Azure Cognitive Search](https://azure.microsoft.com/services/search) is search-as-a-service, allowing developers to add a rich search experience over private, heterogenous content in web, mobile, and enterprise applications. You've probably seen this type of search experience in action when you use a product search capability within an e-commerce site. Let's take a look at how you can implement the search capability in your own client applications. For this demonstration, I'm going to be using JavaScript and the React framework.
This month, we are introducing a preview of the Azure Cognitive Search client. [Azure Cognitive Search](https://azure.microsoft.com/services/search) is search-as-a-service, allowing developers to add a rich search experience over private, heterogenous content in web, mobile, and enterprise applications. You've probably seen this type of search experience in action when you use a product search capability within an e-commerce site. Let's take a look at how you can implement the search capability in your own client applications. For this demonstration, I'm going to be using JavaScript and the React framework.
> We recommend that most applications use an intermediary web API service to protect the API key. You can write your web API using Azure Functions and Node.js. The same JavaScript API is used to access Azure Cognitive Search.
@ -190,7 +190,7 @@ For more information on the Azure Cognitive Search SDK for JavaScript, check out
So far, the community has filed hundreds of issues against these new SDKs with feedback ranging from documentation issues to API surface area change requests to pointing out failure cases. Please keep that coming. We work in the open on GitHub and you can submit issues here:
* [API design guidelines](https://github.com/Azure/azure-sdk/)
* [API design guidelines](https://github.com/Azure/azure-sdk)
* [.NET](https://github.com/Azure/azure-sdk-for-net)
* [Java](https://github.com/Azure/azure-sdk-for-java)
* [JavaScript / TypeScript](https://github.com/Azure/azure-sdk-for-js)

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Enabling distributed tracing with the Azure SDK for Python
layout: post
date: 24 Mar 2020
date: 2020-03-24
sidebar: releases_sidebar
author_github: adrianhall
repository: azure/azure-sdk
@ -11,7 +11,7 @@ Todays topic is diagnostics with Python applications. I have a fairly complex a
As always, when learning a new technology, I simplify the application so I can see what is going on. Here is a really simple application:
{% highlight python %}
```python
import os
from azure.identity import DefaultAzureCredential
from azure.core.exceptions import ResourceExistsError
@ -37,11 +37,11 @@ def upload_to(account_url, container_name, blob_name):
# Upload main.py to the container
storage_url=os.environ["APP_STORAGE_ACCOUNT_URL"]
upload_to(storage_url, "demo", "main.py")
{% endhighlight %}
```
This simple console application creates a container within the storage account, then uploads the `main.py` file (which contains the source code to the app) as a blob. To support this, I've created a resource group, a storage account, and a service principal with permissions to access the storage account using the [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/get-started-with-azure-cli?view=azure-cli-latest).
{% highlight bash %}
```bash
az group create \
--name python-demoapp \
--location westus
@ -55,16 +55,16 @@ az ad sp create-for-rbac \
--name http://pythondemoapp03242020 \
--role "Storage Blob Data Contributor" \
--scopes /subscriptions/<SUBSCRIPTION>/resourceGroups/python-demoapp
{% endhighlight %}
```
The storage account name must be unique across Azure, so pick a good name! Replace `SUBSCRIPTION` with your Subscription ID. You can use the `az account show` command to see the subscription. You can then set some environment variables based on the output:
{% highlight bash %}
```bash
export AZURE_TENANT_ID="<create-for-rbac output tenant>"
export AZURE_CLIENT_ID="<create-for-rbac output appId>"
export AZURE_CLIENT_SECRET="<create-for-rbac output password>"
export APP_STORAGE_ACCOUNT_URL="<storage-create output primaryEndpoints.blob>"
{% endhighlight %}
```
When you run the application, you will likely see a one liner output that shows that the container is created or not. If there is an error, it will be displayed because of exception handling. However, you probably won't know where the application is breaking. There is a more insidious error, though. What happens if the container create call takes a long time? How would you know it was that call and not the upload, or some of your other logic, for example?
@ -72,13 +72,13 @@ When you run the application, you will likely see a one liner output that shows
The Azure SDK for Python uses Python logging:
{% highlight python %}
```python
import logging
logging.basicConfig()
azure_root_logger = logging.getLogger('azure')
azure_root_logger.setLevel(logging.DEBUG)
{% endhighlight %}
```
This will print the request and response. Information that may have PII is redacted, but otherwise you get all the headers along with the request and response. This allows you to see if the SDK is doing the right thing, and it will also allow you to assure yourself that your code is handling the responses correctly, especially when augmented by logging of your own.
@ -92,16 +92,16 @@ Enter [OpenTelemetry](https://opentelemetry.io/). OpenTelemetry is an open stan
First, we need some libraries:
{% highlight bash %}
```bash
pip install opentelemetry-api==0.4a0
pip install opentelemetry-sdk==0.4a0
{% endhighlight %}
```
> **NOTE** We are pinning the version of the OpenTelemetry SDK here so that the instructions work properly. The API for OpenTelemetry is changing, so make sure you follow the appropriate instructions. You can [find the documentation for this version on GitHub](https://github.com/open-telemetry/opentelemetry-python/tree/v0.4a.x/docs).
Then, let's update the app to support basic tracing:
{% highlight python %}
```python
import os
from azure.identity import DefaultAzureCredential
from azure.core.exceptions import ResourceExistsError
@ -143,7 +143,7 @@ def upload_to(account_url, container_name, blob_name):
with tracer.start_as_current_span("mainapp"):
storage_url=os.environ['APP_STORAGE_ACCOUNT_URL']
upload_to(storage_url, "demo", "main.py")
{% endhighlight %}
```
First, you need to decide where you are going to put the trace information you collect. This is known as an Exporter. There are several good ones (and we'll get onto that in a moment), but, for now, we are just sending the trace information to the console. We can then configure the rest of the OpenTelemetry system.
@ -151,11 +151,11 @@ Once you have the OpenTelemetry library configured, just wrap each of the blocks
Running the app, this is what the output looks like:
{% highlight text %}
```text
$ python main.py
Container already exists (ignored).
Span(name="upload_to", context=SpanContext(trace_id=0x55dfc91e9feb3a56df74d9add43038f2, span_id=0x8dab600f714bfb13, trace_state={}), kind=SpanKind.INTERNAL, parent=Span(name="mainapp", context=SpanContext(trace_id=0x55dfc91e9feb3a56df74d9add43038f2, span_id=0xb2a773d445c6237b, trace_state={})), start_time=2020-03-19T21:40:29.285159Z, end_time=2020-03-19T21:40:30.060733Z)Span(name="mainapp", context=SpanContext(trace_id=0x55dfc91e9feb3a56df74d9add43038f2, span_id=0xb2a773d445c6237b, trace_state={}), kind=SpanKind.INTERNAL, parent=None, start_time=2020-03-19T21:40:29.285159Z, end_time=2020-03-19T21:40:30.061730Z)
{% endhighlight %}
```
You can see two spans - one inside the other - with the appropriate names.
@ -163,25 +163,25 @@ You can see two spans - one inside the other - with the appropriate names.
To enable distributed tracing within the Azure SDK, you need to tell Azure Core which tracing library you are using. There is a tracing implementation for the older OpenCensus and the newer OpenTelemetry. You could also write your own, although that would be more work. Install the preview tracing package for the Azure SDK:
{% highlight bash %}
```bash
pip install azure-core-tracing-opentelemetry
{% endhighlight %}
```
Then, add the following three lines to the start of your application:
{% highlight python %}
```python
# Configure distributed tracing in Azure SDK
from azure.core.settings import settings
from azure.core.tracing.ext.opentelemetry_span import OpenTelemetrySpan
settings.tracing_implementation = OpenTelemetrySpan
{% endhighlight %}
```
Run the app again to see the results:
{% highlight text %}
```text
Span(name="/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx/oauth2/v2.0/token", context=SpanContext(trace_id=0x48776c79e95d494e1b24353ba9046b29, span_id=0x2e3ee534daffef73, trace_state={}), kind=SpanKind.CLIENT, parent=Span(name="ContainerClient.create_container", context=SpanContext(trace_id=0x48776c79e95d494e1b24353ba9046b29, span_id=0x78c07183a6860ff7, trace_state={})), start_time=2020-03-19T21:43:33.383835Z, end_time=2020-03-19T21:43:33.725025Z)Span(name="/demo", context=SpanContext(trace_id=0x48776c79e95d494e1b24353ba9046b29, span_id=0x6c6e9f9ce09e3c03, trace_state={}), kind=SpanKind.CLIENT, parent=Span(name="ContainerClient.create_container", context=SpanContext(trace_id=0x48776c79e95d494e1b24353ba9046b29, span_id=0x78c07183a6860ff7, trace_state={})), start_time=2020-03-19T21:43:33.726025Z, end_time=2020-03-19T21:43:34.035472Z)Span(name="ContainerClient.create_container", context=SpanContext(trace_id=0x48776c79e95d494e1b24353ba9046b29, span_id=0x78c07183a6860ff7, trace_state={}), kind=SpanKind.INTERNAL, parent=Span(name="upload_to", context=SpanContext(trace_id=0x48776c79e95d494e1b24353ba9046b29, span_id=0x3e61cb726380e524, trace_state={})), start_time=2020-03-19T21:43:33.360182Z, end_time=2020-03-19T21:43:34.051102Z)Container already exists (ignored).
Span(name="/demo/main.py", context=SpanContext(trace_id=0x48776c79e95d494e1b24353ba9046b29, span_id=0x6d60987367993bab, trace_state={}), kind=SpanKind.CLIENT, parent=Span(name="BlobClient.upload_blob", context=SpanContext(trace_id=0x48776c79e95d494e1b24353ba9046b29, span_id=0x52f5313f59b27526, trace_state={})), start_time=2020-03-19T21:43:34.095871Z, end_time=2020-03-19T21:43:34.139872Z)Span(name="BlobClient.upload_blob", context=SpanContext(trace_id=0x48776c79e95d494e1b24353ba9046b29, span_id=0x52f5313f59b27526, trace_state={}), kind=SpanKind.INTERNAL, parent=Span(name="upload_to", context=SpanContext(trace_id=0x48776c79e95d494e1b24353ba9046b29, span_id=0x3e61cb726380e524, trace_state={})), start_time=2020-03-19T21:43:34.093871Z, end_time=2020-03-19T21:43:34.145869Z)Span(name="upload_to", context=SpanContext(trace_id=0x48776c79e95d494e1b24353ba9046b29, span_id=0x3e61cb726380e524, trace_state={}), kind=SpanKind.INTERNAL, parent=Span(name="mainapp", context=SpanContext(trace_id=0x48776c79e95d494e1b24353ba9046b29, span_id=0x1f1c8cafdd0189ea, trace_state={})), start_time=2020-03-19T21:43:33.328939Z, end_time=2020-03-19T21:43:34.145869Z)Span(name="mainapp", context=SpanContext(trace_id=0x48776c79e95d494e1b24353ba9046b29, span_id=0x1f1c8cafdd0189ea, trace_state={}), kind=SpanKind.INTERNAL, parent=None, start_time=2020-03-19T21:43:33.328939Z, end_time=2020-03-19T21:43:34.148870Z)
{% endhighlight %}
```
We got two lines of output. One of the lines is a forked trace purely for the authentication flow. The second one is for the main application.
@ -189,7 +189,7 @@ We got two lines of output. One of the lines is a forked trace purely for the a
Of course, you don't always get to see the application when it is running. In fact, it's rare that you can run an application on the console. Dumping the spans to the console is probably not the best idea. Visually, you can also use [Zipkin](https://zipkin.io/) or [Jaeger](https://www.jaegertracing.io/) to visualize the traces during development. For production apps, you want to integrate with [Azure Monitor](https://azure.microsoft.com/en-us/services/monitor/), which provides an integration point for your logs, metrics, alerts, and other production needs. First, create an Application Insights resource:
{% highlight bash %}
```bash
az extension add -n application-insights
az monitor app-insights component create \
--app pythondemoapp03242020 \
@ -197,26 +197,26 @@ az monitor app-insights component create \
--kind web \
-g python-demoapp \
--application-type web
{% endhighlight %}
```
This will output the instrumentation key, which you need to place in an environment variable:
{% highlight bash %}
```bash
$env:APPINSIGHTS_INSTRUMENTATION_KEY="<output instrumentationKey>"
{% endhighlight %}
```
Replace the exporter in your code with the following:
{% highlight python %}
```python
from azure_monitor import AzureMonitorSpanExporter
exporter = AzureMonitorSpanExporter(
instrumentation_key = os.environ['APPINSIGHTS_INSTRUMENTATION_KEY']
)
{% endhighlight %}
```
Run your code. You can now view the application map, along with all the resources it connects to within Azure Monitor. The traces also show up in the dependencies logs, which allows them to be used in [end-to-end transaction monitoring](https://docs.microsoft.com/en-us/azure/azure-monitor/app/transaction-diagnostics).
Run your code. You can now view the application map, along with all the resources it connects to within Azure Monitor. The traces also show up in the dependencies logs, which allows them to be used in [end-to-end transaction monitoring](https://docs.microsoft.com/azure/azure-monitor/app/transaction-diagnostics).
![]({{ site.baseurl }}/images/posts/03242020-image1.png)
![]({{ site.baseurl }}{% link images/posts/03242020-image1.png %})
From this application map, you can see that two HTTP calls happened to the storage resource, and one call to the Azure AD resource. You can see the average time they took. From here, you can dive in deeper to performance problems in your application.

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Best practices for using Azure SDK with ASP.NET Core
layout: post
date: 31 Mar 2020
date: 2020-03-31
sidebar: releases_sidebar
author_github: pakrym
repository: azure/azure-sdk
@ -15,7 +15,7 @@ The advice comes down to three best practices:
1. Centrally configure services during app startup.
2. Store your configuration separately from code.
3. Use the [`DefaultAzureCredential`](https://azure.github.io/azure-sdk/posts/2020-02-25/defaultazurecredentials.html).
3. Use the [`DefaultAzureCredential`]({{ site.baseurl }}{% post_url 2020-02-25-defaultazurecredentials %}).
Let's take each of these in turn.
@ -173,7 +173,7 @@ public void ConfigureServices(IServiceCollection services)
}
```
The `DefaultAzureCredential` checks several methods of authenticating your service. First, it checks to see if you have the environment variables set. If you have explicitly provided credentials in this manner, they are used. Next, it checks to see if you have set up a managed identity. The mechanism for doing this varies by hosting platform. For virtual machines and Azure App Services, for example, there is a managed identity section in the portal. You can also configure the managed identity using your favorite command line tool (Azure CLI, PowerShell, Azure Resource Manager, Terraform, etc.). You must ensure you have provided the managed service principal with permissions to access the resources you are trying to use. For more information on using managed identities, check [the documentation](https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview).
The `DefaultAzureCredential` checks several methods of authenticating your service. First, it checks to see if you have the environment variables set. If you have explicitly provided credentials in this manner, they are used. Next, it checks to see if you have set up a managed identity. The mechanism for doing this varies by hosting platform. For virtual machines and Azure App Services, for example, there is a managed identity section in the portal. You can also configure the managed identity using your favorite command line tool (Azure CLI, PowerShell, Azure Resource Manager, Terraform, etc.). You must ensure you have provided the managed service principal with permissions to access the resources you are trying to use. For more information on using managed identities, check [the documentation](https://docs.microsoft.com/azure/active-directory/managed-identities-azure-resources/overview).
## More settings
@ -181,8 +181,8 @@ With this basic setup, you can do much more:
* Provide multiple service clients with different names.
* Configure global settings, like the retry settings.
* [Send your logs to Azure Monitor](https://docs.microsoft.com/en-us/azure/azure-monitor/learn/dotnetcore-quick-start).
* [Store your configuration within App Configuration](https://docs.microsoft.com/en-us/azure/azure-app-configuration/quickstart-aspnet-core-app?tabs=core2x).
* [Send your logs to Azure Monitor](https://docs.microsoft.com/azure/azure-monitor/learn/dotnetcore-quick-start).
* [Store your configuration within App Configuration](https://docs.microsoft.com/azure/azure-app-configuration/quickstart-aspnet-core-app?tabs=core2x).
Let's take a look at a couple of these.

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Process data in real-time with Java and Azure Event Hubs
layout: post
date: 07 April 2020
date: 2020-04-07
sidebar: releases_sidebar
author_github: conniey
repository: azure/azure-sdk
@ -11,7 +11,7 @@ In my position with the Azure SDK team, I'm fortunate to talk to a lot of custom
How might this work?
![]({{ site.base_url }}/images/posts/04072020-image1.png)
![]({{ site.base_url }}{% link images/posts/04072020-image1.png %})
Each base station has a number of feeds from the instruments, each of which could provide information at different rates. This is all fed into an [Azure Event Hub](https://azure.microsoft.com/services/event-hubs/). Azure Event Hubs are a scalable messaging system primarily used for data ingestion, allowing you to analyze millions of data points. You could use the same system for analyzing marketing data coming from a mobile application, shopping data coming from the scanners at a grocery store, or security devices monitoring millions of homes. We've learned a few things about this, and have come up with some best practices to follow. Although you can use any of our languages for this ([.NET](https://github.com/azure/azure-sdk-for-net), [Python](https://github.com/azure/azure-sdk-for-python), [Java](https://github.com/azure/azure-sdk-for-java), or [JavaScript/TypeScript](https://github.com/azure/azure-sdk-for-js)), we will be using Java for the examples today.

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK Releases (April 2020)
layout: post
date: 14 apr 2020
date: 2020-04-14
sidebar: releases_sidebar
repository: azure/azure-sdk
---
@ -13,7 +13,7 @@ Welcome to the April release of the Azure SDK. We have updated the following li
* Key Vault
* Storage
These are ready to use in your production applications. You can find details of all released libraries on [our releases page](https://azure.github.io/azure-sdk/releases/latest/).
These are ready to use in your production applications. You can find details of all released libraries on [our releases page]({{site.baseurl}}{% link releases/latest/index.md %}).
New preview releases:
@ -30,10 +30,10 @@ We believe these are ready for you to use and experiment with, but not yet ready
Use the links below to get started with your language of choice. You will notice that all the preview libraries are tagged with "preview".
* [.NET release notes]({{site.baseurl}}/releases/2020-04/dotnet.html)
* [Java release notes]({{site.baseurl}}/releases/2020-04/java.html)
* [Python release notes]({{site.baseurl}}/releases/2020-04/python.html)
* [JavaScript release notes]({{site.baseurl}}/releases/2020-04/js.html)
* [.NET release notes]({{site.baseurl}}{% link releases/2020-04/dotnet.md %})
* [Java release notes]({{site.baseurl}}{% link releases/2020-04/java.md %})
* [Python release notes]({{site.baseurl}}{% link releases/2020-04/python.md %})
* [JavaScript release notes]({{site.baseurl}}{% link releases/2020-04/js.md %})
If you want to dive deep into the content, the release notes linked above and the change logs they point to give more details on what has changed.
@ -51,7 +51,7 @@ Some services only support username/password type authentication; yet others onl
When you are developing service applications, you want them to be long-running. If you have good password hygiene, then you are rotating the passwords to all your cloud resources on a regular basis. At some point, the password you are using in your application is going to change. If you use connection strings, the application will need to be restarted. Additionally, you have to store your connection string in plain text within the environment of your application. You should never store security credentials in plain text. For these reasons, avoid using connection strings wherever possible.
Instead, secure your resources with Azure Active Directory, then use an appropriate credential with the Azure SDK. The `DefaultAzureCredential` includes the `ManagedIdentityCredential`, which supports rotating keys on managed identities. This allows you to rotate keys on a regular basis without restarting your service. For more information on the `DefaultAzureCredential`, see [our blog post]({% post_url 2020-02-25-defaultazurecredentials %}).
Instead, secure your resources with Azure Active Directory, then use an appropriate credential with the Azure SDK. The `DefaultAzureCredential` includes the `ManagedIdentityCredential`, which supports rotating keys on managed identities. This allows you to rotate keys on a regular basis without restarting your service. For more information on the `DefaultAzureCredential`, see [our blog post]({{ site.baseurl }}{% post_url 2020-02-25-defaultazurecredentials %}).
There are places where you have to store a connection string - most notably, Azure SQL does not support Azure Active Directory at the time of writing, so you have to use connection strings.
@ -156,4 +156,4 @@ So far, the community has filed hundreds of issues against these new SDKs with f
* [JavaScript / TypeScript](https://github.com/Azure/azure-sdk-for-js)
* [Python](https://github.com/Azure/azure-sdk-for-python)
Finally, please keep up to date with all the news about the Azure developer experience programs and let us know how we are doing by following [@azuresdk](https://twitter.com/AzureSDK) on Twitter.
Finally, please keep up to date with all the news about the Azure developer experience programs and let us know how we are doing by following [@AzureSDK](https://twitter.com/AzureSDK) on Twitter.

Просмотреть файл

@ -1,6 +1,6 @@
---
title: Azure SDK for .NET (July 2019 Preview)
date: 10 Jul 2019
date: 2019-07-10
layout: post
tags: dotnet
sidebar: releases_sidebar
@ -41,6 +41,6 @@ Detailed changelogs are linked from the [Quick Links](#quick-links) below. Here
## Quick Links
See [Nov Release](..\2019-11\dotnet.html)
See [Nov Release]({{site.baseurl}}{% link releases/2019-11/2019-11-dotnet.md %})
{% include refs.md %}
{% include refs.md %}

Просмотреть файл

@ -1,6 +1,6 @@
---
title: Azure SDK for Java (July 2019 Preview)
date: 10 Jul 2019
date: 2019-07-10
layout: post
tags: java
sidebar: releases_sidebar
@ -11,6 +11,7 @@ permalink: /releases/2019-07-10/java.html
The Azure SDK team is pleased to make available the July 2019 client library preview release. This represents the first release of the ground-up rewrite of the client libraries to ensure consistency, idiomatic design, and excellent developer experience and productivity. This preview release includes new client libraries for Azure App Configuration, Cosmos, Identity, Key Vault (keys and secrets), Event Hubs, and Storage (blob).
## Installation Instructions
To use the preview libraries, refer to the Maven dependency information below, which may be copied into your projects Maven pom.xml file as appropriate. If you are using a different build tool, refer to its documentation on how to specify dependencies.
```xml
@ -76,6 +77,7 @@ Detailed change logs are linked to in the Quick Links below. Here are some criti
## Quick Links
See [Nov Release](..\2019-11\java.html)
See [Nov Release]({{site.baseurl}}{% link releases/2019-11/2019-11-java.md %})
{% include refs.md %}

Просмотреть файл

@ -1,6 +1,6 @@
---
title: Azure SDK for JavaScript (July 2019 Preview)
date: 10 Jul 2019
date: 2019-07-10
layout: post
tags: javascript typescript
sidebar: releases_sidebar
@ -11,6 +11,7 @@ permalink: /releases/2019-07-10/js.html
The Azure SDK team is pleased to make available the July 2019 client library preview release. This represents the first release of the ground-up rewrite of the client libraries to ensure consistency, idiomatic design, and excellent developer experience and productivity. This preview release includes new client libraries for Key Vault (keys and secrets), Event Hubs, Storage (blob, files and queues) and Cosmos.
## Installation Instructions
To install the packages, copy and paste the below into a terminal.
$> npm install @azure/keyvault-keys@4.0.0-preview.2
@ -31,9 +32,8 @@ Detailed change logs are linked to in the Quick Links below. Here are some criti
- Support for Azure Active Directory credentials created using the new [@azure/identity](https://www.npmjs.com/package/@azure/identity) library. Moving forward, this would be the common mode of authentication for all Azure SDK libraries.
- Modernized API making use of async functions and async iterators, to offer an improved and more productive developer experience.
## Quick Links
See [Nov Release](..\2019-11\js.html)
See [Nov Release]({{site.baseurl}}{% link releases/2019-11/2019-11-js.md %})
{% include refs.md %}
{% include refs.md %}

Просмотреть файл

@ -1,6 +1,6 @@
---
title: Azure SDK for Python (July 2019 Preview)
date: 10 Jul 2019
date: 2019-07-10
layout: post
tags: python
sidebar: releases_sidebar
@ -26,10 +26,11 @@ pip install --pre azure-storage-queue
```
## Feedback
If you have a bug or feature request for one of the libraries, please post an issue to [GitHub](https://github.com/azure/azure-sdk-for-python/issues).
## Changelog
Detailed change logs are linked to in the Quick Links below. Here are some critical call outs.
### Identity
@ -92,6 +93,6 @@ These clients can be accessed by navigating down the client hierarchy, or instan
## Quick Links
See [Nov Release](..\2019-11\python.html)
See [Nov Release]({{site.baseurl}}{% link releases/2019-11/2019-11-python.md %})
{% include refs.md %}
{% include refs.md %}

Просмотреть файл

@ -1,18 +1,18 @@
---
title: Previewing Azure SDKs following new Azure SDK API Standards
date: 10 Jul 2019
date: 2019-07-10
layout: post
tags: release
sidebar: releases_sidebar
permalink: /releases/2019-07-10/index.html
---
Today were happy to share a new set of libraries for working with Azure Storage, Azure Cosmos DB, Azure Key Vault, and Azure Event Hubs in Java, Python, JavaScript or TypeScript, and .NET. These libraries provide access to new service features, and represent the first step towards applying a [new set of standards](https://azure.github.io/azure-sdk/) across the Azure SDKs that we believe will make the libraries easier to learn and integrate into your software. You can get these libraries today from your favorite package manager, and we would love to hear your feedback on [GitHub](https://github.com/azure/azure-sdk/issues/). To get started follow the instructions linked below:
Today were happy to share a new set of libraries for working with Azure Storage, Azure Cosmos DB, Azure Key Vault, and Azure Event Hubs in Java, Python, JavaScript or TypeScript, and .NET. These libraries provide access to new service features, and represent the first step towards applying a [new set of standards]({{site.baseurl}}{% link docs/general/introduction.md %}) across the Azure SDKs that we believe will make the libraries easier to learn and integrate into your software. You can get these libraries today from your favorite package manager, and we would love to hear your feedback on [GitHub](https://github.com/azure/azure-sdk/issues/). To get started follow the instructions linked below:
* [Python Release Notes](python.html)
* [Java Release Notes](java.html)
* [JavaScript Release Notes](js.html)
* [.NET Release Notes](dotnet.html)
* [Python Release Notes]({{site.baseurl}}{% link releases/2019-07-10/2019-07-10-python-preview1.md %})
* [Java Release Notes]({{site.baseurl}}{% link releases/2019-07-10/2019-07-10-java-preview1.md %})
* [JavaScript Release Notes]({{site.baseurl}}{% link releases/2019-07-10/2019-07-10-js-preview1.md %})
* [.NET Release Notes]({{site.baseurl}}{% link releases/2019-07-10/2019-07-10-dotnet-preview1.md %})
## Why are we doing this?
@ -32,7 +32,7 @@ The team will go into much of what I am about to outline in follow-up blog posts
Productivity is a multifaceted topic on its own, but two main elements of it are consistency and usability.
To help reach consistency, we codified the things we learned while working with Azure developers into a set of API design guidelines. The guidelines themselves are built in the open on [our GitHub repository](https://azure.github.io/azure-sdk/) and consist of a section of principles that goes into more detail on how we approached this space, a set of general guidelines, and language specific guidelines for Java, Python, .NET, and JavaScript. By applying the guidelines we believe that these libraries will be easier to use and easier to learn. When you learn a pattern or API shape in one library you should be able to count on it being the same in others.
To help reach consistency, we codified the things we learned while working with Azure developers into a set of API design guidelines. The guidelines themselves are built in the open on [our GitHub repository](https://github.com/azure/azure-sdk/) and consist of a section of principles that goes into more detail on how we approached this space, a set of general guidelines, and language specific guidelines for Java, Python, .NET, and JavaScript. By applying the guidelines we believe that these libraries will be easier to use and easier to learn. When you learn a pattern or API shape in one library you should be able to count on it being the same in others.
To help drive usability, we tweaked how we gather user feedback. We continue to do many of the standard practices in the industry such as releasing previews, working directly with developers on their projects, and responding to issues in many different community forums but the next step for us was to usability test the libraries. For each of the libraries we are releasing today, we have brought developers into a lab and had them work through different use cases while we observed them. That feedback was instrumental to shape both the guidelines as well as the API shape of the libraries.
@ -53,11 +53,11 @@ Having good documentation and samples could be considered an aspect of productiv
We also found we needed to change how we work with and engage the community and what we build on top of. To that end, weve begun work to restructure and centralize our development effort into a few key repositories:
* [Azure-sdk](https://github.com/azure/azure-sdk): As a central location to start from and a place for high level topics like the design guidelines.
* Repositories for each language:
* [azure-sdk-for-python](https://github.com/azure/azure-sdk-for-python)
* [azure-sdk-for-java](https://github.com/azure/azure-sdk-for-java)
* [azure-sdk-for-js](https://github.com/azure/azure-sdk-for-js)
* [azure-sdk-for-net](https://github.com/azure/azure-sdk-for-net)
* Repositories for each language:
* [azure-sdk-for-python](https://github.com/azure/azure-sdk-for-python)
* [azure-sdk-for-java](https://github.com/azure/azure-sdk-for-java)
* [azure-sdk-for-js](https://github.com/azure/azure-sdk-for-js)
* [azure-sdk-for-net](https://github.com/azure/azure-sdk-for-net)
Finally, we built a new core library that is helping us provide common features like identity and authentication, both synchronous and asynchronous APIs, logging, error handling, networking retries and more across all libraries.
@ -65,9 +65,9 @@ Finally, we built a new core library that is helping us provide common features
We are very pleased to be sharing the preview release of the new Azure libraries that conform to many of the principles outlined above. We would like to encourage you to download and try the new SDKs today. To help you along the way, we are providing release notes describing whats new in each library, how to get the packages, and how to file GitHub issues specific to the previews.
* [Python Release Notes](python.html)
* [Java Release Notes](java.html)
* [JavaScript Release Notes](js.html)
* [.NET Release Notes](dotnet.html)
* [Python Release Notes]({{site.baseurl}}{% link releases/2019-07-10/2019-07-10-python-preview1.md %})
* [Java Release Notes]({{site.baseurl}}{% link releases/2019-07-10/2019-07-10-java-preview1.md %})
* [JavaScript Release Notes]({{site.baseurl}}{% link releases/2019-07-10/2019-07-10-js-preview1.md %})
* [.NET Release Notes]({{site.baseurl}}{% link releases/2019-07-10/2019-07-10-dotnet-preview1.md %})
In addition to filing GitHub issues, feel free to also follow and tweet us [@AzureSDK](https://twitter.com/AzureSDK). We look forward to receiving your feedback so we can improve the libraries, and make it easier for you to create great software and solve problems with Azure.

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for .NET (August 2019 Preview)
layout: post
date: 6 Aug 2019
date: 2019-08-06
tags: dotnet
sidebar: releases_sidebar
repository: azure/azure-sdk-for-net
@ -55,6 +55,6 @@ Detailed changelogs are linked from the [Quick Links](#quick-links) below. Here
## Quick Links
See [Nov Release](..\2019-11\dotnet.html)
See [Nov Release]({{site.baseurl}}{% link releases/2019-11/2019-11-dotnet.md %})
{% include refs.md %}

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for Java (August 2019 Preview)
layout: post
date: 6 Aug 2019
date: 2019-08-06
tags: java
sidebar: releases_sidebar
repository: azure/azure-sdk-for-java
@ -100,6 +100,6 @@ Detailed change logs are linked to in the Quick Links below. Here are some criti
## Quick Links
See [Nov Release](..\2019-11\java.html)
See [Nov Release]({{site.baseurl}}{% link releases/2019-11/2019-11-java.md %})
{% include refs.md %}

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for JavaScript (August 2019 Preview)
layout: post
date: 6 Aug 2019
date: 2019-08-06
tags: javascript typescript
sidebar: js_sidebar
repository: azure/azure-sdk-for-js
@ -51,6 +51,6 @@ Detailed change logs are linked to in the Quick Links below. Here are some criti
## Quick Links
See [Nov Release](..\2019-11\js.html)
See [Nov Release]({{site.baseurl}}{% link releases/2019-11/2019-11-js.md %})
{% include refs.md %}

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for Python (August 2019 Preview)
layout: post
date: 6 Aug 2019
date: 2019-08-06
tags: python
sidebar: python_sidebar
repository: azure/azure-sdk-for-python
@ -52,6 +52,6 @@ Detailed change logs are linked to in the Quick Links below. Here are some criti
## Quick Links
See [Nov Release](..\2019-11\python.html)
See [Nov Release]({{site.baseurl}}{% link releases/2019-11/2019-11-python.md %})
{% include refs.md %}

Просмотреть файл

@ -1,13 +1,13 @@
---
title: Azure SDK August 2019 Preview and a dive into Consistency
layout: post
date: 6 Aug 2019
date: 2019-08-06
tags: release
sidebar: releases_sidebar
permalink: /releases/2019-08-06/index.html
---
The second previews of Azure SDKs which follow the latest Azure API Guidelines and Patterns are now available ([.Net](dotnet.html), [Java](java.html), [JavaScript](js.html), [Python](python.html)). These previews contains bug fixes, new features, and additional work towards guidelines adherence.
The second previews of Azure SDKs which follow the latest Azure API Guidelines and Patterns are now available ([.NET], [Java], [JavaScript], [Python]). These previews contains bug fixes, new features, and additional work towards guidelines adherence.
## Whats new
@ -20,7 +20,7 @@ The SDKs have many new features, bug fixes, and improvements. Some of the new fe
## Diving deeper into the Guidelines: Consistency
These Azure SDKs represent a cross-organizational effort to provide an ergonomic experience to every developer using every platform and as mentioned in the [previous blog post](../2019-07-10/index.html) developers feedback helped define the following set of principles:
These Azure SDKs represent a cross-organizational effort to provide an ergonomic experience to every developer using every platform and as mentioned in the [previous blog post]({{site.baseurl}}{% link releases/2019-07-10/index.md %}) developers feedback helped define the following set of principles:
* Idiomatic
* Consistent
@ -32,7 +32,7 @@ Today we will deep dive into consistency.
## Consistent
Feedback from developers and user studies has shown that APIs which are consistent are generally easier to learn and remember. To guide SDKs from Azure to be consistent the guidelines contain [the consistency principle]({{ site.baseurl }}/general_introduction.html#consistent):
Feedback from developers and user studies has shown that APIs which are consistent are generally easier to learn and remember. To guide SDKs from Azure to be consistent the guidelines contain [the consistency principle]({{ "/general_introduction.html#consistent" | relative_url }}):
* Client libraries should be consistent within the language, consistent with the service and consistent between all target languages. In cases of conflict, consistency within the language is the highest priority and consistency between all target languages is the lowest priority.
* Service-agnostic concepts such as logging, HTTP communication, and error handling should be consistent. The developer should not have to relearn service-agnostic concepts as they move between client libraries.
@ -77,7 +77,7 @@ When using all three of these services together, developers indicated they had t
## The Consistency SDK Guideline
The [JavaScript guidelines]({{ site.baseurl }}/typescript_introduction.html) specify how to handle this situation in the section [Modern and Idiomatic JavaScript]({{ site.baseurl }}/typescript_design.html#ts-modern-javascript):
The [JavaScript guidelines]({{ site.baseurl }}{% link docs/typescript/introduction.md %}) specify how to handle this situation in the section [Modern and Idiomatic JavaScript]({{ "/typescript_design.html#ts-modern-javascript" | relative_url }}):
{% include requirement/SHOULD id="ts-use-async-functions" %} _use `async` functions for implementing asynchronous library APIs._
@ -117,4 +117,9 @@ As you can see, a service-agnostic concept - in this case, paging - has been sta
## Feedback
If you have feedback on consistency or think you've found a bug after trying the August 2019 Preview ([.NET](dotnet.html), [Java](java.html), [JavaScript](js.html), [Python](python.html)), then file an issue or pull request on GitHub ([.NET](https://github.com/azure/azure-sdk-for-net/), [Java](https://github.com/azure/azure-sdk-for-java), [JavaScript](https://github.com/azure/azure-sdk-for-js), [Python](https://github.com/azure/azure-sdk-for-python)) or reach out to [@AzureSDK](https://twitter.com/AzureSDK) on Twitter. We welcome contributions to these guidelines and libraries!
If you have feedback on consistency or think you've found a bug after trying the August 2019 Preview ([.NET], [Java], [JavaScript], [Python]), then file an issue or pull request on GitHub ([.NET](https://github.com/azure/azure-sdk-for-net/), [Java](https://github.com/azure/azure-sdk-for-java), [JavaScript](https://github.com/azure/azure-sdk-for-js), [Python](https://github.com/azure/azure-sdk-for-python)) or reach out to [@AzureSDK](https://twitter.com/AzureSDK) on Twitter. We welcome contributions to these guidelines and libraries!
[Python]: {{site.baseurl}}{% link releases/2019-08-06/2019-08-06-python-preview2.md %}
[Java]: {{site.baseurl}}{% link releases/2019-08-06/2019-08-06-java-preview2.md %}
[JavaScript]: {{site.baseurl}}{% link releases/2019-08-06/2019-08-06-js-preview2.md %}
[.NET]: {{site.baseurl}}{% link releases/2019-08-06/2019-08-06-dotnet-preview2.md %}

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for .NET (September 2019 Preview)
layout: post
date: 17 Sep 2019
date: 2019-09-17
tags: dotnet
sidebar: releases_sidebar
repository: azure/azure-sdk-for-net
@ -34,7 +34,7 @@ If you have a bug or feature request for one of the libraries, please [file an i
Detailed changelogs are linked from the [Quick Links](#quick-links) below. Here are some of the highlights:
- New client libraries were created using the [Azure SDK Design Guidelines for .NET](https://azure.github.io/azure-sdk/dotnet_introduction.html) resulting in consistent API patterns and shared features like automatic retries, authentication, logging, configurable transport pipelines, exceptions, mocking, etc.
- New client libraries were created using the [Azure SDK Design Guidelines for .NET]({{site.baseurl}}{% link docs/dotnet/introduction.md %}) resulting in consistent API patterns and shared features like automatic retries, authentication, logging, configurable transport pipelines, exceptions, mocking, etc.
- Support for Azure Active Directory credentials using our new Identity library that embrace the future of authentication across Azure services.
- Parity across synchronous and asynchronous APIs offering a choice appropriate to your application.
- Updated dependencies on the latest (preview-7) version of `Azure.Core` library.
@ -57,6 +57,6 @@ Detailed changelogs are linked from the [Quick Links](#quick-links) below. Here
## Quick Links
See [Nov Release](..\2019-11\dotnet.html)
See [Nov Release]({{site.baseurl}}{% link releases/2019-11/2019-11-dotnet.md %})
{% include refs.md %}

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for Java (September 2019 Preview)
layout: post
date: 17 Sept 2019
date: 2019-09-17
tags: java
sidebar: releases_sidebar
repository: azure/azure-sdk-for-java
@ -11,6 +11,7 @@ permalink: /releases/2019-09-17/java.html
The Azure SDK team is pleased to make available the September 2019 client library preview release. This represents the updated release of the ground-up rewrite of the client libraries to ensure consistency, idiomatic design, and excellent developer experience and productivity. This preview release includes new and updated client libraries for Azure App Configuration, Identity, Key Vault (keys, secrets and certificates), Event Hubs and Event Hubs Checkpoint Store, and Storage (Blobs, Files, and Queues).
## Installation Instructions
To use the preview libraries, refer to the Maven dependency information below, which may be copied into your projects Maven `pom.xml` file as appropriate. If you are using a different build tool, refer to its documentation on how to specify dependencies.
```xml
@ -88,33 +89,40 @@ To use the preview libraries, refer to the Maven dependency information below, w
```
## Feedback
If you have a bug or feature request for one of the libraries, please post an issue to [GitHub](https://github.com/azure/azure-sdk-for-java/issues).
## Changelog
Detailed change logs are linked to in the Quick Links below. Here are some critical call outs.
* Designed based on the [Azure SDK Design Guidelines for Java](https://azure.github.io/azure-sdk/java_introduction.html), resulting in a consistent API design and common feature set such as HTTP retries, logging, transport protocols, authentication protocols, etc.
* Modernized API making use of Java 8 features such as streams, new date / time, functional interfaces, etc, to offer an improved and more productive developer experience.
* Synchronous and asynchronous APIs offer developers simplicity for simple cases, and full asynchronousity when performance and scalability matters. Reactive streams are offered using [Project Reactor](http://projectreactor.io).
- Designed based on the [Azure SDK Design Guidelines for Java]({{site.baseurl}}{% link docs/java/introduction.md %}), resulting in a consistent API design and common feature set such as HTTP retries, logging, transport protocols, authentication protocols, etc.
- Modernized API making use of Java 8 features such as streams, new date / time, functional interfaces, etc, to offer an improved and more productive developer experience.
- Synchronous and asynchronous APIs offer developers simplicity for simple cases, and full asynchronousity when performance and scalability matters. Reactive streams are offered using [Project Reactor](http://projectreactor.io).
### Azure Identity
- Added new credential type `SharedTokenCacheCredential`, allowing authenticating to Azure Active Directory if you are logged in Visual Studio 2019 (currently supported on Windows only).
### Event Hubs
- Added synchronous interface to send and receive messages
- Optimized EventProcessor implementation, added support for balancing partitions across multiple instances of `EventProcessor`.
### Event Hub Checkpoint Store
- Added reactive streams support using Project Reactor.
- Provides an instance of BlobPartitionManager to your Event Processor. BlobPartitionManager uses Storage Blobs to store checkpoints and balance partition load among all instances of Event Processors.
- Stores checkpoint and partition ownership details in Azure Storage Blobs.
### Key Vault Certificates
- Added reactive streams support using Project Reactor.
- Added support for authentication using azure-identity credentials and HTTP challenge based authentication, allowing clients to interact with vaults in sovereign clouds.
- Updated packages structure to group Key, Secret, and Certificate clients in the respective directories
### Storage
### Storage
- Changed API design replacing List responses to `PagedFlux` on async APIs and `PagedIterable` on sync APIs.
- Simplified API to return model types directly on non-maximal overloads.
- Added priority support for Azure blob rehydration feature.
@ -126,16 +134,18 @@ Detailed change logs are linked to in the Quick Links below. Here are some criti
- Removed dependency on Netty.
### App Configuration
- Removed dependency on Netty.
- Added logging when throwing `RutimeException`s.
## Need help?
* For reference documentation visit the [Azure SDK for Java documentation](https://azure.github.io/azure-sdk-for-java/).
* For tutorials, samples, quick starts and other documentation, visit [Azure for Java Developers](https://docs.microsoft.com/java/azure/).
* For build reports on code quality, test coverage, etc, visit [Azure Java SDK](https://azuresdkartifacts.blob.core.windows.net/azure-sdk-for-java/index.html).
* File an issue via [Github Issues](https://github.com/Azure/azure-sdk-for-java/issues/new/choose).
* Check [previous questions](https://stackoverflow.com/questions/tagged/azure-java-sdk) or ask new ones on StackOverflow using `azure-java-sdk` tag.
- For reference documentation visit the [Azure SDK for Java documentation](https://azure.github.io/azure-sdk-for-java/).
- For tutorials, samples, quick starts and other documentation, visit [Azure for Java Developers](https://docs.microsoft.com/java/azure/).
- For build reports on code quality, test coverage, etc, visit [Azure Java SDK](https://azuresdkartifacts.blob.core.windows.net/azure-sdk-for-java/index.html).
- File an issue via [Github Issues](https://github.com/Azure/azure-sdk-for-java/issues/new/choose).
- Check [previous questions](https://stackoverflow.com/questions/tagged/azure-java-sdk) or ask new ones on StackOverflow using `azure-java-sdk` tag.
## Quick Links
See [Nov Release](..\2019-11\java.html)
See [Nov Release]({{site.baseurl}}{% link releases/2019-11/2019-11-java.md %})

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for JavaScript (September 2019 Preview)
layout: post
date: 17 Sep 2019
date: 2019-09-17
tags: javascript typescript
sidebar: releases_sidebar
repository: azure/azure-sdk-for-js
@ -11,6 +11,7 @@ permalink: /releases/2019-09-17/js.html
The Azure SDK team is pleased to make available the September 2019 client library preview release. This represents the third release of the ground-up rewrite of the client libraries to ensure consistency, idiomatic design, and excellent developer experience and productivity. This preview release includes new client libraries for Key Vault (keys and secrets), Event Hubs, Storage (blob, files and queues) and Cosmos.
## Installation Instructions
To install the packages, copy and paste the below into a terminal.
$> npm install @azure/keyvault-keys@4.0.0-preview.5
@ -22,29 +23,34 @@ To install the packages, copy and paste the below into a terminal.
$> npm install @azure/event-hubs@5.0.0-preview.3
## Feedback
If you have a bug or feature request for one of the libraries, please post an issue at the [azure-sdk-for-js repository](https://github.com/azure/azure-sdk-for-js/issues)
## Changelog
Detailed change logs are linked to in the Quick Links below. Here are some critical call outs.
### Event Hubs
- Introduces distributed, load-balanced event processing using the new @azure/eventhubs-checkpointstore-blob package for state management via Azure Blob Storage
- Supports persistent checkpointing – one processor can pick up where another left off
- Error message improvements, additional exposed metadata
- Introduces distributed, load-balanced event processing using the new @azure/eventhubs-checkpointstore-blob package for state management via Azure Blob Storage
- Supports persistent checkpointing – one processor can pick up where another left off
- Error message improvements, additional exposed metadata
### Key Vault
- New @azure/keyvault-certificates library enables certificate management via key vault
- Documentation improvements
- New @azure/keyvault-certificates library enables certificate management via key vault
- Documentation improvements
### Storage
- Updates server side API to version 2019-02-02 with all [associated features](https://docs.microsoft.com/en-us/rest/api/storageservices/versioning-for-the-azure-storage-services)
- Adds basic authentication for proxies
- Adds support for batch blob upload operations
- Adds support for [explicit storage endpoints](https://docs.microsoft.com/en-us/azure/storage/common/storage-configure-connection-string#create-a-connection-string-for-an-explicit-storage-endpoint). This enables custom storage domains and separate endpoints for files, blobs, and queues
- Updates server side API to version 2019-02-02 with all [associated features](https://docs.microsoft.com/en-us/rest/api/storageservices/versioning-for-the-azure-storage-services)
- Adds basic authentication for proxies
- Adds support for batch blob upload operations
- Adds support for [explicit storage endpoints](https://docs.microsoft.com/en-us/azure/storage/common/storage-configure-connection-string#create-a-connection-string-for-an-explicit-storage-endpoint). This enables custom storage domains and separate endpoints for files, blobs, and queues
## Quick Links
See [Nov Release](..\2019-11\js.html)
See [Nov Release]({{site.baseurl}}{% link releases/2019-11/2019-11-js.md %})
{% include refs.md %}
{% include refs.md %}

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for Python (September 2019 Preview)
layout: post
date: 17 Sep 2019
date: 2019-09-17
tags: python
sidebar: python_sidebar
repository: azure/azure-sdk-for-python
@ -29,6 +29,7 @@ pip install --pre azure-identity
```
## Feedback
If you have a bug or feature request for one of the libraries, please post an issue to [GitHub](https://github.com/azure/azure-sdk-for-python/issues).
@ -71,8 +72,9 @@ Detailed change logs are linked to in the Quick Links below. Here are some criti
- Added optional parameters for smb properties related parameters for create_file*, create_directory* related APIs and set_http_headers API.
### Identity
- Added a new credential type enabling shared sign-on with other Microsoft applications running on Windows, such as Visual Studio.
## Quick Links
See [Nov Release](..\2019-11\python.html)
See [Nov Release]({{site.baseurl}}{% link releases/2019-11/2019-11-python.md %})

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK September 2019 Preview
layout: post
date: 17 Sep 2019
date: 2019-09-17
tags: release
sidebar: releases_sidebar
permalink: /releases/2019-09-17/index.html

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for .NET (October 2019 Preview)
layout: post
date: 11 Oct 2019
date: 2019-10-11
tags: dotnet
sidebar: releases_sidebar
repository: azure/azure-sdk-for-net
@ -37,7 +37,7 @@ If you have a bug or feature request for one of the libraries, please [file an i
Detailed changelogs are linked from the [Quick Links](#quick-links) below. Here are some of the highlights:
- New client libraries were created using the [Azure SDK Design Guidelines for .NET](https://azure.github.io/azure-sdk/dotnet_introduction.html) resulting in consistent API patterns and shared features like automatic retries, authentication, logging, configurable transport pipelines, exceptions, mocking, etc.
- New client libraries were created using the [Azure SDK Design Guidelines for .NET]({{site.baseurl}}{% link docs/dotnet/introduction.md %}) resulting in consistent API patterns and shared features like automatic retries, authentication, logging, configurable transport pipelines, exceptions, mocking, etc.
- Support for Azure Active Directory credentials using our new Identity library that embrace the future of authentication across Azure services.
- Parity across synchronous and asynchronous APIs offering a choice appropriate to your application.
- Updated dependencies on the latest (preview-7) version of `Azure.Core` library.

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for Java (October 2019 Preview)
layout: post
date: 11 Oct 2019
date: 2019-10-11
tags: java
sidebar: releases_sidebar
repository: azure/azure-sdk-for-java
@ -11,6 +11,7 @@ permalink: /releases/2019-10-11/java.html
The Azure SDK team is pleased to make available the October 2019 client library preview release. This represents the updated release of the ground-up rewrite of the client libraries to ensure consistency, idiomatic design, and excellent developer experience and productivity. This preview release includes new and updated client libraries for Azure App Configuration, Identity, Key Vault (keys, secrets and certificates), Event Hubs and Event Hubs Checkpoint Store, and Storage (Blobs, Files, and Queues).
## Installation Instructions
To use the preview libraries, refer to the Maven dependency information below, which may be copied into your projects Maven `pom.xml` file as appropriate. If you are using a different build tool, refer to its documentation on how to specify dependencies.
```xml
@ -99,45 +100,51 @@ If you have a bug or feature request for one of the libraries, please post an is
## Changelog
Detailed change logs are linked to in the Quick Links below. Here are some critical call outs.
* Designed based on the [Azure SDK Design Guidelines for Java](https://azure.github.io/azure-sdk/java_introduction.html), resulting in a consistent API design and common feature set such as HTTP retries, logging, transport protocols, authentication protocols, etc.
* Modernized API making use of Java 8 features such as streams, new date / time, functional interfaces, etc, to offer an improved and more productive developer experience.
* Synchronous and asynchronous APIs offer developers simplicity for simple cases, and full asynchronousity when performance and scalability matters. Reactive streams are offered using [Project Reactor](http://projectreactor.io).
- Designed based on the [Azure SDK Design Guidelines for Java]({{site.baseurl}}{% link docs/java/introduction.md %}), resulting in a consistent API design and common feature set such as HTTP retries, logging, transport protocols, authentication protocols, etc.
- Modernized API making use of Java 8 features such as streams, new date / time, functional interfaces, etc, to offer an improved and more productive developer experience.
- Synchronous and asynchronous APIs offer developers simplicity for simple cases, and full asynchronousity when performance and scalability matters. Reactive streams are offered using [Project Reactor](http://projectreactor.io).
### Event Hubs
- Added Proxy support for Event Hubs sync and async clients.
- EventHubConsumer and EventHubAsyncConsumer now provides last enqueued event information.
- Refactored azure-messaging-eventhubs to extract AMQP implementation details to azure-core-amqp module.
- Added modules support for JDK 9+ and renamed model classes to support Java bean naming convention.
### Event Hub Checkpoint Store
- Added modules support for JDK 9+.
### Key Vault [Secrets, Keys and Certificates]
### Key Vault (Secrets, Keys and Certificates)
- Updated to be fully compliant with the Java 9 Platform Module System.
- Getters and setters were updated to use Java Bean notation.
- Added importCertificate API to CertificateClient and CertificateAsyncClient.
- Changed VoidResponse to Response<Void> on sync API, and Mono<VoidResponse> to Mono<Response<Void>> on async API.
- Changed `VoidResponse` to `Response<Void>` on sync API, and `Mono<VoidResponse>` to `Mono<Response<Void>>` on async API.
#### Storage (Blob, Files and Queues)
#### Storage [Blob, Files and Queues]
- Added Support for Azure Storage Blob batching operations (delete and set tier).
- Added Client Side Encryption support for Blob Storage.
- Added separate packages for LeaseClient, BlobClient, AppendBlobClient, BlockBlobClient, and PageBlobClient.
- Updated to be fully compliant with the Java 9 Platform Module System.
- Changed VoidResponse to Response<Void> on sync API, and Mono<VoidResponse> to Mono<Response<Void>> on async API.
- Changed `VoidResponse` to `Response<Void>` on sync API, and `Mono<VoidResponse>` to `Mono<Response<Void>>` on async API.
- Added ParallelTransferOptions to buffered upload, upload from file and download to file methods.
- Removed SAS token generation APIs from clients, use BlobServiceSasSignatureValues to generate SAS tokens.
- Removed SASTokenCredential, SASTokenCredentialPolicy in client builders, and added sasToken(String) method instead.
- Fixes various issues ( metadata does not allow capital letter, create method name in PageBlob).
#### Tracing
#### Tracing
- Added tracing support for AMQP client libraries
## Need help?
* For reference documentation visit the [Azure SDK for Java documentation](https://azure.github.io/azure-sdk-for-java/).
* For tutorials, samples, quick starts and other documentation, visit [Azure for Java Developers](https://docs.microsoft.com/java/azure/).
* For build reports on code quality, test coverage, etc, visit [Azure Java SDK](https://azuresdkartifacts.blob.core.windows.net/azure-sdk-for-java/index.html).
* File an issue via [Github Issues](https://github.com/Azure/azure-sdk-for-java/issues/new/choose).
* Check [previous questions](https://stackoverflow.com/questions/tagged/azure-java-sdk) or ask new ones on StackOverflow using `azure-java-sdk` tag.
- For reference documentation visit the [Azure SDK for Java documentation](https://azure.github.io/azure-sdk-for-java/).
- For tutorials, samples, quick starts and other documentation, visit [Azure for Java Developers](https://docs.microsoft.com/java/azure/).
- For build reports on code quality, test coverage, etc, visit [Azure Java SDK](https://azuresdkartifacts.blob.core.windows.net/azure-sdk-for-java/index.html).
- File an issue via [Github Issues](https://github.com/Azure/azure-sdk-for-java/issues/new/choose).
- Check [previous questions](https://stackoverflow.com/questions/tagged/azure-java-sdk) or ask new ones on StackOverflow using `azure-java-sdk` tag.
## Quick Links

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for JavaScript (October 2019 Preview)
layout: post
date: 11 Oct 2019
date: 2019-10-11
tags: javascript typescript
sidebar: js_sidebar
repository: azure/azure-sdk-for-js

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for Python (October 2019 Preview)
layout: post
date: 11 Oct 2019
date: 2019-10-11
tags: python
sidebar: python_sidebar
repository: azure/azure-sdk-for-python

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK October 2019 Preview
layout: post
date: 11 Oct 2019
date: 2019-10-11
tags: release
sidebar: releases_sidebar
permalink: /releases/2019-10-11/index.html

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for .NET (November 2019)
layout: post
date: Nov 2019
date: 2019-11-11
tags: dotnet
sidebar: releases_sidebar
repository: azure/azure-sdk-for-net
@ -54,12 +54,13 @@ If you have a bug or feature request for one of the libraries, please [file an i
Detailed changelogs are linked from the [Quick Links](#quick-links) below. Here are some of the highlights:
- New client libraries were created using the [Azure SDK Design Guidelines for .NET](https://azure.github.io/azure-sdk/dotnet_introduction.html) resulting in consistent API patterns and shared features like automatic retries, authentication, logging, configurable transport pipelines, exceptions, mocking, etc.
- New client libraries were created using the [Azure SDK Design Guidelines for .NET]({{site.baseurl}}{% link docs/dotnet/introduction.md %}) resulting in consistent API patterns and shared features like automatic retries, authentication, logging, configurable transport pipelines, exceptions, mocking, etc.
- Support for Azure Active Directory credentials using our new Identity library that embrace the future of authentication across Azure services.
- Parity across synchronous and asynchronous APIs offering a choice appropriate to your application.
- Updated dependencies on the latest (preview-7) version of `Azure.Core` library.
### Storage
- Renamed `Azure.Storage.Blobs.Batching` to `Azure.Storage.Blobs.Batch` for
consistency with other platforms
- Renamed `Azure.Storage.Files` to `Azure.Storage.Files.Shares` to better align
@ -85,7 +86,6 @@ Detailed changelogs are linked from the [Quick Links](#quick-links) below. Here
- Client types using Azure identity for authorization should now be working properly; a bug was fixed to allow the proper authorization scopes to be requested.
_(A community contribution, courtesy of [albertodenatale](https://github.com/albertodenatale))_
### Key Vault
- `Key` has been renamed to `KeyVaultKey` to avoid ambiguity with other libraries and to yield better search results.

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for Java (November 2019)
layout: post
date: Nov 2019
date: 2019-11-11
tags: java azure
sidebar: releases_sidebar
repository: azure/azure-sdk-for-java
@ -11,6 +11,7 @@ permalink: /releases/2019-11/java.html
The Azure SDK team is pleased to make available the November 2019 client library GA release. This represents the updated release of the ground-up rewrite of the client libraries to ensure consistency, idiomatic design, and excellent developer experience and productivity. This GA release includes new and updated client libraries for Identity, Key Vault (keys, secrets and certificates) , and Storage (Blobs and Queues). Some of the libraries are released as preview and they are Azure App Configuration, Event Hubs and Event Hubs , Checkpoint Store, Storage File.
## Installation Instructions
To use the GA and preview libraries, refer to the Maven dependency information below, which may be copied into your projects Maven `pom.xml` file as appropriate. If you are using a different build tool, refer to its documentation on how to specify dependencies.
```xml
@ -99,16 +100,19 @@ To use the GA and preview libraries, refer to the Maven dependency information b
```
## Feedback
If you have a bug or feature request for one of the libraries, please post an issue to [GitHub](https://github.com/azure/azure-sdk-for-java/issues).
## Changelog
Detailed change logs are linked to in the Quick Links below. Here are some critical call outs.
* Designed based on the [Azure SDK Design Guidelines for Java](https://azure.github.io/azure-sdk/java_introduction.html), resulting in a consistent API design and common feature set such as HTTP retries, logging, transport protocols, authentication protocols, etc.
* Modernized API making use of Java 8 features such as streams, new date / time, functional interfaces, etc, to offer an improved and more productive developer experience.
* Synchronous and asynchronous APIs offer developers simplicity for simple cases, and full asynchronousity when performance and scalability matters. Reactive streams are offered using [Project Reactor](http://projectreactor.io).
- Designed based on the [Azure SDK Design Guidelines for Java]({{site.baseurl}}{% link docs/java/introduction.md %}), resulting in a consistent API design and common feature set such as HTTP retries, logging, transport protocols, authentication protocols, etc.
- Modernized API making use of Java 8 features such as streams, new date / time, functional interfaces, etc, to offer an improved and more productive developer experience.
- Synchronous and asynchronous APIs offer developers simplicity for simple cases, and full asynchronousity when performance and scalability matters. Reactive streams are offered using [Project Reactor](http://projectreactor.io).
### App Configuration
- Renamed addSetting, getSetting, deleteSetting, setSetting, listSettings, listSettingRevisions to
addConfigurationSetting, getConfigurationSetting, deleteConfigurationSetting, setConfigurationSetting,
listConfigurationSettings, listRevisions for consistency naming across languages.
@ -120,46 +124,53 @@ Detailed change logs are linked to in the Quick Links below. Here are some criti
- Added more samples including conditional request, setReadOnly, clearReadOnly, listRevisions, etc.
### Azure Identity
- The getToken(TokenRequest tokenRequest) methods on all the credentials are changed to getToken(TokenRequestContext tokenRequestContext).
- All credentials are moved from com.azure.identity.credential package to com.azure.identity package
- DeviceCodeChallenge is renamed to DeviceCodeInfo, with int expiresIn() replaced with OffsetDateTime expiresOn() returning the time of the device code expiration
- All methods containing uri is renamed to contain url for consistency
### Event Hubs
- Added Proxy support for Event Hubs sync and async clients.
- EventHubConsumer and EventHubAsyncConsumer now provides last enqueued event information.
- Refactored azure-messaging-eventhubs to extract AMQP implementation details to azure-core-amqp module.
- Added modules support for JDK 9+ and renamed model classes to support Java bean naming convention.
### Event Hub Checkpoint Store
- Added modules support for JDK 9+.
### Key Vault [Secrets, Keys and Certificates]
### Key Vault (Secrets, Keys and Certificates)
- Updated to be fully compliant with the Java 9 Platform Module System.
- Getters and setters were updated to use Java Bean notation.
- Added importCertificate API to CertificateClient and CertificateAsyncClient.
- Changed VoidResponse to Response<Void> on sync API, and Mono<VoidResponse> to Mono<Response<Void>> on async API.
- Changed `VoidResponse` to `Response<Void>` on sync API, and `Mono<VoidResponse>` to `Mono<Response<Void>>` on async API.
#### Storage (Blob, Files and Queues)
#### Storage [Blob, Files and Queues]
- Renaming of common class names to be prepended with module name
- URL parameters were replaced with String parameters
- File and Blob download response type changed
- File and Blob copy are now using Poller
- Blob access condition class structure was flattened and renamed
- Removed duplicate upload methods and renamed download methods in Storage File
- File upload changed to take InputStream instead of ByteBuffer
- Storage File was renamed to Storage File Share
- General API renaming and consistency changes
- File and Blob copy are now using Poller
- Blob access condition class structure was flattened and renamed
- Removed duplicate upload methods and renamed download methods in Storage File
- File upload changed to take InputStream instead of ByteBuffer
- Storage File was renamed to Storage File Share
- General API renaming and consistency changes
#### Tracing
#### Tracing
- Added tracing support for AMQP client libraries
## Need help?
* For reference documentation visit the [Azure SDK for Java documentation](https://azure.github.io/azure-sdk-for-java/).
* For tutorials, samples, quick starts and other documentation, visit [Azure for Java Developers](https://docs.microsoft.com/java/azure/).
* For build reports on code quality, test coverage, etc, visit [Azure Java SDK](https://azuresdkartifacts.blob.core.windows.net/azure-sdk-for-java/index.html).
* File an issue via [Github Issues](https://github.com/Azure/azure-sdk-for-java/issues/new/choose).
* Check [previous questions](https://stackoverflow.com/questions/tagged/azure-java-sdk) or ask new ones on StackOverflow using `azure-java-sdk` tag.
- For reference documentation visit the [Azure SDK for Java documentation](https://azure.github.io/azure-sdk-for-java/).
- For tutorials, samples, quick starts and other documentation, visit [Azure for Java Developers](https://docs.microsoft.com/java/azure/).
- For build reports on code quality, test coverage, etc, visit [Azure Java SDK](https://azuresdkartifacts.blob.core.windows.net/azure-sdk-for-java/index.html).
- File an issue via [Github Issues](https://github.com/Azure/azure-sdk-for-java/issues/new/choose).
- Check [previous questions](https://stackoverflow.com/questions/tagged/azure-java-sdk) or ask new ones on StackOverflow using `azure-java-sdk` tag.
## Quick Links

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for JavaScript (November 2019)
layout: post
date: Nov 2019
date: 2019-11-11
tags: javascript typescript
sidebar: releases_sidebar
repository: azure/azure-sdk-for-js

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for Python (November 2019)
layout: post
date: Nov 2019
date: 2019-11-11
tags: python
sidebar: releases_sidebar
repository: azure/azure-sdk-for-python

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK November 2019
layout: post
date: Nov 2019
date: 2019-11-11
tags: release
sidebar: releases_sidebar
permalink: /releases/2019-11/index.html

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for .NET (December 2019)
layout: post
date: Dec 2019
date: 2019-12-13
tags: dotnet
sidebar: releases_sidebar
repository: azure/azure-sdk-for-net
@ -45,18 +45,15 @@ If you have a bug or feature request for one of the libraries, please [file an i
Detailed changelogs are linked from the [Quick Links](#quick-links) below. Here are some of the highlights:
### Storage
- Added check to enforce TokenCredential is used only over HTTPS
- Support using SAS token from connection string
- Update return types of ForceCloseAllHandles/ForceCloseHandle to be CloseHandlesResult
and Response<CloseHandlesResult>, respectively, in Files.Shares
- Update return types of `ForceCloseAllHandles`/`ForceCloseHandle` to be `CloseHandlesResult` and `Response<CloseHandlesResult>`, respectively, in Files.Shares
- DataLake Preview 7
### Event Hubs
- A large portion of the public API surface, including members and parameters, have had adjustments to their naming and organization in order to improve discoverability, provide better context to developers, and better conform to the [Azure SDK Design Guidelines for .NET](https://azure.github.io/azure-sdk/dotnet_introduction.html). For more details, please see the [Event Hubs](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs_5.0.0-preview.6/sdk/eventhub/Azure.Messaging.EventHubs/CHANGELOG.md#500-preview6) and [Event Processor](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs.Processor_5.0.0-preview.6/sdk/eventhub/Azure.Messaging.EventHubs.Processor/CHANGELOG.md#500-preview6) changelogs.
- A large portion of the public API surface, including members and parameters, have had adjustments to their naming and organization in order to improve discoverability, provide better context to developers, and better conform to the [Azure SDK Design Guidelines for .NET]({{site.baseurl}}{% link docs/dotnet/introduction.md %}). For more details, please see the [Event Hubs](https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs_5.0.0-preview.6/sdk/eventhub/Azure.Messaging.EventHubs/CHANGELOG.md#500-preview6) and [Event Processor](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs.Processor_5.0.0-preview.6/sdk/eventhub/Azure.Messaging.EventHubs.Processor/CHANGELOG.md#500-preview6) changelogs.
- The `EventProcessorClient` has been moved into its own [package](https://github.com/Azure/azure-sdk-for-net/tree/Azure.Messaging.EventHubs.Processor_5.0.0-preview.6/sdk/eventhub/Azure.Messaging.EventHubs.Processor) and evolved into an opinionated implementation on top of Azure Storage Blobs. This is intended to offer a more streamlined developer experience for the majority of scenarios and allow developers to more easily take advantage of the processor.

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for Java (December 2019)
layout: post
date: Dec 2019
date: 2019-12-13
tags: java azure
sidebar: releases_sidebar
repository: azure/azure-sdk-for-java

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for JavaScript (December 2019)
layout: post
date: Dec 2019
date: 2019-12-13
tags: javascript typescript
sidebar: releases_sidebar
repository: azure/azure-sdk-for-js

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for Python (December 2019)
layout: post
date: Dec 2019
date: 2019-12-13
tags: python
sidebar: releases_sidebar
repository: azure/azure-sdk-for-python

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK December 2019
layout: post
date: Dec 2019
date: 2019-12-13
tags: release
sidebar: releases_sidebar
permalink: /releases/2019-12/index.html

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for .NET (January 2020)
layout: post
date: January 2020
date: 2020-01-13
tags: dotnet
sidebar: releases_sidebar
repository: azure/azure-sdk-for-net

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK January 2020
layout: post
date: January 2020
date: 2020-01-13
tags: release
sidebar: releases_sidebar
permalink: /releases/2020-01/index.html

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for Java (January 2020)
layout: post
date: January 2020
date: 2020-01-13
tags: java azure
sidebar: releases_sidebar
repository: azure/azure-sdk-for-java

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for JavaScript (January 2020)
layout: post
date: January 2020
date: 2020-01-13
tags: javascript typescript
sidebar: releases_sidebar
repository: azure/azure-sdk-for-js

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for Python (January 2020)
layout: post
date: January 2020
date: 2020-01-13
tags: python
sidebar: releases_sidebar
repository: azure/azure-sdk-for-python

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for .NET (February 2020)
layout: post
date: February 2020
date: 2020-02-11
tags: dotnet
sidebar: releases_sidebar
repository: azure/azure-sdk-for-net

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK February 2020
layout: post
date: February 2020
date: 2020-02-11
tags: release
sidebar: releases_sidebar
permalink: /releases/2020-02/index.html

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for Java (February 2020)
layout: post
date: February 2020
date: 2020-02-11
tags: java azure
sidebar: releases_sidebar
repository: azure/azure-sdk-for-java

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for JavaScript (February 2020)
layout: post
date: February 2020
date: 2020-02-11
tags: javascript typescript
sidebar: releases_sidebar
repository: azure/azure-sdk-for-js

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for Python (February 2020)
layout: post
date: February 2020
date: 2020-02-11
tags: python
sidebar: releases_sidebar
repository: azure/azure-sdk-for-python

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for .NET (March 2020)
layout: post
date: March 2020
date: 2020-03-17
tags: dotnet
sidebar: releases_sidebar
repository: azure/azure-sdk-for-net

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK March 2020
layout: post
date: March 2020
date: 2020-03-17
tags: release
sidebar: releases_sidebar
---

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for Java (March 2020)
layout: post
date: March 2020
date: 2020-03-17
tags: java azure
sidebar: releases_sidebar
repository: azure/azure-sdk-for-java

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for JavaScript (March 2020)
layout: post
date: March 2020
date: 2020-03-17
tags: javascript typescript
sidebar: releases_sidebar
repository: azure/azure-sdk-for-js

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for Python (March 2020)
layout: post
date: March 2020
date: 2020-03-17
tags: python
sidebar: releases_sidebar
repository: azure/azure-sdk-for-python

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for .NET (April 2020)
layout: post
date: April 2020
date: 2020-04-14
tags: dotnet
sidebar: releases_sidebar
repository: azure/azure-sdk-for-net

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK April 2020
layout: post
date: April 2020
date: 2020-04-14
tags: release
sidebar: releases_sidebar
permalink: /releases/2020-04/index.html

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for Java (April 2020)
layout: post
date: April 2020
date: 2020-04-14
tags: java azure
sidebar: releases_sidebar
repository: azure/azure-sdk-for-java

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for JavaScript (April 2020)
layout: post
date: April 2020
date: 2020-04-14
tags: javascript typescript
sidebar: releases_sidebar
repository: azure/azure-sdk-for-js
@ -64,7 +64,7 @@ Below are some noteworthy changes in the current release.
### Service Bus
- Initial preview of Azure Service Bus client library version 7.
- This version of library has been designed based on the [Azure SDK Design Guidelines for TypeScript](https://azure.github.io/azure-sdk/typescript_introduction.html) to ensure consistency, idiomatic design, and excellent developer experience and productivity.
- This version of library has been designed based on the [Azure SDK Design Guidelines for TypeScript]({{ site.baseurl }}{% link docs/typescript/introduction.md %}) to ensure consistency, idiomatic design, and excellent developer experience and productivity.
## Latest Releases

Просмотреть файл

@ -1,7 +1,7 @@
---
title: Azure SDK for Python (April 2020)
layout: post
date: April 2020
date: 2020-04-14
tags: python
sidebar: releases_sidebar
repository: azure/azure-sdk-for-python