コード例 #1
0
    def publish(self, topic, messages, options=None):
        """
        Adds one or more messages to the topic. Returns ``NOT_FOUND`` if the topic
        does not exist. The message payload must not be empty; it must contain
        either a non-empty data field, or at least one attribute.

        Example:
          >>> from google.cloud.gapic.pubsub.v1.publisher_api import PublisherApi
          >>> from google.pubsub.v1 import pubsub_pb2
          >>> api = PublisherApi()
          >>> topic = api.topic_path('[PROJECT]', '[TOPIC]')
          >>> data = ''
          >>> messages_element = pubsub_pb2.PubsubMessage(data)
          >>> messages = [messages_element]
          >>> response = api.publish(topic, messages)

        Args:
          topic (string): The messages in the request will be published on this topic.
          messages (list[:class:`google.pubsub.v1.pubsub_pb2.PubsubMessage`]): The messages to publish.
          options (:class:`google.gax.CallOptions`): Overrides the default
            settings for this call, e.g, timeout, retries etc.

        Returns:
          A :class:`google.pubsub.v1.pubsub_pb2.PublishResponse` instance.

        Raises:
          :exc:`google.gax.errors.GaxError` if the RPC is aborted.
        """
        request = pubsub_pb2.PublishRequest(topic=topic, messages=messages)
        return self._publish(request, options)
コード例 #2
0
def publish(stub, topic, message):
    message_payload = []
    message_payload.append(pubsub_pb2.PubsubMessage(data=message))
    req = pubsub_pb2.PublishRequest(topic=topic, messages=message_payload)
    try:
        resp = stub.Publish(req, TIMEOUT)
        for t in resp.message_ids:
            print("Message ID: {}".format(t))
    except NetworkError, e:
        logging.warning('Failed to list topics: {}'.format(e))
        sys.exit(1)