Publicação da v1 com tratamento de erros (DESCONTINUADO)
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
(DESCONTINUADO) Publicar com tratamento de erros
Exemplo de código
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","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)."]]