Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Regionalisierung und Datenstandort

Dialogflow bietet Nutzerstandorte, damit Ihre Daten inaktiver Daten physisch in einer geografischen Region oder Standort. Wenn eine Region angegeben ist, werden Ihre inaktiven Daten nicht außerhalb der Region repliziert. Die Preise sind für alle Regionen gleich.

Regionen werden aus folgenden Gründen verwendet:

  • Für Ihr System können regulatorische oder Richtlinienanforderungen gelten, die den Standort Ihre Daten bestimmen.
  • Befinden sich die Daten in derselben Region wie Ihre Kunden, kann das die Netzwerklatenzen verbessern. Beispiel: Wenn Kunden im Vereinigten Königreich europe-west2 verwenden, können sie eine niedrigere Latenz erwarten.

Inaktive Daten

Alle Daten von Dialogflow-Entwicklern und -Endnutzern sind Teil der inaktiven Daten. Beispiel:

  • Alle Agent-Ressourcen, die mit der Console oder der API festgelegt werden (Intents, Entitäten usw.)
  • Alle Agent-Einstellungen, mit der Konsole oder der API festgelegt werden
  • Abfrageverlauf
  • Validierungsergebnisse
  • Modellerstellungsaufgaben
  • Trainingsaufgaben
  • Aufgaben für Vorgang mit langer Ausführungszeit

Verfügbare Regionen

Dialogflow stellt die folgenden Regionen bereit:

Ländergruppierung Geografischer Ort Regions-ID
Amerika Mehrere Regionen in den USA us (Standard)
Europa Belgien europe-west1
Europa London europe-west2
Asiatisch-pazifischer Raum Sydney australia-southeast1
Asiatisch-pazifischer Raum Tokio asia-northeast1

Region mit der Konsole auswählen

Der Bereich oben links in der Dialogflow ES-Konsole enthält ein Drop-down-Menü für die Region. Jeder Agent hat eine unveränderliche Region, die bei der Erstellung festgelegt wird. Wenn Sie eine Region in der Konsole auswählen, können Sie nur Agents für die ausgewählte Region auflisten oder erstellen. Die Standardregion ist us.

Region mit der API auswählen

Wurde der Agent in einer Standardregion erstellt, so müssen Sie diese Region beim Aufrufen der API sowohl für Entwicklungs- als auch für Laufzeitanfragen angeben.

Zum Bereitstellen einer Region geben Sie in den API-Anfragen einen location-Parameter an. Führen Sie für REST-Aufrufe folgende zwei Schritte aus:

  • Geben Sie den URL-Pfadparameter location an.
  • Verwenden Sie den regionsspezifischen Hostnamen im Format REGION_ID-dialogflow.googleapis.com. Beispiel: asia-northeast1-dialogflow.googleapis.com Wenn die im Hostnamen angegebene Region nicht mit der im URL-Pfad angegebenen Region übereinstimmt, wird die Anfrage abgelehnt.

Informationen zu Clientbibliotheken finden Sie in der Dokumentation zu Clientbibliotheken. Gehen Sie wie folgt vor:

  • Legen Sie Folgendes fest:

    REGION_ID-dialogflow.googleapis.com:443
    
  • Legen Sie den Sitzungsnamen folgendermaßen fest:

    projects/PROJECT_ID/locations/REGION_ID/agent/sessions/SESSION_ID
    

Beispiel:

REST UND BEFEHLSZEILE

Ersetzen Sie diese Werte, bevor Sie die Anfragedaten unten verwenden:

  • PROJECT_ID: ID Ihres GCP-Projekts
  • REGION_ID: eine Regions-ID. Beispiel: europe-west2
  • SESSION_ID: eine Sitzungs-ID

HTTP-Methode und URL:

POST https://REGION_ID-dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/REGION_ID/agent/sessions/SESSION_ID:detectIntent

JSON-Text anfordern:

{
  "query_input": {
    "text": {
      "text": "I want a pony.",
      "language_code": "en-US"
    }
  }
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

 

Java


import com.google.api.gax.rpc.ApiException;
import com.google.cloud.dialogflow.v2beta1.DetectIntentResponse;
import com.google.cloud.dialogflow.v2beta1.QueryInput;
import com.google.cloud.dialogflow.v2beta1.QueryResult;
import com.google.cloud.dialogflow.v2beta1.SessionName;
import com.google.cloud.dialogflow.v2beta1.SessionsClient;
import com.google.cloud.dialogflow.v2beta1.SessionsSettings;
import com.google.cloud.dialogflow.v2beta1.TextInput;
import com.google.common.collect.Maps;
import java.io.IOException;
import java.util.List;
import java.util.Map;

public class DetectIntentWithLocation {

  // DialogFlow API Detect Intent sample with text inputs.
  public static Map<String, QueryResult> detectIntentWithLocation(
      String projectId, String locationId, List<String> texts, String sessionId,
      String languageCode)
      throws IOException, ApiException {
    SessionsSettings sessionsSettings = SessionsSettings.newBuilder()
        .setEndpoint(locationId + "-dialogflow.googleapis.com:443").build();
    Map<String, QueryResult> queryResults = Maps.newHashMap();
    // Instantiates a client
    try (SessionsClient sessionsClient = SessionsClient.create(sessionsSettings)) {
      // Set the session name using the projectId (my-project-id), locationId and sessionId (UUID)
      SessionName session = SessionName
          .ofProjectLocationSessionName(projectId, locationId, sessionId);
      System.out.println("Session Path: " + session.toString());

      // Detect intents for each text input
      for (String text : texts) {
        // Set the text (hello) and language code (en-US) for the query
        TextInput.Builder textInput =
            TextInput.newBuilder().setText(text).setLanguageCode(languageCode);

        // Build the query with the TextInput
        QueryInput queryInput = QueryInput.newBuilder().setText(textInput).build();

        // Performs the detect intent request
        DetectIntentResponse response = sessionsClient.detectIntent(session, queryInput);

        // Display the query result
        QueryResult queryResult = response.getQueryResult();

        System.out.println("====================");
        System.out.format("Query Text: '%s'\n", queryResult.getQueryText());
        System.out.format(
            "Detected Intent: %s (confidence: %f)\n",
            queryResult.getIntent().getDisplayName(), queryResult.getIntentDetectionConfidence());
        System.out.format("Fulfillment Text: '%s'\n", queryResult.getFulfillmentText());

        queryResults.put(text, queryResult);
      }
    }
    return queryResults;
  }
}

Python

def detect_intent_texts_with_location(
    project_id, location_id, session_id, texts, language_code
):
    """Returns the result of detect intent with texts as inputs.

    Using the same `session_id` between requests allows continuation
    of the conversation."""
    from google.cloud import dialogflow

    session_client = dialogflow.SessionsClient(
        client_options={"api_endpoint": f"{location_id}-dialogflow.googleapis.com"}
    )

    session = (
        f"projects/{project_id}/locations/{location_id}/agent/sessions/{session_id}"
    )
    print(f"Session path: {session}\n")

    for text in texts:
        text_input = dialogflow.TextInput(text=text, language_code=language_code)

        query_input = dialogflow.QueryInput(text=text_input)

        response = session_client.detect_intent(
            request={"session": session, "query_input": query_input}
        )

        print("=" * 20)
        print(f"Query text: {response.query_result.query_text}")
        print(
            f"Detected intent: {response.query_result.intent.display_name} (confidence: {response.query_result.intent_detection_confidence,})\n"
        )
        print(f"Fulfillment text: {response.query_result.fulfillment_text}\n")

Cloud Logging

Informationen zum Steuern der Region, in der die Logs gespeichert werden, finden Sie in der Cloud Logging-Anleitung.

Beschränkungen

Ist in der Dialogflow-Konsole eine nicht standardmäßige Region ausgewählt, sind folgende Features nicht verfügbar: