- What's New
- Function Overview
- Product Bulletin
- Service Overview
-
GeminiDB Redis API
- Service Overview
- Getting Started with GeminiDB Redis API
-
Working with GeminiDB Redis API
- IAM Permissions Management
- Billing Management
- Buying an Instance
-
Connecting to an Instance
- Connection Modes
- Connecting to GeminiDB Redis Instances Through DAS
- Connecting to GeminiDB Redis Instances over a Private Network
- Connecting to GeminiDB Redis Instances over a Public Network
- Configuring a Private Domain Name
- Configuring a Public Domain Name
- Configuring Security Group Rules for Nodes
- Binding and Unbinding an EIP
- Viewing the IP Address and Port Number
- Configuring an SSL Connection
- Connecting to a instance Using SSL
- Changing a Node Security Group
- Enabling or Disabling Private Network Access for a Load Balancer
- Instance Statuses
- Instance Lifecycle Management
- Instance Changes
- Audit
- Monitoring and Alarm Configuration
- Data Backup
- Data Restoration
- Memory Acceleration
-
Data Migration
- Overview of the Redis Data Migration Solution
- Verifying Redis Data Consistency After Migration
- Migrating the Alibaba Cloud Database Redis/Tair To GeminiDB Redis
- From On-Premises Redis to GeminiDB Redis API
- Migration from an RDB to a GeminiDB Redis Instance Using a Migration Tool
- Restoring RDB Files to GeminiDB Redis API (Recommended)
- From Kvrocks to GeminiDB Redis API
- From Pika to GeminiDB Redis API
- From SSDB to GeminiDB Redis API
- From LevelDB to GeminiDB Redis API
- From Kvrocks to GeminiDB Redis API
- Migrating AWS Elastic Cache for Redis Databases To GeminiDB Redis
-
FAQs
- Most Asked Questions
-
About GeminiDB Redis API
- What Are the Differences Between GeminiDB Redis API, Open-Source Redis, and Other Open-Source Redis Cloud Services?
- How Is the Performance of GeminiDB Redis API Compared with Open-Source Redis?
- What Redis Versions and Commands Are Compatible with GeminiDB Redis API? Whether Applications Need to Be Changed for Client Connection?
- Can Data Be Migrated from a Self-Built Redis Instance to a GeminiDB Redis Instance? What Are the Precautions?
- What Is the Availability of a GeminiDB Redis Instance?
- Are Total Memory and Total Capacity of a GeminiDB Redis Instance the Same? What Is the Relationship Between Memory and Capacity?
- How Do I Select Proper Node Specifications and Node Quantity When Purchasing a GeminiDB Redis Instance?
- How Does GeminiDB Redis API Persist Data? Will Data Be Lost?
- What Is the Memory Eviction Policy of GeminiDB Redis API?
- Does GeminiDB Redis API Support Modules Such as a Bloom Filter?
- Billing
-
Database Usage
- Why Is the Key Not Returned Using Scan Match?
- How Do I Process Existing Data Shards After Migrating Workloads to GeminiDB Redis API?
- Does GeminiDB Redis API Support Fuzzy Query Using the Keys Command?
- Does the GeminiDB Redis API Support Multiple Databases?
- Why the Values Returned by Scan Operations Are Different Between GeminiDB Redis API and Open-Source Redis 5.0?
- Why Are Error Messages Returned by Some Invalid Commands Different Between GeminiDB Redis API and Open-Source Redis 5.0?
- How Do I Resolve the Error "CROSSSLOT Keys in request don't hash to the same slot"?
- How Many Commands Can Be Contained in a GeminiDB Redis Transaction?
- Which Commands Require Hash Tags in GeminiDB Redis Cluster Instances?
- What Do I Do If the Error "ERR Unknown Command Sentinel" Is Displayed?
- How Long Does It Take to Add GeminiDB Redis Nodes at the Same Time? What Are the Impacts on Services?
- What Are the Differences Between Online and Offline Specification Changes of GeminiDB Redis Nodes? How Long Will the Changes Take? What Are the Impacts on Services?
- Can I Download Backups of a GeminiDB Redis Instance to a Local PC and Restore Data Offline?
- What Is the Data Backup Mechanism of GeminiDB Redis API? What Are the Impacts on Services?
- Why Does the CPU Usage Remain High Despite Low Service Access Volume on a GeminiDB Redis Preferential Instance with 1 CPU and 2 Nodes?
- Why Does the Number of Keys Decrease and Then Become Normal on the Monitoring Panel on the GUI of GeminiDB Redis API?
- Why Is CPU Usage of GeminiDB Redis Nodes Occasionally High?
- When Does a GeminiDB Redis Instance Become Read-Only?
-
Database Connection
- How Do I Connect to a GeminiDB Redis Instance?
- What Can I Do with IP Addresses of GeminiDB Redis Nodes?
- How Does Load Balancing Work in GeminiDB Redis API?
- How Can I Create and Connect to an ECS?
- Can I Change the VPC of a GeminiDB Redis Instance?
- How Do I Access a GeminiDB Redis Instance from a Private Network?
- Do I Need to Enable Private Network Access Control for a Load Balancer After Setting a Security Group?
- Backup and Restoration
-
Memory Acceleration
- Will All Data Be Cached to GeminiDB Redis Instances After Memory Acceleration Is Enabled and MySQL Database Data Is Updated?
- If Memory Acceleration Is Enabled, GeminiDB Redis Instance Data Increases Continuously. Do I Need to Scale Out the Capacity? How Do I Manage Cached Data?
- Is Memory Acceleration Recommended When Customers' Service Data Can Be Synchronized Between MySQL and Redis? In Which Scenarios Can Memory Acceleration Be enabled?
- How Long Is the Latency of Synchronization from RDS for MySQL to GeminiDB Redis API? What Factors Affect the Latency?
- Will the Source MySQL Database Be Affected After Memory Acceleration Is Enabled?
- GeminiDB Redis Instances with Memory Acceleration Enabled Needs to Process a Large Number of Binlogs in a Short Period of Time. Will a Large Number of Resources Be Occupied and Online Services Be Affected?
- Instance Freezing, Release, Deletion, and Unsubscription
-
GeminiDB Influx API
- Service Overview
- Getting Started with GeminiDB Influx API
-
Working with GeminiDB Influx API
- Permissions Management
- Instance Lifecycle
- Instance Modifications
- Connection Management
- Migrating Data
- Database Commands
- Cold and Hot Data Separation
- Data Backup
- Data Restoration
-
Parameter Template Management
- Creating a Parameter Template
- Modifying a Parameter Template
- Viewing Parameter Change History
- Exporting a Parameter Template
- Comparing Parameter Templates
- Replicating a Parameter Template
- Resetting a Parameter Template
- Applying a Parameter Template
- Viewing Application Records of a Parameter Template
- Modifying a Parameter Template Description
- Deleting a Parameter Template
- Monitoring and Alarm Reporting
- Audit on Instance Operations
- Billing Management
-
FAQs
-
Product Consulting
- What Do I Need to Note When Using GeminiDB Influx?
- What Does the Availability of GeminiDB Influx Instances Mean?
- Does GeminiDB Influx Can Convert Multiple Columns to Multiple Rows?
- How Much Data Can GeminiDB Influx Hold?
- Can I Access GeminiDB Influx Using Grafana?
- How Do I Use GeminiDB Influx Hints?
- What Do I Do If Error "select *" query without time range is not allowed Is Reported?
- Billing
- Database Connection
- Backup and Restoration
- Regions and AZs
- Instance Freezing, Release, Deletion, and Unsubscription
-
Product Consulting
- Change History
-
GeminiDB Cassandra API
- Service Overview
- Getting Started with GeminiDB Cassandra API
-
Working with GeminiDB Cassandra API
- Permissions Management
- Buying an Instance
- Instance Connections
- Instance Lifecycle
- Instance Modifications
- Connection Management
- Data Management
- Intra-region DR
- Cross-region Dual-active DR
- Data Backup
- Data Restoration
-
Parameter Template Management
- Creating a Parameter Template
- Modifying Parameters of GeminiDB Cassandra Instances
- Viewing Parameter Change History
- Exporting a Parameter Template
- Comparing Parameter Templates
- Replicating a Parameter Template
- Resetting a Parameter Template
- Applying a Parameter Template
- Viewing Application Records of a Parameter Template
- Modifying a Parameter Template Description
- Deleting a Parameter Template
- Audit
- Monitoring and Alarm Configuration
- Enterprise Project
- Billing Management
-
FAQs
- Product Consulting
- Billing
-
Database Usage
- Why Does the Overall Instance Performance Deteriorate When QPS Increases After the Batch Size Is Decreased?
- What Can I Do if Error "field larger than field limit (131072)" Is Reported During Data Import?
- What Should I Pay Attention to When Creating a GeminiDB Cassandra Table?
- How Do I Detect and Resolve BigKey and HotKey Issues?
- How Do I Set Up a Materialized View?
- How Do I Use a Secondary Index?
- How Do I Set Paging Query with Java?
- Database Connection
- Backup and Restoration
- Instance Freezing, Release, Deletion, and Unsubscription
- GeminiDB DynamoDB Instances
-
API Reference
- Before You Start
- API Overview
- Calling APIs
- Quick Start
-
APIs v3
- API Versions
- Versions and Specifications
-
Instances
- Creating an Instance
- Deleting an Instance
- Querying Instances and Details
- Scaling Up Storage Space of an Instance
- Adding Nodes for an Instance
- Deleting Nodes from a Specified Instance
- Obtaining Sessions of a Node
- Querying Session Statistics of an Instance Node
- Closing Sessions of an Instance Node
- Changing Specifications of an Instance
- Resetting the Administrator Password of an Instance
- Editing the Name of an Instance
- Changing the Security Group of an Instance
- Upgrading Minor Version
- Backups and Restorations
-
Parameter Templates
- Obtaining Parameter Templates
- Creating a Parameter Template
- Modifying Parameters in a Parameter Template
- Applying a Parameter Template
- Modifying Parameters of a Specified Instance
- Querying Instance Parameter Settings
- Obtaining Parameters of a Specified Parameter Template
- Deleting a Parameter Template
- Tags
- Quotas
- Disaster Recovery
- API v3 (Unavailable Soon)
- Permission Policies and Supported Actions
- Appendixes
- Change History
- SDK Reference
Making an API Request
This section describes the structure of a REST API, and uses the IAM API for obtaining a user token as an example to describe how to call an API. The obtained token is used to authenticate the calling of other APIs.
Request URI
A request URI consists of the following:
{URI-scheme}://{Endpoint}/{resource-path}?{query-string}
Although a request URI is included in the request header, most programming languages or frameworks require the request URI to be separately transmitted, rather than being conveyed in a request message separately.
Parameter |
Description |
---|---|
URI-scheme |
Protocol used to transmit requests. All APIs use HTTPS. |
Endpoint |
Domain name or IP address of the server bearing the REST service endpoint. The endpoint varies depending on services and regions. It can be obtained from the administrator. For example, the endpoint of IAM in the EU-Dublin region is iam.eu-west-101.myhuaweicloud.eu. |
resource-path |
Access path of an API for performing a specified operation. Obtain the path from the URI of the API. For example, the resource-path of the API for obtaining a user token is /v3/auth/tokens. |
query-string |
Query parameter, which is optional. Ensure that a question mark (?) is included before each query parameter that is in the format of "Parameter name=Parameter value". For example, ? limit=10 indicates that up to 10 data records will be displayed. |
Request Methods
Method |
Description |
---|---|
GET |
Requests a server to return specified resources. |
PUT |
Requests a server to update specified resources. |
POST |
Requests a server to add a resource or perform a special operation. |
DELETE |
Requests a server to delete a specified resource (for example, an object). |
For example, in the URI for obtaining a user token, the request method is POST. The request is as follows:
POST https://iam.eu-west-101.myhuaweicloud.eu/v3/auth/tokens
Request Header
You can also add additional header fields to a request, such as the fields required by a specified URI or HTTP method. For example, add Content-Type that defines a request body type to request for authentication information.
Parameter |
Description |
Mandatory |
Example Value |
---|---|---|---|
Content-Type |
MIME type of the request body. Use the default value application/json. For APIs used to upload objects or images, the value varies depending on the flow type. |
Yes |
application/json |
Content-Length |
Length of the request body. The unit is byte. |
This field is optional for POST requests, but must be left blank for GET requests. |
3495 |
X-Project-Id |
Project ID. To obtain the project ID, see Obtaining a Project ID. |
No |
e9993fc787d94b6c886cbaa340f9c0f4 |
X-Auth-Token |
User token. After a request is processed, the value of X-Subject-Token in the header is the token value. |
Yes |
The following is part of an example token: MIIPAgYJKoZIhvcNAQcCo...ggg1BBIINPXsidG9rZ |
The API used to obtain a user token does not require authentication. Therefore, this API only requires adding the Content-Type field. The following is an example request:
POST https://iam.eu-west-101.myhuaweicloud.eu/v3/auth/tokens Content-Type: application/json
(Optional) Request Body
This part is optional. The request body is often sent in a structured format (for example, JSON or XML) as specified in the Content-Type header field. If the request body contains full-width characters, these characters must be coded in UTF-8.
Request bodies vary depending on APIs. Some APIs do not require a request body, such as the APIs requested using the GET and DELETE methods.
For the API of obtaining a user token, request parameters and parameter description can be obtained from the API request. The following is an example request with a body included. Replace username, domianname, ******** (login password), and xxxxxxxxxxxxxxxxxx (project name) with required values. You can obtain the values from the administrator.
The scope parameter specifies where a token takes effect. You can set scope to an account or a project under an account. In the following example, the token takes effect only for the resources in a specified project. For details, see Obtaining a User Token.
POST https://iam.eu-west-101.myhuaweicloud.eu/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domianname" } } } }, "scope": { "project": { "name": "xxxxxxxxxxxxxxxxxx" } } } }
If all data required for the API request is available, you can send a request to call an API through curl, Postman, or coding. For the API of obtaining a user token, x-subject-token in the response header is the required user token. Then, this token can be used to authenticate the calling of other APIs.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.