[[["易于理解","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,["# Pricing\n\nWorkflows pricing\n=================\n\nThis document explains Workflows pricing details. You can also use the\n[Google Cloud Pricing Calculator](/products/calculator) to estimate the cost of\nusing Workflows.\n\n\nIf you pay in a currency other than USD, the prices listed in your currency on\n[Cloud Platform SKUs](https://cloud.google.com/skus/)\napply.\n\nPricing overview\n----------------\n\nWorkflows pricing is calculated monthly based on the number of\nworkflow steps executed.\n\nThe following count toward the total of workflow steps executed:\n\n- Any step that executes successfully.\n- Any step that fails during execution.\n- Any step that is [retried](/workflows/docs/reference/syntax/retrying) during a workflow execution. Each retry attempt counts as a step execution.\n\n### Internal and external steps\n\nSteps can be classified as internal or external. Internal and external steps are\npriced differently:\n| **Note:** Steps that access Google Cloud resources that use custom domains are not included as internal steps.\n\nYou incur charges for increments of 1,000 internal\nsteps or external steps. For an example of how this works, see this\n[pricing example](#price-example).\n\n### Subworkflow costs\n\nPricing for [subworkflows](/workflows/docs/reference/syntax/subworkflows) is\ncalculated using the same pricing guidelines as a regular workflow. As a result,\ncalling a subworkflow generates costs equal to the cost of all of the subworkflow's\nsteps plus the cost of the step that calls the subworkflow.\n\nFree usage\n----------\n\nAs part of the [Google Cloud Free Tier](/free), Workflows provides\nresources that are free to use up to specific limits. These usage limits are\navailable both during and after the free trial period. If you are no longer in\nthe free trial period, you incur charges beyond these Always Free\nlimits according to the [pricing table](#price-tables).\n\nPricing table\n-------------\n\nIf you pay in a currency other than USD, the prices listed in your currency on [Cloud Platform SKUs](https://cloud.google.com/skus/) apply.\n\nPricing example\n---------------\n\nYour monthly cost comes from the total number of internal and external steps\nperformed in all of your workflow executions. The billing calculation\nsubtracts the free usage from each total, counts the number of\n1,000 increments that you have fully or partially used\nfor each category, multiplies each count by the associated unit cost, then adds\nthose results together to get the total charges.\n\nFor example, if your workflow executions use a total of 6,500 internal steps and\n3,999 external steps in one month:\n\nOptimize usage\n--------------\n\nAs demonstrated by the preceding example, the cost to run a workflow is minimal.\nHowever, for high volume usage, apply the following guidelines to optimize\nusage and decrease cost:\n\n- Instead of using custom domains, ensure that any calls to Google Cloud\n services use `*.appspot.com`, `*.cloud.goog`, `*.cloudfunctions.net`, or\n `*.run.app` so that you are billed for internal and not external steps.\n\n- Apply a [custom retry policy](/workflows/docs/reference/syntax/retrying#custom-retry)\n that balances your latency and reliability needs with costs. More frequent\n retries lower latency and increase reliability, but can also increase costs.\n\n- When using connectors that wait for long-running operations, set a\n [custom polling policy](/workflows/docs/reference/googleapis#invoke_a_connector_call)\n that optimizes latency for cost. For example, if you expect an operation to take\n over an hour, you might want a policy that initially polls after one minute in\n case of an immediate failure, and then every 15 minutes after that.\n\n- Combine [assignments](/workflows/docs/reference/syntax/variables#assign-step)\n into one step.\n\n- Avoid excessive use of `sys.log` steps. Consider using\n [call logging](/workflows/docs/log-workflow#call_logging) instead.\n\nWhat's next\n-----------\n\n- Read the [Workflows documentation](/workflows/docs).\n- Get started with [Workflows](/workflows/docs/quickstarts).\n- Try the [Pricing calculator](/products/calculator).\n- Learn about [Workflows solutions and use cases](/architecture?text=Workflows).\n\n#### Request a custom quote\n\nWith Google Cloud's pay-as-you-go pricing, you only pay for the services you use. Connect with our sales team to get a custom quote for your organization.\n[Contact sales](/contact?direct=true)"]]