QueueServiceClientBuilder Klasse
- java.
lang. Object - com.
azure. storage. queue. QueueServiceClientBuilder
- com.
Implementiert
public final class QueueServiceClientBuilder
implements TokenCredentialTrait<QueueServiceClientBuilder>, ConnectionStringTrait<QueueServiceClientBuilder>, AzureNamedKeyCredentialTrait<QueueServiceClientBuilder>, AzureSasCredentialTrait<QueueServiceClientBuilder>, HttpTrait<QueueServiceClientBuilder>, ConfigurationTrait<QueueServiceClientBuilder>, EndpointTrait<QueueServiceClientBuilder>
Diese Klasse stellt eine Fluent Builder-API bereit, um die Konfiguration und Instanziierung von QueueServiceClient und QueueServiceAsyncClientzu unterstützen, buildClient() erstellt ein instance von QueueServiceClient und das Aufrufen buildAsyncClient() eines instance von QueueServiceAsyncClient.
Der Client benötigt den Endpunkt des Azure Storage-Warteschlangendiensts, den Namen der Freigabe und Autorisierungsanmeldeinformationen. endpoint(String endpoint) gibt dem Generator den Endpunkt und kann dem Generator das SAS-Token zuordnen, das den Client autorisiert.
Instanziieren eines synchronen Warteschlangendienstclients mit SAS-Token
QueueServiceClient client = new QueueServiceClientBuilder()
.endpoint("https://${accountName}.queue.core.windows.net?${SASToken}")
.buildClient();
Instanziieren eines asynchronen Warteschlangendienstclients mit SAS-Token
QueueServiceAsyncClient client = new QueueServiceClientBuilder()
.endpoint("https://{accountName}.queue.core.windows.net?{SASToken}")
.buildAsyncClient();
Wenn die endpoint
nicht die Abfrageparameter zum Erstellen eines SAS-Tokens enthält, können sie zusammen sasToken(String sasToken) mit dem Endpunkt festgelegt werden.
Instanziieren eines synchronen Warteschlangendienstclients mit SAS-Token
QueueServiceAsyncClient client = new QueueServiceClientBuilder()
.endpoint("https://{accountName}.queue.core.windows.net")
.sasToken("{SASTokenQueryParams}")
.buildAsyncClient();
Instanziieren eines asynchronen Warteschlangendienstclients mit SAS-Token
QueueServiceAsyncClient client = new QueueServiceClientBuilder()
.endpoint("https://{accountName}.queue.core.windows.net")
.sasToken("{SASTokenQueryParams}")
.buildAsyncClient();
Eine weitere Möglichkeit zum Authentifizieren des Clients ist die Verwendung eines StorageSharedKeyCredential. Zum Erstellen von StorageSharedKeyCredential muss eine Verbindungszeichenfolge aus dem Speicherwarteschlangendienst verwendet werden. Legen Sie StorageSharedKeyCredential mit connectionString(String connectionString)fest. Wenn der Generator sowohl über ein SAS-Token als auch über StorageSharedKeyCredential verfügt, wird storageSharedKeyCredential beim Autorisieren von Anforderungen, die an den Dienst gesendet werden, bevorzugt.
Instanziieren eines synchronen Warteschlangendienstclients mit Verbindungszeichenfolge.
String connectionString = "DefaultEndpointsProtocol=https;AccountName={name};"
+ "AccountKey={key};EndpointSuffix={core.windows.net}";
QueueServiceClient client = new QueueServiceClientBuilder()
.connectionString(connectionString)
.buildClient();
Instanziieren eines asynchronen Warteschlangendienstclients mit Verbindungszeichenfolge.
String connectionString = "DefaultEndpointsProtocol=https;AccountName={name};"
+ "AccountKey={key};EndpointSuffix={core.windows.net}";
QueueServiceAsyncClient client = new QueueServiceClientBuilder()
.connectionString(connectionString)
.buildAsyncClient();
Zusammenfassung zum Konstruktor
Konstruktor | Beschreibung |
---|---|
QueueServiceClientBuilder() |
Erstellt einen Generator instance, der in der Lage ist, und zu konfigurieren und QueueServiceAsyncClientzu erstellenQueueServiceClient. |
Methodenzusammenfassung
Modifizierer und Typ | Methode und Beschreibung |
---|---|
Queue |
addPolicy(HttpPipelinePolicy pipelinePolicy)
Fügt eine HttpPipelinePolicy hinzu, die auf jede gesendete Anforderung angewendet werden soll. |
Queue |
buildAsyncClient()
Erstellt eine QueueServiceAsyncClient basierend auf den im Generator festgelegten Optionen. |
Queue |
buildClient()
Erstellt eine QueueServiceClient basierend auf den im Generator festgelegten Optionen. |
Queue |
clientOptions(ClientOptions clientOptions)
Ermöglicht das Festlegen allgemeiner Eigenschaften wie Anwendungs-ID, Header, Proxykonfiguration usw. |
Queue |
configuration(Configuration configuration)
Legt das Konfigurationsobjekt fest, das beim Erstellen des Clients zum Abrufen von Umgebungskonfigurationswerten verwendet wird. |
Queue |
connectionString(String connectionString)
Legt die Verbindungszeichenfolge fest, die eine Verbindung mit dem Dienst herstellen soll. |
Queue |
credential(AzureNamedKeyCredential credential)
Legt den fest, der AzureNamedKeyCredential zum Autorisieren von Anforderungen verwendet wird, die an den Dienst gesendet werden. |
Queue |
credential(AzureSasCredential credential)
Legt den fest, der AzureSasCredential zum Autorisieren von Anforderungen verwendet wird, die an den Dienst gesendet werden. |
Queue |
credential(TokenCredential credential)
Legt den fest, der TokenCredential zum Autorisieren von Anforderungen verwendet wird, die an den Dienst gesendet werden. |
Queue |
credential(StorageSharedKeyCredential credential)
Legt den fest, der StorageSharedKeyCredential zum Autorisieren von Anforderungen verwendet wird, die an den Dienst gesendet werden. |
Queue |
endpoint(String endpoint)
Legt den Endpunkt für die Azure Storage-Instance fest, mit der der Client interagiert. |
static
Http |
getDefaultHttpLogOptions()
Ruft die Standardmäßigen Speicher-Zulassungslistenprotokollheader und Abfrageparameter ab. |
Queue |
httpClient(HttpClient httpClient)
Legt fest, dass HttpClient zum Senden und Empfangen von Anforderungen an und vom Dienst verwendet werden soll. |
Queue |
httpLogOptions(HttpLogOptions logOptions)
Legt fest, dass HttpLogOptions beim Senden und Empfangen von Anforderungen an und vom Dienst verwendet werden soll. |
Queue |
messageEncoding(QueueMessageEncoding messageEncoding)
Legt die Codierung von Warteschlangennachrichten fest. |
Queue |
pipeline(HttpPipeline httpPipeline)
Legt fest, dass HttpPipeline für den Dienstclient verwendet werden soll. |
Queue |
processMessageDecodingError(Consumer<QueueMessageDecodingError> processMessageDecodingErrorHandler)
Legt den Handler fest, der die Aufgaben ausführt, die beim Empfangen oder Spitzenwert einer Nachricht aus der Warteschlange erforderlich sind, aber nicht decodiert werden kann. |
Queue |
processMessageDecodingErrorAsync(Function<QueueMessageDecodingError,Mono<Void>> processMessageDecodingErrorAsyncHandler)
Legt den asynchronen Handler fest, der die Aufgaben ausführt, die beim Empfangen oder Spitzenwert einer Nachricht aus der Warteschlange erforderlich sind, aber nicht decodiert werden können. |
Queue |
retryOptions(RetryOptions retryOptions)
Legt den RetryOptions für alle Anforderungen fest, die über den Client gesendet werden. |
Queue |
retryOptions(RequestRetryOptions retryOptions)
Legt die Optionen für die Wiederholung von Anforderungen fest, die über den Client gesendet werden. |
Queue |
sasToken(String sasToken)
Legt das SAS-Token fest, das zum Autorisieren von Anforderungen verwendet wird, die an den Dienst gesendet werden. |
Queue |
serviceVersion(QueueServiceVersion version)
Legt die fest, die QueueServiceVersion beim Stellen von API-Anforderungen verwendet wird. |
Geerbte Methoden von java.lang.Object
Details zum Konstruktor
QueueServiceClientBuilder
public QueueServiceClientBuilder()
Erstellt einen Generator instance, der in der Lage ist, und zu konfigurieren und QueueServiceAsyncClientzu erstellenQueueServiceClient.
Details zur Methode
addPolicy
public QueueServiceClientBuilder addPolicy(HttpPipelinePolicy pipelinePolicy)
Fügt eine HttpPipelinePolicy hinzu, die auf jede gesendete Anforderung angewendet werden soll.
Hinweis: Es ist wichtig, die Rangfolge der HttpTrait-APIs zu verstehen. Insbesondere, wenn ein HttpPipeline angegeben wird, hat dies Vorrang vor allen anderen APIs im Trait, und sie werden ignoriert. Wenn nein HttpPipeline angegeben ist, wird eine HTTP-Pipeline intern basierend auf den Einstellungen erstellt, die für dieses Merkmal bereitgestellt werden. Darüber hinaus gibt es möglicherweise andere APIs in Typen, die dieses Merkmal implementieren, die auch ignoriert werden, wenn ein HttpPipeline angegeben ist. Lesen Sie daher unbedingt die Dokumentation der Typen, die dieses Merkmal implementieren, um den vollständigen Satz von Auswirkungen zu verstehen.
Parameters:
Returns:
buildAsyncClient
public QueueServiceAsyncClient buildAsyncClient()
Erstellt eine QueueServiceAsyncClient basierend auf den im Generator festgelegten Optionen. Jedes Mal, wenn dies als neue instance von QueueServiceAsyncClient bezeichnet wird, wird erstellt.
Wenn pipeline(HttpPipeline httpPipeline) festgelegt ist, werden und pipeline
endpoint(String endpoint) zum Erstellen von QueueServiceAsyncClientverwendet. Alle anderen Generatoreinstellungen werden ignoriert.
Returns:
buildClient
public QueueServiceClient buildClient()
Erstellt eine QueueServiceClient basierend auf den im Generator festgelegten Optionen. Jedes Mal, wenn dies als neue instance von QueueServiceClient bezeichnet wird, wird erstellt.
Wenn pipeline(HttpPipeline httpPipeline) festgelegt ist, werden und pipeline
endpoint(String endpoint) zum Erstellen von QueueServiceClientverwendet. Alle anderen Generatoreinstellungen werden ignoriert.
Returns:
clientOptions
public QueueServiceClientBuilder clientOptions(ClientOptions clientOptions)
Ermöglicht das Festlegen allgemeiner Eigenschaften wie Anwendungs-ID, Header, Proxykonfiguration usw. Beachten Sie, dass es empfohlen wird, diese Methode mit einem instance der HttpClientOptions -Klasse (einer Unterklasse der ClientOptions Basisklasse) zu aufrufen. Die Unterklasse HttpClientOptions bietet weitere Konfigurationsoptionen, die für HTTP-Clients geeignet sind. Dies gilt für jede Klasse, die diese HttpTrait-Schnittstelle implementiert.
Hinweis: Es ist wichtig, die Rangfolge der HttpTrait-APIs zu verstehen. Insbesondere, wenn ein HttpPipeline angegeben wird, hat dies Vorrang vor allen anderen APIs im Trait, und sie werden ignoriert. Wenn nein HttpPipeline angegeben ist, wird eine HTTP-Pipeline intern basierend auf den Einstellungen erstellt, die für dieses Merkmal bereitgestellt werden. Darüber hinaus gibt es möglicherweise andere APIs in Typen, die dieses Merkmal implementieren, die auch ignoriert werden, wenn ein HttpPipeline angegeben ist. Lesen Sie daher unbedingt die Dokumentation der Typen, die dieses Merkmal implementieren, um den vollständigen Satz von Auswirkungen zu verstehen.
Parameters:
Returns:
configuration
public QueueServiceClientBuilder configuration(Configuration configuration)
Legt das Konfigurationsobjekt fest, das beim Erstellen des Clients zum Abrufen von Umgebungskonfigurationswerten verwendet wird.
Parameters:
Returns:
connectionString
public QueueServiceClientBuilder connectionString(String connectionString)
Legt die Verbindungszeichenfolge fest, die eine Verbindung mit dem Dienst herstellen soll.
Parameters:
Returns:
credential
public QueueServiceClientBuilder credential(AzureNamedKeyCredential credential)
Legt den fest, der AzureNamedKeyCredential zum Autorisieren von Anforderungen verwendet wird, die an den Dienst gesendet werden.
Parameters:
Returns:
credential
public QueueServiceClientBuilder credential(AzureSasCredential credential)
Legt den fest, der AzureSasCredential zum Autorisieren von Anforderungen verwendet wird, die an den Dienst gesendet werden.
Parameters:
Returns:
credential
public QueueServiceClientBuilder credential(TokenCredential credential)
Legt den fest, der TokenCredential zum Autorisieren von Anforderungen verwendet wird, die an den Dienst gesendet werden. Weitere Informationen zur ordnungsgemäßen Verwendung des Typs finden Sie in der Dokumentation zur Identität und Authentifizierung des TokenCredential Azure SDK für Java.
Parameters:
Returns:
credential
public QueueServiceClientBuilder credential(StorageSharedKeyCredential credential)
Legt den fest, der StorageSharedKeyCredential zum Autorisieren von Anforderungen verwendet wird, die an den Dienst gesendet werden.
Parameters:
Returns:
endpoint
public QueueServiceClientBuilder endpoint(String endpoint)
Legt den Endpunkt für die Azure Storage-Instance fest, mit der der Client interagiert.
Abfrageparameter des Endpunkts werden analysiert, um ein SAS-Token zum Authentifizieren von Anforderungen zu generieren, die an den Dienst gesendet werden.
Parameters:
Returns:
getDefaultHttpLogOptions
public static HttpLogOptions getDefaultHttpLogOptions()
Ruft die Standardmäßigen Speicher-Zulassungslistenprotokollheader und Abfrageparameter ab.
Returns:
httpClient
public QueueServiceClientBuilder httpClient(HttpClient httpClient)
Legt fest, dass HttpClient zum Senden und Empfangen von Anforderungen an und vom Dienst verwendet werden soll.
Hinweis: Es ist wichtig, die Rangfolge der HttpTrait-APIs zu verstehen. Insbesondere wenn ein HttpPipeline angegeben wird, hat dies Vorrang vor allen anderen APIs in der Eigenschaft, und sie werden ignoriert. Wenn kein HttpPipeline angegeben ist, wird intern eine HTTP-Pipeline basierend auf den Einstellungen erstellt, die für dieses Merkmal bereitgestellt werden. Darüber hinaus können andere APIs in Typen vorhanden sein, die dieses Merkmal implementieren, die auch ignoriert werden, wenn ein HttpPipeline angegeben wird. Lesen Sie daher unbedingt die Dokumentation der Typen, die dieses Merkmal implementieren, um den vollständigen Satz von Auswirkungen zu verstehen.
Parameters:
Returns:
httpLogOptions
public QueueServiceClientBuilder httpLogOptions(HttpLogOptions logOptions)
Legt fest, dass HttpLogOptions beim Senden und Empfangen von Anforderungen an und vom Dienst verwendet werden soll. Wenn kein logLevel
angegeben wird, wird der Standardwert von HttpLogDetailLevel#NONE festgelegt.
Hinweis: Es ist wichtig, die Rangfolge der HttpTrait-APIs zu verstehen. Insbesondere wenn ein HttpPipeline angegeben wird, hat dies Vorrang vor allen anderen APIs in der Eigenschaft, und sie werden ignoriert. Wenn kein HttpPipeline angegeben ist, wird intern eine HTTP-Pipeline basierend auf den Einstellungen erstellt, die für dieses Merkmal bereitgestellt werden. Darüber hinaus können andere APIs in Typen vorhanden sein, die dieses Merkmal implementieren, die auch ignoriert werden, wenn ein HttpPipeline angegeben wird. Lesen Sie daher unbedingt die Dokumentation der Typen, die dieses Merkmal implementieren, um den vollständigen Satz von Auswirkungen zu verstehen.
Parameters:
Returns:
messageEncoding
public QueueServiceClientBuilder messageEncoding(QueueMessageEncoding messageEncoding)
Legt die Codierung von Warteschlangennachrichten fest.
Parameters:
Returns:
pipeline
public QueueServiceClientBuilder pipeline(HttpPipeline httpPipeline)
Legt fest, dass HttpPipeline für den Dienstclient verwendet werden soll.
Hinweis: Es ist wichtig, die Rangfolge der HttpTrait-APIs zu verstehen. Insbesondere wenn ein HttpPipeline angegeben wird, hat dies Vorrang vor allen anderen APIs in der Eigenschaft, und sie werden ignoriert. Wenn kein HttpPipeline angegeben ist, wird intern eine HTTP-Pipeline basierend auf den Einstellungen erstellt, die für dieses Merkmal bereitgestellt werden. Darüber hinaus können andere APIs in Typen vorhanden sein, die dieses Merkmal implementieren, die auch ignoriert werden, wenn ein HttpPipeline angegeben wird. Lesen Sie daher unbedingt die Dokumentation der Typen, die dieses Merkmal implementieren, um den vollständigen Satz von Auswirkungen zu verstehen.
Wird endpoint(String endpoint) nicht ignoriert, wenn pipeline
festgelegt ist.
Parameters:
Returns:
processMessageDecodingError
public QueueServiceClientBuilder processMessageDecodingError(Consumer
Legt den Handler fest, der die Aufgaben ausführt, die beim Empfangen oder Spitzenwert einer Nachricht aus der Warteschlange erforderlich sind, aber nicht decodiert werden kann.
Eine solche Nachricht kann empfangen oder spitzen, wenn die Warteschlange eine bestimmte QueueMessageEncoding Erwartung angibt, aber es gibt einen anderen Producer, der Nachrichten nicht in erwarteter Weise codiert. Das heißt, die Warteschlange enthält Nachrichten mit unterschiedlicher Codierung.
QueueMessageDecodingError enthält QueueClient für die Warteschlange, die die Nachricht empfangen hat, sowie getQueueMessageItem() oder getPeekedMessageItem() mit unformatiertem Text, d. h. es wird keine Decodierung versucht, damit der Text so überprüft werden kann, wie er von der Warteschlange empfangen wurde.
Der Handler versucht nicht, die Nachricht aus der Warteschlange zu entfernen. Daher sollte eine solche Behandlung in den Handler selbst aufgenommen werden.
Der Handler wird von allen Warteschlangenclients freigegeben, die aus QueueServiceClient diesem Generator erstellt oder QueueServiceAsyncClient von diesem erstellt werden.
Es wird empfohlen, diesen Handler für den synchronen QueueClientzu verwenden.
Codebeispiele
String connectionString = "DefaultEndpointsProtocol=https;AccountName={name};"
+ "AccountKey={key};EndpointSuffix={core.windows.net}";
Consumer<QueueMessageDecodingError> processMessageDecodingErrorHandler =
(queueMessageDecodingFailure) -> {
QueueMessageItem queueMessageItem = queueMessageDecodingFailure.getQueueMessageItem();
PeekedMessageItem peekedMessageItem = queueMessageDecodingFailure.getPeekedMessageItem();
if (queueMessageItem != null) {
System.out.printf("Received badly encoded message, messageId=%s, messageBody=%s",
queueMessageItem.getMessageId(),
queueMessageItem.getBody().toString());
queueMessageDecodingFailure
.getQueueClient()
.deleteMessage(queueMessageItem.getMessageId(), queueMessageItem.getPopReceipt());
} else if (peekedMessageItem != null) {
System.out.printf("Peeked badly encoded message, messageId=%s, messageBody=%s",
peekedMessageItem.getMessageId(),
peekedMessageItem.getBody().toString());
}
};
QueueServiceClient client = new QueueServiceClientBuilder()
.connectionString(connectionString)
.processMessageDecodingError(processMessageDecodingErrorHandler)
.buildClient();
Parameters:
Returns:
processMessageDecodingErrorAsync
public QueueServiceClientBuilder processMessageDecodingErrorAsync(Function
Legt den asynchronen Handler fest, der die Aufgaben ausführt, die beim Empfangen oder Spitzenwert einer Nachricht aus der Warteschlange erforderlich sind, aber nicht decodiert werden können.
Eine solche Nachricht kann empfangen oder spitzen, wenn die Warteschlange eine bestimmte QueueMessageEncoding Erwartung angibt, aber es gibt einen anderen Producer, der Nachrichten nicht in erwarteter Weise codiert. Das heißt, die Warteschlange enthält Nachrichten mit unterschiedlicher Codierung.
QueueMessageDecodingError enthält QueueAsyncClient für die Warteschlange, die die Nachricht empfangen hat, sowie getQueueMessageItem() oder getPeekedMessageItem() mit unformatiertem Text, d. h. es wird keine Decodierung versucht, damit der Text so überprüft werden kann, wie er von der Warteschlange empfangen wurde.
Der Handler versucht nicht, die Nachricht aus der Warteschlange zu entfernen. Daher sollte eine solche Behandlung in den Handler selbst aufgenommen werden.
Der Handler wird von allen Warteschlangenclients freigegeben, die aus QueueServiceClient diesem Generator erstellt oder QueueServiceAsyncClient von diesem erstellt werden.
Es wird empfohlen, diesen Handler für den asynchronen QueueAsyncClientzu verwenden.
Codebeispiele
String connectionString = "DefaultEndpointsProtocol=https;AccountName={name};"
+ "AccountKey={key};EndpointSuffix={core.windows.net}";
Function<QueueMessageDecodingError, Mono<Void>> processMessageDecodingErrorHandler =
(queueMessageDecodingFailure) -> {
QueueMessageItem queueMessageItem = queueMessageDecodingFailure.getQueueMessageItem();
PeekedMessageItem peekedMessageItem = queueMessageDecodingFailure.getPeekedMessageItem();
if (queueMessageItem != null) {
System.out.printf("Received badly encoded message, messageId=%s, messageBody=%s",
queueMessageItem.getMessageId(),
queueMessageItem.getBody().toString());
return queueMessageDecodingFailure
.getQueueAsyncClient()
.deleteMessage(queueMessageItem.getMessageId(), queueMessageItem.getPopReceipt());
} else if (peekedMessageItem != null) {
System.out.printf("Peeked badly encoded message, messageId=%s, messageBody=%s",
peekedMessageItem.getMessageId(),
peekedMessageItem.getBody().toString());
return Mono.empty();
} else {
return Mono.empty();
}
};
QueueServiceClient client = new QueueServiceClientBuilder()
.connectionString(connectionString)
.processMessageDecodingErrorAsync(processMessageDecodingErrorHandler)
.buildClient();
Parameters:
Returns:
retryOptions
public QueueServiceClientBuilder retryOptions(RetryOptions retryOptions)
Legt den RetryOptions für alle Anforderungen fest, die über den Client gesendet werden.
Hinweis: Es ist wichtig, die Rangfolge der HttpTrait-APIs zu verstehen. Insbesondere wenn ein HttpPipeline angegeben wird, hat dies Vorrang vor allen anderen APIs in der Eigenschaft, und sie werden ignoriert. Wenn kein HttpPipeline angegeben ist, wird intern eine HTTP-Pipeline basierend auf den Einstellungen erstellt, die für dieses Merkmal bereitgestellt werden. Darüber hinaus können andere APIs in Typen vorhanden sein, die dieses Merkmal implementieren, die auch ignoriert werden, wenn ein HttpPipeline angegeben wird. Lesen Sie daher unbedingt die Dokumentation der Typen, die dieses Merkmal implementieren, um den vollständigen Satz von Auswirkungen zu verstehen.
Das Festlegen dieser Einstellung schließt sich mit gegenseitig retryOptions(RequestRetryOptions retryOptions)aus. Ziehen Sie die Verwendung retryOptions(RequestRetryOptions retryOptions) in Betracht, um auch speicherspezifische Optionen festzulegen.
Parameters:
Returns:
retryOptions
public QueueServiceClientBuilder retryOptions(RequestRetryOptions retryOptions)
Legt die Optionen für die Wiederholung von Anforderungen fest, die über den Client gesendet werden. Das Festlegen dieser Einstellung schließt sich mit gegenseitig retryOptions(RetryOptions retryOptions)aus.
Parameters:
Returns:
sasToken
public QueueServiceClientBuilder sasToken(String sasToken)
Legt das SAS-Token fest, das zum Autorisieren von Anforderungen verwendet wird, die an den Dienst gesendet werden.
Parameters:
Returns:
serviceVersion
public QueueServiceClientBuilder serviceVersion(QueueServiceVersion version)
Legt die fest, die QueueServiceVersion beim Stellen von API-Anforderungen verwendet wird.
Wenn keine Dienstversion bereitgestellt wird, wird die verwendete Dienstversion die neueste bekannte Dienstversion basierend auf der Version der verwendeten Clientbibliothek sein. Wenn keine Dienstversion angegeben ist, führt das Aktualisieren auf eine neuere Version der Clientbibliothek möglicherweise zu einer neueren Dienstversion.
Das Festlegen einer bestimmten Dienstversion kann auch bedeuten, dass der Dienst einen Fehler für neuere APIs zurückgibt.
Parameters:
Returns: