Indexers - Create Or Update

Erstellt einen neuen Indexer oder aktualisiert einen Indexer, sofern er bereits vorhanden ist.

PUT {endpoint}/indexers('{indexerName}')?api-version=2023-11-01

URI-Parameter

Name In Erforderlich Typ Beschreibung
endpoint
path True

string

Die Endpunkt-URL des Suchdiensts.

indexerName
path True

string

Der Name des indexers, der erstellt oder aktualisiert werden soll.

api-version
query True

string

Client-API-Version.

Anforderungsheader

Name Erforderlich Typ Beschreibung
x-ms-client-request-id

string

uuid

Die Verfolgungs-ID, die mit der Anforderung gesendet wurde, um beim Debuggen zu helfen.

If-Match

string

Definiert die If-Match Bedingung. Der Vorgang wird nur ausgeführt, wenn das ETag auf dem Server mit diesem Wert übereinstimmt.

If-None-Match

string

Definiert die Bedingung If-None-Match. Der Vorgang wird nur ausgeführt, wenn das ETag auf dem Server nicht mit diesem Wert übereinstimmt.

Prefer True

string

Weist den Dienst bei HTTP PUT-Anforderungen an, die erstellte/aktualisierte Ressource bei Erfolg zurückzugeben.

Anforderungstext

Name Erforderlich Typ Beschreibung
dataSourceName True

string

Der Name der Datenquelle, aus der dieser Indexer Daten liest.

name True

string

Der Name des Indexers.

targetIndexName True

string

Der Name des Indexes, in den dieser Indexer Daten schreibt.

@odata.etag

string

Das ETag des Indexers.

description

string

Die Beschreibung des Indexers.

disabled

boolean

Ein Wert, der angibt, ob der Indexer deaktiviert ist. Der Standardwert ist "false".

encryptionKey

SearchResourceEncryptionKey

Eine Beschreibung eines Verschlüsselungsschlüssels, den Sie in Azure Key Vault erstellen. Dieser Schlüssel wird verwendet, um eine zusätzliche Ebene der Verschlüsselung ruhender Daten für Ihre Indexerdefinition (sowie für die Indexerausführung status) bereitzustellen, wenn Sie sicher sein möchten, dass niemand, nicht einmal Microsoft, sie entschlüsseln kann. Nachdem Sie Ihre Indexerdefinition verschlüsselt haben, bleibt sie immer verschlüsselt. Der Suchdienst ignoriert Versuche, diese Eigenschaft auf NULL festzulegen. Sie können diese Eigenschaft bei Bedarf ändern, wenn Sie Ihren Verschlüsselungsschlüssel rotieren möchten. Ihre Indexerdefinition (und die Indexerausführung status) ist nicht betroffen. Die Verschlüsselung mit kundenseitig verwalteten Schlüsseln ist für kostenlose Suchdienste nicht verfügbar und nur für kostenpflichtige Dienste verfügbar, die am oder nach dem 1. Januar 2019 erstellt wurden.

fieldMappings

FieldMapping[]

Definiert Zuordnungen zwischen Feldern in der Datenquelle und den entsprechenden Zielfeldern im Index.

outputFieldMappings

FieldMapping[]

Ausgabefeldzuordnungen werden nach der Anreicherung und unmittelbar vor der Indizierung angewendet.

parameters

IndexingParameters

Parameter für die Indexerausführung.

schedule

IndexingSchedule

Der Zeitplan für diesen Indexer.

skillsetName

string

Der Name des Skillsets, das mit diesem Indexer ausgeführt wird.

Antworten

Name Typ Beschreibung
200 OK

SearchIndexer

201 Created

SearchIndexer

Other Status Codes

SearchError

Fehlerantwort.

Beispiele

SearchServiceCreateOrUpdateIndexer

Sample Request

PUT https://myservice.search.windows.net/indexers('myindexer')?api-version=2023-11-01


{
  "name": "myindexer",
  "description": "a cool indexer",
  "dataSourceName": "mydatasource",
  "targetIndexName": "orders",
  "schedule": {
    "interval": "PT1H",
    "startTime": "2015-01-01T00:00:00Z"
  },
  "parameters": {
    "maxFailedItems": 10,
    "maxFailedItemsPerBatch": 5
  },
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": null
  }
}

