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 sur l'index des ensembles Python (PyPi).
Documentation de référence : Disponible sur docs.cloud.oracle.com.
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.
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 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
- Analytics Cloud
- annonces
- Passerelle d'API
- Gestion des dépendances d'application
- Gestion des applications
- Surveillance de la performance des applications
- Audit
- Récupération autonome
- Ajustement automatique (Calcul)
- Hôte bastion
- Service de mégadonnées
- Blockchain Platform
- Budgets
- Compilations
- Cache OCI
- Certificats
- Pont vers le nuage
- Migrations vers le nuage
- Compute Cloud@Customer
- Agent d'instance de calcul (Oracle Cloud Agent
- Moteur Kubernetes
- Instances de conteneur
- Content Management
- 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
- Service d'intégration de données
- Étiquetage de données
- Sécurité des données
- Service de science des données
- Base de données
- Gestion du cycle de vie des bases de données
- Gestion de bases de données
- Migration de bases de données
- Outils de base de données
- Contrôle de l'accès des délégués
- Signal de demande
- DevOps
- Digital
- Médias numériques
- Récupération après sinistre
- DNS
- Compréhension de documents
- Transmission de messages
- Entrepôt Enterprise Manager
- Événements
- Mise à jour du parc Exadata
- Stockage de fichiers
- File Storage with Lustre
- Gestion d'application de parc
- Fonctions
- Oracle Fusion Applications en tant que service
- Intelligence artificielle générative
- Agent d'intelligence artificielle générative
- Inférence de l'IA générative
- Artefacts génériques
- Base de données répartie à l'échelle mondiale
- GoldenGate
- Règles de gouvernance
- Vérifications d'état
- IAM
- Domaines d'identité
- Integration Cloud
- 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é
- Services gérés pour Mac
- Management Agent Cloud
- Tableau de bord de gestion
- Marketplace
- 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
- Avis
- Stockage d'objets
- Centre de contrôle OCI
- OCI Registry
- Ordinateurs de bureau sécurisés OCI
- OneSubscription
- Données clés sur l'exploitation
- Contrôle de l'accès des opérateurs
- Optimiseur
- Organisations
- Gestion de système d'exploitation
- Centre de gestion du système d'exploitation
- PostgreSQL
- Automatisation des processus
- Publisher
- Service de file d'attente
- Quotas
- Gestionnaire de ressources
- Programmateur de ressources
- Infrastructure en périphérie de réseau Rover
- Recherche
- Gestion des clés secrètes (pour le service de chambre forte)
- Service de bureaux sécurisés
- Attribut de sécurité
- Catalogue de services
- Maillage de services
- Gestion du code source
- Surveillance de pile
- Flux
- Gestion du soutien technique
- Renseignement sur les menaces
- Utilisation
- Visual Builder
- Solution VMWare
- Balayage de vulnérabilités
- API de services de sécurité et d'accélération d'application Web
- Gestion WebLogic
- Demandes de travail (Calcul, Base de données)
- ZPR (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 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 | De 3.6 à 3.9 |
CentOS 8 | De 3.6 à 3.9 |
Oracle Autonomous Linux 7.9 | De 3.6 à 3.9 |
Oracle Linux 7.8 | De 3.6 à 3.9 |
Oracle Linux 7.9 | De 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 nouvelles versions de Python peuvent ne pas être prises en charge immédiatement. La trousse SDK OCI pour Python peut fonctionner sur des systèmes d'exploitation non répertoriés, mais dont nous ne testons pas la compatibilité.
Installation avec le gestionnaire de ressources
Vous pouvez utiliser le gestionnaire de ressources pour installer la trousse SDK Oracle Cloud sur une instance de calcul dans votre compartiment. La kit de développement Oracle Cloud inclut la trousse SDK pour Python, ainsi que d'autres outils de développement Oracle.
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 client 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
- Problèmes GitHub : Pour signaler des bogues et soumettre des demandes de fonction uniquement
- Stack Overflow : Utilisez les balises oracle-cloud-infrastructure et oci-python-sdk dans votre publication
- Section Outils pour développeurs dans les forums Oracle Cloud
- My Oracle Support