Trousse SDK pour Python

La trousse SDK Oracle Cloud Infrastructure pour Python vous permet d'écrire du code pour gérer les ressources Oracle Cloud Infrastructure.

Cette trousse SDK et cet exemple sont des licences doubles fournies dans le cadre des licences Universal Permissive License 1.0 et Apache License 2.0. Le contenu de tierce partie est fourni sous une licence distincte, comme décrit dans le code.

Téléchargement : La trousse SDK pour Python est disponible sur GitHub ou PyPi.

Documentation de référence : Disponible sur docs.cloud.oracle.com.

Conseil

Cloud Shell : La trousse SDK pour Python est préconfigurée avec vos données d'identification et prête à être utilisée immédiatement à partir de Cloud Shell. Pour plus d'informations sur l'utilisation de la trousse SDK pour Python à partir de Cloud Shell, voir Démarrage rapide de Cloud Shell : Trousse SDK pour Python.

Image Oracle Linux Cloud Developer : La trousse SDK pour Python est préinstallée dans l'image de la plate-forme Oracle Linux Cloud Developer. Pour plus d'informations, voir Oracle Linux Cloud Developer.

Services pris en charge

  • Gouvernance des accès
  • Gestion des comptes
  • Service de détection d'anomalies du service d'intelligence artificielle
  • Service de langue du service d'intelligence artificielle
  • Service de reconnaissance de la parole du service d'intelligence artificielle
  • Service de visualisation du service d'intelligence artificielle
  • Analyses en nuage
  • Annonces
  • Passerelle d'API
  • Gestion des dépendances d'application
  • Gestion des applications
  • Surveillance de la performance des applications
  • Vérification
  • Récupération autonome
  • Ajustement automatique (Calcul)
  • Hôte bastion
  • Service de mégadonnées
  • Plate-forme de chaîne de blocs
  • Budgets
  • Compilations
  • Cache OCI
  • Certificats
  • Pont vers le nuage
  • Migrations vers le nuage
  • Compute Cloud@Customer
  • Agent d'instance de calcul (Oracle Cloud Agent)
  • Container Engine pour Kubernetes
  • Instances de conteneur
  • Gestion de contenu
  • Services de base (Réseau, Calcul, Volumes par blocs)
  • Protection d'infrastructure en nuage
  • Migrations vers le nuage
  • Groupes de positionnement de grappe
  • Centre de connecteurs
  • Tableau de bord de la console
  • Catalogue de données
  • Flux de données
  • Intégration de données
  • Étiquette de données
  • Service de sécurité des données
  • Science des données
  • Transfert de données
  • Base de données
  • Gestion de bases de données
  • Migration de bases de données
  • Outils de base de données
  • Signal de demande
  • DevOps
  • Assistant numérique
  • Médias numériques
  • Récupération après sinistre
  • DNS
  • Compréhension de documents
  • Transmission de courriels
  • Entrepôt Enterprise Manager
  • Événements
  • Mise à jour du parc Exadata
  • Stockage de fichier
  • Fonctions
  • Oracle Fusion Applications en tant que service
  • Intelligence artificielle générative
  • Inférence d'intelligence artificielle générative
  • Artefacts génériques
  • Base de données répartie globalement
  • GoldenGate
  • Règles de gouvernance
  • Vérifications d'état
  • Service IAM
  • Domaines d'identité
  • Intégration en nuage
  • Gestion Java
  • Téléchargements de Java Management Service
  • Gestion des clés (pour le service de chambre forte)
  • Gestionnaire de licences
  • Limites
  • Équilibreur de charge
  • Journalisation
  • Logging Analytics
  • Recherche de journaux
  • Ingestion de journaux
  • Accès géré
  • Management Agent Cloud
  • Tableau de bord de gestion
  • Marché des applications
  • Offre privée du marché des applications
  • Surveillance
  • HeatWave
  • Pare-feu de réseau
  • Équilibrage de charge de réseau
  • Surveillance du réseau
  • Topologie de réseau
  • NoSQL Database Cloud (en anglais)
  • Avis
  • Stockage d'objets
  • Centre de contrôle OCI
  • OCI Registry
  • OneSubscription
  • Données clés sur l'exploitation
  • Contrôle de l'accès des opérateurs
  • Optimiseur
  • Organisations
  • Gestion du système d'exploitation
  • Centre de gestion du système d'exploitation
  • PostgreSQL
  • Automatisation des processus
  • Éditeur
  • Service de file d'attente
  • Quotas
  • Resource Manager
  • Programmateur de ressources
  • Infrastructure en périphérie de réseau Rover
  • Rechercher
  • Gestion des clés secrètes (pour le service de chambre forte)
  • Service de bureau sécurisé
  • Catalogue de services
  • Maillage de services
  • Gestion du code source
  • Surveillance de pile
  • Flux
  • Gestion du soutien technique
  • Renseignement sur les menaces
  • Syntaxe
  • Visual Builder
  • Solution VMWare
  • Balayage de vulnérabilités
  • API de services de sécurité et d'accélération d'application Web
  • Demandes de travail (Calcul, Base de données)

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 la trousse 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 De 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 nouvelles versions de Python peuvent ne pas être prises en charge immédiatement. La trousse SDK pour Python d'OCI peut fonctionner sur des systèmes d'exploitation non répertoriés, mais dont nous ne testons pas la compatibilité.

Installation avec yum

Si vous utilisez Oracle Linux 7 ou 8, vous pouvez utiliser yum pour installer la trousse SDK pour Python d'OCI :

L'exemple suivant montre comment utiliser yum pour installer la trousse SDK OCI pour Python 3.6 :

sudo yum install python36-oci-sdk

L'exemple suivant montre comment utiliser yum pour installer la trousse SDK OCI pour Python 2.7 :

sudo yum install python-oci-sdk

Chiffrement côté client

Le chiffrement côté client vous permet de chiffrer les données du côté client avant de les stocker localement ou de les utiliser avec d'autres services Oracle Cloud Infrastructure.

Pour utiliser le chiffrement côté client, vous devez créer une clé de chiffrement principale à l'aide du service de gestion des clés. Cette création peut être effectuée à l'aide des opérations CreateKey ou ImportKey.

La clé de chiffrement principale sert à générer une clé de chiffrement des données pour chiffrer les données utiles. Une copie chiffrée de cette clé de chiffrement des données (chiffrée à l'aide de la clé de chiffrement principale) et d'autres éléments de métadonnées sont inclus dans les données utiles chiffrées retournées par les trousses SDK pour pouvoir être utilisés pour le déchiffrement.

Exemples

L'exemple de code suivant montre comment chiffrer 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 chiffrer un flux de fichiers :

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)

Communiquer avec nous

Contributions

Vous avez une solution pour un bogue ou une nouvelle fonctionnalité que vous aimeriez partager? La trousse SDK est une solution à code source libre qui accepte les demandes d'extraction sur GitHub.

Avis

Pour recevoir un avis lorsqu'une nouvelle version de la trousse SDK pour Python est publiée, abonnez-vous au flux Atom.

Questions ou rétroaction