CloudLink:使用 Cloudlink Rest API 下载 Cloudlink 备份的 Python 脚本示例

Summary: 此文件仅用于教育和信息目的。 在使用 Python 语言编写 Cloudlink 自动化脚本时,可用作参考。 对于在戴尔客户环境中执行此文件,戴尔不承担任何责任。这 script 显示了一种使用 Cloudlink RestAPI 调用通过 Python 脚本下载 Cloudlink 备份文件的方法。 此脚本适用于 CloudLink 8.x 系列。 脚本不会更改任何 / 的状态,只是下载备份文件。 使用 Cloudlink secadmin 用户的凭据授予对 Cloudlink 节点(由 IP 地址指示)的访问权限。 ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

# Copyright Dell © 2025

# This file is for education / information purposes only.
# Can be used as a reference when writing Cloudlink automation scripts with Python language.
# Dell takes no responsibility for this file being executed in Dell Customer's environment

# The script shows a way to download Cloudlink backup file with a Python script using Cloudlink RestAPI calls.
# 此脚本适用于 Cloudlink 8.x 行。
# The script doesn't alter state of any system, just downloads the backup file.
# Access to the Cloudlink node (indicated by IP address) is granted with credentials of a Cloudlink secadmin user.

import requests
import base64
import urllib3
import os

# Suppress only the single InsecureRequestWarning from urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

auth_url = "https://<cloudlink node ip>/cloudlink/oauth/token?grant_type=password&username=secadmin&password=<the password>&scope=all"

auth_response = requests.post(auth_url,timeout=1800, verify=False)

if auth_response.status_code == 200:
    # Parse the JSON response
    data = auth_response.json()
else:
    print(f"Error: {auth_response.status_code}")
    exit()

print("Auth token: "+data.get("access_token"))
access_token = data.get('access_token')

# Define the API endpoint
url = "https://<clc ip>:443/cloudlink/rest/backup"

# Define the headers (if needed)
headers = {
    "Authorization": "Bearer "+access_token,
    "Content-Type": "application/json"
}

# Make a GET request
response = requests.get(url, headers=headers, verify=False)

# Check the response status code
if response.status_code == 200:
    # Parse the JSON response
    data = response.json()
    print(data.get('file_name'))
else:
    print(f"Error: {response.status_code}")
    exit()

file_name = data.get('file_name')
file_content_base64 = data.get('file_content')

# Decode the base64 string to binary data
file_content_binary = base64.b64decode(file_content_base64)

# Save the binary data to a file
with open(str(file_name), "wb") as binary_file:
    binary_file.write(file_content_binary)

print("Backup has been saved to "+os.getcwd()+"\\"+str(file_name))

 

Article Properties
Article Number: 000330399
Article Type: How To
Last Modified: 10 Jun 2025
Version:  1
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.