Megosztás a következőn keresztül:


Data Asset (Azure Data Catalog REST API)

Jegyzetkészítés

Egy objektum jegyzetekkel való ellátása.

etag A tulajdonság nem kötelező, és az egyidejűség-vezérléshez használatos.

POST https://api.azuredatacatalog.com/catalogs/{catalog_name}/views/{view_name}/{view_item_id}/{nested_view_name}?api-version={api-version}

Megjegyzés

Egyes HTTP-ügyfél-implementációk automatikusan újra kiadhatnak kéréseket a kiszolgálóról érkező 302-re válaszul, de általában eltávolítják az engedélyezési fejléceket a kérésből. Mivel az Engedélyezési fejléc szükséges az ADC felé irányuló kérésekhez, győződjön meg arról, hogy az Engedélyezési fejléc továbbra is meg van adva az ADC által megadott átirányítási helyre irányuló kérés ismételt kiadásakor. Az alábbiakban egy mintakód mutatja be ezt a .NET HttpWebRequest objektummal.

URI-paraméterek

Név Leírás Adattípus
catalog_name A katalógus neve vagy "DefaultCatalog" az alapértelmezett katalógus használatához. Sztring
view_name Adategység-nézet neve. Sztring
view_item_id Egy Nézetelem azonosítója. Sztring
nested_view_name Beágyazott nézetelem neve. Sztring
api-verzió Az API verziója. Sztring

Példa: Szakértők hozzáadása

POST https://api.azuredatacatalog.com/catalogs/DefaultCatalog/views/tables/042297b0...1be45ecd462a/experts?api-version=2016-03-30
Content-Type: application/json
x-ms-client-request-id:   13d9f885…a92d-8a9f8cf9f707
Authorization: Bearer eyJ0eX ... FWSXfwtQ

Törzs

{
    "etag": "59085E253E2244A59F664A2F447E675E",
    "properties":
    {
        "fromSourceSystem": false,
        "key": "22c3fa019b3945dc97143ebc3ad74cbf--1111fa019b3945dc97143ebc3ad74cbf",
        "expert":
        {
            "upn": "expert1@contoso.com",
            "objectId": "1111fa019b3945dc97143ebc3ad74cbf"
        },
    }
}

Példa: Szószedet-kifejezéscímkék hozzáadása

POST https://api.azuredatacatalog.com/catalogs/DefaultCatalog/views/tables/042297b0...1be45ecd462a/termTags?api-version=2016-03-30

Fejléc

Content-Type: application/json
x-ms-client-request-id:   13d9f885…a92d-8a9f8cf9f707
Authorization: Bearer eyJ0eX ... FWSXfwtQ

Törzs

{
    "etag": "59085E253E2244A59F664A2F447E675E",
    "properties":
    {
        "fromSourceSystem": false,
        "key": "22c3fa019b3945dc97143ebc3ad74cbf--1111fa019b3945dc97143ebc3ad74cbf",
        "termId": "https://test.catalog.com/catalogs/DefaultCatalog/glossaries/DefaultGlossary/terms/ed975c9d-2fb2-49a3-b6f2-222389cefd7e",
    }
}

Példa: Szószedetoszlop kifejezéscímkéinek hozzáadása

POST https://api.azuredatacatalog.com/catalogs/DefaultCatalog/views/tables/042297b0...1be45ecd462a/columnTermTags?api-version=2016-03-30

Fejléc

Content-Type: application/json
x-ms-client-request-id:   13d9f885…a92d-8a9f8cf9f707
Authorization: Bearer eyJ0eX ... FWSXfwtQ

Törzs

{
    "etag": "59085E253E2244A59F664A2F447E675E",
    "properties":
    {
        "fromSourceSystem": false,
        "key": "22c3fa019b3945dc97143ebc3ad74cbf--1111fa019b3945dc97143ebc3ad74cbf",
        "columnName": "Col1",
        "termId": "https://test.catalog.com/catalogs/DefaultCatalog/glossaries/DefaultGlossary/terms/ed975c9d-2fb2-49a3-b6f2-222389cefd7e",
    }
}

Reagálás

Állapotkódok

Code Description
201 Létrehozott. A kérés teljesült, és egy új jegyzet jött létre.
200 OK gombra. Egy meglévő jegyzet frissült.
412 Az előfeltétel nem sikerült. A kérelem legalább egy elem ETag eltérése miatt megszakadt.

Content-Type

application/json

Fejléc

HTTP/1.1 201 Created
x-ms-request-id: 72cf83c0…058f2b2a0c68
Location: https://api.azuredatacatalog.com/catalogs/DefaultCatalog/views/tables/042297b0...1be45ecd462a/experts/22c3fa019b3945dc97143ebc3ad74cbf-1111fa019b3945dc97143ebc3ad74cbf

Regisztráció vagy frissítés

Új adategységet regisztrál, vagy frissít egy meglévőt, ha már létezik ugyanazzal az identitással rendelkező adategység. Az elemek opcionálisan tartalmazhatnak ETag-értékeket, hogy optimista egyidejűség-vezérlést tegyenek lehetővé számukra.

Első lépések minta a GitHubon

Kérés

POST https://api.azuredatacatalog.com/catalogs/{catalog_name}/views/{view_name}?api-version={api-version}  

Megjegyzés

