<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Managing Connectors · Apache Pulsar</title><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta name="generator" content="Docusaurus"/><meta name="description" content="This section describes how to manage Pulsar IO connectors in a Pulsar cluster. You will learn how to:"/><meta name="docsearch:version" content="2.8.0"/><meta name="docsearch:language" content="en"/><meta property="og:title" content="Managing Connectors · Apache Pulsar"/><meta property="og:type" content="website"/><meta property="og:url" content="https://pulsar.apache.org/"/><meta property="og:description" content="This section describes how to manage Pulsar IO connectors in a Pulsar cluster. You will learn how to:"/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://pulsar.apache.org/img/pulsar.svg"/><link rel="shortcut icon" href="/img/pulsar.ico"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://pulsar.apache.org/blog/atom.xml" title="Apache Pulsar Blog ATOM Feed"/><link rel="alternate" type="application/rss+xml" href="https://pulsar.apache.org/blog/feed.xml" title="Apache Pulsar Blog RSS Feed"/><link rel="stylesheet" href="/css/code-blocks-buttons.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/custom.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/en"><img class="logo" src="/img/pulsar.svg" alt="Apache Pulsar"/></a><a href="/en/versions"><h3>2.8.0</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class=""><a href="/docs/en/2.8.0/getting-started-standalone" target="_self">Docs</a></li><li class=""><a href="/en/download" target="_self">Download</a></li><li class=""><a href="/docs/en/2.8.0/client-libraries" target="_self">Clients</a></li><li class=""><a href="#restapis" target="_self">REST APIs</a></li><li class=""><a href="#cli" target="_self">Cli</a></li><li class=""><a href="/blog/" target="_self">Blog</a></li><li class=""><a href="#community" target="_self">Community</a></li><li class=""><a href="#apache" target="_self">Apache</a></li><li class=""><a href="https://pulsar-next.staged.apache.org/" target="_self">New Website (Beta)</a></li><span><li><a id="languages-menu" href="#"><img class="languages-icon" src="/img/language.svg" alt="Languages icon"/>English</a><div id="languages-dropdown" class="hide"><ul id="languages-dropdown-items"><li><a href="/docs/ja/2.8.0/io-managing">日本語</a></li><li><a href="/docs/fr/2.8.0/io-managing">Français</a></li><li><a href="/docs/ko/2.8.0/io-managing">한국어</a></li><li><a href="/docs/zh-CN/2.8.0/io-managing">中文</a></li><li><a href="/docs/zh-TW/2.8.0/io-managing">繁體中文</a></li><li><a href="https://crowdin.com/project/apache-pulsar" target="_blank" rel="noreferrer noopener">Help Translate</a></li></ul></div></li><script>
        const languagesMenuItem = document.getElementById("languages-menu");
        const languagesDropDown = document.getElementById("languages-dropdown");
        languagesMenuItem.addEventListener("click", function(event) {
          event.preventDefault();

          if (languagesDropDown.className == "hide") {
            languagesDropDown.className = "visible";
          } else {
            languagesDropDown.className = "hide";
          }
        });
      </script></span></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/pulsar/edit/master/site2/docs/io-managing.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Managing Connectors</h1></header><article><div><span><p>This section describes how to manage Pulsar IO connectors in a Pulsar cluster. You will learn how to:</p>