Sample Response

{
  "name": "myindexer",
  "description": "a cool indexer",
  "dataSourceName": "mydatasource",
  "targetIndexName": "orders",
  "schedule": {
    "interval": "PT1H",
    "startTime": "2015-01-01T00:00:00Z"
  },
  "parameters": {
    "maxFailedItems": 10,
    "maxFailedItemsPerBatch": 5
  },
  "fieldMappings": [],
  "disabled": false,
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": null
  }
}
{
  "name": "myindexer",
  "description": "a cool indexer",
  "dataSourceName": "mydatasource",
  "targetIndexName": "orders",
  "schedule": {
    "interval": "PT1H",
    "startTime": "2015-01-01T00:00:00Z"
  },
  "parameters": {
    "maxFailedItems": 10,
    "maxFailedItemsPerBatch": 5
  },
  "fieldMappings": [],
  "disabled": false,
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": null
  }
}

Definitionen

Name Beschreibung
AzureActiveDirectoryApplicationCredentials

Anmeldeinformationen einer registrierten Anwendung, die für Ihren Suchdienst erstellt wurde und für den authentifizierten Zugriff auf die in Azure Key Vault gespeicherten Verschlüsselungsschlüssel verwendet wird.

BlobIndexerDataToExtract

Gibt die Daten an, die aus Azure Blob Storage extrahiert werden sollen, und teilt dem Indexer mit, welche Daten aus Bildinhalten extrahiert werden sollen, wenn "imageAction" auf einen anderen Wert als "none" festgelegt ist. Dies gilt für eingebettete Bildinhalte in einem .PDF oder einer anderen Anwendung oder Bilddateien wie .jpg und .png in Azure-Blobs.

BlobIndexerImageAction

Bestimmt, wie eingebettete Bilder und Bilddateien in Azure Blob Storage verarbeitet werden. Wenn Sie die "imageAction"-Konfiguration auf einen anderen Wert als "none" festlegen, muss auch ein Skillset an diesen Indexer angefügt werden.

BlobIndexerParsingMode

Stellt den Analysemodus für die Indizierung aus einer Azure-Blobdatenquelle dar.

BlobIndexerPDFTextRotationAlgorithm

Bestimmt den Algorithmus für die Textextraktion aus PDF-Dateien in Azure Blob Storage.

FieldMapping

Definiert eine Zuordnung zwischen einem Feld in einer Datenquelle und einem Zielfeld in einem Index.

FieldMappingFunction

Stellt eine Funktion dar, die einen Wert aus einer Datenquelle vor der Indizierung transformiert.

IndexerExecutionEnvironment

Gibt die Umgebung an, in der der Indexer ausgeführt werden soll.

IndexingParameters

Stellt die Parameter für die Indexerausführung dar.

IndexingParametersConfiguration

Ein Wörterbuch mit indexerspezifischen Konfigurationseigenschaften. Jeder Name ist der Name einer bestimmten Eigenschaft. Jeder Wert muss einen primitiven Typ aufweisen.

IndexingSchedule

Stellt einen Zeitplan für die Indexerausführung dar.

SearchError

Beschreibt eine Fehlerbedingung für die API.

SearchIndexer

Stellt einen Indexer dar.

SearchResourceEncryptionKey

Ein kundenseitig verwalteter Verschlüsselungsschlüssel in Azure Key Vault. Schlüssel, die Sie erstellen und verwalten, können zum Verschlüsseln oder Entschlüsseln ruhender Daten in Ihrem Suchdienst verwendet werden, z. B. Indizes und Synonymzuordnungen.

AzureActiveDirectoryApplicationCredentials

Anmeldeinformationen einer registrierten Anwendung, die für Ihren Suchdienst erstellt wurde und für den authentifizierten Zugriff auf die in Azure Key Vault gespeicherten Verschlüsselungsschlüssel verwendet wird.

Name Typ Beschreibung
applicationId

string

