Memublikasikan v1 dengan penanganan error (TIDAK DIGUNAKAN LAGI)
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
(TIDAK DIGUNAKAN LAGI) Memublikasikan dengan penanganan error
Contoh kode
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],[],[],[],null,["# v1 Publish with error handling (DEPRECATED)\n\n(DEPRECATED) Publish with error handling\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 \t\"strconv\"\n \t\"sync\"\n \t\"sync/atomic\"\n\n \t\"cloud.google.com/go/pubsub\"\n )\n\n func publishThatScales(w io.Writer, projectID, topicID string, n int) error {\n \t// projectID := \"my-project-id\"\n \t// topicID := \"my-topic\"\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 \tvar wg sync.WaitGroup\n \tvar totalErrors uint64\n \tt := client.Topic(topicID)\n\n \tfor i := 0; i \u003c n; i++ {\n \t\tresult := t.Publish(ctx, &pubsub.Message{\n \t\t\tData: []byte(\"Message \" + strconv.Itoa(i)),\n \t\t})\n\n \t\twg.Add(1)\n \t\tgo func(i int, res *pubsub.https://cloud.google.com/go/docs/reference/cloud.google.com/go/pubsub/latest/index.html#cloud_google_com_go_pubsub_PublishResult) {\n \t\t\tdefer wg.Done()\n \t\t\t// The Get method blocks until a server-generated ID or\n \t\t\t// an error is returned for the published message.\n \t\t\tid, err := res.Get(ctx)\n \t\t\tif err != nil {\n \t\t\t\t// Error handling code can be added here.\n \t\t\t\tfmt.Fprintf(w, \"Failed to publish: %v\", err)\n \t\t\t\tatomic.AddUint64(&totalErrors, 1)\n \t\t\t\treturn\n \t\t\t}\n \t\t\tfmt.Fprintf(w, \"Published message %d; msg ID: %v\\n\", i, id)\n \t\t}(i, result)\n \t}\n\n \twg.Wait()\n\n \tif totalErrors \u003e 0 {\n \t\treturn fmt.Errorf(\"%d of %d messages did not publish successfully\", totalErrors, n)\n \t}\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 # topic_id = \"your-topic-id\"\n\n pubsub = Google::Cloud::https://cloud.google.com/ruby/docs/reference/google-cloud-pubsub/latest/Google-Cloud.html.new\n\n topic = pubsub.topic topic_id\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 \"Message published asynchronously.\"\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\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)."]]