Kit SDK pour Python
Le kit SDK Oracle Cloud Infrastructure pour Python vous permet d'écrire du code afin de gérer des ressources Oracle Cloud Infrastructure.
Ce kit SDK et cet exemple sont concédés sous double licence : Universal Permissive License 1.0 et Apache 2.0. Le contenu tiers fait l'objet d'une licence distincte comme décrit dans le code.
Téléchargement : le kit SDK pour Python est disponible sur GitHub ou sur Index de package Python (PyPi).
Documentation de référence : disponible sur docs.cloud.oracle.com.
Cloud Shell : le kit SDK pour Python est préconfiguré avec vos informations d'identification et prêt à être utilisé immédiatementà partir de Cloud Shell. Pour plus d'informations sur l'utilisation du kit SDK pour Python à partir de Cloud Shell, reportez-vous à Démarrage rapide du kit SDK pour Python avec Cloud Shell.
Image Oracle Linux Cloud Developer : le kit SDK pour Python est préinstallé sur l'image de plate-forme Oracle Linux Cloud Developer. Pour plus d'informations, reportez-vous à Oracle Linux Cloud Developer.
Services pris en charge
- Access Governance
- Account Management
- AI Language
- AI Speech
- AI Vision
- Analytics Cloud
- Annonces
- Passerelle API
- Application Dependency Management
- Application Management
- Application Performance Monitoring
- Audit
- Autonomous Recovery
- Redimensionnement auto (Compute)
- Bastion
- Big Data Service
- Blockchain Platform
- Budgets
- Build
- OCI Cache
- Certificats
- Cloud Bridge
- Cloud Migrations
- Compute Cloud@Customer
- Compute Instance Agent (Agent Oracle Cloud)
- Kubernetes Engine
- Instances de conteneur
- Gestion de contenu
- Services de base (Networking, Compute, Block Volume)
- Cloud Guard
- Cloud Migrations
- Groupes de placement de cluster
- Connector Hub
- Console Dashboard
- Catalogue de données
- Flux de données
- Intégration de données
- Data Labeling
- Data Safe
- Data Science
- Database
- Gestion du cycle de vie des bases de données
- Database Management
- Database Migration
- Outils de base de données
- Contrôle d'accès de délégué
- Signal de la demande
- DevOps
- Assistant numérique
- Digital Media
- Disaster Recovery
- DNS
- Document Understanding
- Email Delivery
- Enterprise Manager Warehouse
- Events
- Mise à jour du parc Exadata
- File Storage
- Stockage de fichiers avec Lustre
- Fleet Application Management
- Functions
- Fusion Applications as a Service
- IA générative
- Agent d'intelligence artificielle générative
- Inférence d'IA générative
- Artefacts génériques
- Base de données distribuée globalement
- GoldenGate
- Règles de gouvernance
- vérifications de l'état
- IAM
- Domaines d'identité
- Integration Cloud
- Java Management
- Téléchargements de Java Management Service
- Gestion des clés (pour le service Vault)
- License Manager
- Limits
- Equilibreur de charge
- Journalisation
- Logging Analytics
- Logging Search
- Logging Ingestion
- Managed Access
- Managed Services for Mac
- Management Agent Cloud
- Tableau de bord de gestion
- Marketplace
- Offre privée Marketplace
- Surveillance
- HeatWave
- Network Firewall
- Equilibrage de charge réseau
- Network Monitoring
- Topologie réseau
- NoSQL Database Cloud
- Notifications
- Object Storage
- OCI Control Center
- OCI Registry
- Bureaux sécurisés OCI
- OneSubscription
- Operations Insights
- Operator Access Control
- Optimiseur
- Organisations
- Gestion des systèmes d'exploitation
- OS Management Hub
- PostgreSQL
- Process Automation
- Editeur
- Queue Service
- Quotas
- Gestionnaire de ressources
- Planificateur de ressource
- Roving Edge Infrastructure
- Rechercher
- Gestion des clés secrètes (pour le service Vault)
- Secure Desktops
- Attribut de sécurité
- Catalogue de services
- Service Mesh
- Gestion du code source
- Stack Monitoring
- Transmission en continu
- Gestion du support
- Informations sur les menaces
- Utilisation
- Visual Builder
- VMware Solution
- Vulnerability Scanning
- Web Application Acceleration and Security
- WebLogic Gestion
- Demandes de travail (Compute, Database)
- Zero Trust Packet Routing
Prise en charge de Python
Versions Python et systèmes d'exploitation pris en charge
Ce tableau répertorie les versions de Python prises en charge par le kit SDK OCI pour Python pour chaque système d'exploitation :
Système d'exploitation | Versions Python prises en charge pour l'interface de ligne de commande |
---|---|
CentOS 7 | 3.6 à 3.9 |
CentOS 8 | 3.6 à 3.9 |
Oracle Autonomous Linux 7.9 | 3.6 à 3.9 |
Oracle Linux 7.8 | 3.6 à 3.9 |
Oracle Linux 7.9 | 3.6 à 3.9 |
Oracle Linux 8 | 3.6 à 3.11 |
Oracle Linux 9 | 3.7 à 3.11 |
Ubuntu 18.0.4 | 3.6 à 3.11 |
Ubuntu 20.0.4 | 3.6 à 3.11 |
Windows Desktop 10 et 11 | 3.6 à 3.11 |
Windows Server (2012/2016/2019) | 3.6 à 3.11 |
Les versions plus récentes de Python peuvent ne pas être prises en charge immédiatement. Le kit SDK OCI pour Python peut fonctionner sur des systèmes d'exploitation non répertoriés, mais nous ne testons pas sa compatibilité.
Installation avec Resource Manager
Vous pouvez utiliser Resource Manager pour installer le kit Oracle Cloud sur une instance Compute dans votre compartiment. Le kit Oracle Cloud Development Kit inclut le kit SDK pour Python, ainsi que d'autres outils de développement Oracle.
Installation à l'aide de YUM
Si vous utilisez Oracle Linux 7 ou 8, vous pouvez vous servir de YUM afin d'installer le kit SDK OCI pour Python.
L'exemple suivant montre comment utiliser YUM afin d'installer le kit SDK OCI pour Python 3.6 :
sudo yum install python36-oci-sdk
Cet exemple montre comment utiliser YUM afin d'installer le kit SDK OCI pour Python 2.7 :
sudo yum install python-oci-sdk
Cryptage côté client
Le cryptage côté client vous permet d'encrypter les données côté client avant de les stocker localement ou de les employer avec d'autres services Oracle Cloud Infrastructure.
Pour utiliser le cryptage côté client, vous devez créer une clé de cryptage maître (MEK) à l'aide du service Key Management. Pour ce faire, vous pouvez utiliser l'opération CreateKey ou ImportKey.
La clé MEK permet de générer une clé de cryptage de données (DEK) utilisée pour crypter chaque charge utile. Une copie cryptée de cette clé DEK (sous la clé MEK) et d'autres métadonnées sont incluses dans la charge utile cryptée renvoyée par les kits SDK en vue d'être utilisées pour le décryptage.
Exemples
L'exemple de code suivant montre comment crypter une chaîne :
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()))
L'exemple suivant montre comment crypter un flux de fichier :
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)
Nous contacter
Contributions
Vous disposez d'une correction de bug ou d'une nouvelle fonctionnalité que vous souhaitez partager ? Le kit SDK est open source et accepte les demandes d'extraction sur GitHub.
Notifications
Afin d'être averti lorsqu'une nouvelle version du kit SDK pour Python est disponible, abonnez-vous au flux Atom.
Questions ou commentaires
- Problèmes dans GitHub : pour enregistrer des bugs et des demandes de fonctionnalité uniquement
- Stack Overflow : utilisez les balises oracle-cloud-infrastructure et oci-python-sdk dans votre publication.
- Section Outils de développement des forums Oracle Cloud
- My Oracle Support