v1 发布具有压缩率的消息(已废弃)
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],[],[],[],null,["# v1 Publish messages with compression rate (DEPRECATED)\n\n(DEPRECATED) Publish messages with compression rate\n\nCode sample\n-----------\n\n### Go\n\n\nBefore trying this sample, follow the Go setup instructions in the\n[Pub/Sub quickstart using\nclient libraries](/pubsub/docs/quickstart-client-libraries).\n\n\nFor more information, see the\n[Pub/Sub Go API\nreference documentation](https://godoc.org/cloud.google.com/go/pubsub).\n\n\nTo authenticate to Pub/Sub, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n import (\n \t\"context\"\n \t\"fmt\"\n \t\"io\"\n\n \t\"cloud.google.com/go/pubsub\"\n )\n\n func publishWithCompression(w io.Writer, projectID, topicID string) error {\n \t// projectID := \"my-project-id\"\n \t// topicID := \"my-topic\"\n \t// msg := \"Hello World\"\n \tctx := context.Background()\n \tclient, err := pubsub.https://cloud.google.com/go/docs/reference/cloud.google.com/go/pubsub/latest/index.html#cloud_google_com_go_pubsub_Client_NewClient(ctx, projectID)\n \tif err != nil {\n \t\treturn fmt.Errorf(\"pubsub: NewClient: %w\", err)\n \t}\n \tdefer client.Close()\n\n \tt := client.Topic(topicID)\n \t// Enable compression and configure the compression threshold to 10 bytes (default to 240 B).\n \t// Publish requests of sizes \u003e 10 B (excluding the request headers) will get compressed.\n \tt.PublishSettings.EnableCompression = true\n \tt.PublishSettings.CompressionBytesThreshold = 10\n \tresult := t.Publish(ctx, &pubsub.Message{\n \t\tData: []byte(\"This is a test message\"),\n \t})\n \t// Block until the result is returned and a server-generated\n \t// ID is returned for the published message.\n \tid, err := result.Get(ctx)\n \tif err != nil {\n \t\treturn fmt.Errorf(\"pubsub: result.Get: %w\", err)\n \t}\n \tfmt.Fprintf(w, \"Published a message; msg ID: %v\\n\", id)\n \treturn nil\n }\n\n### Ruby\n\n\nBefore trying this sample, follow the Ruby setup instructions in the\n[Pub/Sub quickstart using\nclient libraries](/pubsub/docs/quickstart-client-libraries).\n\n\nFor more information, see the\n[Pub/Sub Ruby API\nreference documentation](https://googleapis.dev/ruby/google-cloud-pubsub/latest/Google/Cloud/PubSub.html).\n\n\nTo authenticate to Pub/Sub, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n require \"google/cloud/pubsub\"\n\n ##\n # Shows how to create a BigQuery subscription where messages published\n # to a topic populates a BigQuery table.\n #\n # @param project_id [String]\n # Your Google Cloud project (e.g. \"my-project\")\n # @param topic_id [String]\n # Your topic name (e.g. \"my-secret\")\n #\n def pubsub_old_version_publisher_with_compression project_id:, topic_id:\n pubsub = Google::Cloud::https://cloud.google.com/ruby/docs/reference/google-cloud-pubsub/latest/Google-Cloud.html.new project_id: project_id\n\n # Enable compression and configure the compression threshold to 10 bytes (default to 240 B).\n # Publish requests of sizes \u003e 10 B (excluding the request headers) will get compressed.\n topic = pubsub.topic topic_id, async: {\n compress: true,\n compression_bytes_threshold: 10\n }\n\n begin\n topic.publish_async \"This is a test message.\" do |result|\n raise \"Failed to publish the message.\" unless result.succeeded?\n puts \"Published a compressed message of message ID: #{result.message_id}\"\n end\n\n # Stop the async_publisher to send all queued messages immediately.\n topic.async_publisher.stop.wait!\n rescue StandardError =\u003e e\n puts \"Received error while publishing: #{e.message}\"\n end\n end\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=pubsub)."]]