SDK para Python
O Oracle Cloud Infrastructure SDK para Python permite que você crie o código de gerenciamento dos recursos do Oracle Cloud Infrastructure.
Esse SDK e seu respectivo exemplo têm licenciamento duplo sob a Licença Permissiva Universal 1.0 e sob a Licença Apache 2.0; o conteúdo de terceiros é licenciado separadamente, conforme descrito no código.
Download: O SDK para Python está disponível no GitHub ou no Python Package Index (PyPi).
Documentação de referência: disponível em docs.cloud.oracle.com.
Cloud Shell: O SDK para Python é pré-configurado com suas credenciais e está pronto para uso imediato no Cloud Shell. Para obter mais informações sobre como usar o SDK para Python no Cloud Shell, consulte Início Rápido do SDK para Python Cloud Shell.
Imagem do Oracle Linux Cloud Developer: O SDK para Python é pré-instalado na imagem da plataforma Oracle Linux Cloud Developer. Para obter mais informações, consulte Oracle Linux Cloud Developer.
Serviços Suportados
- Governança de Acesso
- Gerenciamento de Contas
- Detecção de Anomalia de Inteligência Artificial
- Language - IA
- Speech - IA
- Visão da Inteligência Artificial
- Serviço Analytics Cloud
- Serviço Announcements
- API Gateway
- Serviço Application Dependency Management
- Gerenciamento de Aplicativos
- Application Performance Monitoring
- Serviço Audit
- Autonomous Recovery
- Dimensionamento automático ( Computação)
- Bastion
- Big Data Service
- Blockchain Platform
- Serviço Budgets
- Build
- Cache com Redis
- Certificates
- Cloud Bridge
- Cloud Migrations
- Compute Cloud@Customer
- Compute Instance Agent (Agente Oracle Cloud)
- Serviço Container Engine for Kubernetes
- Container Instances
- Content Management
- Serviços Básicos (Networking, Compute e Block Volume)
- Cloud Guard
- Cloud Migrations
- Grupos de Localização de Clusters
- Hub Conector
- Console Dashboard
- Data Catalog
- Data Flow
- Data Integration
- Data Labeling
- Data Safe
- Data Science
- Serviço Data Transfer
- Serviço Database
- Administração de Banco de Dados
- Database Migration
- Database Tools
- DevOps
- Serviço Digital Assistant
- Digital Media
- Disaster Recovery
- Serviço DNS
- Document Understanding
- Serviço Email Delivery
- Enterprise Manager Warehouse
- Serviço Events
- Atualização de Frota do Exadata
- Serviço File Storage
- Serviço Functions
- Fusion Apps as a Service
- IA Generativa
- Inferência de IA generativa
- Generic Artifacts
- Banco de Dados Globalmente Distribuído
- GoldenGate
- Governance Rules
- Serviço Health Checks
- Serviço IAM
- Identity Domains
- Integration Cloud
- Java Management
- Downloads do Java Management Service
- Gerenciamento de Chaves (para o serviço Vault)
- License Manager
- Limites
- Load Balancer
- Log
- Análise de Registro em Log
- Pesquisa de Registro em Log
- Ingestão de Registro em Log
- Managed Access
- Nuvem do Agente de Gerenciamento
- Painel de Controle de Gerenciamento
- Marketplace
- Serviço Monitoring
- MySQL Onda Calor
- Network Firewall
- Network Load Balancing
- Network Monitoring
- Networking Topology
- NoSQL Database Cloud
- Serviço Notifications
- Serviço Object Storage
- Centro de Controle do OCI
- Registro do OCI
- OneSubscription
- Operations Insights
- Operator Access Control
- Otimizador
- Organizações
- OS Management
- Hub do Serviço OS Management
- PostgreSQL
- Process Automation
- Editor
- Queue Service
- Cotas
- Serviço Resource Manager
- Roving Edge Infrastructure
- Serviço Search
- Gerenciamento de Segredos (para o serviço Vault)
- Desktops Seguros
- Service Catalog
- Service Mesh
- Source Code Management
- Serviço Stack Monitoring
- Serviço Streaming
- Gerenciamento de Suporte
- Threat Intelligence
- Uso
- Visual Builder
- Solução VMWare
- Vulnerability Scanning
- Segurança e Aceleração do Aplicativo Web
- Solicitações de Serviço (serviços Compute, Database)
Suporte a Python
Versões do Python e Sistemas Operacionais Suportados
Esta tabela lista as versões do Python suportadas pelo OCI SDK para Python para cada sistema operacional:
Sistema operacional | Versões Suportadas do Python para CLI |
---|---|
CentOS 7 | 3.6 a 3.9 |
CentOS 8 | 3.6 a 3.9 |
Oracle Autonomous Linux 7.9 | 3.6 a 3.9 |
Oracle Linux 7.8. | 3.6 a 3.9 |
Oracle Linux 7.9 | 3.6 a 3.9 |
Oracle Linux 8 | 3.6 a 3.11 |
Oracle Linux 9 | 3.7 a 3.11 |
Ubuntu 18.0.4 | 3.6 a 3.11 |
Ubuntu 20.0.4 | 3.6 a 3.11 |
Windows Desktop 10 e 11 | 3.6 a 3.11 |
Windows Server (2012/2016/2019) | 3.6 a 3.11 |
As versões mais recentes do Python podem não ser imediatamente suportadas. O OCI SDK para Python pode funcionar em sistemas operacionais não listados, mas não os testamos quanto à compatibilidade.
Instalando com o Gerenciador de Recursos
Você pode usar o Gerenciador de Recursos para instalar o Oracle Cloud Development Kit em uma instância do serviço Compute no seu compartimento. O Oracle Cloud Development Kit inclui o SDK para Python, em conjunto com outras ferramentas de desenvolvimento da Oracle.
Instalando com o yum
Se você estiver usando o Oracle Linux 7 ou 8, poderá usar o yum para instalar o OCI SDK para Python.
O exemplo a seguir mostra como usar o yum para instalar o OCI SDK para Python 3.6:
sudo yum install python36-oci-sdk
Este exemplo mostra como usar o yum para instalar o OCI SDK para Python 2.7:
sudo yum install python-oci-sdk
Criptografia do Cliente
A Criptografia do Cliente permite criptografar dados no cliente antes de armazená-los localmente ou usá-los com outros serviços do Oracle Cloud Infrastructure.
Para usar a criptografia do cliente, é necessário criar uma chave de criptografia mestra (MEK) usando o Serviço Key Management. Isso pode ser feito usando as operações CreateKey ou ImportKey.
A MEK é usada para gerar uma Chave de Criptografia de Dados (DEK) para criptografar cada payload. Uma cópia criptografada dessa DEK (criptografada na MEK) e outras partes de metadados são incluídas no payload criptografado retornado pelos SDKs para que possam ser usadas para decriptografia.
Exemplos
O exemplo de código a seguir mostra como criptografar uma string:
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()))
O exemplo a seguir mostra como criptografar um stream de arquivos:
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)
Fale Conosco
Contribuições
Tem uma correção de bug ou uma funcionalidade que gostaria de divulgar? O SDK tem código-fonte aberto e aceita solicitações de extração no GitHub.
Notificações
Para ser notificado quando uma nova versão do SDK para Python for liberada, inscreva-se no Feed Atom.
Perguntas ou Feedback
- Problemas do GitHub: para registrar bugs e solicitações de recursos apenas
- Overflow de Pilha: use as tags oracle-cloud-infrastructure e oci-python-sdk na sua postagem
- Seção Ferramentas do Desenvolvedor dos fóruns do Oracle Cloud
- My Oracle Support