Egyes HTTP-ügyfél-implementációk automatikusan újra kiadhatnak kéréseket a kiszolgálóról érkező 302-re válaszul, de általában eltávolítják az engedélyezési fejléceket a kérésből. Mivel az Engedélyezési fejléc szükséges az ADC felé irányuló kérésekhez, győződjön meg arról, hogy az Engedélyezési fejléc továbbra is meg van adva az ADC által megadott átirányítási helyre irányuló kérés ismételt kiadásakor. Az alábbiakban egy mintakód mutatja be ezt a .NET HttpWebRequest objektummal.

URI-paraméterek

Név Leírás Adattípus
catalog_name A katalógus neve vagy "DefaultCatalog" az alapértelmezett katalógus használatához. Sztring
view_name Adategység-nézet neve. Sztring
api-verzió Az API verziója. Sztring

POST példa

POST https://api.azuredatacatalog.com/catalogs/DefaultCatalog/views/tables?api-version=2016-03-30  

Fejléc

Content-Type: application/json    
x-ms-client-request-id: 13c45c14…46ab469473f0    
Authorization: Bearer eyJ0eX ... FWSXfwtQ

Példa szövegtörzsre

{  
    "roles": [  
        {  
            "role": "Contributor",  
            "members": [  
                {  
                    "objectId": "00000000-0000-0000-0000-000000000201"  
                }  
            ]  
        }  
    ],  
    "properties": {  
        "fromSourceSystem": true,  
        "name": "Orders",  
        "dataSource": {  
            "sourceType": "SQL Server",  
            "objectType": "Table"  
        },  
        "dsl": {  
            "protocol": "tds",  
            "authentication": "windows",  
            "address": {  
                "server": "MyServer.contoso.com",  
                "database": "NORTHWND",  
                "schema": "dbo",  
                "object": "Orders"  
            }  
        },  
        "lastRegisteredBy": {  
            "upn": "user1@contoso.com",  
            "firstName": "User1FirstName",  
            "lastName": "User1LastName"  
        },  
        "containerId": "containers/3b2c00be-...-1f15367f54e4"  
    },  
    "annotations": {  
        "schema": {  
            "roles": [  
                {  
                    "role": "Contributor",  
                    "members": [  
                        {  
                            "objectId": "00000000-0000-0000-0000-000000000201"  
                        }  
                    ]  
                }  
            ],  
            "properties": {  
                "fromSourceSystem": true,  
                "columns": [  
                    {  
                        "name": "OrderID",  
                        "isNullable": false,  
                        "type": "int",  
                        "maxLength": 4,  
                        "precision": 10  
                    },  
                    {  
                        "name": "CustomerID",  
                        "isNullable": true,  
                        "type": "nchar",  
                        "maxLength": 10,  
                        "precision": 0  
                    },  
                    {  
                        "name": "EmployeeID",  
                        "isNullable": true,  
                        "type": "int",  
                        "maxLength": 4,  
                        "precision": 10  
                    },  
                    {  
                        "name": "OrderDate",  
                        "isNullable": true,  
                        "type": "datetime",  
                        "maxLength": 8,  
                        "precision": 23  
                    }  
                ]  
            }  
        }  
    }  
}  

Reagálás

Állapotkódok

Code Description
200 OK gombra. Egy meglévő objektum frissült.
201 Létrehozott. A kérés teljesült, és létrejött egy új objektum.
412 Az előfeltétel nem sikerült. A kérelem legalább egy elem ETag eltérése miatt megszakadt.

Content-Type

application/json

Fejléc

HTTP/1.1 201 Created  
x-ms-request-id: 72cf83c0…058f2b2a0c68  
Location: https://e2255231-6dd3-1a0d-a6d8-7fc96dd780c2-mycatalog.api.azuredatacatalog.com/catalogs/MyCatalog/views/tables/042297b0…1be45ecd462a  

Támogatott adatforrások

A jelenleg támogatott adatforrás-objektumok listájáért tekintse meg az Azure Data Catalog támogatott adatforrásokat.

Példa

Ez a példa bemutatja, hogyan kérhet le egy Azure AD hozzáférési jogkivonatot, és hogyan végezhet regisztrálási műveletet.

Megjegyzés Ez a példa a DefaultCatalog kulcsszót használja a felhasználó alapértelmezett katalógusának frissítéséhez. Alternatív megoldásként megadhatja a katalógus tényleges nevét. A katalógus nevének megkereséséhez jelentkezzen be az Azure Data Catalog, és válassza a Felhasználó lehetőséget. Ekkor megjelenik a katalógus neve.

using System;  
using System.Net;  
using Microsoft.IdentityModel.Clients.ActiveDirectory;  
using System.IO;  

...  

//To learn how to register a client app and get a Client ID,  
// see https://msdn.microsoft.com/library/azure/mt403303.aspx#clientID  
static string clientIDFromAzureAppRegistration = "{clientID}";  

static void Main(string[] args)  
{  
    //Note: This example uses the "DefaultCatalog" keyword to update the user's default catalog.  You may alternately  
    //specify the actual catalog name.  
    string catalogName = "DefaultCatalog";  

    string registerJson = Register(catalogName, OrdersJsonWithEveryoneContributor());  

    Console.ReadLine();  
}  

