예제 #1
0
    async def create_session_entity_type(
        self,
        request: gcd_session_entity_type.CreateSessionEntityTypeRequest = None,
        *,
        parent: str = None,
        session_entity_type: gcd_session_entity_type.SessionEntityType = None,
        retry: retries.Retry = gapic_v1.method.DEFAULT,
        timeout: float = None,
        metadata: Sequence[Tuple[str, str]] = (),
    ) -> gcd_session_entity_type.SessionEntityType:
        r"""Creates a session entity type.
        If the specified session entity type already exists,
        overrides the session entity type.

        This method doesn't work with Google Assistant
        integration. Contact Dialogflow support if you need to
        use session entities with Google Assistant integration.

        Args:
            request (:class:`google.cloud.dialogflow_v2.types.CreateSessionEntityTypeRequest`):
                The request object. The request message for
                [SessionEntityTypes.CreateSessionEntityType][google.cloud.dialogflow.v2.SessionEntityTypes.CreateSessionEntityType].
            parent (:class:`str`):
                Required. The session to create a session entity type
                for. Format:
                ``projects/<Project ID>/agent/sessions/<Session ID>`` or
                ``projects/<Project ID>/agent/environments/<Environment ID>/users/<User ID>/ sessions/<Session ID>``.
                If ``Environment ID`` is not specified, we assume
                default 'draft' environment. If ``User ID`` is not
                specified, we assume default '-' user.

                This corresponds to the ``parent`` field
                on the ``request`` instance; if ``request`` is provided, this
                should not be set.
            session_entity_type (:class:`google.cloud.dialogflow_v2.types.SessionEntityType`):
                Required. The session entity type to
                create.

                This corresponds to the ``session_entity_type`` field
                on the ``request`` instance; if ``request`` is provided, this
                should not be set.

            retry (google.api_core.retry.Retry): Designation of what errors, if any,
                should be retried.
            timeout (float): The timeout for this request.
            metadata (Sequence[Tuple[str, str]]): Strings which should be
                sent along with the request as metadata.

        Returns:
            google.cloud.dialogflow_v2.types.SessionEntityType:
                A session represents a conversation between a Dialogflow agent and an
                   end-user. You can create special entities, called
                   session entities, during a session. Session entities
                   can extend or replace custom entity types and only
                   exist during the session that they were created for.
                   All session data, including session entities, is
                   stored by Dialogflow for 20 minutes.

                   For more information, see the [session entity
                   guide](\ https://cloud.google.com/dialogflow/docs/entities-session).

        """
        # Create or coerce a protobuf request object.
        # Sanity check: If we got a request object, we should *not* have
        # gotten any keyword arguments that map to the request.
        has_flattened_params = any([parent, session_entity_type])
        if request is not None and has_flattened_params:
            raise ValueError("If the `request` argument is set, then none of "
                             "the individual field arguments should be set.")

        request = gcd_session_entity_type.CreateSessionEntityTypeRequest(
            request)

        # If we have keyword arguments corresponding to fields on the
        # request, apply these.

        if parent is not None:
            request.parent = parent
        if session_entity_type is not None:
            request.session_entity_type = session_entity_type

        # Wrap the RPC method; this adds retry and timeout information,
        # and friendly error handling.
        rpc = gapic_v1.method_async.wrap_method(
            self._client._transport.create_session_entity_type,
            default_timeout=None,
            client_info=DEFAULT_CLIENT_INFO,
        )

        # Certain fields should be provided within the metadata header;
        # add these here.
        metadata = tuple(metadata) + (gapic_v1.routing_header.to_grpc_metadata(
            (("parent", request.parent), )), )

        # Send the request.
        response = await rpc(
            request,
            retry=retry,
            timeout=timeout,
            metadata=metadata,
        )

        # Done; return the response.
        return response
예제 #2
0
    def create_session_entity_type(
        self,
        request: Union[gcd_session_entity_type.CreateSessionEntityTypeRequest,
                       dict] = None,
        *,
        parent: str = None,
        session_entity_type: gcd_session_entity_type.SessionEntityType = None,
        retry: OptionalRetry = gapic_v1.method.DEFAULT,
        timeout: float = None,
        metadata: Sequence[Tuple[str, str]] = (),
    ) -> gcd_session_entity_type.SessionEntityType:
        r"""Creates a session entity type.
        If the specified session entity type already exists,
        overrides the session entity type.

        This method doesn't work with Google Assistant
        integration. Contact Dialogflow support if you need to
        use session entities with Google Assistant integration.

        .. code-block:: python

            from google.cloud import dialogflow_v2

            def sample_create_session_entity_type():
                # Create a client
                client = dialogflow_v2.SessionEntityTypesClient()

                # Initialize request argument(s)
                session_entity_type = dialogflow_v2.SessionEntityType()
                session_entity_type.name = "name_value"
                session_entity_type.entity_override_mode = "ENTITY_OVERRIDE_MODE_SUPPLEMENT"
                session_entity_type.entities.value = "value_value"
                session_entity_type.entities.synonyms = ['synonyms_value_1', 'synonyms_value_2']

                request = dialogflow_v2.CreateSessionEntityTypeRequest(
                    parent="parent_value",
                    session_entity_type=session_entity_type,
                )

                # Make the request
                response = client.create_session_entity_type(request=request)

                # Handle the response
                print(response)

        Args:
            request (Union[google.cloud.dialogflow_v2.types.CreateSessionEntityTypeRequest, dict]):
                The request object. The request message for
                [SessionEntityTypes.CreateSessionEntityType][google.cloud.dialogflow.v2.SessionEntityTypes.CreateSessionEntityType].
            parent (str):
                Required. The session to create a session entity type
                for. Format:
                ``projects/<Project ID>/agent/sessions/<Session ID>`` or
                ``projects/<Project ID>/agent/environments/<Environment ID>/users/<User ID>/ sessions/<Session ID>``.
                If ``Environment ID`` is not specified, we assume
                default 'draft' environment. If ``User ID`` is not
                specified, we assume default '-' user.

                This corresponds to the ``parent`` field
                on the ``request`` instance; if ``request`` is provided, this
                should not be set.
            session_entity_type (google.cloud.dialogflow_v2.types.SessionEntityType):
                Required. The session entity type to
                create.

                This corresponds to the ``session_entity_type`` field
                on the ``request`` instance; if ``request`` is provided, this
                should not be set.
            retry (google.api_core.retry.Retry): Designation of what errors, if any,
                should be retried.
            timeout (float): The timeout for this request.
            metadata (Sequence[Tuple[str, str]]): Strings which should be
                sent along with the request as metadata.

        Returns:
            google.cloud.dialogflow_v2.types.SessionEntityType:
                A session represents a conversation between a Dialogflow agent and an
                   end-user. You can create special entities, called
                   session entities, during a session. Session entities
                   can extend or replace custom entity types and only
                   exist during the session that they were created for.
                   All session data, including session entities, is
                   stored by Dialogflow for 20 minutes.

                   For more information, see the [session entity
                   guide](\ https://cloud.google.com/dialogflow/docs/entities-session).

        """
        # Create or coerce a protobuf request object.
        # Quick check: If we got a request object, we should *not* have
        # gotten any keyword arguments that map to the request.
        has_flattened_params = any([parent, session_entity_type])
        if request is not None and has_flattened_params:
            raise ValueError("If the `request` argument is set, then none of "
                             "the individual field arguments should be set.")

        # Minor optimization to avoid making a copy if the user passes
        # in a gcd_session_entity_type.CreateSessionEntityTypeRequest.
        # There's no risk of modifying the input as we've already verified
        # there are no flattened fields.
        if not isinstance(
                request,
                gcd_session_entity_type.CreateSessionEntityTypeRequest):
            request = gcd_session_entity_type.CreateSessionEntityTypeRequest(
                request)
            # If we have keyword arguments corresponding to fields on the
            # request, apply these.
            if parent is not None:
                request.parent = parent
            if session_entity_type is not None:
                request.session_entity_type = session_entity_type

        # Wrap the RPC method; this adds retry and timeout information,
        # and friendly error handling.
        rpc = self._transport._wrapped_methods[
            self._transport.create_session_entity_type]

        # Certain fields should be provided within the metadata header;
        # add these here.
        metadata = tuple(metadata) + (gapic_v1.routing_header.to_grpc_metadata(
            (("parent", request.parent), )), )

        # Send the request.
        response = rpc(
            request,
            retry=retry,
            timeout=timeout,
            metadata=metadata,
        )

        # Done; return the response.
        return response