- What's New
- Function Overview
- Service Overview
- Getting Started
- User Guide
- Best Practices
- Developer Guide
-
API Reference
- Before You Start
- API Overview
- API Calling
-
API
-
Console
- Instance Management
- Job Management
-
Service Authorization Management
- Granting Permissions for Accessing Other Cloud Services
- Querying Cloud Service Access Permissions
- Registering a Tenant Agreement
- Querying whether a Tenant Has Registered an Agreement
- Deleting a Tenant Agreement
- Registering a Tenant Agreement
- Querying whether a Tenant Has Registered an Agreement
- Deleting a Tenant Agreement
- Querying the Current System Agreement
- OBS Management
- Access Management
- Specification Management
- Quota Management Service
- Tag Management Service
- Agency Management
- Alarm Management
- Metadata Management
- Location
-
LakeCat
- Function Management
- Catalog Management
- Database Management
- Table Management
- Data Table Statistics
- Zone-based Management
- Partition Statistics
- Authorization Management
- User Group Management
- Metadata Statistics
-
Role Management
- Creating a Role
- Listing Roles on Different Pages by Condition
- Deleting a Role
- Obtaining a Role
- Modifying a Role
- Listing All Role Names
- Querying the Users or User groups Under a Role
- Adding One or More Users or User Groups to a Role
- Removing One or More Users or User Groups from a Role
- Updating the Entities in a Role
- Credential Management
- Configuration Management
- User
-
Console
- Application Examples
- Permissions and Supported Actions
- Appendix
- FAQs
- General Reference
Show all
Copied.
Connecting External Services to LakeFormation
Overview
This section describes how to connect external services to LakeFormation by calling APIs.
If a tenant plan to perform this operation, the tenant should completed service authorization on the LakeFormation console. For details about how to call APIs, see API Calling.
Prerequisites
The following information has been obtained:
- endpoint: For details about how to obtain the endpoints, see Regions and Endpoints.
- project_id: Obtain the value by referring to Obtaining a Project ID.
Procedure
- Call the Creating an Instance API to create a LakeFormation instance and record the instance ID returned by the API.
Example request:
POST https://{endpoint}/v1/{project_id}/instances
Body:
{ "name": "lakeformation", "charge_mode": "postPaid", "shared": "false", "specs": [ { "spec_code": "lakeformation.unit.basic.qps", "stride_num": 1 } ], "enterprise_project_id": "0" }
Example response
{ "instance_id": "13677734-a4ee-43e2-9d11-30b8b2e32a95", "name": "lakeformation", "description": "", "enterprise_project_id": "0", "shared": false, "default_instance": false, "create_time": "2023-06-29T09:08:33.000+00:00", "update_time": "2023-06-29T09:08:34.000+00:00", "status": "RESOURCE_PREPARATION", "resource_progress": 25, "resource_expected_duration": 15, "in_recycle_bin": false, "tags": [], "specs": [ { "spec_code": "lakeformation.unit.basic.qps", "stride_num": 1 }, { "spec_code": "lakeformation.unit.basic.metadata", "stride_num": 0 } ] }
- Call the Querying Instance Details API to query the instance status. Wait until the instance status changes to RUNNING, indicating that the instance is created.
Example request:
GET https://{endpoint}/v1/{project_id}/instances/{instance_id}
instance_id indicates the value of instance_id in the response of the request made in 1.
Example response
{ "instance_id": "13677734-a4ee-43e2-9d11-30b8b2e32a95", "name": "lakeformation", "description": "", "enterprise_project_id": "0", "shared": false, "default_instance": false, "create_time": "2023-06-29T09:08:33.000+00:00", "update_time": "2023-06-29T09:08:34.000+00:00", "status": "RUNNING", "in_recycle_bin": false, "tags": [], "specs": [ { "spec_code": "lakeformation.unit.basic.qps", "stride_num": 1 }, { "spec_code": "lakeformation.unit.basic.metadata", "stride_num": 0 } ] }
- (Optional) If the current tenant creates a LakeFormation instance for the first time, the instance is automatically used as the default instance. The client can directly access the default instance or access the corresponding instance by specifying the instance ID. You can set a non-default instance as the default instance by calling the Setting an Default Instance API.
Example request:
POST https://{endpoint}/v1/{project_id}/instances/{instance_id}/default
instance_id indicates the value of instance_id in the response of the request made in 1.
- Call the Creating a Service Access Client API and select the VPC information corresponding to the client to create an access client. LakeFormation automatically creates a VPC endpoint and a DNS private domain name for the client to connect to the network.
Example request:
POST https://{endpoint}/v1/{project_id}/instances/{instance_id}/access-clients
instance_id indicates the value of instance_id in the response of the request made in 1.
Body:
{ "name": "access-client", "vpc_id": "131fb837-37ae-4aa6-9e87-312919df659f", "subnet_id": "2fa7ec47-c7f6-4a81-8e77-1dd41121b726" }
Example response
{ "id": "b73a9311-1ce9-48fe-b714-21bc41ce7b82", "name": "access-client", "access_mode": "SYSTEM", "status": "CREATING", "vpc_id": "131fb837-37ae-4aa6-9e87-312919df659f", "subnet_id": "2fa7ec47-c7f6-4a81-8e77-1dd41121b726" }
- Call the Obtaining Service Access Client Details API to query the status of the access client. Wait until the status changes to RUNNING, indicating that the access client is created. In addition, you can view details such as the access IP address and domain name in the details.
Example request:
GET https://{endpoint}/v1/{project_id}/instances/{instance_id}/access-clients/{client_id}
- instance_id indicates the value of instance_id in the response of the request made in 1.
- client_id indicates the value of id in the response of the request made in 4.
Example response
{ "id": "b73a9311-1ce9-48fe-b714-21bc41ce7b82", "name": "access-client", "access_mode": "SYSTEM", "status": "RUNNING", "vpc_id": "131fb837-37ae-4aa6-9e87-312919df659f", "subnet_id": "2fa7ec47-c7f6-4a81-8e77-1dd41121b726", "access_connections": [ { "vpcep_id": "f72c8034-df38-4dbc-bd5d-2f50531ba104", "ip": "10.0.0.6", "owner": "555d9e8999c94705be3d7edb70a3199a", "domain": "xxx.dalf-ed1c-b3070cba-baae-4220-b7ff-9b2bca043efb.apig-lakeformation.com" } ], "create_time": "2023-06-29T12:12:12.000+00:00" }
- Use the access IP address and instance ID obtained in the preceding step to access the metadata management API and obtain the catalog list. For details, see the APIs in Catalog Management.
Example request:
GET https://{endpoint}/v1/{project_id}/instances/{instance_id}/catalogs
- endpoint: Use {instance_id}.lakeformation.lakecat.com. If the instance has been set as the default instance, use default-{project_id}.lakeformation.lakecat.com.
- instance_id: value of instance_id in the response of the request made in 1. If the instance has been set as the default instance, use default as the instance ID.
Request header example
Host: lakeformation.lakecat.com
Example response
[ { "catalog_name": "hive", "description": "Default catalog, for Hive", "location": "obs://lakeformation-555d9e8999c94705-xxx/ed1ce787-1671-4ce4-b84f-6f40ccb26752" } ]
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot