Actions API

Actions API는 작업을 빌드, 관리, 테스트하는 데 도움이 되는 엔드포인트를 제공합니다.

클라이언트 라이브러리 (Node.js)

서버에 직접 HTTP 요청을 전송하여 Actions API RESTful 서비스를 사용할 수 있지만, 저희는 Node.js에서 엔드포인트에 더 쉽게 액세스할 수 있게 해주는 클라이언트 라이브러리를 제공합니다. Actions API 클라이언트 라이브러리를 사용하면 다양한 엔드포인트를 사용하여 작업을 관리하고 테스트할 수 있습니다.

예를 들어 아래 코드는 writePreview 엔드포인트를 호출하여 제공된 모델을 기반으로 사용자의 프로젝트 미리보기를 업데이트합니다.

   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);
    }

Actions API Node.js 클라이언트 라이브러리의 설치 안내 및 참조 자료는 라이브러리Actions API REST 참조 문서를 확인하세요.

요구사항

Actions API에 대한 요청에는 다음 요구사항이 적용됩니다.

요청 페이로드 크기

Actions API에 대한 요청은 10MB 이하여야 합니다. 여기에는 클라이언트 스트리밍 엔드포인트(스트림의 각 요청은 10MB여야 함) 합니다.

페이로드가 10MB를 초과하면 작업으로부터 400 오류가 SDK 서버에서 실행됩니다.

권장사항

다음 권장사항은 Actions API를 사용합니다

x-goog-user-project 요청 헤더 설정

사용자를 위한 도구나 애플리케이션을 만들 때 사용자의 요금이 청구되고 할당량 한도에서 사용되는 프로젝트입니다. 결제 및 할당량 목적으로 프로젝트를 지정하려면 x-goog-user-project 요청 헤더.

유효한 값 기존 프로젝트의 프로젝트 ID입니다. Google Cloud 프로젝트
x-goog-user-project: my-project
세부정보 헤더에 지정된 프로젝트가 할당량 한도에 사용되며 요금이 청구됩니다. 요청 관련 요금에 대한 액세스를 제공합니다

사용자 에이전트 요청 헤더 설정

user-agent 요청 헤더를 사용하여 적절한 사용자 에이전트를 설정합니다. 이 API는 파트너가 요청을 보냈는지 확인하는 데 도움이 됩니다.

알려진 제한사항

이 섹션에서는 Actions API의 알려진 제한사항을 설명합니다.

클라이언트 스트리밍 엔드포인트 제한 시간

이 제한은 클라이언트 스트리밍에 전송하는 HTTP 요청에만 적용됩니다. 엔드포인트가 있습니다 클라이언트 라이브러리를 사용하여 실행한 요청은 영향을 받을 수 있습니다

HTTP 요청을 사용하여 WritePreview, CreateVersion 또는 WriteDraft를 호출하는 경우 시간 제한을 구현하여 있습니다.

200 이외의 상태 코드를 지정하는 응답 헤더를 받으면 일정 시간이 지나면 스트림이 종료되어야 합니다. 이 권호 클라이언트 스트리밍 엔드포인트에만 영향을 미칩니다 예를 들어 gactions 도구는 5초의 제한 시간이 있습니다