static AuthenticationResult AccessToken()  
{  
    //Get access token:  
    // To call a Data Catalog REST operation, create an instance of AuthenticationContext and call AcquireToken  
    // AuthenticationContext is part of the Active Directory Authentication Library NuGet package  
    // To install the Active Directory Authentication Library NuGet package in Visual Studio,  
    //  run "Install-Package Microsoft.IdentityModel.Clients.ActiveDirectory" from the nuget Package Manager Console.  

    //Resource Uri for Data Catalog API  
    string resourceUri = "https://api.azuredatacatalog.com";  

    //To learn how to register a client app and get a Client ID, see https://msdn.microsoft.com/library/azure/mt403303.aspx#clientID     
    string clientId = clientIDFromAzureAppRegistration;  

    //A redirect uri gives AAD more details about the specific application that it will authenticate.  
    //Since a client app does not have an external service to redirect to, this Uri is the standard placeholder for a client app.  
    string redirectUri = "https://login.live.com/oauth20_desktop.srf";  

    // Create an instance of AuthenticationContext to acquire an Azure access token  
    // OAuth2 authority Uri  
    string authorityUri = "https://login.windows.net/common/oauth2/authorize";  
    AuthenticationContext authContext = new AuthenticationContext(authorityUri);  

    // Call AcquireToken to get an Azure token from Azure Active Directory token issuance endpoint  
    //  AcquireToken takes a Client Id that Azure AD creates when you register your client app.  
    return authContext.AcquireToken(resourceUri, clientId, new Uri(redirectUri), PromptBehavior.RefreshSession);  
}  

static string Register(string catalogName, string json)  
{  
    string location = string.Empty;  
    string fullUri = string.Format("https://api.azuredatacatalog.com/catalogs/{0}/views/{1}?api-version=2016-03-30", catalogName, viewType);  

    //Create a POST WebRequest as a Json content type  
    HttpWebRequest request = System.Net.WebRequest.Create(fullUri) as System.Net.HttpWebRequest;  
    request.KeepAlive = true;  
    request.Method = "POST";  
    try  
    {  
        var response = SetRequestAndGetResponse(request, json);  

        //Get the Response header which contains the data asset ID  
        //The format is: tables/{data asset ID}  
        location = httpWebResponse.Headers["Location"];  
    }  
    catch (WebException ex)  
    {  
        Console.WriteLine(ex.Message);  
        Console.WriteLine(ex.Status);  
        if (ex.Response != null)  
        {  
            // can use ex.Response.Status, .StatusDescription  
            if (ex.Response.ContentLength != 0)  
            {  
                using (var stream = ex.Response.GetResponseStream())  
                {  
                    using (var reader = new StreamReader(stream))  
                    {  
                        Console.WriteLine(reader.ReadToEnd());  
                    }  
                }  
            }  
        }  
        location = null;  
    }  
    return location;  
}  

static HttpWebResponse SetRequestAndGetResponse(HttpWebRequest request, string payload = null)  
{  
    while (true)  
    {  
        //To authorize the operation call, you need an access token which is part of the Authorization header  
        request.Headers.Add("Authorization", AccessToken().CreateAuthorizationHeader());  
        //Set to false to be able to intercept redirects  
        request.AllowAutoRedirect = false;  

        if (!string.IsNullOrEmpty(payload))  
        {  
            byte[] byteArray = Encoding.UTF8.GetBytes(payload);  
            request.ContentLength = byteArray.Length;  
            request.ContentType = "application/json";  
            //Write JSON byte[] into a Stream  
            request.GetRequestStream().Write(byteArray, 0, byteArray.Length);  
        }  
        else  
        {  
            request.ContentLength = 0;  
        }  

        HttpWebResponse response = request.GetResponse() as HttpWebResponse;  

        // Requests to **Azure Data Catalog (ADC)** may return an HTTP 302 response to indicate  
        // redirection to a different endpoint. In response to a 302, the caller must re-issue  
        // the request to the URL specified by the Location response header.  
        if (response.StatusCode == HttpStatusCode.Redirect)  
        {  
            string redirectedUrl = response.Headers["Location"];  
            HttpWebRequest nextRequest = WebRequest.Create(redirectedUrl) as HttpWebRequest;  
            nextRequest.Method = request.Method;  
            request = nextRequest;  
        }  
        else  
        {  
            return response;  
            break;  
        }  
    }  
}  

static string OrdersJsonWithEveryoneContributor()  
{  
    return @"  
    {  
        'roles': [  
            {  
                'role': 'Contributor',  
                'members': [  
                    {  
                        'objectId': '00000000-0000-0000-0000-000000000201'  
                    }  
                ]  
            }  
        ],  
        'properties': {  
            'fromSourceSystem': 'true',  
            'name': 'Orders',  
            'dataSource': {  
                'sourceType': 'SQL Server',  
                'objectType': 'Table'  
            },  
            'dsl': {  
                'protocol': 'tds',  
                'authentication': 'windows',  
                'address': {  
                    'server': 'MyServer.contoso.com',  
                    'database': 'NORTHWND',  
                    'schema': 'dbo',  
                    'object': 'Orders'  
                }  
            },  
            'lastRegisteredBy': {  
                'upn': 'user1@contoso.com',  
                'firstName': 'User1FirstName',  
                'lastName': 'User1LastName'  
            },  
            'containerId': 'containers/a9f8a2e1-d826-7c0c-b186-c7f4334a6b4f'  
        },  
        'annotations': {  
            'schema': {  
                'roles': [  
                    {  
                        'role': 'Contributor',  
                        'members': [  
                            {  
                                'objectId': '00000000-0000-0000-0000-000000000201'  
                            }  
                        ]  
                    }  
                ],  
                'properties': {  
                    'fromSourceSystem': 'true',  
                    'columns': [  
                        {  
                            'name': 'OrderID',  
                            'isNullable': false,  
                            'type': 'int',  
                            'maxLength': 4,  
                            'precision': 10  
                        },  
                        {  
                            'name': 'CustomerID',  
                            'isNullable': true,  
                            'type': 'nchar',  
                            'maxLength': 10,  
                            'precision': 0  
                        },  
                        {  
                            'name': 'EmployeeID',  
                            'isNullable': true,  
                            'type': 'int',  
                            'maxLength': 4,  
                            'precision': 10  
                        },  
                        {  
                            'name': 'OrderDate',  
                            'isNullable': true,  
                            'type': 'datetime',  
                            'maxLength': 8,  
                            'precision': 23  
                        }  
                    ]  
                }  
            }  
        }  
    }";  
}  

