-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
c98018c
commit 08e3e09
Showing
45 changed files
with
5,394 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# Release History | ||
|
||
## 0.1.0 (Unreleased) | ||
|
||
* Initial Release |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
recursive-include tests *.py *.yaml | ||
recursive-include samples *.py *.md | ||
include *.md | ||
include LICENSE | ||
include azure/__init__.py | ||
include azure/maps/__init__.py | ||
include azure/maps/search/py.typed |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,145 @@ | ||
# Azure Maps Render Package client library for Python | ||
|
||
This package contains a Python SDK for Azure Maps Services for Render. | ||
Read more about Azure Maps Services [here](https://docs.microsoft.com/azure/azure-maps/) | ||
|
||
[Source code](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/maps/azure-maps-render) | [API reference documentation](https://docs.microsoft.com/rest/api/maps/render) | [Product documentation](https://docs.microsoft.com/azure/azure-maps/) | ||
|
||
## _Disclaimer_ | ||
|
||
_Azure SDK Python packages support for Python 2.7 has ended 01 January 2022. For more information and questions, please refer to <https://github.com/Azure/azure-sdk-for-python/issues/20691>_ | ||
|
||
## Getting started | ||
|
||
### Prerequisites | ||
|
||
- Python 3.6 or later is required to use this package. | ||
- A deployed Maps Services resource. You can use the [Azure Portal](https://docs.microsoft.com/azure/azure-maps/quick-demo-map-app) to set it up. | ||
|
||
### Install the package | ||
|
||
Install the Azure Maps Service Render SDK. | ||
|
||
```bash | ||
pip install --pre azure-maps-render | ||
``` | ||
|
||
### Authenticate the client | ||
|
||
In order to interact with the Document Translation feature service, you will need to create an instance of a client. | ||
An **endpoint** and **credential** are necessary to instantiate the client object. | ||
|
||
### Create the client with AzureKeyCredential | ||
|
||
To use an [API key] as the `credential` parameter, | ||
pass the key as a string into an instance of [AzureKeyCredential][azure-key-credential]. | ||
|
||
```python | ||
from azure.core.credentials import AzureKeyCredential | ||
from azure.maps.render import RenderClient | ||
|
||
endpoint = "https://<resource-name>.mapsservices.azure.com/" | ||
credential = AzureKeyCredential("<api_key>") | ||
render_client = RenderClient(endpoint, credential) | ||
``` | ||
|
||
### Create the client with an Azure Active Directory credential | ||
|
||
`AzureKeyCredential` authentication is used in the examples in this getting started guide, but you can also | ||
authenticate with Azure Active Directory using the [azure-identity][azure_identity] library. | ||
|
||
To use the [DefaultAzureCredential][default_azure_credential] type shown below, or other credential types provided | ||
with the Azure SDK, please install the `azure-identity` package: | ||
|
||
```pip install azure-identity``` | ||
|
||
Once completed, set the values of the client ID, and client secret of the AAD application as environment variables: | ||
`AZURE_CLIENT_ID`, `AZURE_CLIENT_SECRET`. | ||
|
||
```python | ||
from azure.identity import DefaultAzureCredential | ||
from azure.maps.render import RenderClient | ||
credential = DefaultAzureCredential() | ||
|
||
render_client = RenderClient( | ||
endpoint="https://<resource-name>.mapsservices.azure.com/", | ||
credential=credential | ||
) | ||
``` | ||
|
||
## Key concepts | ||
|
||
### RenderClient | ||
|
||
`RenderClient` is the primary interface for developers using the Azure Maps Render client library. Explore the methods on this client object to understand the different features of the Azure Maps Render service that you can access. | ||
|
||
## Examples | ||
|
||
The following sections provide several code snippets covering some of the most common Azure Maps Render tasks, including: | ||
|
||
- [Request map tiles in vector or raster formats](#request-map-tiles-in-vector-or-raster-formats) | ||
- [Request map copyright attribution information](#request-map-copyright-attribution-information) | ||
- [Request metadata for a tileset](#request-metadata-for-a-tileset) | ||
|
||
### Request map tiles in vector or raster formats | ||
|
||
```python | ||
tile_index = { z: 6, x: 9, y: 22 }; | ||
map_tile_options = { tile_size: "512" }; | ||
map_tile = client.get_map_tile(MS_BASE_TILE_SET_ID, tile_index, map_tile_options); | ||
``` | ||
|
||
The response will contain the tile object based on the request parameters. | ||
|
||
### Request map copyright attribution information | ||
|
||
```python | ||
bounding_box = { | ||
bottom_right: { latitude: 47.57949, longitude: -122.247157 }, | ||
top_left: { latitude: 47.668372, longitude: -122.414162 }, | ||
}; | ||
attribution = client.get_map_attribution(MS_BASE_TILE_SET_ID, 6, bounding_box); | ||
``` | ||
|
||
### Request metadata for a tileset | ||
|
||
```python | ||
tileset = client.get_map_tileset(MS_BASE_TILE_SET_ID); | ||
``` | ||
|
||
### Sample Code | ||
|
||
These are code samples that show common scenario operations with the Azure Maps Render client library. | ||
The async versions of the samples (the python sample files appended with `_async`) show asynchronous operations. | ||
Before run the sample code, refer to Prerequisites | ||
<!-- [Prerequisites](#Prerequisites) --> | ||
to create a resource, then set some Environment Variables | ||
|
||
```bash | ||
set AZURE_MAPS_SERVICE_ENDPOINT="https://<RESOURCE_NAME>.mapsservices.azure.com" | ||
set MAPS_SAMPLES_CONNECTION_STRING="<connection string of your Maps service>" | ||
|
||
pip install azure-maps-render | ||
|
||
python samples\render.py | ||
``` | ||
|
||
## Troubleshooting | ||
|
||
Running into issues? This section should contain details as to what to do there. | ||
|
||
### Next steps | ||
|
||
More sample code should go [here](https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/maps/azure-maps-render/samples), along with links out to the appropriate example tests. | ||
|
||
### Contributing | ||
|
||
If you encounter any bugs or have suggestions, please file an issue in the [Issues](<https://github.com/Azure/azure-sdk-for-python/issues>) section of the project. | ||
|
||
![Impressions](https://azure-sdk-impressions.azurewebsites.net/api/impressions/azure-sdk-for-python%2Fsdk%2Ftemplate%2Fazure-template%2FREADME.png) | ||
|
||
<!-- LINKS --> | ||
[azure_subscription]: https://azure.microsoft.com/free/ | ||
[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/identity/azure-identity | ||
[default_azure_credential]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/identity/azure-identity#defaultazurecredential | ||
[azure-key-credential]: https://aka.ms/azsdk/python/core/azurekeycredential |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
__path__ = __import__("pkgutil").extend_path(__path__, __name__) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
__path__ = __import__("pkgutil").extend_path(__path__, __name__) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# coding=utf-8 | ||
# -------------------------------------------------------------------------- | ||
# Copyright (c) Microsoft Corporation. All rights reserved. | ||
# Licensed under the MIT License. See License.txt in the project root for license information. | ||
# Code generated by Microsoft (R) AutoRest Code Generator. | ||
# Changes may cause incorrect behavior and will be lost if the code is regenerated. | ||
# -------------------------------------------------------------------------- | ||
|
||
from ._render_client import RenderClient | ||
from ._version import VERSION | ||
|
||
__version__ = VERSION | ||
__all__ = ['RenderClient'] | ||
|
||
try: | ||
from ._patch import patch_sdk # type: ignore | ||
patch_sdk() | ||
except ImportError: | ||
pass |
Empty file.
19 changes: 19 additions & 0 deletions
19
sdk/maps/azure-maps-render/azure/maps/render/_generated/__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# coding=utf-8 | ||
# -------------------------------------------------------------------------- | ||
# Copyright (c) Microsoft Corporation. All rights reserved. | ||
# Licensed under the MIT License. See License.txt in the project root for license information. | ||
# Code generated by Microsoft (R) AutoRest Code Generator. | ||
# Changes may cause incorrect behavior and will be lost if the code is regenerated. | ||
# -------------------------------------------------------------------------- | ||
|
||
from ._render_client import RenderClient | ||
from ._version import VERSION | ||
|
||
__version__ = VERSION | ||
__all__ = ['RenderClient'] | ||
|
||
try: | ||
from ._patch import patch_sdk # type: ignore | ||
patch_sdk() | ||
except ImportError: | ||
pass |
73 changes: 73 additions & 0 deletions
73
sdk/maps/azure-maps-render/azure/maps/render/_generated/_configuration.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
# coding=utf-8 | ||
# -------------------------------------------------------------------------- | ||
# Copyright (c) Microsoft Corporation. All rights reserved. | ||
# Licensed under the MIT License. See License.txt in the project root for license information. | ||
# Code generated by Microsoft (R) AutoRest Code Generator. | ||
# Changes may cause incorrect behavior and will be lost if the code is regenerated. | ||
# -------------------------------------------------------------------------- | ||
|
||
from typing import TYPE_CHECKING | ||
|
||
from azure.core.configuration import Configuration | ||
from azure.core.pipeline import policies | ||
|
||
from ._version import VERSION | ||
|
||
if TYPE_CHECKING: | ||
# pylint: disable=unused-import,ungrouped-imports | ||
from typing import Any, Optional, Union | ||
|
||
from azure.core.credentials import TokenCredential | ||
|
||
|
||
class RenderClientConfiguration(Configuration): | ||
"""Configuration for RenderClient. | ||
Note that all parameters used to create this instance are saved as instance | ||
attributes. | ||
:param credential: Credential needed for the client to connect to Azure. | ||
:type credential: ~azure.core.credentials.TokenCredential | ||
:param x_ms_client_id: Specifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following `articles <https://aka.ms/amauthdetails>`_ for guidance. | ||
:type x_ms_client_id: str | ||
:param geography: This parameter specifies where the Azure Maps Creator resource is located. Valid values are us and eu. | ||
:type geography: str or ~azure.maps.render.models.Geography | ||
""" | ||
|
||
def __init__( | ||
self, | ||
credential, # type: "TokenCredential" | ||
x_ms_client_id=None, # type: Optional[str] | ||
geography="us", # type: Union[str, "_models.Geography"] | ||
**kwargs # type: Any | ||
): | ||
# type: (...) -> None | ||
if credential is None: | ||
raise ValueError("Parameter 'credential' must not be None.") | ||
if geography is None: | ||
raise ValueError("Parameter 'geography' must not be None.") | ||
super(RenderClientConfiguration, self).__init__(**kwargs) | ||
|
||
self.credential = credential | ||
self.x_ms_client_id = x_ms_client_id | ||
self.geography = geography | ||
self.credential_scopes = kwargs.pop('credential_scopes', ['https://atlas.microsoft.com/.default']) | ||
kwargs.setdefault('sdk_moniker', 'maps-render/{}'.format(VERSION)) | ||
self._configure(**kwargs) | ||
|
||
def _configure( | ||
self, | ||
**kwargs # type: Any | ||
): | ||
# type: (...) -> None | ||
self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) | ||
self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) | ||
self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) | ||
self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) | ||
self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) | ||
self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) | ||
self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) | ||
self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) | ||
self.authentication_policy = kwargs.get('authentication_policy') | ||
if self.credential and not self.authentication_policy: | ||
self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) |
104 changes: 104 additions & 0 deletions
104
sdk/maps/azure-maps-render/azure/maps/render/_generated/_metadata.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
{ | ||
"chosen_version": "", | ||
"total_api_version_list": ["1.0", "2.0"], | ||
"client": { | ||
"name": "RenderClient", | ||
"filename": "_render_client", | ||
"description": "Azure Maps Render REST APIs.", | ||
"base_url": null, | ||
"custom_base_url": "\u0027https://{geography}.atlas.microsoft.com\u0027", | ||
"azure_arm": false, | ||
"has_lro_operations": false, | ||
"client_side_validation": false, | ||
"sync_imports": "{\"typing\": {\"azurecore\": {\"azure.core.credentials\": [\"TokenCredential\"]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Optional\", \"Union\"]}, \"azurecore\": {\"azure.core.pipeline.transport\": [\"HttpRequest\", \"HttpResponse\"]}}, \"regular\": {\"azurecore\": {\"azure.profiles\": [\"KnownProfiles\", \"ProfileDefinition\"], \"azure.profiles.multiapiclient\": [\"MultiApiClientMixin\"], \"msrest\": [\"Deserializer\", \"Serializer\"], \"azure.core\": [\"PipelineClient\"]}, \"local\": {\"._configuration\": [\"RenderClientConfiguration\"]}}}", | ||
"async_imports": "{\"typing\": {\"azurecore\": {\"azure.core.credentials_async\": [\"AsyncTokenCredential\"]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Optional\", \"Union\"]}, \"azurecore\": {\"azure.core.pipeline.transport\": [\"AsyncHttpResponse\", \"HttpRequest\"]}}, \"regular\": {\"azurecore\": {\"azure.profiles\": [\"KnownProfiles\", \"ProfileDefinition\"], \"azure.profiles.multiapiclient\": [\"MultiApiClientMixin\"], \"msrest\": [\"Deserializer\", \"Serializer\"], \"azure.core\": [\"AsyncPipelineClient\"]}, \"local\": {\"._configuration\": [\"RenderClientConfiguration\"]}}}" | ||
}, | ||
"global_parameters": { | ||
"sync": { | ||
"credential": { | ||
"signature": "credential, # type: \"TokenCredential\"", | ||
"description": "Credential needed for the client to connect to Azure.", | ||
"docstring_type": "~azure.core.credentials.TokenCredential", | ||
"required": true | ||
}, | ||
"x_ms_client_id": { | ||
"signature": "x_ms_client_id=None, # type: Optional[str]", | ||
"description": "Specifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following `articles \u003chttps://aka.ms/amauthdetails\u003e`_ for guidance.", | ||
"docstring_type": "str", | ||
"required": false | ||
}, | ||
"geography": { | ||
"signature": "geography=\"us\", # type: Union[str, \"_models.Geography\"]", | ||
"description": "This parameter specifies where the Azure Maps Creator resource is located. Valid values are us and eu.", | ||
"docstring_type": "str or ~azure.maps.render.models.Geography", | ||
"required": true | ||
} | ||
}, | ||
"async": { | ||
"credential": { | ||
"signature": "credential: \"AsyncTokenCredential\",", | ||
"description": "Credential needed for the client to connect to Azure.", | ||
"docstring_type": "~azure.core.credentials_async.AsyncTokenCredential", | ||
"required": true | ||
}, | ||
"x_ms_client_id": { | ||
"signature": "x_ms_client_id: Optional[str] = None,", | ||
"description": "Specifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following `articles \u003chttps://aka.ms/amauthdetails\u003e`_ for guidance.", | ||
"docstring_type": "str", | ||
"required": false | ||
}, | ||
"geography": { | ||
"signature": "geography: Union[str, \"_models.Geography\"] = \"us\",", | ||
"description": "This parameter specifies where the Azure Maps Creator resource is located. Valid values are us and eu.", | ||
"docstring_type": "str or ~azure.maps.render.models.Geography", | ||
"required": true | ||
} | ||
}, | ||
"constant": { | ||
}, | ||
"call": "credential, x_ms_client_id, geography", | ||
"service_client_specific": { | ||
"sync": { | ||
"api_version": { | ||
"signature": "api_version=None, # type: Optional[str]", | ||
"description": "API version to use if no profile is provided, or if missing in profile.", | ||
"docstring_type": "str", | ||
"required": false | ||
}, | ||
"profile": { | ||
"signature": "profile=KnownProfiles.default, # type: KnownProfiles", | ||
"description": "A profile definition, from KnownProfiles to dict.", | ||
"docstring_type": "azure.profiles.KnownProfiles", | ||
"required": false | ||
} | ||
}, | ||
"async": { | ||
"api_version": { | ||
"signature": "api_version: Optional[str] = None,", | ||
"description": "API version to use if no profile is provided, or if missing in profile.", | ||
"docstring_type": "str", | ||
"required": false | ||
}, | ||
"profile": { | ||
"signature": "profile: KnownProfiles = KnownProfiles.default,", | ||
"description": "A profile definition, from KnownProfiles to dict.", | ||
"docstring_type": "azure.profiles.KnownProfiles", | ||
"required": false | ||
} | ||
} | ||
} | ||
}, | ||
"config": { | ||
"credential": true, | ||
"credential_scopes": ["https://atlas.microsoft.com/.default"], | ||
"credential_default_policy_type": "BearerTokenCredentialPolicy", | ||
"credential_default_policy_type_has_async_version": true, | ||
"credential_key_header_name": null, | ||
"sync_imports": "{\"regular\": {\"azurecore\": {\"azure.core.configuration\": [\"Configuration\"], \"azure.core.pipeline\": [\"policies\"]}, \"local\": {\"._version\": [\"VERSION\"]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Optional\", \"Union\"]}}, \"typing\": {\"azurecore\": {\"azure.core.credentials\": [\"TokenCredential\"]}}}", | ||
"async_imports": "{\"regular\": {\"azurecore\": {\"azure.core.configuration\": [\"Configuration\"], \"azure.core.pipeline\": [\"policies\"]}, \"local\": {\".._version\": [\"VERSION\"]}}, \"conditional\": {\"stdlib\": {\"typing\": [\"Any\", \"Optional\", \"Union\"]}}, \"typing\": {\"azurecore\": {\"azure.core.credentials_async\": [\"AsyncTokenCredential\"]}}}" | ||
}, | ||
"operation_groups": { | ||
"render": "RenderOperations", | ||
"render_v2": "RenderV2Operations" | ||
} | ||
} |
Oops, something went wrong.