Eine AAD-Anwendungs-ID, der die erforderlichen Zugriffsberechtigungen für die Azure-Key Vault erteilt wurden, die beim Verschlüsseln ruhender Daten verwendet werden sollen. Die Anwendungs-ID sollte nicht mit der Objekt-ID für Ihre AAD-Anwendung verwechselt werden.

applicationSecret

string

Der Authentifizierungsschlüssel der angegebenen AAD-Anwendung.

BlobIndexerDataToExtract

Gibt die Daten an, die aus Azure Blob Storage extrahiert werden sollen, und teilt dem Indexer mit, welche Daten aus Bildinhalten extrahiert werden sollen, wenn "imageAction" auf einen anderen Wert als "none" festgelegt ist. Dies gilt für eingebettete Bildinhalte in einem .PDF oder einer anderen Anwendung oder Bilddateien wie .jpg und .png in Azure-Blobs.

Name Typ Beschreibung
allMetadata

string

Extrahiert Metadaten, die vom Azure Blob Storage-Subsystem bereitgestellt werden, und die inhaltstypspezifischen Metadaten (z. B. Metadaten, die nur für .png Dateien indiziert werden).

contentAndMetadata

string

Extrahiert alle Metadaten und Textinhalte aus jedem Blob.

storageMetadata

string

Indiziert nur die Standardblobeigenschaften und vom Benutzer angegebenen Metadaten.

BlobIndexerImageAction

Bestimmt, wie eingebettete Bilder und Bilddateien in Azure Blob Storage verarbeitet werden. Wenn Sie die "imageAction"-Konfiguration auf einen anderen Wert als "none" festlegen, muss auch ein Skillset an diesen Indexer angefügt werden.

Name Typ Beschreibung
generateNormalizedImagePerPage

string

Extrahiert Text aus Bildern (z. B. das Wort "STOP" aus einem Verkehrsstoppschild) und bettet ihn in das Inhaltsfeld ein, behandelt PDF-Dateien jedoch anders, da jede Seite als Bild gerendert und entsprechend normalisiert wird, anstatt eingebettete Bilder zu extrahieren. Nicht-PDF-Dateitypen werden genauso behandelt, als ob "generateNormalizedImages" festgelegt wurde.

generateNormalizedImages

string

Extrahiert Text aus Bildern (z. B. das Wort "STOP" aus einem Verkehrsstoppzeichen) und bettet ihn in das Inhaltsfeld ein. Diese Aktion erfordert, dass "dataToExtract" auf "contentAndMetadata" festgelegt ist. Ein normalisiertes Bild bezieht sich auf eine zusätzliche Verarbeitung, die zu einer einheitlichen Bildausgabe führt, die größe und gedreht wird, um ein konsistentes Rendering zu fördern, wenn Sie Bilder in visuelle Suchergebnisse einschließen. Diese Informationen werden bei Verwendung dieser Option für jedes Bild generiert.

none

string

Ignoriert eingebettete Bilder oder Bilddateien im Dataset. Dies ist die Standardoption.

BlobIndexerParsingMode

Stellt den Analysemodus für die Indizierung aus einer Azure-Blobdatenquelle dar.

Name Typ Beschreibung
default

string

Für die normale Dateiverarbeitung wird der Standardwert festgelegt.

delimitedText

string

Legen Sie auf delimitedText fest, wenn Blobs einfache CSV-Dateien sind.

json

string

Legen Sie auf JSON fest, um strukturierte Inhalte aus JSON-Dateien zu extrahieren.

jsonArray

string

Legen Sie auf jsonArray fest, um einzelne Elemente eines JSON-Arrays als separate Dokumente zu extrahieren.

jsonLines

string

Legen Sie diese Einstellung auf jsonLines fest, um einzelne JSON-Entitäten, getrennt durch eine neue Zeile, als separate Dokumente zu extrahieren.

text

string

Legen Sie auf Text fest, um die Indizierungsleistung für Nur-Text-Dateien im Blobspeicher zu verbessern.

BlobIndexerPDFTextRotationAlgorithm

Bestimmt den Algorithmus für die Textextraktion aus PDF-Dateien in Azure Blob Storage.

Name Typ Beschreibung
detectAngles

string

