Dataflow によるグループの書き込み
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
Dataflow コネクタで MutationGroup クラスを使用してデータを書き込み、ミューテーションのグループがアトミックに適用されるようにします。
もっと見る
このコードサンプルを含む詳細なドキュメントについては、以下をご覧ください。
コードサンプル
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。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,["# Dataflow write group\n\nUse the Dataflow connector to write data by using a MutationGroup class to ensure that a group of mutations is applied atomically.\n\nExplore further\n---------------\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Import, export, and modify data using Dataflow](/spanner/docs/dataflow-connector)\n\nCode sample\n-----------\n\n### Java\n\n\nTo learn how to install and use the client library for Spanner, see\n[Spanner client libraries](/spanner/docs/reference/libraries).\n\n\nTo authenticate to Spanner, 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 PCollection\u003cMutationGroup\u003e mutations =\n suspiciousUserIds.apply(\n MapElements.via(\n new SimpleFunction\u003c\u003e() {\n\n @Override\n public MutationGroup apply(String userId) {\n // Immediately block the user.\n Mutation userMutation =\n Mutation.newUpdateBuilder(\"Users\")\n .set(\"id\")\n .to(userId)\n .set(\"state\")\n .to(\"BLOCKED\")\n .build();\n long generatedId =\n Hashing.sha1()\n .newHasher()\n .putString(userId, Charsets.UTF_8)\n .putLong(timestamp.getSeconds())\n .putLong(timestamp.getNanos())\n .hash()\n .asLong();\n\n // Add an entry to pending review requests.\n Mutation pendingReview =\n Mutation.newInsertOrUpdateBuilder(\"PendingReviews\")\n .set(\"id\")\n .to(generatedId) // Must be deterministically generated.\n .set(\"userId\")\n .to(userId)\n .set(\"action\")\n .to(\"REVIEW ACCOUNT\")\n .set(\"note\")\n .to(\"Suspicious activity detected.\")\n .build();\n\n return MutationGroup.create(userMutation, pendingReview);\n }\n }));\n\n mutations.apply(SpannerIO.write()\n .withInstanceId(instanceId)\n .withDatabaseId(databaseId)\n .grouped());\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=spanner)."]]