Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
El SDK de Python se ha actualizado de la pista 1 al seguimiento 2. Se recomienda migrar al SDK de seguimiento 2 lo antes posible. Para obtener instrucciones, consulte esta guía de migración.
El SDK de Python admite perfiles de versión de API para dirigirse a distintas plataformas en la nube, como Azure Stack Hub y Azure global. Use perfiles de API para crear soluciones para una nube híbrida.
Las instrucciones de este artículo requieren una suscripción de Microsoft Azure. Si no tiene una, puede obtener una cuenta de evaluación gratuita.
Perfiles de versión de Python y API
El SDK de Python admite los siguientes perfiles de API:
más reciente
Este perfil tiene como destino las versiones de API más recientes para todos los proveedores de servicios de la plataforma Azure.2020_09_01_hybrid
Este perfil tiene como destino las versiones de API más recientes para todos los proveedores de recursos de la plataforma de Azure Stack Hub para las versiones 2102 o posteriores.2019_03_01_hybrid
Este perfil tiene como destino las versiones de API más recientes para todos los proveedores de recursos de la plataforma de Azure Stack Hub para las versiones 1904 o posteriores.Para más información sobre los perfiles de API y Azure Stack Hub, consulte Administración de perfiles de versión de API en Azure Stack Hub.
Instalación del SDK de Azure Python
Perfiles
En el caso de los perfiles que contienen fechas, para usar otro perfil o versión del SDK, sustituya la fecha de v<date>_hybrid. Por ejemplo, para la versión 2008, el perfil es 2019_03_01y la cadena se convierte en v2019_03_01_hybrid. Tenga en cuenta que, a veces, el equipo del SDK cambia el nombre de los paquetes, por lo que es posible que no funcione simplemente la fecha de una cadena con una fecha diferente. Consulte la tabla siguiente para obtener una asociación de perfiles y versiones de Azure Stack.
| Versión de Azure Stack | Perfil |
|---|---|
| 2311 | 2020_09_01 |
| 2301 | 2020_09_01 |
| 2206 | 2020_09_01 |
| 2108 | 2020_09_01 |
| 2102 | 2020_09_01 |
| 2008 | 2019_03_01 |
Para más información sobre los perfiles de API y Azure Stack Hub, consulte resumen de perfiles de API.
Consulte Perfiles del SDK de Python.
Suscripción
Si aún no tiene una suscripción, cree una suscripción y guarde el identificador de suscripción que se usará más adelante. Para obtener información sobre cómo crear una suscripción, consulte este documento.
Principal de servicio
Se debe crear y guardar en algún lugar una entidad de servicio y su información de entorno asociada. Se recomienda la entidad de servicio con owner rol, pero dependiendo del ejemplo, un contributor rol puede ser suficiente. Consulte el archivo Léame en el repositorio de ejemplo para conocer los valores necesarios. Puede leer estos valores en cualquier formato compatible con el lenguaje sdk, como desde un archivo JSON (que usan nuestros ejemplos). En función de la ejecución del ejemplo, no se pueden usar todos estos valores. Consulte el repositorio de ejemplo para obtener código de ejemplo actualizado o más información.
Id. de inquilino
Para buscar el directorio o el identificador de inquilino de Azure Stack Hub, siga las instrucciones de este artículo.
Registro de proveedores de recursos
Registre los proveedores de recursos necesarios siguiendo este documento. Estos proveedores de recursos serán necesarios en función de los ejemplos que quiera ejecutar. Por ejemplo, si desea ejecutar un ejemplo de máquina virtual, se requiere el registro del Microsoft.Compute proveedor de recursos.
Punto de conexión de Resource Manager de Azure Stack
Azure Resource Manager (ARM) es un marco de administración que permite a los administradores implementar, administrar y supervisar recursos de Azure. Azure Resource Manager puede controlar estas tareas como un grupo, en lugar de individualmente, en una sola operación. Puede obtener la información de metadatos del punto de conexión de Resource Manager. El punto de conexión devuelve un archivo JSON con la información necesaria para ejecutar el código.
-
ResourceManagerEndpointUrl en el Kit de desarrollo de Azure Stack (ASDK) es:
https://management.local.azurestack.external/. -
ResourceManagerEndpointUrl en sistemas integrados es:
https://management.region.<fqdn>/, donde<fqdn>es el nombre de dominio completo. - Para recuperar los metadatos necesarios:
<ResourceManagerUrl>/metadata/endpoints?api-version=1.0. Para ver las versiones de API disponibles, consulte Especificaciones de api rest de Azure. Por ejemplo, en2020-09-01la versión del perfil, puede cambiar aapi-version2019-10-01para el proveedormicrosoft.resourcesde recursos .
JSON de ejemplo:
{
"galleryEndpoint": "https://portal.local.azurestack.external:30015/",
"graphEndpoint": "https://graph.windows.net/",
"portal Endpoint": "https://portal.local.azurestack.external/",
"authentication":
{
"loginEndpoint": "https://login.windows.net/",
"audiences": ["https://management.yourtenant.onmicrosoft.com/3cc5febd-e4b7-4a85-a2ed-1d730e2f5928"]
}
}
Confiar en el certificado raíz de ca de Azure Stack Hub
Si usa el ASDK, debe confiar explícitamente en el certificado raíz de ca en el equipo remoto. No es necesario confiar en el certificado raíz de la entidad de certificación con los sistemas integrados de Azure Stack Hub.
Windows
Busque la ubicación del almacén de certificados de Python en la máquina. La ubicación puede variar, en función de dónde haya instalado Python. Abra un símbolo del sistema o un símbolo del sistema con privilegios elevados y escriba el siguiente comando:
python -c "import certifi; print(certifi.where())"Anote la ubicación del almacén de certificados; por ejemplo, ~/lib/python3.5/site-packages/certifi/cacert.pem. La ruta de acceso determinada depende del sistema operativo y de la versión de Python que haya instalado.
Confíe en el certificado raíz de la entidad de certificación de Azure Stack Hub al anexarlo al certificado de Python existente:
$pemFile = "<Fully qualified path to the PEM certificate; for ex: C:\Users\user1\Downloads\root.pem>" $root = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 $root.Import($pemFile) Write-Host "Extracting required information from the cert file" $md5Hash = (Get-FileHash -Path $pemFile -Algorithm MD5).Hash.ToLower() $sha1Hash = (Get-FileHash -Path $pemFile -Algorithm SHA1).Hash.ToLower() $sha256Hash = (Get-FileHash -Path $pemFile -Algorithm SHA256).Hash.ToLower() $issuerEntry = [string]::Format("# Issuer: {0}", $root.Issuer) $subjectEntry = [string]::Format("# Subject: {0}", $root.Subject) $labelEntry = [string]::Format("# Label: {0}", $root.Subject.Split('=')[-1]) $serialEntry = [string]::Format("# Serial: {0}", $root.GetSerialNumberString().ToLower()) $md5Entry = [string]::Format("# MD5 Fingerprint: {0}", $md5Hash) $sha1Entry = [string]::Format("# SHA1 Fingerprint: {0}", $sha1Hash) $sha256Entry = [string]::Format("# SHA256 Fingerprint: {0}", $sha256Hash) $certText = (Get-Content -Path $pemFile -Raw).ToString().Replace("`r`n","`n") $rootCertEntry = "`n" + $issuerEntry + "`n" + $subjectEntry + "`n" + $labelEntry + "`n" + ` $serialEntry + "`n" + $md5Entry + "`n" + $sha1Entry + "`n" + $sha256Entry + "`n" + $certText Write-Host "Adding the certificate content to Python Cert store" Add-Content "${env:ProgramFiles(x86)}\Python35\Lib\site-packages\certifi\cacert.pem" $rootCertEntry Write-Host "Python Cert store was updated to allow the Azure Stack Hub CA root certificate"
Nota:
Si usa virtualenv para desarrollar con el SDK de Python, debe agregar el certificado anterior al almacén de certificados del entorno virtual. La ruta de acceso podría ser similar a: ..\mytestenv\Lib\site-packages\certifi\cacert.pem.
Muestras
Consulte este repositorio de ejemplo para obtener código de ejemplo de actualización a fecha (seguimiento 2). Consulte este repositorio de ejemplo para realizar el seguimiento de 1 código de ejemplo. La raíz README.md describe los requisitos generales y cada subdirectorio contiene un ejemplo específico con su propio README.md que describe cómo ejecutar ese ejemplo.
Consulte aquí el ejemplo aplicable a la versión 2008 o el perfil 2019-03-01 de Azure Stack y a continuación.