Kann bessere und besser lesbare Textextraktion aus PDF-Dateien erzeugen, die gedrehten Text darin enthalten. Beachten Sie, dass die Verwendung dieses Parameters möglicherweise geringfügige Auswirkungen auf die Leistungsgeschwindigkeit hat. Dieser Parameter gilt nur für PDF-Dateien und nur für PDF-Dateien mit eingebettetem Text. Wenn der gedrehte Text in einem eingebetteten Bild in der PDF-Datei angezeigt wird, gilt dieser Parameter nicht.

none

string

Nutzt die normale Textextraktion. Dies ist die Standardoption.

FieldMapping

Definiert eine Zuordnung zwischen einem Feld in einer Datenquelle und einem Zielfeld in einem Index.

Name Typ Beschreibung
mappingFunction

FieldMappingFunction

Eine Funktion, die vor der Indizierung auf jeden Quellfeldwert angewendet werden soll.

sourceFieldName

string

Der Name des Felds in der Datenquelle.

targetFieldName

string

Der Name des Zielfelds im Index. Standardmäßig identisch mit dem Namen des Quellfelds.

FieldMappingFunction

Stellt eine Funktion dar, die einen Wert aus einer Datenquelle vor der Indizierung transformiert.

Name Typ Beschreibung
name

string

Der Name der Feldzuordnungsfunktion.

parameters

object

Ein Wörterbuch von Parameternamen-Wert-Paaren, die an die Funktion übergeben werden sollen. Jeder Wert muss einen primitiven Typ aufweisen.

IndexerExecutionEnvironment

Gibt die Umgebung an, in der der Indexer ausgeführt werden soll.

Name Typ Beschreibung
private

string

Gibt an, dass der Indexer mit der Umgebung ausgeführt werden soll, die speziell für den Suchdienst bereitgestellt wurde. Dies sollte nur als Ausführungsumgebung angegeben werden, wenn der Indexer über freigegebene Private Link-Ressourcen sicher auf Ressourcen zugreifen muss.

standard

string

Gibt an, dass der Suchdienst bestimmen kann, wo der Indexer ausgeführt werden soll. Dies ist die Standardumgebung, wenn nichts angegeben ist, und der empfohlene Wert.

IndexingParameters

Stellt die Parameter für die Indexerausführung dar.

Name Typ Standardwert Beschreibung
batchSize

integer

Die Anzahl der Elemente, die aus der Datenquelle gelesen und als einzelner Batch indiziert werden, um die Leistung zu verbessern. Die Standardeinstellung hängt vom Datenquellentyp ab.

configuration

IndexingParametersConfiguration

Ein Wörterbuch mit indexerspezifischen Konfigurationseigenschaften. Jeder Name ist der Name einer bestimmten Eigenschaft. Jeder Wert muss einen primitiven Typ aufweisen.

maxFailedItems

integer

0

Die maximale Anzahl von Elementen, bei denen die Indizierung fehlschlagen kann, damit die Indexerausführung weiterhin als erfolgreich angesehen wird. Der Wert "-1" bedeutet, dass es keine Begrenzung gibt. Standard ist "0".

maxFailedItemsPerBatch

integer

0

Die maximale Anzahl von Elementen in einem einzelnen Batch, die bei der Indizierung fehlschlagen können, damit der Batch weiterhin als erfolgreich betrachtet wird. Der Wert "-1" bedeutet, dass es keine Begrenzung gibt. Standard ist "0".

IndexingParametersConfiguration

Ein Wörterbuch mit indexerspezifischen Konfigurationseigenschaften. Jeder Name ist der Name einer bestimmten Eigenschaft. Jeder Wert muss einen primitiven Typ aufweisen.

Name Typ Standardwert Beschreibung
allowSkillsetToReadFileData

boolean

False

Wenn true, wird ein Pfad //document//file_data erstellt, bei dem es sich um ein Objekt handelt, das die ursprünglichen Dateidaten darstellt, die aus Der Blobdatenquelle heruntergeladen wurden. Dadurch können Sie die ursprünglichen Dateidaten an einen benutzerdefinierten Skill zur Verarbeitung innerhalb der Anreicherungspipeline oder an den Skill Dokumentextraktion übergeben.

