SDK für Python

Mit dem Oracle Cloud Infrastructure-Python-SDK können Sie Code schreiben, um Oracle Cloud Infrastructure-Ressourcen zu verwalten.

Dieses SDK und das Beispiel sind im Rahmen der Universal Permissive License 1.0 und der Apache License 2.0 doppelt lizenziert. Drittanbieterinhalte werden separat lizenziert, wie im Code beschrieben.

Herunterladen: Das Python-SDK ist auf GitHub oder im Python Package Index (PyPi) verfügbar.

Referenzdokumentation: Verfügbar unter docs.cloud.oracle.com.

Tipp

Cloud Shell: Das SDK für Python ist mit Ihren Zugangsdaten vorkonfiguriert und sofort in Cloud Shell einsatzbereit. Weitere Informationen zur Verwendung des SDK für Python aus Cloud Shell finden Sie unter SDK für Python mit Cloud Shell - Schnellstart.

Oracle Linux Cloud Developer-Image: Das SDK für Python ist im Oracle Linux Cloud Developer-Plattformimage vorinstalliert. Weitere Informationen finden Sie unter Oracle Linux Cloud Developer.

Unterstützte Services

  • Access Governance
  • Accountverwaltung
  • KI-Anomalieerkennung
  • KI-Texterkennung
  • KI-Spracherkennung
  • KI-Vision
  • Analytics Cloud
  • Ankündigungen
  • API Gateway
  • Application Dependency Management
  • Anwendungsverwaltung
  • Application Performance Monitoring
  • Audit
  • Autonomous Recovery
  • Automatische Skalierung (Compute)
  • Bastion
  • Big Data-Service
  • Blockchain-Plattform
  • Budgets
  • Erstellung
  • OCI-Cache
  • Zertifikate
  • Cloud-Bridge
  • Cloud-Migrationen
  • Compute Cloud@Customer
  • Compute Instance Agent (Oracle Cloud Agent)
  • Container Engine for Kubernetes
  • Containerinstanzen
  • Contentmanagement
  • Coreservices ( Networking, Compute, Block Volume)
  • Cloud Guard
  • Cloud-Migrationen
  • Clusterplatzierungsgruppen
  • Connector Hub
  • Konsolen-Dashboard
  • Data Catalog
  • Datenfluss
  • Datenintegration
  • Datenlabeling
  • Data Safe
  • Data Science
  • Datenübertragung
  • Datenbank
  • Datenbankmanagement
  • Datenbankmigration
  • Datenbanktools
  • Bedarfssignal
  • DevOps
  • Digitaler Assistent
  • Digital Media
  • Disaster Recovery
  • DNS
  • Document Understanding
  • Email Delivery
  • Enterprise Manager Warehouse
  • Ereignisse
  • Exadata-Flottenaktualisierung
  • File Storage
  • Functions
  • Fusion Apps-as-a-Service
  • Generative KI
  • Generative KI - Inferenz
  • Generische Artefakte
  • Global verteilte Datenbank
  • GoldenGate
  • Governance-Regeln
  • Health Checks
  • IAM
  • Identitätsdomains
  • Integration Cloud
  • Java-Management
  • Java Management Service-Downloads
  • Key Management (für den Vault-Service)
  • Lizenzmanager
  • Limits
  • Load Balancer
  • Logging
  • Logging Analytics
  • Logging Search
  • Logging Ingestion
  • Managed Access
  • Management Agent Cloud
  • Management Dashboard
  • Marktplatz
  • Marketplace - Privates Angebot
  • Überwachung
  • HeatWave
  • Netzwerkfirewall
  • Network Load Balancing
  • Netzwerkmonitoring
  • Netzwerktopologie
  • NoSQL Database Cloud
  • Benachrichtigungen
  • Objektspeicher
  • OCI Control Center
  • OCI Registry
  • OneSubscription
  • Operations Insights
  • Operatorzugriffskontrolle
  • Optimizer
  • Organisationen
  • OS Management
  • OS Management Hub
  • PostgreSQL
  • Process Automation
  • Herausgeber
  • Queue-Service
  • Quota
  • Resource Manager
  • Ressourcenplanung
  • Roving Edge Infrastructure
  • Suchen
  • Secret-Management (für den Vault-Service)
  • Sichere Desktops
  • Servicekatalog
  • Service-Mesh
  • Quellcodemanagement
  • Stackmonitoring
  • Streaming
  • Supportmanagement
  • Threat Intelligence
  • Verwendung
  • Visual Builder
  • VMWare Solution
  • Vulnerability Scanning
  • Web Application Acceleration and Security
  • Arbeitsanforderungen (Compute, Database)

Python-Unterstützung

Unterstützte Python-Versionen und Betriebssysteme

In dieser Tabelle werden die vom OCI-Python-SDK für jedes Betriebssystem unterstützten Python-Versionen aufgeführt:

Betriebssystem Unterstützte Python-Versionen für CLI
CentOS 7 3.6 zu 3.9
CentOS 8 3.6 zu 3.9
Oracle Autonomous Linux 7.9 3.6 zu 3.9
Oracle Linux 7.8 3.6 zu 3.9
Oracle Linux 7.9 3.6 zu 3.9
Oracle Linux 8 3.6 zu 3.11
Oracle Linux 9 3.7 zu 3.11
Ubuntu 18.0.4 3.6 zu 3.11
Ubuntu 20.0.4 3.6 zu 3.11
Windows Desktop 10 und 11 3.6 zu 3.11
Windows Server (2012/2016/2019) 3.6 zu 3.11

Neuere Versionen von Python werden möglicherweise nicht sofort unterstützt. Das OCI-SDK für Python funktioniert möglicherweise auf nicht aufgelisteten Betriebssystemen, aber wir testen sie nicht auf Kompatibilität.

Mit Resource Manager installieren

Sie können Resource Manager verwenden, um das Oracle Cloud Development Kit auf einer Compute-Instanz in Ihrem Compartment zu installieren. Das Oracle Cloud Development Kit enthält das SDK für Python zusammen mit anderen Oracle-Entwicklungstools.

Mit yum installieren

Wenn Sie Oracle Linux 7 oder 8 verwenden, können Sie das OCI-SDK für Python mit Yum installieren.

Das folgende Beispiel zeigt, wie yum zur Installation des OCI-Python-SDK 3.6 verwendet wird:

sudo yum install python36-oci-sdk

Dieses Beispiel zeigt, wie yum zur Installation des OCI-Python-SDK 2.7 verwendet wird:

sudo yum install python-oci-sdk

Clientseitige Verschlüsselung

Mit der clientseitigen Verschlüsselung können Sie Daten auf Clientseite verschlüsseln, bevor Sie sie lokal speichern oder mit anderen Oracle Cloud Infrastructure-Services verwenden.

Um die clientseitige Verschlüsselung zu verwenden, müssen Sie einen Masterverschlüsselungsschlüssel (Master Encryption Key, MEK) mit dem Key Management-Service erstellen. Dies kann mit CreateKey - oder ImportKey-Vorgängen geschehen.

Mit dem MEK wird ein Datenverschlüsselungsschlüssel (Data Encryption Key, DEK) generiert, um jede Payload zu verschlüsseln. Eine verschlüsselte Kopie dieses DEK (mit dem MEK verschlüsselt) und andere Metadaten werden in die verschlüsselte Payload aufgenommen, die von den SDKs zurückgegeben wird, damit sie zur Entschlüsselung verwendet werden können.

Beispiele

Das folgende Codebeispiel zeigt, wie eine Zeichenfolge verschlüsselt wird:



import oci
 
# user supplied vars
vault_id = TEST_VAULT_OCID
master_key_id = TEST_MASTER_KEY_ID
data_to_encrypt_bytes = b"This is a secret message"
 
config = oci.config.from_file()
kms_master_key = oci.encryption.KMSMasterKey(
    config=config, master_key_id=master_key_id, vault_id=vault_id
)
 
kms_master_key_provider = oci.encryption.KMSMasterKeyProvider(
    config=config,
    kms_master_keys=[kms_master_key]
)
 
crypto_result = crypto.encrypt(kms_master_key_provider, data_to_encrypt_bytes)
ciphertext = crypto_result.get_data()
print("ciphertext: {}".format(ciphertext))
 
# decrypt string example
crypto_result = crypto.decrypt(ciphertext, kms_master_key_provider)
print("unencrypted text: {}".format(crypto_result.get_data()))

Das folgende Beispiel zeigt, wie ein Dateistream verschlüsselt wird:

import oci
import shutil
 
# user supplied vars
vault_id = TEST_VAULT_OCID
master_key_id = TEST_MASTER_KEY_ID
file_to_encrypt = "/file/to/encrypt/message.txt"
output_encrypted_file = "/tmp/message.txt.encrypted"
output_decrypted_file = "/tmp/message.txt.decrypted"
 
# setup OCI KMS keys
config = oci.config.from_file()
kms_master_key = oci.encryption.KMSMasterKey(
    config=config, master_key_id=master_key_id, vault_id=vault_id
)
 
kms_master_key_provider = oci.encryption.KMSMasterKeyProvider(
    config=config,
    kms_master_keys=[kms_master_key]
)
 
# encrypt stream example
with open(output_encrypted_file, 'wb') as output_stream, open(file_to_encrypt, 'rb') as stream_to_encrypt:
    with crypto.create_encryption_stream(
        kms_master_key_provider,
        stream_to_encrypt
    ) as encryption_stream:
        shutil.copyfileobj(encryption_stream, output_stream)
 
# decrypt stream example
with open(output_decrypted_file, 'wb') as output_stream, open(output_encrypted_file, 'rb') as stream_to_decrypt:
    with crypto.create_decryption_stream(
        stream_to_decrypt,
        kms_master_key_provider
    ) as decryption_stream:
        shutil.copyfileobj(decryption_stream, output_stream)

Kontakt

Beiträge

Sie haben einen Bugfix oder ein neues Feature, das Sie beitragen möchten? Das SDK ist Open Source und akzeptiert Pull-Anforderungen auf GitHub.

Benachrichtigungen

Um benachrichtigt zu werden, wenn eine neue Version des Python-SDK veröffentlicht wird, abonnieren Sie den Atom-Feed.

Fragen oder Feedback