Как автоматически использовать Python и получить временные лицензионные ключи Sap BO?
23 января 2024 г.Что такое временные лицензионные ключи SAP?
Временный лицензионный ключ SAP — это лицензия, используемая для активации программного обеспечения SAP, которую можно использовать только в течение ограниченного периода времени. Эти ключи можно использовать в целях оценки или во время миграции системы. Это временные решения, срок действия которых обычно истекает через определенный период времени.
Как получить ключи временной лицензии Sap BO?
Временные ключи. Портал поддержки SAP предоставляет временные лицензионные ключи Business Objects на случай возникновения ошибки при создании постоянного лицензионного ключа. Эти ключи можно загрузить, войдя по ссылке www.service.sap.com/licensekey на портале поддержки и выбрав ссылку «Получить временный лицензионный ключ». Эти временные лицензионные ключи действительны максимум 90 дней.
Метод 1: загрузка вручную
-
<ли>
www.service.sap.com/licensekey Откройте URL-адрес и щелкните здесь, чтобы загрузить файл под названием "bobj- temp-license-key.zip":
ол>2. После разархивирования появится pdf-файл с названием «Процесс аварийного ключа лицензии SAP Analytics», в котором вы сможете найти нужный вам лицензионный ключ.
![](https://cdn.hackernoon.com/images/xckvxyvNs3ej2QPeVNul88CL5jv1-mta38c2.jpeg)
Метод 2. Автоматизируйте процесс получения временных ключей Sap с помощью Python
Загрузить bobj-temp-license-key.zip
Вы можете использовать библиотеку requests
, чтобы напрямую загрузить zip-файл и сохранить его по определенному пути.
import requests
import os
# Define the URL of the zip file
zip_file_url = 'https://support.sap.com/content/dam/support/en_us/library/ssp/my-support/keys/bobj-temp-license-key.zip'
# Define the folder path where you want to save the zip file.
download_zip_path = r"C:UsersUSERNAMEProjectsdownload_zip"
# Ensure the download folder exists
os.makedirs(download_zip_path, exist_ok=True)
# Create the full path for the zip file
zip_file_path = os.path.join(download_zip_path, 'bobj-temp-license-key.zip')
# Send a GET request to the URL and save the content to the zip file
response = requests.get(zip_file_url, stream=True)
with open(zip_file_path, 'wb') as zip_file:
for chunk in response.iter_content(chunk_size=128):
zip_file.write(chunk)
print(f"Zip file downloaded to: {zip_file_path}")
Разархивируйте zip-файл, чтобы получить PDF-файл
Временные ключи SAP сохраняются в файле PDF, который необходимо сначала извлечь из zip-файла. Вы можете использовать zipfile
для получения информации.
import zipfile
# zip the zip file into 'bobj-temp-license-key'
file_path_zip = r"{}/bobj-temp-license-key.zip".format(download_zip_path)
if os.path.exists(file_path_zip):
zip_file = zipfile.ZipFile(file_path_zip)
zip_file.extractall(keys_path)
zip_file.close()
# you can get the path of the pdf after unzip
file_path_pdf = "..."
Получите необходимый лицензионный ключ из PDF-файла.
В качестве примера возьмем временный лицензионный ключ SAP BusinessObjects; Лицензионный ключ находится на второй странице PDF-файла после поля «ЦП 4.2»; после тестирования для определения временного лицензионного ключа SAP BusinessObjects лицензионный ключ находится на второй странице PDF-файла после поля «ЦП 4.2» после тестирования для определения временного лицензионного ключа SAP BusinessObjects. Лицензионный ключ находится после поля «ЦП 4.2» на второй странице PDF-файла:
import PyPDF2
import os
# Get SAP BusinessObjects Tempory Licence Key
def get_key_from_text(text):
start = text.find('CPU 4.2') + 8
return text[start:start + 32]
# file_path_pdf is the path of the pdf in the previous step
if os.path.exists(file_path_pdf):
pdf_file = open(file_path_pdf, 'rb')
pdf_reader = PyPDF2.PdfReader(pdf_file)
page = pdf_reader.pages[1]
text = page.extract_text()
latest_key = get_key_from_text(text)
pdf_file.close()
Автоматизировать процесс обновления
Если вам необходимо обновлять лицензионный ключ каждые 90 дней, вы можете сохранить лицензионный ключ в текстовом файле и сравнить его с локально сохраненным лицензионным ключом после успешного получения последней версии лицензионного ключа, если late_key! Если последний_ключ != текущий_ключ, замените последний_ключ на текущий_ключ, чтобы гарантировать, что последний лицензионный ключ всегда сохраняется в текстовом файле.
if os.path.exists(file_path_pdf):
pdf_file = open(file_path_pdf, 'rb')
pdf_reader = PyPDF2.PdfReader(pdf_file)
page = pdf_reader.pages[1]
text = page.extract_text()
latest_key = get_key_from_text(text)
pdf_file.close()
if latest_key != current_key:
with open(current_key_txt_path, 'w') as file:
file.write(latest_key)
print("license updated, latest license", latest_key)
else:
print("license didn't update, current license:", latest_key)
else:
print("PDF is not exists")
Спасибо, что нашли время, чтобы вместе со мной изучить информацию, связанную с данными. Я ценю ваше участие. Если эта информация окажется для вас полезной, я приглашаю вас подписаться на меня или связаться со мной на LinkedIn. Приятного изучения!👋
Оригинал