Bindings on Streams, Delta Streams, and Windows

Bindings enable data to flow between projects. When you create a binding, a stream, delta stream, or window in one project subscribes or publishes to a stream, delta stream, or window in another project.

A binding is a named connection from an output stream (or delta stream or window) of one project to an input stream (or delta stream or window) of another.

Bindings reside in the CCR project configuration file so you can change them at runtime. The streams being bound must have compatible schemas.

Example: Binding to a Stream on an SSL-Enabled Cluster

This example shows a binding called BaseInputBinding that connects a local input stream called sin to a remote output stream that is also called sin. When the SSL protocol is enabled on the manager node of the data source stream’s cluster, the <Manager> element that specifies the cluster hostname and port in the CCR file must include the https:// prefix, as shown here. If you omit the https:// prefix, the binding cannot pass data, so the input stream will not receive anything.
<Configuration>
  <Runtime>
    <Clusters>  
      <Cluster name="cluster1" type="remote">
        <Username>USER_NAME</Username>
        <Password>PASSWORD</Password>
        <Managers>
          <Manager>https://CLUSTER_MANAGER_HOSTNAME:
          CLUSTER_MANAGER_RPC_PORT</Manager>  
          <!-- use https:// when SSL is enabled -->
        </Managers>
      </Cluster>
    </Clusters>
             
    <Bindings>                  
      <Binding name="sin">
        <Cluster>cluster1</Cluster> 
        <Workspace>ws2</Workspace>                          
        <Project>prj2</Project>
        <BindingName>BaseInputBinding</BindingName>
        <RemoteStream>sin</RemoteStream>                  
      </Binding>
    </Bindings>
  </Runtime>
</Configuration>