FieldMask로 데이터 업데이트

API로 에이전트 데이터를 업데이트할 때 전체 데이터 유형을 덮어쓰거나 데이터 유형의 특정 필드만 덮어쓸 수 있습니다. 모든 데이터를 실수로 덮어쓰지 않도록 일반적으로 특정 필드를 덮어쓰는 것이 가장 좋습니다. 특정 필드를 덮어쓰려면 업데이트 요청에 FieldMask를 제공합니다.

다음 예시에서는 인텐트 유형의 표시되는 이름과 이벤트를 업데이트하기 위해 FieldMask를 제공하는 방법을 보여줍니다.

REST

patch 메서드에 updateMask URL 쿼리 매개변수를 제공합니다. 예를 들면 다음과 같습니다.

?updateMask=displayName,events
    

C#

UpdateIntent 메서드에 updateMask 매개변수를 제공합니다. 예를 들어 업데이트 마스크를 만드는 방법은 다음과 같습니다.

FieldMask updateMask = new FieldMask();
updateMask.Paths.AddRange(new string[] { "display_name", "events" });
    

Go

UpdateIntent 메서드에 UpdateIntentRequest.UpdateMask 필드를 제공합니다. 예를 들어 업데이트 마스크를 만드는 방법은 다음과 같습니다.

import dialogflowpb "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
...
updateMask := &dialogflowpb.FieldMask{
  Paths: []string{"display_name", "events"},
}
    

자바

updateIntent 메서드에 UpdateIntentRequest.UpdateMask 필드를 제공합니다. 예를 들어 업데이트 마스크를 만드는 방법은 다음과 같습니다.

FieldMask fieldMask =
  FieldMask.newBuilder()
    .addPaths("display_name")
    .addPaths("events")
    .build();
    

Node.js

updateIntent 함수에 request.updateMask 매개변수를 제공합니다. 예를 들어 업데이트 마스크를 만드는 방법은 다음과 같습니다.

var updateMask = {
  'paths': [
    'displayName',
    'events'
  ]
};
    

PHP

UpdateIntent 메서드에 optionalArgs.updateMask 매개변수를 제공합니다. 예를 들어 업데이트 마스크를 만드는 방법은 다음과 같습니다.

use Google\Protobuf\FieldMask;
...
$updateMask = new FieldMask([
  'paths' => ['displayName', 'events']
]);
    

Python

update_intent 메서드에 update_mask 매개변수를 제공합니다. 예를 들어 업데이트 마스크를 만드는 방법은 다음과 같습니다.

from google.protobuf import field_mask_pb2
...
update_mask = field_mask_pb2.FieldMask(paths=['display_name', 'events'])
    

Ruby

update_intent 함수에 update_mask 매개변수를 제공합니다. 예를 들어 업데이트 마스크를 만드는 방법은 다음과 같습니다.

mask = Google::Protobuf::FieldMask.new
mask.path = ["display_name", "events"]