<ul>
<li>Deploy builtin connectors</li>
<li>Monitor and update running connectors with Pulsar Admin CLI</li>
<li>Deploy customized connectors</li>
<li>Upgrade a connector</li>
</ul>
<h2><a class="anchor" aria-hidden="true" id="using-builtin-connectors"></a><a href="#using-builtin-connectors" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Using Builtin Connectors</h2>
<p>Pulsar bundles several <a href="/docs/en/2.8.0/io-overview#working-with-connectors">builtin connectors</a> that should be used for moving data in and out
of commonly used systems such as databases, messaging systems. Getting set up to use these builtin connectors is simple. You can follow
the <a href="/docs/en/2.8.0/getting-started-standalone#installing-builtin-connectors">instructions</a> on installing builtin connectors. After setup, all
the builtin connectors will be automatically discovered by Pulsar brokers (or function-workers), so no additional installation steps are
required.</p>
<h2><a class="anchor" aria-hidden="true" id="configuring-connectors"></a><a href="#configuring-connectors" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Configuring Connectors</h2>
<p>Configuring Pulsar IO connectors is straightforward. What you need to do is to provide a yaml configuration file when your <a href="#running-connectors">run connectors</a>.
The yaml configuration file basically tells Pulsar where to locate the sources and sinks and how to connect those sources and sinks with Pulsar topics.</p>
<p>Below is an example yaml configuration file for Cassandra Sink:</p>
<pre><code class="hljs css language-shell">tenant: public
namespace: default
name: cassandra-test-sink
...
<span class="hljs-meta">#</span><span class="bash"> cassandra specific config</span>
configs:
    roots: "localhost:9042"
    keyspace: "pulsar_test_keyspace"
    columnFamily: "pulsar_test_table"
    keyname: "key"
    columnName: "col"
</code></pre>
<p>The example yaml basically tells Pulsar which Cassandra cluster to connect, what is the <code>keyspace</code> and <code>columnFamily</code> to be used in Cassandra for collecting data,
and how to map a Pulsar message into Cassandra table key and columns.</p>
<p>For details, consult the documentation for <a href="/docs/en/2.8.0/io-overview#working-with-connectors">individual connectors</a>.</p>
<h2><a class="anchor" aria-hidden="true" id="running-connectors"></a><a href="#running-connectors" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Running Connectors</h2>
<p>Pulsar connectors can be managed using the <a href="/docs/en/2.8.0/reference-pulsar-admin#source"><code>source</code></a> and <a href="/docs/en/2.8.0/reference-pulsar-admin#sink"><code>sink</code></a> commands of the <a href="/docs/en/2.8.0/reference-pulsar-admin"><code>pulsar-admin</code></a> CLI tool.</p>
<h3><a class="anchor" aria-hidden="true" id="running-sources"></a><a href="#running-sources" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Running sources</h3>
<p>You can submit a source to be run in an existing Pulsar cluster using a command of this form:</p>
<pre><code class="hljs css language-bash">$ ./bin/pulsar-admin sources create --classname  &lt;classname&gt; --archive &lt;jar-location&gt; --tenant &lt;tenant&gt; --namespace &lt;namespace&gt; --name &lt;<span class="hljs-built_in">source</span>-name&gt; --destination-topic-name &lt;output-topic&gt;
</code></pre>
<p>Here’s an example command:</p>
<pre><code class="hljs css language-bash">bin/pulsar-admin sources create --classname org.apache.pulsar.io.twitter.TwitterFireHose --archive ~/application.jar --tenant <span class="hljs-built_in">test</span> --namespace ns1 --name twitter-source --destination-topic-name twitter_data
</code></pre>
<p>Instead of submitting a source to run on an existing Pulsar cluster, you alternatively can run a source as a process on your local machine:</p>
<pre><code class="hljs css language-bash">bin/pulsar-admin sources localrun --classname  org.apache.pulsar.io.twitter.TwitterFireHose --archive ~/application.jar --tenant <span class="hljs-built_in">test</span> --namespace ns1 --name twitter-source --destination-topic-name twitter_data
</code></pre>
<p>If you are submitting a built-in source, you don't need to specify <code>--classname</code> and <code>--archive</code>.
You can simply specify the source type <code>--source-type</code>. The command to submit a built-in source is
in following form:</p>
<pre><code class="hljs css language-bash">./bin/pulsar-admin sources create \
    --tenant &lt;tenant&gt; \
    --namespace &lt;namespace&gt; \
    --name &lt;<span class="hljs-built_in">source</span>-name&gt; \
    --destination-topic-name &lt;input-topics&gt; \
    --<span class="hljs-built_in">source</span>-type &lt;<span class="hljs-built_in">source</span>-type&gt;
</code></pre>
<p>Here's an example to submit a Kafka source:</p>
<pre><code class="hljs css language-bash">./bin/pulsar-admin sources create \
    --tenant <span class="hljs-built_in">test</span>-tenant \
    --namespace <span class="hljs-built_in">test</span>-namespace \
    --name <span class="hljs-built_in">test</span>-kafka-source \
    --destination-topic-name pulsar_sink_topic \
    --<span class="hljs-built_in">source</span>-type kafka
</code></pre>
<h3><a class="anchor" aria-hidden="true" id="running-sinks"></a><a href="#running-sinks" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Running Sinks</h3>
<p>You can submit a sink to be run in an existing Pulsar cluster using a command of this form:</p>
<pre><code class="hljs css language-bash">./bin/pulsar-admin sinks create --classname  &lt;classname&gt; --archive &lt;jar-location&gt; --tenant <span class="hljs-built_in">test</span> --namespace &lt;namespace&gt; --name &lt;sink-name&gt; --inputs &lt;input-topics&gt;
</code></pre>
<p>Here’s an example command:</p>
<pre><code class="hljs css language-bash">./bin/pulsar-admin sinks create --classname  org.apache.pulsar.io.cassandra --archive ~/application.jar --tenant <span class="hljs-built_in">test</span> --namespace ns1 --name cassandra-sink --inputs test_topic
</code></pre>
<p>Instead of submitting a sink to run on an existing Pulsar cluster, you alternatively can run a sink as a process on your local machine:</p>
<pre><code class="hljs css language-bash">./bin/pulsar-admin sinks localrun --classname  org.apache.pulsar.io.cassandra --archive ~/application.jar --tenant <span class="hljs-built_in">test</span> --namespace ns1 --name cassandra-sink --inputs test_topic
</code></pre>
<p>If you are submitting a built-in sink, you don't need to specify <code>--classname</code> and <code>--archive</code>.
You can simply specify the sink type <code>--sink-type</code>. The command to submit a built-in sink is
in following form:</p>
<h4><a class="anchor" aria-hidden="true" id="note"></a><a href="#note" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Note</h4>
<blockquote>
<p>The <code>sink-type</code> parameter of the currently built-in connectors is determined by the setting of the <code>name</code> parameter specified in the pulsar-io.yaml file.</p>
</blockquote>
<pre><code class="hljs css language-bash">./bin/pulsar-admin sinks create \
    --tenant &lt;tenant&gt; \
    --namespace &lt;namespace&gt; \
    --name &lt;sink-name&gt; \
    --inputs &lt;input-topics&gt; \
    --sink-type &lt;sink-type&gt;
</code></pre>
<p>Here's an example to submit a Cassandra sink:</p>
<pre><code class="hljs css language-bash">./bin/pulsar-admin sinks create \
    --tenant <span class="hljs-built_in">test</span>-tenant \
    --namespace <span class="hljs-built_in">test</span>-namespace \
    --name <span class="hljs-built_in">test</span>-cassandra-sink \
    --inputs pulsar_input_topic \
    --sink-type cassandra
</code></pre>
<h2><a class="anchor" aria-hidden="true" id="monitoring-connectors"></a><a href="#monitoring-connectors" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Monitoring Connectors</h2>
<p>Since Pulsar IO connectors are running as <a href="/docs/en/2.8.0/functions-overview">Pulsar Functions</a>, so you can use <a href="/docs/en/2.8.0/reference-pulsar-admin#source"><code>functions</code></a> commands
available in the <a href="/docs/en/2.8.0/reference-pulsar-admin"><code>pulsar-admin</code></a> CLI tool.</p>
<h3><a class="anchor" aria-hidden="true" id="retrieve-connector-metadata"></a><a href="#retrieve-connector-metadata" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Retrieve Connector Metadata</h3>
<pre><code class="hljs">bin/pulsar-<span class="hljs-keyword">admin</span> <span class="hljs-keyword">functions</span> <span class="hljs-keyword">get</span> \
    <span class="hljs-comment">--tenant &lt;tenant&gt; \</span>
    <span class="hljs-comment">--namespace &lt;namespace&gt; \</span>
    <span class="hljs-comment">--name &lt;connector-name&gt;</span>
</code></pre>
<h3><a class="anchor" aria-hidden="true" id="retrieve-connector-running-status"></a><a href="#retrieve-connector-running-status" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Retrieve Connector Running Status</h3>
<pre><code class="hljs">bin/pulsar-<span class="hljs-keyword">admin</span> <span class="hljs-keyword">functions</span> getstatus \
    <span class="hljs-comment">--tenant &lt;tenant&gt; \</span>
    <span class="hljs-comment">--namespace &lt;namespace&gt; \</span>
    <span class="hljs-comment">--name &lt;connector-name&gt;</span>
</code></pre>
</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#using-builtin-connectors">Using Builtin Connectors</a></li><li><a href="#configuring-connectors">Configuring Connectors</a></li><li><a href="#running-connectors">Running Connectors</a><ul class="toc-headings"><li><a href="#running-sources">Running sources</a></li><li><a href="#running-sinks">Running Sinks</a></li></ul></li><li><a href="#monitoring-connectors">Monitoring Connectors</a><ul class="toc-headings"><li><a href="#retrieve-connector-metadata">Retrieve Connector Metadata</a></li><li><a href="#retrieve-connector-running-status">Retrieve Connector Running Status</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="copyright">Copyright © 2022 The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of The Apache Software Foundation.</section><span><script>
      const community = document.querySelector("a[href='#community']").parentNode;
      const communityMenu =
        '<li>' +
        '<a id="community-menu" href="#">Community <span style="font-size: 0.75em">&nbsp;▼</span></a>' +
        '<div id="community-dropdown" class="hide">' +
          '<ul id="community-dropdown-items">' +
            '<li><a href="/en/contact">Contact</a></li>' +
            '<li><a href="/en/contributing">Contributing</a></li>' +
            '<li><a href="/en/coding-guide">Coding guide</a></li>' +
            '<li><a href="/en/events">Events</a></li>' +
            '<li><a href="https://twitter.com/Apache_Pulsar" target="_blank">Twitter &#x2750</a></li>' +
            '<li><a href="https://github.com/apache/pulsar/wiki" target="_blank">Wiki &#x2750</a></li>' +
            '<li><a href="https://github.com/apache/pulsar/issues" target="_blank">Issue tracking &#x2750</a></li>' +
            '<li><a href="https://pulsar-summit.org/" target="_blank">Pulsar Summit &#x2750</a></li>' +
            '<li>&nbsp;</li>' +
            '<li><a href="/en/resources">Resources</a></li>' +
            '<li><a href="/en/team">Team</a></li>' +
            '<li><a href="/en/powered-by">Powered By</a></li>' +
          '</ul>' +
        '</div>' +
        '</li>';

      community.innerHTML = communityMenu;

      const communityMenuItem = document.getElementById("community-menu");
      const communityDropDown = document.getElementById("community-dropdown");
      communityMenuItem.addEventListener("click", function(event) {
        event.preventDefault();

        if (communityDropDown.className == 'hide') {
          communityDropDown.className = 'visible';
        } else {
          communityDropDown.className = 'hide';
        }
      });
    </script></span></footer></div><script>window.twttr=(function(d,s, id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return t;js=d.createElement(s);js.id=id;js.src='https://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js, fjs);t._e = [];t.ready = function(f) {t._e.push(f);};return t;}(document, 'script', 'twitter-wjs'));</script></body></html>