diff --git a/sdk/maps/azure-maps-data/CHANGELOG.md b/sdk/maps/azure-maps-data/CHANGELOG.md
new file mode 100644
index 000000000000..b83e3c41a9f6
--- /dev/null
+++ b/sdk/maps/azure-maps-data/CHANGELOG.md
@@ -0,0 +1,13 @@
+# Release History
+
+## 1.0.0-beta.1 (Unreleased)
+
+- Azure AzureMapsDataService client library for Java. This package contains Microsoft Azure AzureMapsDataService client library.
+
+### Features Added
+
+### Breaking Changes
+
+### Bugs Fixed
+
+### Other Changes
diff --git a/sdk/maps/azure-maps-data/README.md b/sdk/maps/azure-maps-data/README.md
new file mode 100644
index 000000000000..67458a991dd9
--- /dev/null
+++ b/sdk/maps/azure-maps-data/README.md
@@ -0,0 +1,63 @@
+# Azure AzureMapsDataService client library for Java
+
+Azure AzureMapsDataService client library for Java.
+
+This package contains Microsoft Azure AzureMapsDataService client library.
+
+## Documentation
+
+Various documentation is available to help you get started
+
+- [API reference documentation][docs]
+- [Product documentation][product_documentation]
+
+## Getting started
+
+### Prerequisites
+
+- [Java Development Kit (JDK)][jdk] with version 8 or above
+- [Azure Subscription][azure_subscription]
+
+### Adding the package to your product
+
+[//]: # ({x-version-update-start;com.azure:azure-maps-data;current})
+```xml
+
The Data Upload API allows the caller to upload data content to the Azure Maps service. You can use this API + * in a scenario like uploading a collection of Geofences in `GeoJSON` format, for use in our [Azure Maps Geofencing + * Service](https://docs.microsoft.com/rest/api/maps/spatial). + * + *
## Submit Upload Request + * + *
To upload your content you will use a `POST` request. The request body will contain the data to upload. The + * `dataFormat` query parameter will contain the format for the data, the `dataSharingLevel` query parameter can + * contain the sharing level for the data. The `Content-Type` header will be set to the content type of the data. + * + *
For example, to upload a collection of geofences in `GeoJSON` format, set the request body to the geofence + * content. Set the `dataFormat` query parameter to _geojson_, and set the `Content-Type` header to either one of + * the following media types: + * + *
- `application/json` - `application/vnd.geo+json` - `application/octet-stream` + * + *
Here's a sample request body for uploading a simple Geofence represented as a circle geometry using a center + * point and a radius. The sample below is in `GeoJSON`: + * + *
```json { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", + * "coordinates": [-122.126986, 47.639754] }, "properties": { "geometryId": "001", "radius": 500 } }] } ``` + * + *
The Data Upload API performs a [long-running request](https://aka.ms/am-creator-lrt-v2). + * + *
## Data Upload Limits + * + *
Please, be aware that currently every Azure Maps account has a [data storage + * limit](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). + * Once the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. + * You can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete-preview) to + * delete old/unused content and create space for new uploads. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
| description | String | No | The description to be given to the upload. |
| dataFormat | String | Yes | Data format of the content being uploaded. |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
| contentLength | long | Yes | The contentLength parameter |
Request Body Schema + * + *
{@code
+ * Flux
+ * }
+ *
+ * Response Body Schema + * + *
{@code
+ * {
+ * operationId: String
+ * status: String(NotStarted/Running/Failed/Succeeded)
+ * created: String
+ * error: {
+ * code: String
+ * message: String
+ * target: String
+ * details: [
+ * (recursive schema, see above)
+ * ]
+ * additionalInfo: [
+ * {
+ * type: String
+ * info: Object
+ * }
+ * ]
+ * }
+ * warning: (recursive schema, see warning above)
+ * }
+ * }
+ *
+ * @param uploadContent The content to upload.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @return the response model for a Long-Running Operations API.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public MonoThe Data Upload API allows the caller to upload data content to the Azure Maps service. You can use this API + * in a scenario like uploading a collection of Geofences in `GeoJSON` format, for use in our [Azure Maps Geofencing + * Service](https://docs.microsoft.com/rest/api/maps/spatial). + * + *
## Submit Upload Request + * + *
To upload your content you will use a `POST` request. The request body will contain the data to upload. The + * `dataFormat` query parameter will contain the format for the data, the `dataSharingLevel` query parameter can + * contain the sharing level for the data. The `Content-Type` header will be set to the content type of the data. + * + *
For example, to upload a collection of geofences in `GeoJSON` format, set the request body to the geofence + * content. Set the `dataFormat` query parameter to _geojson_, and set the `Content-Type` header to either one of + * the following media types: + * + *
- `application/json` - `application/vnd.geo+json` - `application/octet-stream` + * + *
Here's a sample request body for uploading a simple Geofence represented as a circle geometry using a center + * point and a radius. The sample below is in `GeoJSON`: + * + *
```json { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", + * "coordinates": [-122.126986, 47.639754] }, "properties": { "geometryId": "001", "radius": 500 } }] } ``` + * + *
The Data Upload API performs a [long-running request](https://aka.ms/am-creator-lrt-v2). + * + *
## Data Upload Limits + * + *
Please, be aware that currently every Azure Maps account has a [data storage + * limit](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). + * Once the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. + * You can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete-preview) to + * delete old/unused content and create space for new uploads. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
| description | String | No | The description to be given to the upload. |
| dataFormat | String | Yes | Data format of the content being uploaded. |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
| contentLength | long | Yes | The contentLength parameter |
Request Body Schema + * + *
{@code
+ * Flux
+ * }
+ *
+ * Response Body Schema + * + *
{@code
+ * {
+ * operationId: String
+ * status: String(NotStarted/Running/Failed/Succeeded)
+ * created: String
+ * error: {
+ * code: String
+ * message: String
+ * target: String
+ * details: [
+ * (recursive schema, see above)
+ * ]
+ * additionalInfo: [
+ * {
+ * type: String
+ * info: Object
+ * }
+ * ]
+ * }
+ * warning: (recursive schema, see warning above)
+ * }
+ * }
+ *
+ * @param uploadContent The content to upload.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @return the response model for a Long-Running Operations API.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public PollerFluxThis API allows the caller to fetch a list of all content uploaded previously using the [Data Upload + * API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview). + * + *
### Submit List Request + * + *
To list all your map data content you will issue a `GET` request with no additional parameters. + * + *
### List Data Response + * + *
The Data List API returns the complete list of all data in `json` format. The response contains the following + * details for each data resource: + * + *
> udid - The unique data id for the data resource. + * + *
> location - The location of the data resource. Execute a HTTP `GET` on this location to download the data. + * + *
Here's a sample response returning the `udid` and `location` of 3 data resources: + * + *
<br> + * + *
```json { "mapDataList": [ { "udid": "9a1288fa-1858-4a3b-b68d-13a8j5af7d7c", "location": + * "https://us.atlas.microsoft.com/mapData/9a1288fa-1858-4a3b-b68d-13a8j5af7d7c?api-version=1.0", "sizeInBytes": + * 29920, "uploadStatus": "Completed" }, { "udid": "8b1288fa-1958-4a2b-b68e-13a7i5af7d7c", "location": + * "https://us.atlas.microsoft.com/mapData/8b1288fa-1958-4a2b-b68e-13a7i5af7d7c?api-version=1.0", "sizeInBytes": + * 1339, "uploadStatus": "Completed" }, { "udid": "7c1288fa-2058-4a1b-b68f-13a6h5af7d7c", "location": + * "https://us.atlas.microsoft.com/mapData/7c1288fa-2058-4a1b-b68f-13a6h5af7d7c?api-version=1.0", "sizeInBytes": + * 1650, "uploadStatus": "Pending" }] } ``` + * + *
<br>. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
Response Body Schema + * + *
{@code
+ * {
+ * mapDataList: [
+ * {
+ * udid: String
+ * locationUrl: String
+ * sizeInBytes: Long
+ * uploadStatus: String(Pending/Completed/Failed)
+ * dataFormat: String(geojson/zip/dwgzippackage)
+ * description: String
+ * }
+ * ]
+ * }
+ * }
+ *
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @return the response model for the Data List API.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public MonoThe Data Update API allows the caller to update a previously uploaded data content. + * + *
You can use this API in a scenario like adding or removing geofences to or from an existing collection of + * geofences. Geofences are uploaded using the [Data Upload + * API](https://docs.microsoft.com/rest/api/maps/data-v2/upload-preview), for use in the [Azure Maps Geofencing + * Service](https://docs.microsoft.com/rest/api/maps/spatial). + * + *
Please note that the Update API will *replace* and *override* the existing data content. + * + *
## Submit Update Request + * + *
To update your content you will use a `PUT` request. The request body will contain the new data that will + * replace the existing data. The `Content-Type` header will be set to the content type of the data, and the path + * will contain the `udid` of the data to be update. + * + *
For example, to update a collection of geofences that were previously uploaded using the Upload API, place the + * new geofence content in the request body. Set the `udid` parameter in the path to the `udid` of the data received + * previously in the upload API response. And set the `Content-Type` header to one of the following media types: + * + *
- `application/json` - `application/vnd.geo+json` - `application/octet-stream` + * + *
Here's a sample request body for updating a simple Geofence. It's represented as a circle geometry using a + * center point and a radius. The sample below is in `GeoJSON`: + * + *
```json { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", + * "coordinates": [-122.126986, 47.639754] }, "properties": { "geometryId": "001", "radius": 500 } }] } ``` + * + *
The previously uploaded geofence had a radius of 100m. The above request will update it to 500m. + * + *
The Data Update API performs a [long-running request](https://aka.ms/am-creator-lrt-v2). + * + *
## Data Update Limits + * + *
Please, be aware that currently every Azure Maps account has a [data storage + * limit](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). + * Once the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. + * You can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete-preview) to + * delete old/unused content and create space for new uploads. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
| description | String | No | The description to be given to the upload. |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
Request Body Schema + * + *
{@code
+ * Object
+ * }
+ *
+ * Response Body Schema + * + *
{@code
+ * {
+ * operationId: String
+ * status: String(NotStarted/Running/Failed/Succeeded)
+ * created: String
+ * error: {
+ * code: String
+ * message: String
+ * target: String
+ * details: [
+ * (recursive schema, see above)
+ * ]
+ * additionalInfo: [
+ * {
+ * type: String
+ * info: Object
+ * }
+ * ]
+ * }
+ * warning: (recursive schema, see warning above)
+ * }
+ * }
+ *
+ * @param udid The unique data id for the content. The `udid` must have been obtained from a successful [Data Upload
+ * API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview) call.
+ * @param updateContent The new content that will update/replace the previously uploaded content.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @return the response model for a Long-Running Operations API.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public MonoThe Data Update API allows the caller to update a previously uploaded data content. + * + *
You can use this API in a scenario like adding or removing geofences to or from an existing collection of + * geofences. Geofences are uploaded using the [Data Upload + * API](https://docs.microsoft.com/rest/api/maps/data-v2/upload-preview), for use in the [Azure Maps Geofencing + * Service](https://docs.microsoft.com/rest/api/maps/spatial). + * + *
Please note that the Update API will *replace* and *override* the existing data content. + * + *
## Submit Update Request + * + *
To update your content you will use a `PUT` request. The request body will contain the new data that will + * replace the existing data. The `Content-Type` header will be set to the content type of the data, and the path + * will contain the `udid` of the data to be update. + * + *
For example, to update a collection of geofences that were previously uploaded using the Upload API, place the + * new geofence content in the request body. Set the `udid` parameter in the path to the `udid` of the data received + * previously in the upload API response. And set the `Content-Type` header to one of the following media types: + * + *
- `application/json` - `application/vnd.geo+json` - `application/octet-stream` + * + *
Here's a sample request body for updating a simple Geofence. It's represented as a circle geometry using a + * center point and a radius. The sample below is in `GeoJSON`: + * + *
```json { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", + * "coordinates": [-122.126986, 47.639754] }, "properties": { "geometryId": "001", "radius": 500 } }] } ``` + * + *
The previously uploaded geofence had a radius of 100m. The above request will update it to 500m. + * + *
The Data Update API performs a [long-running request](https://aka.ms/am-creator-lrt-v2). + * + *
## Data Update Limits + * + *
Please, be aware that currently every Azure Maps account has a [data storage + * limit](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). + * Once the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. + * You can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete-preview) to + * delete old/unused content and create space for new uploads. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
| description | String | No | The description to be given to the upload. |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
Request Body Schema + * + *
{@code
+ * Object
+ * }
+ *
+ * Response Body Schema + * + *
{@code
+ * {
+ * operationId: String
+ * status: String(NotStarted/Running/Failed/Succeeded)
+ * created: String
+ * error: {
+ * code: String
+ * message: String
+ * target: String
+ * details: [
+ * (recursive schema, see above)
+ * ]
+ * additionalInfo: [
+ * {
+ * type: String
+ * info: Object
+ * }
+ * ]
+ * }
+ * warning: (recursive schema, see warning above)
+ * }
+ * }
+ *
+ * @param udid The unique data id for the content. The `udid` must have been obtained from a successful [Data Upload
+ * API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview) call.
+ * @param updateContent The new content that will update/replace the previously uploaded content.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @return the response model for a Long-Running Operations API.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public PollerFluxThis API allows the caller to download a previously uploaded data content.<br> You can use this API in a + * scenario like downloading an existing collection of geofences uploaded previously using the [Data Upload + * API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview) for use in our [Azure Maps Geofencing + * Service](https://docs.microsoft.com/en-us/rest/api/maps/spatial). + * + *
### Submit Download Request + * + *
To download your content you will use a `GET` request where the path will contain the `udid` of the data to + * download. Optionally, you can also pass in an `Accept` header to specify a preference for the `Content-Type` of + * the data response. <br> For example, to download a collection of geofences previously uploaded using the + * Upload API, set the `udid` parameter in the path to the `udid` of the data received previously in the upload API + * response and set the `Accept` header to either one of the following media types: + * + *
- `application/json` - `application/vnd.geo+json` - `application/octet-stream` + * + *
### Download Data Response + * + *
The Download API will return a HTTP `200 OK` response if the data resource with the passed-in `udid` is found, + * where the response body will contain the content of the data resource.<br> A HTTP `400 Bad Request` error + * response will be returned if the data resource with the passed-in `udid` is not found.<br> + * + *
Here's a sample response body for a simple geofence represented in `GeoJSON` uploaded previously using the + * Upload API: <br> + * + *
```json { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", + * "coordinates": [-122.126986, 47.639754] }, "properties": { "geometryId": "001", "radius": 500 } }] } ```. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
This API allows the caller to delete a previously uploaded data content.<br> You can use this API in a + * scenario like removing geofences previously uploaded using the [Data Upload + * API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview) for use in our [Azure Maps Geofencing + * Service](https://docs.microsoft.com/en-us/rest/api/maps/spatial). You can also use this API to delete old/unused + * uploaded content and create space for new content. + * + *
### Submit Delete Request + * + *
To delete your content you will issue a `DELETE` request where the path will contain the `udid` of the data to + * delete.<br> For example, to delete a collection of geofences previously uploaded using the Upload API, set + * the `udid` parameter in the path to the `udid` of the data received previously in the upload API response. + * + *
### Delete Data Response + * + *
The Data Delete API returns a HTTP `204 No Content` response with an empty body, if the data resource was + * deleted successfully.<br> A HTTP `400 Bad Request` error response will be returned if the data resource + * with the passed-in `udid` is not found. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
Response Body Schema + * + *
{@code
+ * {
+ * operationId: String
+ * status: String(NotStarted/Running/Failed/Succeeded)
+ * created: String
+ * error: {
+ * code: String
+ * message: String
+ * target: String
+ * details: [
+ * (recursive schema, see above)
+ * ]
+ * additionalInfo: [
+ * {
+ * type: String
+ * info: Object
+ * }
+ * ]
+ * }
+ * warning: (recursive schema, see warning above)
+ * }
+ * }
+ *
+ * @param operationId The ID to query the status for the data upload request.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @return the response model for a Long-Running Operations API.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public MonoThe Data Upload API allows the caller to upload data content to the Azure Maps service. You can use this API + * in a scenario like uploading a collection of Geofences in `GeoJSON` format, for use in our [Azure Maps Geofencing + * Service](https://docs.microsoft.com/rest/api/maps/spatial). + * + *
## Submit Upload Request + * + *
To upload your content you will use a `POST` request. The request body will contain the data to upload. The + * `dataFormat` query parameter will contain the format for the data, the `dataSharingLevel` query parameter can + * contain the sharing level for the data. The `Content-Type` header will be set to the content type of the data. + * + *
For example, to upload a collection of geofences in `GeoJSON` format, set the request body to the geofence + * content. Set the `dataFormat` query parameter to _geojson_, and set the `Content-Type` header to either one of + * the following media types: + * + *
- `application/json` - `application/vnd.geo+json` - `application/octet-stream` + * + *
Here's a sample request body for uploading a simple Geofence represented as a circle geometry using a center + * point and a radius. The sample below is in `GeoJSON`: + * + *
```json { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", + * "coordinates": [-122.126986, 47.639754] }, "properties": { "geometryId": "001", "radius": 500 } }] } ``` + * + *
The Data Upload API performs a [long-running request](https://aka.ms/am-creator-lrt-v2). + * + *
## Data Upload Limits + * + *
Please, be aware that currently every Azure Maps account has a [data storage + * limit](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). + * Once the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. + * You can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete-preview) to + * delete old/unused content and create space for new uploads. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
| description | String | No | The description to be given to the upload. |
| dataFormat | String | Yes | Data format of the content being uploaded. |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
| contentLength | long | Yes | The contentLength parameter |
Request Body Schema + * + *
{@code
+ * Flux
+ * }
+ *
+ * Response Body Schema + * + *
{@code
+ * {
+ * operationId: String
+ * status: String(NotStarted/Running/Failed/Succeeded)
+ * created: String
+ * error: {
+ * code: String
+ * message: String
+ * target: String
+ * details: [
+ * (recursive schema, see above)
+ * ]
+ * additionalInfo: [
+ * {
+ * type: String
+ * info: Object
+ * }
+ * ]
+ * }
+ * warning: (recursive schema, see warning above)
+ * }
+ * }
+ *
+ * @param uploadContent The content to upload.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @return the response model for a Long-Running Operations API.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPollerThis API allows the caller to fetch a list of all content uploaded previously using the [Data Upload + * API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview). + * + *
### Submit List Request + * + *
To list all your map data content you will issue a `GET` request with no additional parameters. + * + *
### List Data Response + * + *
The Data List API returns the complete list of all data in `json` format. The response contains the following + * details for each data resource: + * + *
> udid - The unique data id for the data resource. + * + *
> location - The location of the data resource. Execute a HTTP `GET` on this location to download the data. + * + *
Here's a sample response returning the `udid` and `location` of 3 data resources: + * + *
<br> + * + *
```json { "mapDataList": [ { "udid": "9a1288fa-1858-4a3b-b68d-13a8j5af7d7c", "location": + * "https://us.atlas.microsoft.com/mapData/9a1288fa-1858-4a3b-b68d-13a8j5af7d7c?api-version=1.0", "sizeInBytes": + * 29920, "uploadStatus": "Completed" }, { "udid": "8b1288fa-1958-4a2b-b68e-13a7i5af7d7c", "location": + * "https://us.atlas.microsoft.com/mapData/8b1288fa-1958-4a2b-b68e-13a7i5af7d7c?api-version=1.0", "sizeInBytes": + * 1339, "uploadStatus": "Completed" }, { "udid": "7c1288fa-2058-4a1b-b68f-13a6h5af7d7c", "location": + * "https://us.atlas.microsoft.com/mapData/7c1288fa-2058-4a1b-b68f-13a6h5af7d7c?api-version=1.0", "sizeInBytes": + * 1650, "uploadStatus": "Pending" }] } ``` + * + *
<br>. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
Response Body Schema + * + *
{@code
+ * {
+ * mapDataList: [
+ * {
+ * udid: String
+ * locationUrl: String
+ * sizeInBytes: Long
+ * uploadStatus: String(Pending/Completed/Failed)
+ * dataFormat: String(geojson/zip/dwgzippackage)
+ * description: String
+ * }
+ * ]
+ * }
+ * }
+ *
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @return the response model for the Data List API.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ResponseThe Data Update API allows the caller to update a previously uploaded data content. + * + *
You can use this API in a scenario like adding or removing geofences to or from an existing collection of + * geofences. Geofences are uploaded using the [Data Upload + * API](https://docs.microsoft.com/rest/api/maps/data-v2/upload-preview), for use in the [Azure Maps Geofencing + * Service](https://docs.microsoft.com/rest/api/maps/spatial). + * + *
Please note that the Update API will *replace* and *override* the existing data content. + * + *
## Submit Update Request + * + *
To update your content you will use a `PUT` request. The request body will contain the new data that will + * replace the existing data. The `Content-Type` header will be set to the content type of the data, and the path + * will contain the `udid` of the data to be update. + * + *
For example, to update a collection of geofences that were previously uploaded using the Upload API, place the + * new geofence content in the request body. Set the `udid` parameter in the path to the `udid` of the data received + * previously in the upload API response. And set the `Content-Type` header to one of the following media types: + * + *
- `application/json` - `application/vnd.geo+json` - `application/octet-stream` + * + *
Here's a sample request body for updating a simple Geofence. It's represented as a circle geometry using a + * center point and a radius. The sample below is in `GeoJSON`: + * + *
```json { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", + * "coordinates": [-122.126986, 47.639754] }, "properties": { "geometryId": "001", "radius": 500 } }] } ``` + * + *
The previously uploaded geofence had a radius of 100m. The above request will update it to 500m. + * + *
The Data Update API performs a [long-running request](https://aka.ms/am-creator-lrt-v2). + * + *
## Data Update Limits + * + *
Please, be aware that currently every Azure Maps account has a [data storage + * limit](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). + * Once the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. + * You can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete-preview) to + * delete old/unused content and create space for new uploads. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
| description | String | No | The description to be given to the upload. |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
Request Body Schema + * + *
{@code
+ * Object
+ * }
+ *
+ * Response Body Schema + * + *
{@code
+ * {
+ * operationId: String
+ * status: String(NotStarted/Running/Failed/Succeeded)
+ * created: String
+ * error: {
+ * code: String
+ * message: String
+ * target: String
+ * details: [
+ * (recursive schema, see above)
+ * ]
+ * additionalInfo: [
+ * {
+ * type: String
+ * info: Object
+ * }
+ * ]
+ * }
+ * warning: (recursive schema, see warning above)
+ * }
+ * }
+ *
+ * @param udid The unique data id for the content. The `udid` must have been obtained from a successful [Data Upload
+ * API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview) call.
+ * @param updateContent The new content that will update/replace the previously uploaded content.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @return the response model for a Long-Running Operations API.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPollerThis API allows the caller to download a previously uploaded data content.<br> You can use this API in a + * scenario like downloading an existing collection of geofences uploaded previously using the [Data Upload + * API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview) for use in our [Azure Maps Geofencing + * Service](https://docs.microsoft.com/en-us/rest/api/maps/spatial). + * + *
### Submit Download Request + * + *
To download your content you will use a `GET` request where the path will contain the `udid` of the data to + * download. Optionally, you can also pass in an `Accept` header to specify a preference for the `Content-Type` of + * the data response. <br> For example, to download a collection of geofences previously uploaded using the + * Upload API, set the `udid` parameter in the path to the `udid` of the data received previously in the upload API + * response and set the `Accept` header to either one of the following media types: + * + *
- `application/json` - `application/vnd.geo+json` - `application/octet-stream` + * + *
### Download Data Response + * + *
The Download API will return a HTTP `200 OK` response if the data resource with the passed-in `udid` is found, + * where the response body will contain the content of the data resource.<br> A HTTP `400 Bad Request` error + * response will be returned if the data resource with the passed-in `udid` is not found.<br> + * + *
Here's a sample response body for a simple geofence represented in `GeoJSON` uploaded previously using the + * Upload API: <br> + * + *
```json { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", + * "coordinates": [-122.126986, 47.639754] }, "properties": { "geometryId": "001", "radius": 500 } }] } ```. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
This API allows the caller to delete a previously uploaded data content.<br> You can use this API in a + * scenario like removing geofences previously uploaded using the [Data Upload + * API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview) for use in our [Azure Maps Geofencing + * Service](https://docs.microsoft.com/en-us/rest/api/maps/spatial). You can also use this API to delete old/unused + * uploaded content and create space for new content. + * + *
### Submit Delete Request + * + *
To delete your content you will issue a `DELETE` request where the path will contain the `udid` of the data to + * delete.<br> For example, to delete a collection of geofences previously uploaded using the Upload API, set + * the `udid` parameter in the path to the `udid` of the data received previously in the upload API response. + * + *
### Delete Data Response + * + *
The Data Delete API returns a HTTP `204 No Content` response with an empty body, if the data resource was + * deleted successfully.<br> A HTTP `400 Bad Request` error response will be returned if the data resource + * with the passed-in `udid` is not found. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
Response Body Schema + * + *
{@code
+ * {
+ * operationId: String
+ * status: String(NotStarted/Running/Failed/Succeeded)
+ * created: String
+ * error: {
+ * code: String
+ * message: String
+ * target: String
+ * details: [
+ * (recursive schema, see above)
+ * ]
+ * additionalInfo: [
+ * {
+ * type: String
+ * info: Object
+ * }
+ * ]
+ * }
+ * warning: (recursive schema, see warning above)
+ * }
+ * }
+ *
+ * @param operationId The ID to query the status for the data upload request.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @return the response model for a Long-Running Operations API.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ResponseThe Data Upload API allows the caller to upload data content to the Azure Maps service. You can use this API + * in a scenario like uploading a collection of Geofences in `GeoJSON` format, for use in our [Azure Maps Geofencing + * Service](https://docs.microsoft.com/rest/api/maps/spatial). + * + *
## Submit Upload Request + * + *
To upload your content you will use a `POST` request. The request body will contain the data to upload. The + * `dataFormat` query parameter will contain the format for the data, the `dataSharingLevel` query parameter can + * contain the sharing level for the data. The `Content-Type` header will be set to the content type of the data. + * + *
For example, to upload a collection of geofences in `GeoJSON` format, set the request body to the geofence + * content. Set the `dataFormat` query parameter to _geojson_, and set the `Content-Type` header to either one of + * the following media types: + * + *
- `application/json` - `application/vnd.geo+json` - `application/octet-stream` + * + *
Here's a sample request body for uploading a simple Geofence represented as a circle geometry using a center + * point and a radius. The sample below is in `GeoJSON`: + * + *
```json { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", + * "coordinates": [-122.126986, 47.639754] }, "properties": { "geometryId": "001", "radius": 500 } }] } ``` + * + *
The Data Upload API performs a [long-running request](https://aka.ms/am-creator-lrt-v2). + * + *
## Data Upload Limits + * + *
Please, be aware that currently every Azure Maps account has a [data storage + * limit](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). + * Once the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. + * You can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete-preview) to + * delete old/unused content and create space for new uploads. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
| description | String | No | The description to be given to the upload. |
| dataFormat | String | Yes | Data format of the content being uploaded. |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
| contentLength | long | Yes | The contentLength parameter |
Request Body Schema + * + *
{@code
+ * Flux
+ * }
+ *
+ * Response Body Schema + * + *
{@code
+ * {
+ * operationId: String
+ * status: String(NotStarted/Running/Failed/Succeeded)
+ * created: String
+ * error: {
+ * code: String
+ * message: String
+ * target: String
+ * details: [
+ * (recursive schema, see above)
+ * ]
+ * additionalInfo: [
+ * {
+ * type: String
+ * info: Object
+ * }
+ * ]
+ * }
+ * warning: (recursive schema, see warning above)
+ * }
+ * }
+ *
+ * @param uploadContent The content to upload.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @return the response model for a Long-Running Operations API.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public MonoThe Data Upload API allows the caller to upload data content to the Azure Maps service. You can use this API + * in a scenario like uploading a collection of Geofences in `GeoJSON` format, for use in our [Azure Maps Geofencing + * Service](https://docs.microsoft.com/rest/api/maps/spatial). + * + *
## Submit Upload Request + * + *
To upload your content you will use a `POST` request. The request body will contain the data to upload. The + * `dataFormat` query parameter will contain the format for the data, the `dataSharingLevel` query parameter can + * contain the sharing level for the data. The `Content-Type` header will be set to the content type of the data. + * + *
For example, to upload a collection of geofences in `GeoJSON` format, set the request body to the geofence + * content. Set the `dataFormat` query parameter to _geojson_, and set the `Content-Type` header to either one of + * the following media types: + * + *
- `application/json` - `application/vnd.geo+json` - `application/octet-stream` + * + *
Here's a sample request body for uploading a simple Geofence represented as a circle geometry using a center + * point and a radius. The sample below is in `GeoJSON`: + * + *
```json { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", + * "coordinates": [-122.126986, 47.639754] }, "properties": { "geometryId": "001", "radius": 500 } }] } ``` + * + *
The Data Upload API performs a [long-running request](https://aka.ms/am-creator-lrt-v2). + * + *
## Data Upload Limits + * + *
Please, be aware that currently every Azure Maps account has a [data storage + * limit](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). + * Once the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. + * You can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete-preview) to + * delete old/unused content and create space for new uploads. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
| description | String | No | The description to be given to the upload. |
| dataFormat | String | Yes | Data format of the content being uploaded. |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
| contentLength | long | Yes | The contentLength parameter |
Request Body Schema + * + *
{@code
+ * Flux
+ * }
+ *
+ * Response Body Schema + * + *
{@code
+ * {
+ * operationId: String
+ * status: String(NotStarted/Running/Failed/Succeeded)
+ * created: String
+ * error: {
+ * code: String
+ * message: String
+ * target: String
+ * details: [
+ * (recursive schema, see above)
+ * ]
+ * additionalInfo: [
+ * {
+ * type: String
+ * info: Object
+ * }
+ * ]
+ * }
+ * warning: (recursive schema, see warning above)
+ * }
+ * }
+ *
+ * @param uploadContent The content to upload.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @param context The context to associate with this operation.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @return the response model for a Long-Running Operations API.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public MonoThe Data Upload API allows the caller to upload data content to the Azure Maps service. You can use this API + * in a scenario like uploading a collection of Geofences in `GeoJSON` format, for use in our [Azure Maps Geofencing + * Service](https://docs.microsoft.com/rest/api/maps/spatial). + * + *
## Submit Upload Request + * + *
To upload your content you will use a `POST` request. The request body will contain the data to upload. The + * `dataFormat` query parameter will contain the format for the data, the `dataSharingLevel` query parameter can + * contain the sharing level for the data. The `Content-Type` header will be set to the content type of the data. + * + *
For example, to upload a collection of geofences in `GeoJSON` format, set the request body to the geofence + * content. Set the `dataFormat` query parameter to _geojson_, and set the `Content-Type` header to either one of + * the following media types: + * + *
- `application/json` - `application/vnd.geo+json` - `application/octet-stream` + * + *
Here's a sample request body for uploading a simple Geofence represented as a circle geometry using a center + * point and a radius. The sample below is in `GeoJSON`: + * + *
```json { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", + * "coordinates": [-122.126986, 47.639754] }, "properties": { "geometryId": "001", "radius": 500 } }] } ``` + * + *
The Data Upload API performs a [long-running request](https://aka.ms/am-creator-lrt-v2). + * + *
## Data Upload Limits + * + *
Please, be aware that currently every Azure Maps account has a [data storage + * limit](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). + * Once the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. + * You can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete-preview) to + * delete old/unused content and create space for new uploads. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
| description | String | No | The description to be given to the upload. |
| dataFormat | String | Yes | Data format of the content being uploaded. |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
| contentLength | long | Yes | The contentLength parameter |
Request Body Schema + * + *
{@code
+ * Flux
+ * }
+ *
+ * Response Body Schema + * + *
{@code
+ * {
+ * operationId: String
+ * status: String(NotStarted/Running/Failed/Succeeded)
+ * created: String
+ * error: {
+ * code: String
+ * message: String
+ * target: String
+ * details: [
+ * (recursive schema, see above)
+ * ]
+ * additionalInfo: [
+ * {
+ * type: String
+ * info: Object
+ * }
+ * ]
+ * }
+ * warning: (recursive schema, see warning above)
+ * }
+ * }
+ *
+ * @param uploadContent The content to upload.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @return the response model for a Long-Running Operations API.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public PollerFluxThe Data Upload API allows the caller to upload data content to the Azure Maps service. You can use this API + * in a scenario like uploading a collection of Geofences in `GeoJSON` format, for use in our [Azure Maps Geofencing + * Service](https://docs.microsoft.com/rest/api/maps/spatial). + * + *
## Submit Upload Request + * + *
To upload your content you will use a `POST` request. The request body will contain the data to upload. The + * `dataFormat` query parameter will contain the format for the data, the `dataSharingLevel` query parameter can + * contain the sharing level for the data. The `Content-Type` header will be set to the content type of the data. + * + *
For example, to upload a collection of geofences in `GeoJSON` format, set the request body to the geofence + * content. Set the `dataFormat` query parameter to _geojson_, and set the `Content-Type` header to either one of + * the following media types: + * + *
- `application/json` - `application/vnd.geo+json` - `application/octet-stream` + * + *
Here's a sample request body for uploading a simple Geofence represented as a circle geometry using a center + * point and a radius. The sample below is in `GeoJSON`: + * + *
```json { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", + * "coordinates": [-122.126986, 47.639754] }, "properties": { "geometryId": "001", "radius": 500 } }] } ``` + * + *
The Data Upload API performs a [long-running request](https://aka.ms/am-creator-lrt-v2). + * + *
## Data Upload Limits + * + *
Please, be aware that currently every Azure Maps account has a [data storage + * limit](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). + * Once the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. + * You can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete-preview) to + * delete old/unused content and create space for new uploads. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
| description | String | No | The description to be given to the upload. |
| dataFormat | String | Yes | Data format of the content being uploaded. |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
| contentLength | long | Yes | The contentLength parameter |
Request Body Schema + * + *
{@code
+ * Flux
+ * }
+ *
+ * Response Body Schema + * + *
{@code
+ * {
+ * operationId: String
+ * status: String(NotStarted/Running/Failed/Succeeded)
+ * created: String
+ * error: {
+ * code: String
+ * message: String
+ * target: String
+ * details: [
+ * (recursive schema, see above)
+ * ]
+ * additionalInfo: [
+ * {
+ * type: String
+ * info: Object
+ * }
+ * ]
+ * }
+ * warning: (recursive schema, see warning above)
+ * }
+ * }
+ *
+ * @param uploadContent The content to upload.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @param context The context to associate with this operation.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @return the response model for a Long-Running Operations API.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public PollerFluxThe Data Upload API allows the caller to upload data content to the Azure Maps service. You can use this API + * in a scenario like uploading a collection of Geofences in `GeoJSON` format, for use in our [Azure Maps Geofencing + * Service](https://docs.microsoft.com/rest/api/maps/spatial). + * + *
## Submit Upload Request + * + *
To upload your content you will use a `POST` request. The request body will contain the data to upload. The + * `dataFormat` query parameter will contain the format for the data, the `dataSharingLevel` query parameter can + * contain the sharing level for the data. The `Content-Type` header will be set to the content type of the data. + * + *
For example, to upload a collection of geofences in `GeoJSON` format, set the request body to the geofence + * content. Set the `dataFormat` query parameter to _geojson_, and set the `Content-Type` header to either one of + * the following media types: + * + *
- `application/json` - `application/vnd.geo+json` - `application/octet-stream` + * + *
Here's a sample request body for uploading a simple Geofence represented as a circle geometry using a center + * point and a radius. The sample below is in `GeoJSON`: + * + *
```json { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", + * "coordinates": [-122.126986, 47.639754] }, "properties": { "geometryId": "001", "radius": 500 } }] } ``` + * + *
The Data Upload API performs a [long-running request](https://aka.ms/am-creator-lrt-v2). + * + *
## Data Upload Limits + * + *
Please, be aware that currently every Azure Maps account has a [data storage + * limit](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). + * Once the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. + * You can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete-preview) to + * delete old/unused content and create space for new uploads. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
| description | String | No | The description to be given to the upload. |
| dataFormat | String | Yes | Data format of the content being uploaded. |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
| contentLength | long | Yes | The contentLength parameter |
Request Body Schema + * + *
{@code
+ * Flux
+ * }
+ *
+ * Response Body Schema + * + *
{@code
+ * {
+ * operationId: String
+ * status: String(NotStarted/Running/Failed/Succeeded)
+ * created: String
+ * error: {
+ * code: String
+ * message: String
+ * target: String
+ * details: [
+ * (recursive schema, see above)
+ * ]
+ * additionalInfo: [
+ * {
+ * type: String
+ * info: Object
+ * }
+ * ]
+ * }
+ * warning: (recursive schema, see warning above)
+ * }
+ * }
+ *
+ * @param uploadContent The content to upload.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @return the response model for a Long-Running Operations API.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPollerThis API allows the caller to fetch a list of all content uploaded previously using the [Data Upload + * API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview). + * + *
### Submit List Request + * + *
To list all your map data content you will issue a `GET` request with no additional parameters. + * + *
### List Data Response + * + *
The Data List API returns the complete list of all data in `json` format. The response contains the following + * details for each data resource: + * + *
> udid - The unique data id for the data resource. + * + *
> location - The location of the data resource. Execute a HTTP `GET` on this location to download the data. + * + *
Here's a sample response returning the `udid` and `location` of 3 data resources: + * + *
<br> + * + *
```json { "mapDataList": [ { "udid": "9a1288fa-1858-4a3b-b68d-13a8j5af7d7c", "location": + * "https://us.atlas.microsoft.com/mapData/9a1288fa-1858-4a3b-b68d-13a8j5af7d7c?api-version=1.0", "sizeInBytes": + * 29920, "uploadStatus": "Completed" }, { "udid": "8b1288fa-1958-4a2b-b68e-13a7i5af7d7c", "location": + * "https://us.atlas.microsoft.com/mapData/8b1288fa-1958-4a2b-b68e-13a7i5af7d7c?api-version=1.0", "sizeInBytes": + * 1339, "uploadStatus": "Completed" }, { "udid": "7c1288fa-2058-4a1b-b68f-13a6h5af7d7c", "location": + * "https://us.atlas.microsoft.com/mapData/7c1288fa-2058-4a1b-b68f-13a6h5af7d7c?api-version=1.0", "sizeInBytes": + * 1650, "uploadStatus": "Pending" }] } ``` + * + *
<br>. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
Response Body Schema + * + *
{@code
+ * {
+ * mapDataList: [
+ * {
+ * udid: String
+ * locationUrl: String
+ * sizeInBytes: Long
+ * uploadStatus: String(Pending/Completed/Failed)
+ * dataFormat: String(geojson/zip/dwgzippackage)
+ * description: String
+ * }
+ * ]
+ * }
+ * }
+ *
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @return the response model for the Data List API.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public MonoThis API allows the caller to fetch a list of all content uploaded previously using the [Data Upload + * API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview). + * + *
### Submit List Request + * + *
To list all your map data content you will issue a `GET` request with no additional parameters. + * + *
### List Data Response + * + *
The Data List API returns the complete list of all data in `json` format. The response contains the following + * details for each data resource: + * + *
> udid - The unique data id for the data resource. + * + *
> location - The location of the data resource. Execute a HTTP `GET` on this location to download the data. + * + *
Here's a sample response returning the `udid` and `location` of 3 data resources: + * + *
<br> + * + *
```json { "mapDataList": [ { "udid": "9a1288fa-1858-4a3b-b68d-13a8j5af7d7c", "location": + * "https://us.atlas.microsoft.com/mapData/9a1288fa-1858-4a3b-b68d-13a8j5af7d7c?api-version=1.0", "sizeInBytes": + * 29920, "uploadStatus": "Completed" }, { "udid": "8b1288fa-1958-4a2b-b68e-13a7i5af7d7c", "location": + * "https://us.atlas.microsoft.com/mapData/8b1288fa-1958-4a2b-b68e-13a7i5af7d7c?api-version=1.0", "sizeInBytes": + * 1339, "uploadStatus": "Completed" }, { "udid": "7c1288fa-2058-4a1b-b68f-13a6h5af7d7c", "location": + * "https://us.atlas.microsoft.com/mapData/7c1288fa-2058-4a1b-b68f-13a6h5af7d7c?api-version=1.0", "sizeInBytes": + * 1650, "uploadStatus": "Pending" }] } ``` + * + *
<br>. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
Response Body Schema + * + *
{@code
+ * {
+ * mapDataList: [
+ * {
+ * udid: String
+ * locationUrl: String
+ * sizeInBytes: Long
+ * uploadStatus: String(Pending/Completed/Failed)
+ * dataFormat: String(geojson/zip/dwgzippackage)
+ * description: String
+ * }
+ * ]
+ * }
+ * }
+ *
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @param context The context to associate with this operation.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @return the response model for the Data List API.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public MonoThis API allows the caller to fetch a list of all content uploaded previously using the [Data Upload + * API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview). + * + *
### Submit List Request + * + *
To list all your map data content you will issue a `GET` request with no additional parameters. + * + *
### List Data Response + * + *
The Data List API returns the complete list of all data in `json` format. The response contains the following + * details for each data resource: + * + *
> udid - The unique data id for the data resource. + * + *
> location - The location of the data resource. Execute a HTTP `GET` on this location to download the data. + * + *
Here's a sample response returning the `udid` and `location` of 3 data resources: + * + *
<br> + * + *
```json { "mapDataList": [ { "udid": "9a1288fa-1858-4a3b-b68d-13a8j5af7d7c", "location": + * "https://us.atlas.microsoft.com/mapData/9a1288fa-1858-4a3b-b68d-13a8j5af7d7c?api-version=1.0", "sizeInBytes": + * 29920, "uploadStatus": "Completed" }, { "udid": "8b1288fa-1958-4a2b-b68e-13a7i5af7d7c", "location": + * "https://us.atlas.microsoft.com/mapData/8b1288fa-1958-4a2b-b68e-13a7i5af7d7c?api-version=1.0", "sizeInBytes": + * 1339, "uploadStatus": "Completed" }, { "udid": "7c1288fa-2058-4a1b-b68f-13a6h5af7d7c", "location": + * "https://us.atlas.microsoft.com/mapData/7c1288fa-2058-4a1b-b68f-13a6h5af7d7c?api-version=1.0", "sizeInBytes": + * 1650, "uploadStatus": "Pending" }] } ``` + * + *
<br>. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
Response Body Schema + * + *
{@code
+ * {
+ * mapDataList: [
+ * {
+ * udid: String
+ * locationUrl: String
+ * sizeInBytes: Long
+ * uploadStatus: String(Pending/Completed/Failed)
+ * dataFormat: String(geojson/zip/dwgzippackage)
+ * description: String
+ * }
+ * ]
+ * }
+ * }
+ *
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @return the response model for the Data List API.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ResponseThe Data Update API allows the caller to update a previously uploaded data content. + * + *
You can use this API in a scenario like adding or removing geofences to or from an existing collection of + * geofences. Geofences are uploaded using the [Data Upload + * API](https://docs.microsoft.com/rest/api/maps/data-v2/upload-preview), for use in the [Azure Maps Geofencing + * Service](https://docs.microsoft.com/rest/api/maps/spatial). + * + *
Please note that the Update API will *replace* and *override* the existing data content. + * + *
## Submit Update Request + * + *
To update your content you will use a `PUT` request. The request body will contain the new data that will + * replace the existing data. The `Content-Type` header will be set to the content type of the data, and the path + * will contain the `udid` of the data to be update. + * + *
For example, to update a collection of geofences that were previously uploaded using the Upload API, place the + * new geofence content in the request body. Set the `udid` parameter in the path to the `udid` of the data received + * previously in the upload API response. And set the `Content-Type` header to one of the following media types: + * + *
- `application/json` - `application/vnd.geo+json` - `application/octet-stream` + * + *
Here's a sample request body for updating a simple Geofence. It's represented as a circle geometry using a + * center point and a radius. The sample below is in `GeoJSON`: + * + *
```json { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", + * "coordinates": [-122.126986, 47.639754] }, "properties": { "geometryId": "001", "radius": 500 } }] } ``` + * + *
The previously uploaded geofence had a radius of 100m. The above request will update it to 500m. + * + *
The Data Update API performs a [long-running request](https://aka.ms/am-creator-lrt-v2). + * + *
## Data Update Limits + * + *
Please, be aware that currently every Azure Maps account has a [data storage + * limit](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). + * Once the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. + * You can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete-preview) to + * delete old/unused content and create space for new uploads. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
| description | String | No | The description to be given to the upload. |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
Request Body Schema + * + *
{@code
+ * Object
+ * }
+ *
+ * Response Body Schema + * + *
{@code
+ * {
+ * operationId: String
+ * status: String(NotStarted/Running/Failed/Succeeded)
+ * created: String
+ * error: {
+ * code: String
+ * message: String
+ * target: String
+ * details: [
+ * (recursive schema, see above)
+ * ]
+ * additionalInfo: [
+ * {
+ * type: String
+ * info: Object
+ * }
+ * ]
+ * }
+ * warning: (recursive schema, see warning above)
+ * }
+ * }
+ *
+ * @param udid The unique data id for the content. The `udid` must have been obtained from a successful [Data Upload
+ * API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview) call.
+ * @param updateContent The new content that will update/replace the previously uploaded content.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @return the response model for a Long-Running Operations API.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public MonoThe Data Update API allows the caller to update a previously uploaded data content. + * + *
You can use this API in a scenario like adding or removing geofences to or from an existing collection of + * geofences. Geofences are uploaded using the [Data Upload + * API](https://docs.microsoft.com/rest/api/maps/data-v2/upload-preview), for use in the [Azure Maps Geofencing + * Service](https://docs.microsoft.com/rest/api/maps/spatial). + * + *
Please note that the Update API will *replace* and *override* the existing data content. + * + *
## Submit Update Request + * + *
To update your content you will use a `PUT` request. The request body will contain the new data that will + * replace the existing data. The `Content-Type` header will be set to the content type of the data, and the path + * will contain the `udid` of the data to be update. + * + *
For example, to update a collection of geofences that were previously uploaded using the Upload API, place the + * new geofence content in the request body. Set the `udid` parameter in the path to the `udid` of the data received + * previously in the upload API response. And set the `Content-Type` header to one of the following media types: + * + *
- `application/json` - `application/vnd.geo+json` - `application/octet-stream` + * + *
Here's a sample request body for updating a simple Geofence. It's represented as a circle geometry using a + * center point and a radius. The sample below is in `GeoJSON`: + * + *
```json { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", + * "coordinates": [-122.126986, 47.639754] }, "properties": { "geometryId": "001", "radius": 500 } }] } ``` + * + *
The previously uploaded geofence had a radius of 100m. The above request will update it to 500m. + * + *
The Data Update API performs a [long-running request](https://aka.ms/am-creator-lrt-v2). + * + *
## Data Update Limits + * + *
Please, be aware that currently every Azure Maps account has a [data storage + * limit](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). + * Once the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. + * You can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete-preview) to + * delete old/unused content and create space for new uploads. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
| description | String | No | The description to be given to the upload. |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
Request Body Schema + * + *
{@code
+ * Object
+ * }
+ *
+ * Response Body Schema + * + *
{@code
+ * {
+ * operationId: String
+ * status: String(NotStarted/Running/Failed/Succeeded)
+ * created: String
+ * error: {
+ * code: String
+ * message: String
+ * target: String
+ * details: [
+ * (recursive schema, see above)
+ * ]
+ * additionalInfo: [
+ * {
+ * type: String
+ * info: Object
+ * }
+ * ]
+ * }
+ * warning: (recursive schema, see warning above)
+ * }
+ * }
+ *
+ * @param udid The unique data id for the content. The `udid` must have been obtained from a successful [Data Upload
+ * API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview) call.
+ * @param updateContent The new content that will update/replace the previously uploaded content.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @param context The context to associate with this operation.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @return the response model for a Long-Running Operations API.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public MonoThe Data Update API allows the caller to update a previously uploaded data content. + * + *
You can use this API in a scenario like adding or removing geofences to or from an existing collection of + * geofences. Geofences are uploaded using the [Data Upload + * API](https://docs.microsoft.com/rest/api/maps/data-v2/upload-preview), for use in the [Azure Maps Geofencing + * Service](https://docs.microsoft.com/rest/api/maps/spatial). + * + *
Please note that the Update API will *replace* and *override* the existing data content. + * + *
## Submit Update Request + * + *
To update your content you will use a `PUT` request. The request body will contain the new data that will + * replace the existing data. The `Content-Type` header will be set to the content type of the data, and the path + * will contain the `udid` of the data to be update. + * + *
For example, to update a collection of geofences that were previously uploaded using the Upload API, place the + * new geofence content in the request body. Set the `udid` parameter in the path to the `udid` of the data received + * previously in the upload API response. And set the `Content-Type` header to one of the following media types: + * + *
- `application/json` - `application/vnd.geo+json` - `application/octet-stream` + * + *
Here's a sample request body for updating a simple Geofence. It's represented as a circle geometry using a + * center point and a radius. The sample below is in `GeoJSON`: + * + *
```json { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", + * "coordinates": [-122.126986, 47.639754] }, "properties": { "geometryId": "001", "radius": 500 } }] } ``` + * + *
The previously uploaded geofence had a radius of 100m. The above request will update it to 500m. + * + *
The Data Update API performs a [long-running request](https://aka.ms/am-creator-lrt-v2). + * + *
## Data Update Limits + * + *
Please, be aware that currently every Azure Maps account has a [data storage + * limit](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). + * Once the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. + * You can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete-preview) to + * delete old/unused content and create space for new uploads. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
| description | String | No | The description to be given to the upload. |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
Request Body Schema + * + *
{@code
+ * Object
+ * }
+ *
+ * Response Body Schema + * + *
{@code
+ * {
+ * operationId: String
+ * status: String(NotStarted/Running/Failed/Succeeded)
+ * created: String
+ * error: {
+ * code: String
+ * message: String
+ * target: String
+ * details: [
+ * (recursive schema, see above)
+ * ]
+ * additionalInfo: [
+ * {
+ * type: String
+ * info: Object
+ * }
+ * ]
+ * }
+ * warning: (recursive schema, see warning above)
+ * }
+ * }
+ *
+ * @param udid The unique data id for the content. The `udid` must have been obtained from a successful [Data Upload
+ * API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview) call.
+ * @param updateContent The new content that will update/replace the previously uploaded content.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @return the response model for a Long-Running Operations API.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public PollerFluxThe Data Update API allows the caller to update a previously uploaded data content. + * + *
You can use this API in a scenario like adding or removing geofences to or from an existing collection of + * geofences. Geofences are uploaded using the [Data Upload + * API](https://docs.microsoft.com/rest/api/maps/data-v2/upload-preview), for use in the [Azure Maps Geofencing + * Service](https://docs.microsoft.com/rest/api/maps/spatial). + * + *
Please note that the Update API will *replace* and *override* the existing data content. + * + *
## Submit Update Request + * + *
To update your content you will use a `PUT` request. The request body will contain the new data that will + * replace the existing data. The `Content-Type` header will be set to the content type of the data, and the path + * will contain the `udid` of the data to be update. + * + *
For example, to update a collection of geofences that were previously uploaded using the Upload API, place the + * new geofence content in the request body. Set the `udid` parameter in the path to the `udid` of the data received + * previously in the upload API response. And set the `Content-Type` header to one of the following media types: + * + *
- `application/json` - `application/vnd.geo+json` - `application/octet-stream` + * + *
Here's a sample request body for updating a simple Geofence. It's represented as a circle geometry using a + * center point and a radius. The sample below is in `GeoJSON`: + * + *
```json { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", + * "coordinates": [-122.126986, 47.639754] }, "properties": { "geometryId": "001", "radius": 500 } }] } ``` + * + *
The previously uploaded geofence had a radius of 100m. The above request will update it to 500m. + * + *
The Data Update API performs a [long-running request](https://aka.ms/am-creator-lrt-v2). + * + *
## Data Update Limits + * + *
Please, be aware that currently every Azure Maps account has a [data storage + * limit](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). + * Once the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. + * You can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete-preview) to + * delete old/unused content and create space for new uploads. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
| description | String | No | The description to be given to the upload. |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
Request Body Schema + * + *
{@code
+ * Object
+ * }
+ *
+ * Response Body Schema + * + *
{@code
+ * {
+ * operationId: String
+ * status: String(NotStarted/Running/Failed/Succeeded)
+ * created: String
+ * error: {
+ * code: String
+ * message: String
+ * target: String
+ * details: [
+ * (recursive schema, see above)
+ * ]
+ * additionalInfo: [
+ * {
+ * type: String
+ * info: Object
+ * }
+ * ]
+ * }
+ * warning: (recursive schema, see warning above)
+ * }
+ * }
+ *
+ * @param udid The unique data id for the content. The `udid` must have been obtained from a successful [Data Upload
+ * API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview) call.
+ * @param updateContent The new content that will update/replace the previously uploaded content.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @param context The context to associate with this operation.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @return the response model for a Long-Running Operations API.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public PollerFluxThe Data Update API allows the caller to update a previously uploaded data content. + * + *
You can use this API in a scenario like adding or removing geofences to or from an existing collection of + * geofences. Geofences are uploaded using the [Data Upload + * API](https://docs.microsoft.com/rest/api/maps/data-v2/upload-preview), for use in the [Azure Maps Geofencing + * Service](https://docs.microsoft.com/rest/api/maps/spatial). + * + *
Please note that the Update API will *replace* and *override* the existing data content. + * + *
## Submit Update Request + * + *
To update your content you will use a `PUT` request. The request body will contain the new data that will + * replace the existing data. The `Content-Type` header will be set to the content type of the data, and the path + * will contain the `udid` of the data to be update. + * + *
For example, to update a collection of geofences that were previously uploaded using the Upload API, place the + * new geofence content in the request body. Set the `udid` parameter in the path to the `udid` of the data received + * previously in the upload API response. And set the `Content-Type` header to one of the following media types: + * + *
- `application/json` - `application/vnd.geo+json` - `application/octet-stream` + * + *
Here's a sample request body for updating a simple Geofence. It's represented as a circle geometry using a + * center point and a radius. The sample below is in `GeoJSON`: + * + *
```json { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", + * "coordinates": [-122.126986, 47.639754] }, "properties": { "geometryId": "001", "radius": 500 } }] } ``` + * + *
The previously uploaded geofence had a radius of 100m. The above request will update it to 500m. + * + *
The Data Update API performs a [long-running request](https://aka.ms/am-creator-lrt-v2). + * + *
## Data Update Limits + * + *
Please, be aware that currently every Azure Maps account has a [data storage + * limit](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). + * Once the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. + * You can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete-preview) to + * delete old/unused content and create space for new uploads. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
| description | String | No | The description to be given to the upload. |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
Request Body Schema + * + *
{@code
+ * Object
+ * }
+ *
+ * Response Body Schema + * + *
{@code
+ * {
+ * operationId: String
+ * status: String(NotStarted/Running/Failed/Succeeded)
+ * created: String
+ * error: {
+ * code: String
+ * message: String
+ * target: String
+ * details: [
+ * (recursive schema, see above)
+ * ]
+ * additionalInfo: [
+ * {
+ * type: String
+ * info: Object
+ * }
+ * ]
+ * }
+ * warning: (recursive schema, see warning above)
+ * }
+ * }
+ *
+ * @param udid The unique data id for the content. The `udid` must have been obtained from a successful [Data Upload
+ * API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview) call.
+ * @param updateContent The new content that will update/replace the previously uploaded content.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @return the response model for a Long-Running Operations API.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPollerThis API allows the caller to download a previously uploaded data content.<br> You can use this API in a + * scenario like downloading an existing collection of geofences uploaded previously using the [Data Upload + * API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview) for use in our [Azure Maps Geofencing + * Service](https://docs.microsoft.com/en-us/rest/api/maps/spatial). + * + *
### Submit Download Request + * + *
To download your content you will use a `GET` request where the path will contain the `udid` of the data to + * download. Optionally, you can also pass in an `Accept` header to specify a preference for the `Content-Type` of + * the data response. <br> For example, to download a collection of geofences previously uploaded using the + * Upload API, set the `udid` parameter in the path to the `udid` of the data received previously in the upload API + * response and set the `Accept` header to either one of the following media types: + * + *
- `application/json` - `application/vnd.geo+json` - `application/octet-stream` + * + *
### Download Data Response + * + *
The Download API will return a HTTP `200 OK` response if the data resource with the passed-in `udid` is found, + * where the response body will contain the content of the data resource.<br> A HTTP `400 Bad Request` error + * response will be returned if the data resource with the passed-in `udid` is not found.<br> + * + *
Here's a sample response body for a simple geofence represented in `GeoJSON` uploaded previously using the + * Upload API: <br> + * + *
```json { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", + * "coordinates": [-122.126986, 47.639754] }, "properties": { "geometryId": "001", "radius": 500 } }] } ```. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
This API allows the caller to download a previously uploaded data content.<br> You can use this API in a + * scenario like downloading an existing collection of geofences uploaded previously using the [Data Upload + * API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview) for use in our [Azure Maps Geofencing + * Service](https://docs.microsoft.com/en-us/rest/api/maps/spatial). + * + *
### Submit Download Request + * + *
To download your content you will use a `GET` request where the path will contain the `udid` of the data to + * download. Optionally, you can also pass in an `Accept` header to specify a preference for the `Content-Type` of + * the data response. <br> For example, to download a collection of geofences previously uploaded using the + * Upload API, set the `udid` parameter in the path to the `udid` of the data received previously in the upload API + * response and set the `Accept` header to either one of the following media types: + * + *
- `application/json` - `application/vnd.geo+json` - `application/octet-stream` + * + *
### Download Data Response + * + *
The Download API will return a HTTP `200 OK` response if the data resource with the passed-in `udid` is found, + * where the response body will contain the content of the data resource.<br> A HTTP `400 Bad Request` error + * response will be returned if the data resource with the passed-in `udid` is not found.<br> + * + *
Here's a sample response body for a simple geofence represented in `GeoJSON` uploaded previously using the + * Upload API: <br> + * + *
```json { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", + * "coordinates": [-122.126986, 47.639754] }, "properties": { "geometryId": "001", "radius": 500 } }] } ```. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
This API allows the caller to download a previously uploaded data content.<br> You can use this API in a + * scenario like downloading an existing collection of geofences uploaded previously using the [Data Upload + * API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview) for use in our [Azure Maps Geofencing + * Service](https://docs.microsoft.com/en-us/rest/api/maps/spatial). + * + *
### Submit Download Request + * + *
To download your content you will use a `GET` request where the path will contain the `udid` of the data to + * download. Optionally, you can also pass in an `Accept` header to specify a preference for the `Content-Type` of + * the data response. <br> For example, to download a collection of geofences previously uploaded using the + * Upload API, set the `udid` parameter in the path to the `udid` of the data received previously in the upload API + * response and set the `Accept` header to either one of the following media types: + * + *
- `application/json` - `application/vnd.geo+json` - `application/octet-stream` + * + *
### Download Data Response + * + *
The Download API will return a HTTP `200 OK` response if the data resource with the passed-in `udid` is found, + * where the response body will contain the content of the data resource.<br> A HTTP `400 Bad Request` error + * response will be returned if the data resource with the passed-in `udid` is not found.<br> + * + *
Here's a sample response body for a simple geofence represented in `GeoJSON` uploaded previously using the + * Upload API: <br> + * + *
```json { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", + * "coordinates": [-122.126986, 47.639754] }, "properties": { "geometryId": "001", "radius": 500 } }] } ```. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
This API allows the caller to delete a previously uploaded data content.<br> You can use this API in a + * scenario like removing geofences previously uploaded using the [Data Upload + * API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview) for use in our [Azure Maps Geofencing + * Service](https://docs.microsoft.com/en-us/rest/api/maps/spatial). You can also use this API to delete old/unused + * uploaded content and create space for new content. + * + *
### Submit Delete Request + * + *
To delete your content you will issue a `DELETE` request where the path will contain the `udid` of the data to + * delete.<br> For example, to delete a collection of geofences previously uploaded using the Upload API, set + * the `udid` parameter in the path to the `udid` of the data received previously in the upload API response. + * + *
### Delete Data Response + * + *
The Data Delete API returns a HTTP `204 No Content` response with an empty body, if the data resource was + * deleted successfully.<br> A HTTP `400 Bad Request` error response will be returned if the data resource + * with the passed-in `udid` is not found. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
This API allows the caller to delete a previously uploaded data content.<br> You can use this API in a + * scenario like removing geofences previously uploaded using the [Data Upload + * API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview) for use in our [Azure Maps Geofencing + * Service](https://docs.microsoft.com/en-us/rest/api/maps/spatial). You can also use this API to delete old/unused + * uploaded content and create space for new content. + * + *
### Submit Delete Request + * + *
To delete your content you will issue a `DELETE` request where the path will contain the `udid` of the data to + * delete.<br> For example, to delete a collection of geofences previously uploaded using the Upload API, set + * the `udid` parameter in the path to the `udid` of the data received previously in the upload API response. + * + *
### Delete Data Response + * + *
The Data Delete API returns a HTTP `204 No Content` response with an empty body, if the data resource was + * deleted successfully.<br> A HTTP `400 Bad Request` error response will be returned if the data resource + * with the passed-in `udid` is not found. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
This API allows the caller to delete a previously uploaded data content.<br> You can use this API in a + * scenario like removing geofences previously uploaded using the [Data Upload + * API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview) for use in our [Azure Maps Geofencing + * Service](https://docs.microsoft.com/en-us/rest/api/maps/spatial). You can also use this API to delete old/unused + * uploaded content and create space for new content. + * + *
### Submit Delete Request + * + *
To delete your content you will issue a `DELETE` request where the path will contain the `udid` of the data to + * delete.<br> For example, to delete a collection of geofences previously uploaded using the Upload API, set + * the `udid` parameter in the path to the `udid` of the data received previously in the upload API response. + * + *
### Delete Data Response + * + *
The Data Delete API returns a HTTP `204 No Content` response with an empty body, if the data resource was + * deleted successfully.<br> A HTTP `400 Bad Request` error response will be returned if the data resource + * with the passed-in `udid` is not found. + * + *
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
Header Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| clientId | String | No | 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. |
Query Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
Response Body Schema + * + *
{@code
+ * {
+ * operationId: String
+ * status: String(NotStarted/Running/Failed/Succeeded)
+ * created: String
+ * error: {
+ * code: String
+ * message: String
+ * target: String
+ * details: [
+ * (recursive schema, see above)
+ * ]
+ * additionalInfo: [
+ * {
+ * type: String
+ * info: Object
+ * }
+ * ]
+ * }
+ * warning: (recursive schema, see warning above)
+ * }
+ * }
+ *
+ * @param operationId The ID to query the status for the data upload request.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @return the response model for a Long-Running Operations API.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public MonoQuery Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
Response Body Schema + * + *
{@code
+ * {
+ * operationId: String
+ * status: String(NotStarted/Running/Failed/Succeeded)
+ * created: String
+ * error: {
+ * code: String
+ * message: String
+ * target: String
+ * details: [
+ * (recursive schema, see above)
+ * ]
+ * additionalInfo: [
+ * {
+ * type: String
+ * info: Object
+ * }
+ * ]
+ * }
+ * warning: (recursive schema, see warning above)
+ * }
+ * }
+ *
+ * @param operationId The ID to query the status for the data upload request.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @param context The context to associate with this operation.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @return the response model for a Long-Running Operations API.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public MonoQuery Parameters + * + *
| Name | Type | Required | Description |
|---|---|---|---|
| apiVersion | String | Yes | Api Version |
Response Body Schema + * + *
{@code
+ * {
+ * operationId: String
+ * status: String(NotStarted/Running/Failed/Succeeded)
+ * created: String
+ * error: {
+ * code: String
+ * message: String
+ * target: String
+ * details: [
+ * (recursive schema, see above)
+ * ]
+ * additionalInfo: [
+ * {
+ * type: String
+ * info: Object
+ * }
+ * ]
+ * }
+ * warning: (recursive schema, see warning above)
+ * }
+ * }
+ *
+ * @param operationId The ID to query the status for the data upload request.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @return the response model for a Long-Running Operations API.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response