Yandex Cloud
Search
Contact UsGet started
  • Blog
  • Pricing
  • Documentation
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • ML & AI
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Customer Stories
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Education and Science
    • Yandex Cloud Partner program
  • Blog
  • Pricing
  • Documentation
© 2025 Direct Cursus Technology L.L.C.
Yandex Data Transfer
  • Available transfers
  • Getting started
    • All guides
    • Preparing for a transfer
      • Managing endpoints
      • Migrating endpoints to a different availability zone
        • Source
        • Target
    • Managing transfer process
    • Working with databases during transfer
    • Monitoring transfer status
  • Troubleshooting
  • Access management
  • Pricing policy
  • Terraform reference
  • Monitoring metrics
  • Audit Trails events
  • Public materials

In this article:

  • Scenarios for transferring data to Yandex Data Streams
  • Configuring the data source
  • Configuring the Yandex Data Streams target endpoint
  • Basic settings
  • Advanced settings
  • Serializing settings
  • Troubleshooting data transfer issues
  • Transfer failure
  • Cloud Functions redirects
  1. Step-by-step guides
  2. Configuring endpoints
  3. Yandex Data Streams
  4. Target

Transferring data to a Yandex Data Streams target endpoint

Written by
Yandex Cloud
Updated at April 24, 2025
  • Scenarios for transferring data to Yandex Data Streams
  • Configuring the data source
  • Configuring the Yandex Data Streams target endpoint
    • Basic settings
    • Advanced settings
    • Serializing settings
  • Troubleshooting data transfer issues
    • Transfer failure
    • Cloud Functions redirects

Yandex Data Transfer enables you to migrate data to a Yandex Data Streams queue and implement various data processing and transformation scenarios. To implement a transfer:

  1. Explore possible data transfer scenarios.
  2. Configure one of the supported data sources.
  3. Configure the target endpoint in Yandex Data Transfer.
  4. Create a transfer and start it.
  5. Perform required operations with the database and control the transfer.
  6. In case of any issues, use ready-made solutions to resolve them.

Scenarios for transferring data to Yandex Data StreamsScenarios for transferring data to Yandex Data Streams

  1. Data change capture means tracking changes to a database and delivering those changes to consumers. It is used for applications that are sensitive to real-time data changes.

    • MySQL® change data capture and delivery to YDS.
    • PostgreSQL change data capture and delivery to YDS.
    • YDB change data capture and delivery to YDS.
  2. Data delivery is a process of delivering arbitrary data to target storage. It includes data retrieval from a queue and its deserialization with subsequent transformation to target storage format.

    • Delivering data from Apache Kafka® to YDS.
  3. Migration: Moving data from one storage to another. Migration often means migrating a database from obsolete local databases to managed cloud ones.

For a detailed description of possible Yandex Data Transfer scenarios, see Tutorials.

Configuring the data sourceConfiguring the data source

Configure one of the supported data sources:

  • PostgreSQL
  • MySQL®
  • Apache Kafka®
  • Managed Service for YDB
  • Airbyte®
  • YDS
  • Yandex Object Storage
  • Elasticsearch
  • OpenSearch

For a complete list of supported sources and targets in Yandex Data Transfer, see Available transfers.

Configuring the Yandex Data Streams target endpointConfiguring the Yandex Data Streams target endpoint

When creating or updating an endpoint, you can define:

  • Stream connection settings in Yandex Data Streams and serialization settings. These are required parameters.
  • Additional settings.

Basic settingsBasic settings

Management console
  • Database: Select a Yandex Managed Service for YDB database registered in Yandex Data Streams as a target.

  • Stream: Specify the name of the data stream associated with the database.

  • Service account: Select or create a service account with the yds.editor role that Data Transfer will use to connect to the data target.

  • Security groups: Select the cloud network to host the endpoint and security groups for network traffic.

    Thus, you will be able to apply the specified security group rules to the VMs and clusters in the selected network without changing the settings of these VMs and clusters. For more information, see Networking in Yandex Data Transfer.

Advanced settingsAdvanced settings

Management console
  • Save transaction order: Do not split an event stream into independent queues by table.

  • Compresion codecs: Set the required data compression format (GZIP, ZSTD, or Raw).

Serializing settingsSerializing settings

Management console
  • Under Serializing settings, select the serialization type:

    • Auto: Automatic serialization.

    • Debezium: Serialization under the Debezium standards:

      • Select the message key schema (matches the key.converter Debezium parameter).
      • Select the message value schema (matches the value.converter Debezium parameter).
      • If required, specify Debezium serializer settings in Parameter-Value format.

If you want to use JSON schemas in Yandex Schema Registry and preserve their compatibility when adding and deleting optional fields, use these settings:

  • Serializing settings: Debezium.

  • To use Schema Registry for keys, select Key schema type: JSON (via Schema Registry). To use Schema Registry for values, select Value schema type: JSON (via Schema Registry).

    • URL: Schema Registry namespace endpoint. You can copy the endpoint from the details for the Schema Registry namespace connection on the Debezium tab, in the value.converter.schema.registry.url parameter.

      Warning

      The namespace must have Compatibility check policy for JSON set to optional friendly.

    • Username: api-key.

    • Password: Value of the API key with a limited scope used for connecting to Schema Registry. To get this value:

      1. Create an API key with a limited scope and place it in the SECRET local variable:

        yc iam api-key create --folder-id <folder_ID> \
          --service-account-name <name_of_service_account_for_operations_with_Schema_Registry> \
          --scopes yc.schema-registry.schemas.manage \
          --expires-at '2030-01-01T00:00:00Z' >./api-key.yaml && \
        SECRET=`cat ./api-key.yaml | grep 'secret:' | awk '{print $2}'`
        
      2. Print the SECRET variable value to the terminal:

        echo $SECRET
        
      3. Copy the printed value and paste it into the Password field in the endpoint creation window.

  • Under Debezium serializer settings:

    • To generate a closed schema for keys, include the key.converter.dt.json.generate.closed.content.schema parameter set to true.
    • To generate a closed schema for values, include the value.converter.dt.json.generate.closed.content.schema parameter set to true.

After configuring the data source and target, create and start the transfer.

Troubleshooting data transfer issuesTroubleshooting data transfer issues

  • Transfer failure
  • Cloud Functions redirects

For more troubleshooting tips, see Troubleshooting.

Transfer failureTransfer failure

A Replication or Snapshot and increment transfer is interrupted with an error.

Error message:

/Ydb.PersQueue.V1.PersQueueService/AddReadRule failed: OVERLOADED

Transfers are aborted due to the cloud quota on the number of operations with Managed Service for YDB.

Solution:

  1. Increase the Number of schema transactions per minute property in the Managed Service for YDB quotas for the cloud with the required database and reactivate the transfer.

Cloud Functions redirectsCloud Functions redirects

In rare cases, the following error may occur during transfers from Data Streams or Apache Kafka®:

redirect to SOME_URL is requested but no redirects are allowed.

Possible cause:

The use of the Cloud Functions function is set up on the source. It returns a redirect to another URL rather than data.

Solution:

Such redirects are not allowed for security reasons. Avoid using redirects to Cloud Functions during transfers.

Was the article helpful?

Previous
Source
Next
Source
© 2025 Direct Cursus Technology L.L.C.