dataToExtract

BlobIndexerDataToExtract

contentAndMetadata

Gibt die Daten an, die aus Azure Blob Storage extrahiert werden sollen, und teilt dem Indexer mit, welche Daten aus Bildinhalten extrahiert werden sollen, wenn "imageAction" auf einen anderen Wert als "none" festgelegt ist. Dies gilt für eingebettete Bildinhalte in einem .PDF oder einer anderen Anwendung oder Bilddateien wie .jpg und .png in Azure-Blobs.

delimitedTextDelimiter

string

Gibt für CSV-Blobs das Zeilenendetrennzeichen für CSV-Dateien an, bei denen jede Zeile ein neues Dokument beginnt (z. B. "|").

delimitedTextHeaders

string

Gibt für CSV-Blobs eine durch Trennzeichen getrennte Liste von Spaltenüberschriften an, die zum Zuordnen von Quellfeldern zu Zielfeldern in einem Index nützlich ist.

documentRoot

string

Bei JSON-Arrays können Sie bei einem strukturierten oder teilweise strukturierten Dokument mithilfe dieser Eigenschaft einen Pfad zum Array angeben.

excludedFileNameExtensions

string

Durch Trennzeichen getrennte Liste der Dateinamenerweiterungen, die bei der Verarbeitung aus Azure Blob Storage ignoriert werden sollen. Sie können beispielsweise ".png, .mp4" ausschließen, um diese Dateien während der Indizierung zu überspringen.

executionEnvironment

IndexerExecutionEnvironment

standard

Gibt die Umgebung an, in der der Indexer ausgeführt werden soll.

failOnUnprocessableDocument

boolean

False

Legen Sie für Azure-Blobs auf false fest, wenn Sie die Indizierung fortsetzen möchten, wenn die Indizierung eines Dokuments fehlschlägt.

failOnUnsupportedContentType

boolean

False

Legen Sie für Azure-Blobs auf false fest, wenn Sie die Indizierung fortsetzen möchten, wenn ein nicht unterstützter Inhaltstyp gefunden wird, und Sie nicht alle Inhaltstypen (Dateierweiterungen) im Voraus kennen.

firstLineContainsHeaders

boolean

True

Gibt für CSV-Blobs an, dass die erste (nicht leere) Zeile jedes Blobs Header enthält.

imageAction

BlobIndexerImageAction

none

Bestimmt, wie eingebettete Bilder und Bilddateien in Azure Blob Storage verarbeitet werden. Wenn Sie die "imageAction"-Konfiguration auf einen anderen Wert als "none" festlegen, muss auch ein Skillset an diesen Indexer angefügt werden.

indexStorageMetadataOnlyForOversizedDocuments

boolean

False

Legen Sie diese Eigenschaft für Azure-Blobs auf true fest, um weiterhin Speichermetadaten für Blobinhalte zu indizieren, die für die Verarbeitung zu groß sind. Zu große Blobs werden standardmäßig als Fehler behandelt. Informationen zu Grenzwerten für die Blobgröße finden Sie unter https://docs.microsoft.com/azure/search/search-limits-quotas-capacity.

indexedFileNameExtensions

string

Durch Trennzeichen getrennte Liste der Dateinamenerweiterungen, die bei der Verarbeitung aus Azure Blob Storage ausgewählt werden sollen. Beispielsweise können Sie die Indizierung auf spezifische Anwendungsdateien wie „.docx, .pptx, .msg“ beschränken, um diese Dateitypen explizit einzubeziehen.

parsingMode

BlobIndexerParsingMode

default

Stellt den Analysemodus für die Indizierung aus einer Azure-Blobdatenquelle dar.

pdfTextRotationAlgorithm

BlobIndexerPDFTextRotationAlgorithm

none

Bestimmt den Algorithmus für die Textextraktion aus PDF-Dateien in Azure Blob Storage.

queryTimeout

string

00:05:00

Erhöht das Timeout über den Standardwert von 5 Minuten für Azure SQL Datenbankdatenquellen, die im Format "hh:mm:ss" angegeben sind.

IndexingSchedule

Stellt einen Zeitplan für die Indexerausführung dar.