Jegyzetekkel való ismerkedés

Lekéri az adategységet széljegyzetekkel.

Támogatja az opcionális Accept fejlécparamétert adc.metadata , amely eTageket kér a válaszban az összes elemhez. Az ETags válaszként való lekéréséhez használjon minimális vagy teljes értékeket. Az érvényes értékek a következők: none, minimalés full.

Kérés

GET https://api.azuredatacatalog.com/catalogs/{catalog_name}/views/{view_name}/{view_item_id}?api-version={api-version}  

Megjegyzés

Egyes HTTP-ügyfél-implementációk automatikusan újra kibocsáthatják a kéréseket a kiszolgáló 302-re válaszul, de általában eltávolítják az engedélyezési fejléceket a kérelemből. Mivel az Engedélyezési fejléc szükséges az ADC-hez irányuló kérések teljesítéséhez, meg kell győződnie arról, hogy az Engedélyezési fejléc továbbra is meg van adva az ADC által megadott átirányítási helyre irányuló kérés ismételt kiadásakor. Az alábbiakban egy mintakód mutatja be ezt a .NET HttpWebRequest objektummal.

Uri-paraméterek

Név Leírás Adattípus
catalog_name A katalógus neve vagy "DefaultCatalog" az alapértelmezett katalógus használatához. Sztring
view_name Adategység-nézet neve. Sztring
view_item_id Egy Nézetelem azonosítója. Sztring
api-verzió Az API-verzió. Sztring

GET példa

GET https://api.azuredatacatalog.com/catalogs/DefaultCatalog/views/tables/042297b...1be45ecd462a?api-version=2016-03-30  

Fejléc

x-ms-client-request-id: 8091955f…8f5b4c0acede    
Authorization:  Bearer eXJ0eyAiOiJKV1QiLCJhbGciOi...    
Accept: application/json;adc.metadata=full  

Reagálás

Állapotkódok

Code Description
200 OK gombra. A válasz a kért eszköznézetet tartalmazza.

Content-Type

application/json

Fejléc

x-ms-request-id: 1095e88c…caffabd6dabd  
Content-Type:   application/json; charset=utf-8

Törzs

{  
    "id": "https://e2255231-6dd3-1a0d-a6d8-7fc96dd780c2-mycatalog.api.azuredatacatalog.com/catalogs/MyCatalog/views/tables/042297b0-...-1be45ecd462a",  
    "etag": "1234567891",  
    "timestamp": "2015-05-15T03:48:39.2425547",  
    "roles": [  
        {  
            "role": "Contributor",  
            "members": [  
                {  
                    "objectId": "00000000-0000-0000-0000-000000000201"  
                }  
            ]  
        }  
    ],  
    "effectiveRights": [  
        "Read",  
        "Delete",  
        "ChangeOwnership",  
        "ChangeVisibility",  
        "ViewPermissions",  
        "ViewRoles",  
        "Update",  
        "TakeOwnership"  
    ],  
    "properties": {  
        "fromSourceSystem": true,  
    "name": "Orders",  
    "dataSource": {  
        "sourceType": "SQL Server",  
            "objectType": "Table"  
    },  
    "dsl": {  
        "protocol": "tds",  
        "authentication": "windows",  
        "address": {  
            "server": "MyServer.contoso.com",  
            "database": "NORTHWND",  
            "schema": "dbo",  
            "object": "Orders"  
        }  
    },  
    "lastRegisteredBy": {  
        "upn": "user1@contoso.com",  
        "firstName": "User1FirstName",  
        "lastName": "User1LastName"  
    },  
        "containerId": "containers/3b2c00be-...-1f15367f54e4"  
    },  
    "annotations": {  
        "schema": {  
            "id": "https://e2255231-6dd3-1a0d-a6d8-7fc96dd780c2-mycatalog.api.azuredatacatalog.com/catalogs/MyCatalog/views/tables/042297b0-...-1be45ecd462a/schema",  
            "etag": "1234567892",  
            "timestamp": "2015-05-15T03:48:39.2425547",  
            "roles": [  
                {  
                    "role": "Contributor",  
                    "members": [  
        {  
                            "objectId": "00000000-0000-0000-0000-000000000201"  
                        }  
                    ]  
                }  
            ],  
            "effectiveRights": [  
                    "Read",  
                    "Delete",  
                    "ViewRoles",  
                    "Update"  
                ],  
            "properties": {  
                "fromSourceSystem": true,  
            "columns": [  
                {  
                    "name": "OrderID",  
                    "isNullable": false,  
                    "type": "int",  
                    "maxLength": 4,  
                    "precision": 10  
                },  
                {  
                    "name": "CustomerID",  
                    "isNullable": true,  
                    "type": "nchar",  
                    "maxLength": 10,  
                    "precision": 0  
                },  
                {  
                    "name": "EmployeeID",  
                    "isNullable": true,  
                    "type": "int",  
                    "maxLength": 4,  
                    "precision": 10  
                },  
                {  
                    "name": "OrderDate",  
                    "isNullable": true,  
                    "type": "datetime",  
                    "maxLength": 8,  
                    "precision": 23  
                }  
                ]  
        }  
        },  
    "experts": [  
        {  
                "id": "https://e2255231-6dd3-1a0d-a6d8-7fc96dd780c2-mycatalog.api.azuredatacatalog.com/catalogs/MyCatalog/views/tables/042297b0-...-1be45ecd462a/experts/22c3fa019b3945dc97143ebc3ad74cbf-1111fa019b3945dc97143ebc3ad74cbf",  
                "etag": "1234567893",  
                "timestamp": "2015-05-15T03:48:39.2425547",  
                "roles": [  
                    {  
                        "role": "Contributor",  
                        "members": [  
                            {  
                                "objectId": "22c3fa01-9b39-45dc-9714-3ebc3ad74cbf"  
                            }  
                        ]  
                    }  
                ],  
                "effectiveRights": [  
                    "Read",  
                    "Delete",  
                    "ViewRoles",  
                    "Update"  
                ],  
                "properties": {  
                    "fromSourceSystem": false,  
                    "key": "22c3fa019b3945dc97143ebc3ad74cbf-1111fa019b3945dc97143ebc3ad74cbf",  
                    "expert": {  
                        "upn": "expert1@contoso.com",  
                        "objectId": "1111fa019b3945dc97143ebc3ad74cbf"  
                    }  
                }  
        }  
    ]  
}  
}

