콜백 엔드포인트를 사용하여 번역 요청 검증
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
HTTP 요청이 해당 엔드포인트에 도달할 때까지 기다리는 콜백 엔드포인트 지원으로 나중에 워크플로 실행을 다시 시작하여 번역 요청의 유효성을 검사합니다.
더 살펴보기
이 코드 샘플이 포함된 자세한 문서는 다음을 참조하세요.
코드 샘플
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 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,["# Validate a translation request using a callback endpoint\n\nValidates translation requests by supporting a callback endpoint that waits for HTTP requests to arrive at that endpoint, resuming the execution of the workflow at a later point in time.\n\nExplore further\n---------------\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Create a human-in-the-loop workflow using callbacks](/workflows/docs/tutorials/callbacks-firestore)\n\nCode sample\n-----------\n\n### YAML\n\n main:\n params: [translation_request]\n steps:\n - log_request:\n call: sys.log\n args:\n text: ${translation_request}\n - vars:\n assign:\n - exec_id: ${sys.get_env(\"GOOGLE_CLOUD_WORKFLOW_EXECUTION_ID\")}\n - text_to_translate: ${translation_request.text}\n - database_root: ${\"projects/\" + sys.get_env(\"GOOGLE_CLOUD_PROJECT_ID\") + \"/databases/(default)/documents/translations/\"}\n - log_translation_request:\n call: sys.log\n args:\n text: ${text_to_translate}\n\n - store_translation_request:\n call: googleapis.firestore.v1.projects.databases.documents.patch\n args:\n name: ${database_root + exec_id}\n updateMask:\n fieldPaths: ['text']\n body:\n fields:\n text:\n stringValue: ${text_to_translate}\n result: store_translation_request_result\n\n - translate:\n call: googleapis.translate.v2.translations.translate\n args:\n query:\n q: ${text_to_translate}\n target: \"FR\"\n format: \"text\"\n source: \"EN\"\n result: translation_result\n - assign_translation:\n assign:\n - translation: ${translation_result.data.translations[0].translatedText} \n - log_translation_result:\n call: sys.log\n args:\n text: ${translation}\n\n - store_translated_text:\n call: googleapis.firestore.v1.projects.databases.documents.patch\n args:\n name: ${database_root + exec_id}\n updateMask:\n fieldPaths: ['translation']\n body:\n fields:\n translation:\n stringValue: ${translation}\n result: store_translation_request_result \n\n - create_callback:\n call: events.create_callback_endpoint\n args:\n http_callback_method: \"POST\"\n result: callback_details\n - log_callback_details:\n call: sys.log\n args:\n text: ${callback_details}\n\n - store_callback_details:\n call: googleapis.firestore.v1.projects.databases.documents.patch\n args:\n name: ${database_root + exec_id}\n updateMask:\n fieldPaths: ['callback']\n body:\n fields:\n callback:\n stringValue: ${callback_details.url}\n result: store_callback_details_result\n\n - await_callback:\n call: events.await_callback\n args:\n callback: ${callback_details}\n timeout: 3600\n result: callback_request\n - assign_approval:\n assign:\n - approved: ${callback_request.http_request.body.approved}\n\n - store_approval:\n call: googleapis.firestore.v1.projects.databases.documents.patch\n args:\n name: ${database_root + exec_id}\n updateMask:\n fieldPaths: ['approved']\n body:\n fields:\n approved:\n booleanValue: ${approved}\n result: store_approval_result\n\n - return_outcome:\n return:\n text: ${text_to_translate}\n translation: ${translation}\n approved: ${approved}\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=workflows)."]]