SDK für Python

Mit dem Oracle Cloud Infrastructure-SDK für Python 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 SDK für Python ist auf GitHub oder im Python-Packageindex (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-Imag: 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

  • Zugriffs-Governance
  • Accountverwaltung
  • KI-Texterkennung
  • KI-Spracherkennung
  • KI-Vision
  • Analytics Cloud
  • Ankündigungen
  • API-Gateway
  • Application Dependency Management
  • Anwendungsverwaltung
  • Application Performance Monitoring
  • Audit
  • Autonomous Recovery
  • Autoscaling (Compute)
  • Bastion
  • Big Data Service
  • Blockchain Platform
  • Budgets
  • Erstellung
  • OCI Cache
  • Zertifikate
  • Cloud-Bridge
  • Cloud-Migrationen
  • Compute Cloud@Customer
  • Compute Instance Agent (Oracle Cloud Agent)
  • Kubernetes Engine
  • Containerinstanzen
  • Contentmanagement
  • Coreservices (Networking, Compute, Block Volume)
  • Cloud Guard
  • Cloud-Migrationen
  • Clusterplatzierungsgruppen
  • Connector-Hub
  • Konsolen-Dashboard
  • Datenkatalog
  • Datenfluss
  • Datenintegration
  • Datenlabeling
  • Data Safe
  • Data Science
  • Database
  • Datenbanklebenszyklusmanagement
  • Datenbankmanagement
  • Datenbankmigration
  • Datenbanktools
  • Zugriffskontrolle delegieren
  • Bedarfssignal
  • DevOps
  • Digitaler Assistent
  • Digital Media
  • Disaster Recovery
  • DNS
  • Document Understanding
  • Email-Zustellung
  • Enterprise Manager Warehouse
  • Events
  • Exadata-Flottenaktualisierung
  • File Storage
  • File Storage with Lustre
  • Flottenanwendungsmanagement
  • Functions
  • Fusion Apps-as-a-Service
  • Generative KI
  • Generative AI Agent
  • 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
  • Verwaltete Services für Mac
  • Management Agent Cloud
  • Management Dashboard
  • Marketplace
  • Privates Marktplatzangebot
  • Monitoring
  • HeatWave
  • Netzwerkfirewall
  • Network Load Balancing
  • Netzwerkmonitoring
  • Netzwerktopologie
  • NoSQL Database Cloud
  • Benachrichtigungen
  • Object Storage
  • OCI Control Center
  • OCI Registry
  • Sichere OCI-Desktops
  • OneSubscription
  • Operations Insights
  • Operatorzugriffskontrolle
  • Optimizer
  • Organisationen
  • OS Management
  • OS Management Hub
  • PostgreSQL
  • Process Automation
  • Publisher
  • Queue-Service
  • Quota
  • Ressourcenmanager
  • Ressourcenplanung
  • Roving Edge Infrastructure
  • Suchen
  • Secret-Management (für den Vault-Service)
  • Sichere Desktops
  • Sicherheitsattribut
  • Servicekatalog
  • Service-Mesh
  • Quellcodemanagement
  • Stackmonitoring
  • Streaming
  • Supportmanagement
  • Threat Intelligence
  • Nutzung
  • Visual Builder
  • VMWare Solution
  • Vulnerability Scanning
  • Web Application Acceleration and Security
  • WebLogic-Management
  • Arbeitsanforderungen (Compute, Database)
  • Zero Trust Packet Routing

Python-Unterstützung

Unterstützte Python-Versionen und Betriebssysteme

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

Betriebssystem Unterstützte Python-Versionen für CLI
CentOS 7 3.6 bis 3.9
CentOS 8 3.6 bis 3.9
Oracle Autonomous Linux 7.9 3.6 bis 3.9
Oracle Linux 7.8 3.6 bis 3.9
Oracle Linux 7.9 3.6 bis 3.9
Oracle Linux 8 3.6 bis 3.11
Oracle Linux 9 3.7 bis 3.11
Ubuntu 18.0.4 3.6 bis 3.11
Ubuntu 20.0.4 3.6 bis 3.11
Windows Desktop 10 und 11 3.6 bis 3.11
Windows Server (2012/2016/2019) 3.6 bis 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, wir testen sie jedoch nicht auf Kompatibilität.

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 lokal gespeichert oder mit anderen Oracle Cloud Infrastructure-Services verwendet werden.

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