Adategységek között keres a megadott keresési kifejezések alapján.

Kérés

GET https://api.azuredatacatalog.com/catalogs/{catalog_name}/search/search?api-version={api-version}&searchTerms={search_terms}&facets={facet_terms}&startPage={start_page}&count={count}&view={data_source}  

Megjegyzés

Egyes HTTP-ügyfél-implementációk automatikusan újra kibocsáthatják a kéréseket a kiszolgáló 302-re válaszul, de általában eltávolítják az engedélyezési fejléceket a kérelemből. Mivel az Engedélyezési fejléc szükséges az ADC-hez irányuló kérések teljesítéséhez, meg kell győződnie arról, hogy az Engedélyezési fejléc továbbra is meg van adva az ADC által megadott átirányítási helyre irányuló kérés ismételt kiadásakor. Az alábbiakban egy mintakód mutatja be ezt a .NET HttpWebRequest objektummal.

Uri-paraméterek

Név Leírás Adattípus
catalog_name A katalógus neve vagy "DefaultCatalog" az alapértelmezett katalógus használatához. Sztring
api-verzió Az API-verzió. Sztring

Lekérdezési paraméterek

Név Leírás Adattípus
searchTerms Kötelező. Keresési feltételek. Sztring
Arcát Nem kötelező: Vesszővel elválasztott mezőnevek az eredmények alapján. Sztring
Startpage A lapozáshoz használt eredmények nem kötelező kezdőoldala a darabszám paraméterrel együtt. Az engedélyezett értékek 0-nál nagyobbak, ha a rendszer 0-nál kisebb vagy egyenlő értéket ad át, a rendszer 400-nál hibakódú HTTP-hibát ad vissza. Sztring
count Nem kötelező: Egy oldalon kereshető találatok száma (lapozás). Az alapértelmezett érték 10. Az engedélyezett értékek 1-től 100-ig terjedő intervallumban érhetők el. Ha a tartományon kívüli értéket ad át, a rendszer 400-os hibakódú HTTP-hibát ad vissza. A keresési eredmények következő részének lekéréséhez ismételje meg a kérést, de növelje a startPage értékét 1-gyel. Egész szám
Nézd Nem kötelező: Lekéri az ügyfél által megtekinteni kívánt nézetet, amely jelenleg az egyetlen támogatott lehetőség a DataSource-ban. Sztring

GET példa

https://api.azuredatacatalog.com/catalogs/DefaultCatalog/search/search?searchTerms=My_Server&count=10&startPage=1&api-version=2016-03-30

Fejléc

x-ms-client-request-id: 546f053a…a1612f3a3d69  
Authorization:  Bearer eXJ0eyAiOiJKV1QiLCJhbGciOi...  

Reagálás

Állapotkódok

Code Description
200 OK gombra. Sikeres művelet a keresési eredménnyel.

Content-Type

application/json

Fejléc

x-ms-request-id: 0ab2e798…088223257ad2  
Content-Length:  3926

Törzs

