Skip to content

create_event_stream

create_event_stream(
    domain_name: name,
    uri: string1To255,
    event_stream_name: name,
    *,
    config_overrides: Optional[CustomerProfilesClientConfig] = None,
    tags: Optional[TagMap] = None,
) -> CreateEventStreamResponse

Creates an event stream, which is a subscription to real-time events, such as when profiles are created and updated through Connect Customer Customer Profiles.

Each event stream can be associated with only one Kinesis Data Stream destination in the same region and Amazon Web Services account as the customer profiles domain

Parameters:

  • domain_name (name) –

    The unique name of the domain.

  • uri (string1To255) –

    The StreamARN of the destination to deliver profile events to. For example, arn:aws:kinesis:region:account-id:stream/stream-name

  • event_stream_name (name) –

    The name of the event stream.

  • tags (Optional[TagMap], default: None ) –

    The tags used to organize, track, or control access for this resource.

Raises:

Source code in docs_src/capo_customer_profiles/_services/customer_profiles.py
def create_event_stream(
    self,
    domain_name: "capo_customer_profiles.types.name.name",
    uri: "capo_customer_profiles.types.string1_to255.string1To255",
    event_stream_name: "capo_customer_profiles.types.name.name",
    *,
    config_overrides: Optional[CustomerProfilesClientConfig] = None,
    tags: Optional["capo_customer_profiles.types.tag_map.TagMap"] = None,
) -> "capo_customer_profiles.types.create_event_stream_response.CreateEventStreamResponse":
    """<p>Creates an event stream, which is a subscription to real-time events, such as when profiles are created and updated through Connect Customer Customer Profiles.</p> <p>Each event stream can be associated with only one Kinesis Data Stream destination in the same region and Amazon Web Services account as the customer profiles domain</p>

    Args:
        domain_name: <p>The unique name of the domain.</p>
        uri: <p>The StreamARN of the destination to deliver profile events to. For example, arn:aws:kinesis:region:account-id:stream/stream-name</p>
        event_stream_name: <p>The name of the event stream.</p>
        tags: <p>The tags used to organize, track, or control access for this resource.</p>

    Raises:
        capo_customer_profiles.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action.</p>
        capo_customer_profiles.errors.bad_request_exception.BadRequestException: <p>The input you provided is invalid.</p>
        capo_customer_profiles.errors.internal_server_exception.InternalServerException: <p>An internal service error occurred.</p>
        capo_customer_profiles.errors.resource_not_found_exception.ResourceNotFoundException: <p>The requested resource does not exist, or access was denied.</p>
        capo_customer_profiles.errors.throttling_exception.ThrottlingException: <p>You exceeded the maximum number of requests.</p>
        capo_customer_profiles.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_customer_profiles.types.create_event_stream_request.CreateEventStreamRequest]",
    ) -> OperationResponse[
        "capo_customer_profiles.types.create_event_stream_response.CreateEventStreamResponse"
    ]:
        import capo_customer_profiles._operations.customer_profiles_20200815.create_event_stream

        output, http_response = (
            capo_customer_profiles._operations.customer_profiles_20200815.create_event_stream.create_event_stream(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateEventStream")
    )
    input_: capo_customer_profiles.types.create_event_stream_request.CreateEventStreamRequest = {
        "domain_name": domain_name,
        "uri": uri,
        "event_stream_name": event_stream_name,
    }
    if tags is not None:
        input_["tags"] = tags

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output