Name Typ Beschreibung
interval

string

Das Zeitintervall zwischen Indexerausführungen.

startTime

string

Der Zeitpunkt, zu dem ein Indexer ausgeführt werden soll.

SearchError

Beschreibt eine Fehlerbedingung für die API.

Name Typ Beschreibung
code

string

Einer von einem serverdefiniertem Satz von Fehlercodes.

details

SearchError[]

Ein Array von Details zu bestimmten Fehlern, die zu diesem gemeldeten Fehler geführt haben.

message

string

Eine lesbare Darstellung des Fehlers.

SearchIndexer

Stellt einen Indexer dar.

Name Typ Standardwert Beschreibung
@odata.etag

string

Das ETag des Indexers.

dataSourceName

string

Der Name der Datenquelle, aus der dieser Indexer Daten liest.

description

string

Die Beschreibung des Indexers.

disabled

boolean

False

Ein Wert, der angibt, ob der Indexer deaktiviert ist. Der Standardwert ist "false".

encryptionKey

SearchResourceEncryptionKey

Eine Beschreibung eines Verschlüsselungsschlüssels, den Sie in Azure Key Vault erstellen. Dieser Schlüssel wird verwendet, um eine zusätzliche Ebene der Verschlüsselung ruhender Daten für Ihre Indexerdefinition (sowie für die Indexerausführung status) bereitzustellen, wenn Sie sicher sein möchten, dass niemand, nicht einmal Microsoft, sie entschlüsseln kann. Nachdem Sie Ihre Indexerdefinition verschlüsselt haben, bleibt sie immer verschlüsselt. Der Suchdienst ignoriert Versuche, diese Eigenschaft auf NULL festzulegen. Sie können diese Eigenschaft bei Bedarf ändern, wenn Sie Ihren Verschlüsselungsschlüssel rotieren möchten. Ihre Indexerdefinition (und die Indexerausführung status) ist nicht betroffen. Die Verschlüsselung mit kundenseitig verwalteten Schlüsseln ist für kostenlose Suchdienste nicht verfügbar und nur für kostenpflichtige Dienste verfügbar, die am oder nach dem 1. Januar 2019 erstellt wurden.

fieldMappings

FieldMapping[]

Definiert Zuordnungen zwischen Feldern in der Datenquelle und den entsprechenden Zielfeldern im Index.

name

string

Der Name des Indexers.

outputFieldMappings

FieldMapping[]

Ausgabefeldzuordnungen werden nach der Anreicherung und unmittelbar vor der Indizierung angewendet.

parameters

IndexingParameters

Parameter für die Indexerausführung.

schedule

IndexingSchedule

Der Zeitplan für diesen Indexer.

skillsetName

string

Der Name des Skillsets, das mit diesem Indexer ausgeführt wird.

targetIndexName

string

Der Name des Indexes, in den dieser Indexer Daten schreibt.

SearchResourceEncryptionKey

Ein kundenseitig verwalteter Verschlüsselungsschlüssel in Azure Key Vault. Schlüssel, die Sie erstellen und verwalten, können zum Verschlüsseln oder Entschlüsseln ruhender Daten in Ihrem Suchdienst verwendet werden, z. B. Indizes und Synonymzuordnungen.

Name Typ Beschreibung
accessCredentials

AzureActiveDirectoryApplicationCredentials

Optionale Azure Active Directory-Anmeldeinformationen, die für den Zugriff auf Ihre Azure Key Vault verwendet werden. Nicht erforderlich, wenn stattdessen eine verwaltete Identität verwendet wird.

keyVaultKeyName

string

Der Name Ihres Azure Key Vault Schlüssel, der zum Verschlüsseln ruhender Daten verwendet werden soll.

keyVaultKeyVersion

string

Die Version Ihres Azure Key Vault Schlüssels, der zum Verschlüsseln ruhender Daten verwendet werden soll.

keyVaultUri

string

Der URI Ihres Azure-Key Vault, auch als DNS-Name bezeichnet, der den Schlüssel enthält, der zum Verschlüsseln ruhender Daten verwendet werden soll. Ein Beispiel-URI kann sein https://my-keyvault-name.vault.azure.net.