{  
"query": {  
    "id": "bd067219...4ba9a56e204b",  
    "searchTerms": "My_server",  
    "startIndex": 1,  
    "startPage": 1,  
    "count": 1,  
    "id": "bd067219...4ba9a56e204b",  
    "totalResults": 508,  
    "startIndex": 1,  
    "itemsPerPage": 1,  
    "results": [{  
    "updated": "0001-01-01T00:00:00",  
    "content": {  
          "properties": {  
            "fromSourceSystem": true,  
            "name": "MyTable",  
            "dsl": {  
              "protocol": "tds",  
              "authentication": "windows",  
              "address": {  
                "server": "My_SERVER",  
                "database": "my_DB",  
                "schema": "my_SCHEMA",  
                "object": "my_TABLE"  
              }  
            },  
            "dataSource": {  
              "sourceType": "SQL Server",  
              "objectType": "Table"  
            },  
            "lastRegisteredBy": {  
              "upn": "user1@contoso.com",  
              "firstName": "User1FirstName",  
              "lastName": "User1LastName"  
            },  
            "containerId": "https://e2255231-6dd3-1a0d-a6d8-7fc96dd780c2-mycatalog.api.azuredatacatalog.com/catalogs/MyCatalog/views/containers/a9f8a2e1-d826-7c0c-b186-c7f4334a6b4f"  
          },  
          "id": "https://e2255231-6dd3-1a0d-a6d8-7fc96dd780c2-mycatalog.api.azuredatacatalog.com/catalogs/MyCatalog/views/tables/08d91f0d-26a0-1e8e-ab3b-d463ac3e62cb",  
          "type": "Microsoft.DataSource.Table.1",  
          "timestamp": "2016-03-15T23:20:12.5423855",  
          "annotations": {  
            "schema": {  
              "properties": {  
                "fromSourceSystem": true,  
                "columns": [  
                  {  
                    "name": "ID",  
                    "type": "int",  
                    "maxLength": 4,  
                    "precision": 10,  
                    "isNullable": false  
                  },  
                  {  
                    "name": "Column2",  
                    "type": "nchar",  
                    "maxLength": 10,  
                    "precision": 0,  
                    "isNullable": true  
                  }  
                ]  
              },  
              "id": "https://e2255231-6dd3-1a0d-a6d8-7fc96dd780c2-mycatalog.api.azuredatacatalog.com/catalogs/MyCatalog/views/tables/08d91f0d-26a0-1e8e-ab3b-d463ac3e62cb/schema",  
              "type": "Microsoft.DataSource.Schema.1",  
              "timestamp": "2016-03-15T23:20:12.5423855",  
              "roles": [  
                {  
                  "role": "Contributor",  
                  "members": [  
                    {  
                      "objectId": "00000000-0000-0000-0000-000000000201"  
                    }  
                  ]  
                }  
              ],  
              "effectiveRights": [  
                "Read",  
                "Delete",  
                "ViewRoles",  
                "Update"  
              ]  
            }  
          },  
          "roles": [  
            {  
              "role": "Contributor",  
              "members": [  
                {  
                  "objectId": "00000000-0000-0000-0000-000000000201"  
                }  
              ]  
            }  
          ],  
          "effectiveRights": [  
            "Read",  
            "Delete",  
            "ChangeOwnership",  
            "ChangeVisibility",  
            "ViewPermissions",  
            "ViewRoles",  
            "Update",  
            "TakeOwnership"  
          ]  
        },  
    "hitProperties": [{  
        "fieldPath": "properties.dsl.address.server",  
        "highlightDetail": [{  
            "highlightedWords": [{  
                "word": "My_sERVER"  
            }],  
            "highlightedFragment": "My_sERVER"  
        }]  
    },  
    {  
        "fieldPath": "properties.dataSource.sourceType",  
        "highlightDetail": [{  
            "highlightedWords": [{  
                "word": "Server"  
            }],  
            "highlightedFragment": "SQL Server"  
        }]  
    },  
    {  
        "fieldPath": "properties.dsl.address.object",  
        "highlightDetail": [{  
            "highlightedWords": [{  
                "word": "my"  
            }],  
            "highlightedFragment": "my_TABLE"  
        }]  
    },  
    {  
        "fieldPath": "properties.dsl.address.database",  
        "highlightDetail": [{  
            "highlightedWords": [{  
                "word": "my"  
            }],  
            "highlightedFragment": "my_DB"  
        }]  
    },  
    {  
        "fieldPath": "properties.dsl.address.schema",  
        "highlightDetail": [{  
            "highlightedWords": [{  
                "word": "my"  
            }],  
            "highlightedFragment": "my_SCHEMA"  
        }]  
    }]  
}]  
}

Példa

Ez a példa bemutatja, hogyan szerezhet be Azure AD hozzáférési jogkivonatot, és hogyan hajthat végre keresési műveletet.

Megjegyzés A katalógus nevének megkereséséhez jelentkezzen be az Azure Data Catalog, és válassza a Felhasználó lehetőséget. Ekkor megjelenik a katalógus neve.

using System;  
using System.Net;  
using Microsoft.IdentityModel.Clients.ActiveDirectory;  
using System.IO;  

...  

//To learn how to register a client app and get a Client ID,  
// see https://msdn.microsoft.com/library/azure/mt403303.aspx#clientID  
static string clientIDFromAzureAppRegistration = "{clientID}";  

static void Main(string[] args)  
{  
    //Note: This example uses the "DefaultCatalog" keyword to update the user's default catalog.  You may alternately  
    //specify the actual catalog name.  
    string catalogName = "DefaultCatalog";  

    //Search everything  
    string searchTerm = string.Empty;  

    string searchJson = Search(catalogName, searchTerm);  
    //Other examples "tags:=Sales", "upn:{username}"  

    Console.WriteLine(searchJson);  
}  

static AuthenticationResult AccessToken()  
{  
    //Get access token:  
    // To call a Data Catalog REST operation, create an instance of AuthenticationContext and call AcquireToken  
    // AuthenticationContext is part of the Active Directory Authentication Library NuGet package  
    // To install the Active Directory Authentication Library NuGet package in Visual Studio,  
    //  run "Install-Package Microsoft.IdentityModel.Clients.ActiveDirectory" from the nuget Package Manager Console.  

    //Resource Uri for Data Catalog API  
    string resourceUri = "https://api.azuredatacatalog.com";  

    //To learn how to register a client app and get a Client ID, see https://msdn.microsoft.com/library/azure/mt403303.aspx#clientID    
    string clientId = clientIDFromAzureAppRegistration;  

    //A redirect uri gives AAD more details about the specific application that it will authenticate.  
    //Since a client app does not have an external service to redirect to, this Uri is the standard placeholder for a client app.  
    string redirectUri = "https://login.live.com/oauth20_desktop.srf";  

    // Create an instance of AuthenticationContext to acquire an Azure access token  
    // OAuth2 authority Uri  
    string authorityUri = "https://login.windows.net/common/oauth2/authorize";  
    AuthenticationContext authContext = new AuthenticationContext(authorityUri);  

    // Call AcquireToken to get an Azure token from Azure Active Directory token issuance endpoint  
    //  AcquireToken takes a Client Id that Azure AD creates when you register your client app.  
    return authContext.AcquireToken(resourceUri, clientId, new Uri(redirectUri), PromptBehavior.RefreshSession);  
}  

static string Search(string catalogName, string searchTerm)  
{  
    string responseContent = string.Empty;  

    //NOTE: To find the Catalog Name, sign into Azure Data Catalog, and choose User. You will see a list of Catalog names.            
    string fullUri =  
        string.Format("https://api.azuredatacatalog.com/catalogs/{0}/search/search?searchTerms={1}&count=10&api-version=2016-03-30", catalogName, searchTerm);  

    //Create a GET WebRequest  
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(fullUri);  
    request.Method = "GET";  

    try  
    {  
        //Get HttpWebResponse from GET request  
        using (HttpWebResponse httpResponse = SetRequestAndGetResponse(request))  
        {  
            //Get StreamReader that holds the response stream  
            using (StreamReader reader = new System.IO.StreamReader(httpResponse.GetResponseStream()))  
            {  
                responseContent = reader.ReadToEnd();  
            }  
        }  
    }  
    catch (WebException ex)  
    {  
        Console.WriteLine(ex.Message);  
        Console.WriteLine(ex.Status);  
        if (ex.Response != null)  
        {  
            // can use ex.Response.Status, .StatusDescription  
            if (ex.Response.ContentLength != 0)  
            {  
                using (var stream = ex.Response.GetResponseStream())  
                {  
                    using (var reader = new StreamReader(stream))  
                    {  
                        Console.WriteLine(reader.ReadToEnd());  
                    }  
                }  
            }  
        }  
        return null;  
    }  

    return responseContent;  
}  

static HttpWebResponse SetRequestAndGetResponse(HttpWebRequest request, string payload = null)  
{  
    while (true)  
    {  
        //To authorize the operation call, you need an access token which is part of the Authorization header  
        request.Headers.Add("Authorization", AccessToken().CreateAuthorizationHeader());  
        //Set to false to be able to intercept redirects  
        request.AllowAutoRedirect = false;  

        if (!string.IsNullOrEmpty(payload))  
        {  
            byte[] byteArray = Encoding.UTF8.GetBytes(payload);  
            request.ContentLength = byteArray.Length;  
            request.ContentType = "application/json";  
            //Write JSON byte[] into a Stream  
            request.GetRequestStream().Write(byteArray, 0, byteArray.Length);  
        }  
        else  
        {  
            request.ContentLength = 0;  
        }  

        HttpWebResponse response = request.GetResponse() as HttpWebResponse;  

        // Requests to **Azure Data Catalog (ADC)** may return an HTTP 302 response to indicate  
        // redirection to a different endpoint. In response to a 302, the caller must re-issue  
        // the request to the URL specified by the Location response header.    
        if (response.StatusCode == HttpStatusCode.Redirect)  
        {  
            string redirectedUrl = response.Headers["Location"];  
            HttpWebRequest nextRequest = WebRequest.Create(redirectedUrl) as HttpWebRequest;  
            nextRequest.Method = request.Method;  
            request = nextRequest;  
        }  
        else  
        {  
            return response;  
            break;  
        }  
    }  
}

Törlés

Törli az adategységet és a hozzá csatolt összes széljegyzetet (ha van ilyen).

Támogatja az opcionális If-Match fejlécet az optimista egyidejűség-vezérléshez. Csak a gyenge formátum, például a W/"123456789" támogatott.

Kérés

DELETE https://api.azuredatacatalog.com/catalogs/{catalog_name}/views/{view_name}/{view_item_id}?api-version={api-version}  

Megjegyzés

Egyes HTTP-ügyfél-implementációk automatikusan újra kiadhatnak kéréseket a kiszolgálóról érkező 302-re válaszul, de általában eltávolítják az engedélyezési fejléceket a kérésből. Mivel az Engedélyezési fejléc szükséges az ADC felé irányuló kérésekhez, győződjön meg arról, hogy az Engedélyezési fejléc továbbra is meg van adva az ADC által megadott átirányítási helyre irányuló kérés ismételt kiadásakor. Az alábbiakban egy mintakód mutatja be ezt a .NET HttpWebRequest objektummal.

URI-paraméterek

Név Leírás Adattípus
catalog_name A katalógus neve vagy "DefaultCatalog" az alapértelmezett katalógus használatához. Sztring
view_name Adategység-nézet neve. Sztring
view_item_id Egy Nézetelem azonosítója. Sztring
api-verzió Az API verziója. Sztring

DELETE példa

DELETE https://api.azuredatacatalog.com/catalogs/DefaultCatalog/views/tables/042297b0...1be45ecd462a?api-version=2016-03-30

Fejléc

x-ms-client-request-id: 59b68a46…46dc3ec8dcb8    
Authorization:  Bearer eXJ0eyAiOiJKV1QiLCJhbGciOi...    
If-Match: W/"123456789"  

Reagálás

Állapotkódok

Code Description
204 NoContent
MEGJEGYZÉS: A törlési művelet szemantikai értéke "törlés, ha létezik", ezért ha az objektum vagy a széljegyzet nem létezik, a rendszer a 204 -os (NoContent) sikeres állapotkódot adja vissza.
412 Az előfeltétel nem sikerült. A kérés az ETag eltérése miatt megszakadt.

Content-Type

application/json

Fejléc

x-ms-request-id: 664f86cf…5e512fa78e92  

Jegyzet frissítése

Frissítések egy jegyzetet.

Az elemek opcionálisan tartalmazhatnak ETag-értékeket, hogy optimista egyidejűség-vezérlést tegyenek lehetővé számukra.

Kérés

PUT https://api.azuredatacatalog.com/catalogs/{catalog_name}/views/{view_name}/{view_item_id}/{nested_view_name}/{nested_non_singleton_view_item_id}?api-version={api-version} 
 
PUT https://api.azuredatacatalog.com/catalogs/{catalog_name}/views/{view_name}/{view_item_id}/{nested_view_name}?api-version={api-version}  

Megjegyzés

Egyes HTTP-ügyfél-implementációk automatikusan újra kiadhatnak kéréseket a kiszolgálóról érkező 302-re válaszul, de általában eltávolítják az engedélyezési fejléceket a kérésből. Mivel az Engedélyezési fejléc szükséges az ADC felé irányuló kérésekhez, győződjön meg arról, hogy az Engedélyezési fejléc továbbra is meg van adva az ADC által megadott átirányítási helyre irányuló kérés ismételt kiadásakor. Az alábbiakban egy mintakód mutatja be ezt a .NET HttpWebRequest objektummal.

URI-paraméterek

Név Leírás Adattípus
catalog_name A katalógus neve vagy "DefaultCatalog" az alapértelmezett katalógus használatához. Sztring
view_name Adategység-nézet neve. Sztring
view_item_id Egy Nézetelem azonosítója. Sztring
nested_view_name Beágyazott nézet neve. Sztring
nested_non_singleton_view_item_id Beágyazott, nem önálló nézetelem azonosítója. Nem egyszemélyes nézethez kell megadni. Sztring
api-verzió Az API verziója. Sztring

PUT példa egy szimpla dokumentációs nézetre

PUT https://api.azuredatacatalog.com/catalogs/DefaultCatalog/views/tables/042297b0...1be45ecd462a/documentation?api-version=2016-03-30

Fejléc

Content-Type:   application/json; charset=utf-8    
x-ms-client-request-id:   059692ee-...-57490fcec42c    
Authorization:  Bearer eXJ0eyAiOiJKV1QiLCJhbGciOi...  

Törzsséma

Body:  
    {  
        "fromSourceSystem": false,  
        "etag": "123456789",  
        "content": "<new documentation content>",  
        "mimetype": "text",  
    }  

Reagálás

Állapotkódok

Code Description
200 OK gombra. Egy meglévő jegyzet frissült.
412 Az előfeltétel nem sikerült. A kérelem legalább egy elem ETag eltérése miatt megszakadt.

Content-Type

application/json

Fejléc

x-ms-request-id: 3b8668da…1558d0f407c0  

Jegyzet törlése

Töröl egy széljegyzetet és az összes beágyazott jegyzetet (ha van ilyen).

Támogatja az opcionális If-Match fejlécet az optimista egyidejűség-vezérléshez. Csak a gyenge formátum, például a W/"123456789" támogatott.

Kérés

DELETE https://api.azuredatacatalog.com/catalogs/{catalog_name}/views/{view_name}/{view_item_id}/{nested_view_name}/{nested_non_singleton_view_item_id}?api-version={api-version}  
	
DELETE https://api.azuredatacatalog.com/catalogs/{catalog_name}/views/{view_name}/{view_item_id}/{nested_view_name}?api-version={api-version}  

Megjegyzés

Egyes HTTP-ügyfél-implementációk automatikusan újra kiadhatnak kéréseket a kiszolgálóról érkező 302-re válaszul, de általában eltávolítják az engedélyezési fejléceket a kérésből. Mivel az Engedélyezési fejléc szükséges az ADC felé irányuló kérésekhez, győződjön meg arról, hogy az Engedélyezési fejléc továbbra is meg van adva az ADC által megadott átirányítási helyre irányuló kérés ismételt kiadásakor. Az alábbiakban egy mintakód mutatja be ezt a .NET HttpWebRequest objektummal.

URI-paraméterek

Név Leírás Adattípus
catalog_name A katalógus neve vagy "DefaultCatalog" az alapértelmezett katalógus használatához. Sztring
view_name Adategység-nézet neve. Sztring
view_item_id Egy Nézetelem azonosítója. Sztring
nested_view_name Beágyazott nézet neve. Sztring
nested_non_singleton_view_item_id Beágyazott, nem önálló nézetelem azonosítója. Nem önálló nézethez kell megadni. Sztring
api-verzió Az API-verzió. Sztring

DELETE példa

DELETE https://api.azuredatacatalog.com/catalogs/DefaultCatalog/views/tables/042297b0-c187-49cc-8f30-1be45ecd462a/experts/22c3fa019b3945dc97143ebc3ad74cbf-1111fa019b3945dc97143ebc3ad74cbf?api-version=2016-03-30  

Fejléc

x-ms-client-request-id:   c8da5f08…67b203d77b2d  
Authorization:  Bearer eXJ0eyAiOiJKV1QiLCJhbGciOi...  
If-Match: W/"123456789"  

Reagálás

Állapotkódok

Code Description
204 NoContent
412 Az előfeltétel nem sikerült. A kérést az ETag eltérése miatt törölték.

Content-Type

application/json

Fejléc

x-ms-request-id: 276b9dc4…e5f7017805c