How Does FunctionGraph Resolve a Private DNS Domain Name?
FunctionGraph cannot directly parse private Huawei Cloud DNS domain names. To parse them, call DNS APIs and perform the following steps.
Resolving a Private DNS Domain Name
Ensure that a VPC and private DNS domain name have been created before performing the following steps:
- Associate a VPC with the private domain name and add record sets.
Log in to the DNS console and associate a VPC with the private domain name.Figure 1 Associating a VPC with the private domain nameClick the domain name, and add a type A record set.Figure 2 Adding a record set
- Create a function.
Create a function whose runtime is Python 2.7. The following is sample code.
# -*- coding:utf-8 -*- import json import os def handler(event, context): os.system("curl -iv www.test.com")
- Configure an agency with DNS and VPC permissions for the function.
On the IAM console, create an agency with DNS ReadOnlyAccess and VPC Administrator permissions for FunctionGraph.
Figure 3 Creating an agency with DNS and VPC permissionsYou need to configure the permission to read DNS resource data because the function needs to obtain such data when parsing a domain name. Otherwise, the following error message is displayed, indicating that the DNS resource data failed to be obtained.
2020/08/20 10:37:12 GMT+08:00 Start invoke request 'a2f105b4-2e72-4fda-94a5-86d3837e961d', version: latest [GET /v2/zones/{zone_id}/recordsets] failed, response: {"code":"DNS.1802","message":"Policy doesn't allow dns:recordset:list to be performed."} 2020/08/20 10:37:13 GMT+08:00 Finish invoke request 'a2f105b4-2e72-4fda-94a5-86d3837e961d', duration: 1030.072ms, billing duration: 1100ms, memory used: 77.039MB.
- Configure the function.
On the details page of the function created in 2, click the Configuration tab and configure the following settings:
- Check the execution result.
Then all configured IPv4 domain names can be parsed.
Figure 5 Executing the function
![](https://support.huaweicloud.com/eu/functiongraph_faq/public_sys-resources/note_3.0-en-us.png)
Changes to the IP addresses corresponding to the VPC domain names you configure will take effect in 10 minutes.
General FAQs FAQs
- What Is FunctionGraph?
- Do I Need to Apply for Any Compute, Storage, or Network Services When Using FunctionGraph?
- Do I Need to Deploy My Code After Programming?
- How Do I Obtain a Token?
- What Runtimes Does FunctionGraph Support?
- How Much Disk Space Is Allocated to Each FunctionGraph Function?
- Does FunctionGraph Support Function Versioning?
- How Does a Function Read or Write Files?
- How Do I Set a Proxy When Using CLI?
- Does FunctionGraph Support Function Extension?
- Which Permissions Are Required for an IAM User to Use FunctionGraph?
- How Can I Create an ODBC Drive-based Python Dependency Package for Database Query?
- What Is the Quota of FunctionGraph?
- What Chinese Fonts Does FunctionGraph Support?
- How Does FunctionGraph Resolve a Private DNS Domain Name?
- How Does a Container Image–based Function Resolve a Private DNS Domain Name?
- How Do I Use a Domain Name to Access an API Registered with API Gateway (Dedicated)?
- What Are the Common Application Scenarios of FunctionGraph?
- Why Can't the API Gateway Domain Name Bound to a Service Be Resolved During Function Invocation?
- Does FunctionGraph Support Synchronous Transmission at the Maximum Intranet Bandwidth?
- What If the VPC Quota Is Used Up?
- How Can I Print Info, Error, or Warn Logs?
- Can I Set the Domain Name of an API to My Own Domain Name?
- Can I Change the Runtime?
- Can I Change a Function's Name?
- Why Is Message "failed to mount exist system path" Displayed?
- How Do I Obtain Uploaded Files?
- Why Can't I Receive Responses for Synchronous Invocation?
- What Should I Do If the os.system("command &") Execution Logs Are Not Collected?
- Which Directories Can Be Accessed When a Custom Runtime Is Used?
- Which Minor Versions of Python 3.6 and 3.9 Are Supported?
- Which Actions Can Be Used Instead of a VPC Administrator Agency for VPC Access?
- What Are the Possible Causes for Function Timeout?
- How Do I Obtain the Code of a Function?
- Do You Have Sample Code for Initializers?
- How Do I Enable Structured Log Query?
- Can I Enable a Listening Port in a Function to Receive External TCP Requests via EIP?
- Does FunctionGraph Support Domain Name Resolution?
- How Do I Obtain the Source IP Address of an HTTP Request Initiated by a Function?
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.
more