Interfejs Actions

Interfejs Actions API udostępnia punkty końcowe, które ułatwiają tworzenie i testowanie akcji oraz zarządzanie nią.

Biblioteka klienta (Node.js)

Możesz korzystać z usługi Actions API typu REST, wysyłając bezpośrednie żądania HTTP do serwera, ale udostępniamy bibliotekę klienta, która ułatwia dostęp do punktów końcowych w środowisku Node.js. Biblioteka klienta interfejsu Actions API umożliwia zarządzanie akcją i testowanie jej za pomocą różnych punktów końcowych.

Na przykład poniższy kod wywołuje punkt końcowy writePreview, aby zaktualizować podgląd projektu użytkownika na podstawie podanego modelu:

   import {ActionsSdkClient} from '@assistant/actions';
   import { promisify } from 'util';
   import * as stream from 'stream';

   const PROJECT_ID = '<PROJECT_ID>';
   const VERSION = 123;

   const projectPath = `projects/${PROJECT_ID}`;
   const versionPath = `projects/${PROJECT_ID}/versions/${VERSION}`;

    async function publishPreview(projectPath, versionPath) {
      const request = {
        parent: projectPath,
        previewSettings: {sandbox: {value: true}},
        submittedVersion: {version: versionPath}
      };

      const client = new ActionsSdkClient();
      const stream = client.writePreview(()=>{});
      stream.write(request);
      stream.end();
      const finished = promisify(stream.finished);
      await finished(stream);
    }

Instrukcje instalacji i materiały referencyjne na temat biblioteki klienta interfejsu Actions API w Node.js znajdziesz w bibliotece i dokumentacji REST interfejsu Actions API.

Wymagania

W przypadku żądań wysyłanych do interfejsu Actions API obowiązują te wymagania.

Rozmiar ładunku żądania

Żądania wysyłane do interfejsu Actions API mogą mieć maksymalnie 10 MB. Obejmuje to m.in. punkty końcowe strumieniowania klienta, gdzie każde żądanie w strumieniu musi mieć 10 MB. .

Jeśli Twój ładunek przekracza 10 MB, powinien wyświetlić się błąd 400 Serwer pakietu SDK.

Sprawdzone metody

Poniższe sprawdzone metody są zdecydowanie zalecane, za pomocą interfejsu Actions API.

Ustawianie nagłówka żądania x-goog-user-project

Tworząc narzędzie lub aplikację dla użytkowników, warto wziąć pod uwagę projekt, który ma być rozliczany i który będzie używany na potrzeby limitów, a nie z projektu klienta. Aby określić projekt na potrzeby rozliczeń i limitów, ustaw parametr Nagłówek żądania x-goog-user-project.

Prawidłowe wartości Identyfikator projektu istniejącego Projekt Google Cloud
Przykład x-goog-user-project: my-project
Szczegóły Projekt określony w nagłówku jest używany do ograniczania limitów i jest rozliczany pod kątem opłat związanych z żądaniem.

Ustawianie nagłówka żądania klienta użytkownika

Ustaw odpowiedniego klienta użytkownika, używając nagłówka żądania user-agent. Ten pomaga interfejsowi API określić, czy żądania pochodzą od partnerów.

Znane ograniczenia

W tej sekcji opisano znane ograniczenia interfejsu Actions API.

Czas oczekiwania dla punktów końcowych strumieniowego przesyłania danych klienta

To ograniczenie dotyczy tylko żądań HTTP wysyłanych do strumieniowania z klienta i punktów końcowych. Żądania przesłane za pomocą biblioteki klienta nie są do których ma zastosowanie to ograniczenie.

Jeśli używasz żądań HTTP do wywoływania WritePreview, CreateVersion lub WriteDraft, zalecamy wdrożenie limitu czasu oczekiwania na obsługę żądań, które nie są udało się.

Jeśli otrzymasz nagłówek odpowiedzi, który określa kod stanu inny niż 200, Twój kod powinien zakończyć transmisję po pewnym czasie. Ten numer dotyczy tylko punktów końcowych strumieniowania klienta. Na przykład narzędzie gactions, który korzysta z interfejsu Actions API, ma 5-sekundowy czas oczekiwania.