diff --git a/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/catalog/data_lake_analytics_catalog_management_client.py b/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/catalog/data_lake_analytics_catalog_management_client.py index 38400cfbc158..fa4e960228e0 100644 --- a/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/catalog/data_lake_analytics_catalog_management_client.py +++ b/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/catalog/data_lake_analytics_catalog_management_client.py @@ -10,7 +10,7 @@ # -------------------------------------------------------------------------- import warnings -from msrest.service_client import ServiceClient +from msrest.service_client import SDKClient from msrest import Serializer, Deserializer from msrestazure import AzureConfiguration from .version import VERSION @@ -49,7 +49,7 @@ def __init__( self.adla_catalog_dns_suffix = adla_catalog_dns_suffix -class DataLakeAnalyticsCatalogManagementClient(object): +class DataLakeAnalyticsCatalogManagementClient(SDKClient): """Creates an Azure Data Lake Analytics catalog client. :ivar config: Configuration for client. @@ -70,7 +70,7 @@ def __init__( self, credentials, adla_catalog_dns_suffix): self.config = DataLakeAnalyticsCatalogManagementClientConfiguration(credentials, adla_catalog_dns_suffix) - self._client = ServiceClient(self.config.credentials, self.config) + super(DataLakeAnalyticsCatalogManagementClient, self).__init__(self.config.credentials, self.config) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} self.api_version = '2016-11-01' diff --git a/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/catalog/models/__init__.py b/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/catalog/models/__init__.py index 789b21073c84..b10c0c1928b2 100644 --- a/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/catalog/models/__init__.py +++ b/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/catalog/models/__init__.py @@ -30,6 +30,7 @@ from .external_table_py3 import ExternalTable from .type_field_info_py3 import TypeFieldInfo from .usql_table_py3 import USqlTable + from .usql_table_fragment_py3 import USqlTableFragment from .usql_table_type_py3 import USqlTableType from .usql_view_py3 import USqlView from .usql_package_py3 import USqlPackage @@ -66,6 +67,7 @@ from .external_table import ExternalTable from .type_field_info import TypeFieldInfo from .usql_table import USqlTable + from .usql_table_fragment import USqlTableFragment from .usql_table_type import USqlTableType from .usql_view import USqlView from .usql_package import USqlPackage @@ -84,6 +86,7 @@ from .usql_credential_paged import USqlCredentialPaged from .usql_external_data_source_paged import USqlExternalDataSourcePaged from .usql_procedure_paged import USqlProcedurePaged +from .usql_table_fragment_paged import USqlTableFragmentPaged from .usql_table_paged import USqlTablePaged from .usql_table_statistics_paged import USqlTableStatisticsPaged from .usql_table_type_paged import USqlTableTypePaged @@ -123,6 +126,7 @@ 'ExternalTable', 'TypeFieldInfo', 'USqlTable', + 'USqlTableFragment', 'USqlTableType', 'USqlView', 'USqlPackage', @@ -141,6 +145,7 @@ 'USqlCredentialPaged', 'USqlExternalDataSourcePaged', 'USqlProcedurePaged', + 'USqlTableFragmentPaged', 'USqlTablePaged', 'USqlTableStatisticsPaged', 'USqlTableTypePaged', diff --git a/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/catalog/models/usql_table_fragment.py b/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/catalog/models/usql_table_fragment.py new file mode 100644 index 000000000000..565a1246737f --- /dev/null +++ b/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/catalog/models/usql_table_fragment.py @@ -0,0 +1,50 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class USqlTableFragment(Model): + """A Data Lake Analytics catalog U-SQL table fragment item. + + :param parent_id: the parent object Id of the table fragment. The parent + could be a table or table partition. + :type parent_id: str + :param fragment_id: the version of the catalog item. + :type fragment_id: str + :param index_id: the ordinal of the index which contains the table + fragment. + :type index_id: int + :param size: the data size of the table fragment in bytes. + :type size: long + :param row_count: the number of rows in the table fragment. + :type row_count: long + :param create_date: the creation time of the table fragment. + :type create_date: datetime + """ + + _attribute_map = { + 'parent_id': {'key': 'parentId', 'type': 'str'}, + 'fragment_id': {'key': 'fragmentId', 'type': 'str'}, + 'index_id': {'key': 'indexId', 'type': 'int'}, + 'size': {'key': 'size', 'type': 'long'}, + 'row_count': {'key': 'rowCount', 'type': 'long'}, + 'create_date': {'key': 'createDate', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(USqlTableFragment, self).__init__(**kwargs) + self.parent_id = kwargs.get('parent_id', None) + self.fragment_id = kwargs.get('fragment_id', None) + self.index_id = kwargs.get('index_id', None) + self.size = kwargs.get('size', None) + self.row_count = kwargs.get('row_count', None) + self.create_date = kwargs.get('create_date', None) diff --git a/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/catalog/models/usql_table_fragment_paged.py b/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/catalog/models/usql_table_fragment_paged.py new file mode 100644 index 000000000000..f0b3e7c68464 --- /dev/null +++ b/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/catalog/models/usql_table_fragment_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class USqlTableFragmentPaged(Paged): + """ + A paging container for iterating over a list of :class:`USqlTableFragment ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[USqlTableFragment]'} + } + + def __init__(self, *args, **kwargs): + + super(USqlTableFragmentPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/catalog/models/usql_table_fragment_py3.py b/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/catalog/models/usql_table_fragment_py3.py new file mode 100644 index 000000000000..f211e39638a4 --- /dev/null +++ b/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/catalog/models/usql_table_fragment_py3.py @@ -0,0 +1,50 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.serialization import Model + + +class USqlTableFragment(Model): + """A Data Lake Analytics catalog U-SQL table fragment item. + + :param parent_id: the parent object Id of the table fragment. The parent + could be a table or table partition. + :type parent_id: str + :param fragment_id: the version of the catalog item. + :type fragment_id: str + :param index_id: the ordinal of the index which contains the table + fragment. + :type index_id: int + :param size: the data size of the table fragment in bytes. + :type size: long + :param row_count: the number of rows in the table fragment. + :type row_count: long + :param create_date: the creation time of the table fragment. + :type create_date: datetime + """ + + _attribute_map = { + 'parent_id': {'key': 'parentId', 'type': 'str'}, + 'fragment_id': {'key': 'fragmentId', 'type': 'str'}, + 'index_id': {'key': 'indexId', 'type': 'int'}, + 'size': {'key': 'size', 'type': 'long'}, + 'row_count': {'key': 'rowCount', 'type': 'long'}, + 'create_date': {'key': 'createDate', 'type': 'iso-8601'}, + } + + def __init__(self, *, parent_id: str=None, fragment_id: str=None, index_id: int=None, size: int=None, row_count: int=None, create_date=None, **kwargs) -> None: + super(USqlTableFragment, self).__init__(**kwargs) + self.parent_id = parent_id + self.fragment_id = fragment_id + self.index_id = index_id + self.size = size + self.row_count = row_count + self.create_date = create_date diff --git a/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/catalog/operations/catalog_operations.py b/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/catalog/operations/catalog_operations.py index b39156cc2233..a59096fb5794 100644 --- a/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/catalog/operations/catalog_operations.py +++ b/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/catalog/operations/catalog_operations.py @@ -1199,6 +1199,120 @@ def get_table( return deserialized get_table.metadata = {'url': '/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}'} + def list_table_fragments( + self, account_name, database_name, schema_name, table_name, filter=None, top=None, skip=None, select=None, orderby=None, count=None, custom_headers=None, raw=False, **operation_config): + """Retrieves the list of table fragments from the Data Lake Analytics + catalog. + + :param account_name: The Azure Data Lake Analytics account upon which + to execute catalog operations. + :type account_name: str + :param database_name: The name of the database containing the table + fragments. + :type database_name: str + :param schema_name: The name of the schema containing the table + fragments. + :type schema_name: str + :param table_name: The name of the table containing the table + fragments. + :type table_name: str + :param filter: OData filter. Optional. + :type filter: str + :param top: The number of items to return. Optional. + :type top: int + :param skip: The number of items to skip over before returning + elements. Optional. + :type skip: int + :param select: OData Select statement. Limits the properties on each + entry to just those requested, e.g. + Categories?$select=CategoryName,Description. Optional. + :type select: str + :param orderby: OrderBy clause. One or more comma-separated + expressions with an optional "asc" (the default) or "desc" depending + on the order you'd like the values sorted, e.g. + Categories?$orderby=CategoryName desc. Optional. + :type orderby: str + :param count: The Boolean value of true or false to request a count of + the matching resources included with the resources in the response, + e.g. Categories?$count=true. Optional. + :type count: bool + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of USqlTableFragment + :rtype: + ~azure.mgmt.datalake.analytics.catalog.models.USqlTableFragmentPaged[~azure.mgmt.datalake.analytics.catalog.models.USqlTableFragment] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_table_fragments.metadata['url'] + path_format_arguments = { + 'accountName': self._serialize.url("account_name", account_name, 'str', skip_quote=True), + 'adlaCatalogDnsSuffix': self._serialize.url("self.config.adla_catalog_dns_suffix", self.config.adla_catalog_dns_suffix, 'str', skip_quote=True), + 'databaseName': self._serialize.url("database_name", database_name, 'str'), + 'schemaName': self._serialize.url("schema_name", schema_name, 'str'), + 'tableName': self._serialize.url("table_name", table_name, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + if filter is not None: + query_parameters['$filter'] = self._serialize.query("filter", filter, 'str') + if top is not None: + query_parameters['$top'] = self._serialize.query("top", top, 'int', minimum=1) + if skip is not None: + query_parameters['$skip'] = self._serialize.query("skip", skip, 'int', minimum=1) + if select is not None: + query_parameters['$select'] = self._serialize.query("select", select, 'str') + if orderby is not None: + query_parameters['$orderby'] = self._serialize.query("orderby", orderby, 'str') + if count is not None: + query_parameters['$count'] = self._serialize.query("count", count, 'bool') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.USqlTableFragmentPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.USqlTableFragmentPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_table_fragments.metadata = {'url': '/catalog/usql/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/tablefragments'} + def list_tables( self, account_name, database_name, schema_name, filter=None, top=None, skip=None, select=None, orderby=None, count=None, basic=False, custom_headers=None, raw=False, **operation_config): """Retrieves the list of tables from the Data Lake Analytics catalog. diff --git a/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/job/data_lake_analytics_job_management_client.py b/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/job/data_lake_analytics_job_management_client.py index e68f076cd078..c74fcbd0dc46 100644 --- a/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/job/data_lake_analytics_job_management_client.py +++ b/azure-mgmt-datalake-analytics/azure/mgmt/datalake/analytics/job/data_lake_analytics_job_management_client.py @@ -9,7 +9,7 @@ # regenerated. # -------------------------------------------------------------------------- -from msrest.service_client import ServiceClient +from msrest.service_client import SDKClient from msrest import Serializer, Deserializer from msrestazure import AzureConfiguration from .version import VERSION @@ -50,7 +50,7 @@ def __init__( self.adla_job_dns_suffix = adla_job_dns_suffix -class DataLakeAnalyticsJobManagementClient(object): +class DataLakeAnalyticsJobManagementClient(SDKClient): """Creates an Azure Data Lake Analytics job client. :ivar config: Configuration for client. @@ -75,7 +75,7 @@ def __init__( self, credentials, adla_job_dns_suffix): self.config = DataLakeAnalyticsJobManagementClientConfiguration(credentials, adla_job_dns_suffix) - self._client = ServiceClient(self.config.credentials, self.config) + super(DataLakeAnalyticsJobManagementClient, self).__init__(self.config.credentials, self.config) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} self.api_version = '2017-09-01-preview'