从源安装¶
已发布包¶
本页面介绍如何下载和验证 `apache-airflow-providers-microsoft-psrp` 提供程序版本 `3.0.1`,使用官方发布的包。您也可以像大多数 Python 包一样,通过 PyPI 安装提供程序包。您可以通过选择页面左上方下拉列表中的不同版本来选择不同版本的提供程序。
发布的 `sdist` 和 `whl` 包是“官方”安装来源,如果您想验证包的来源并验证包的校验和与签名,可以使用这些包。这些包可以通过 Apache Software Foundation 官方下载渠道获取
下载地址如下:
Sdist 包 (asc, sha512) - 这些也是该包的官方来源
Whl 包 (asc, sha512)
如果您想从源代码安装,可以从上面的源链接下载,其中包含一个 `INSTALL` 文件,详细说明了如何构建和安装提供程序。
版本完整性¶
您必须使用 PGP 或 SHA 签名来验证下载文件的完整性。PGP 签名可以使用 GPG 或 PGP 进行验证。请下载 KEYS 文件以及相应分发的 asc 签名文件。建议从主分发目录而非镜像站点获取这些文件。
gpg -i KEYS
或
pgpk -a KEYS
或
pgp -ka KEYS
要验证二进制文件/源代码,您可以从主分发目录下载相应的 asc 文件,并按照以下指南进行操作。
gpg --verify apache-airflow-providers-********.asc apache-airflow-*********
或
pgpv apache-airflow-providers-********.asc
或
pgp apache-airflow-providers-********.asc
示例
$ gpg --verify apache-airflow-providers-microsoft-psrp-3.0.1.tar.gz.asc apache-airflow-providers-microsoft-psrp-3.0.1.tar.gz
gpg: Signature made Sat 11 Sep 12:49:54 2021 BST
gpg: using RSA key CDE15C6E4D3A8EC4ECF4BA4B6674E08AD7DE406F
gpg: issuer "kaxilnaik@apache.org"
gpg: Good signature from "Kaxil Naik <kaxilnaik@apache.org>" [unknown]
gpg: aka "Kaxil Naik <kaxilnaik@gmail.com>" [unknown]
gpg: WARNING: The key's User ID is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: CDE1 5C6E 4D3A 8EC4 ECF4 BA4B 6674 E08A D7DE 406F
“Good signature from …” 表示签名是正确的。不必担心“not certified with a trusted signature”的警告。发布经理使用的大多数证书是自签名的,这就是为什么您会看到此警告。通过上一步导入服务器并从 `KEYS` 页面通过 ID 导入它,您就知道这是一个有效的 Key 了。
进行 SHA512 和校验,请下载相应的 `sha512` 文件并运行以下命令:
shasum -a 512 apache-airflow-providers-******** | diff - apache-airflow-providers-********.sha512
文件的 `SHASUM` 应该与 `.sha512` 文件中提供的一致。
示例
shasum -a 512 apache-airflow-providers-microsoft-psrp-3.0.1.tar.gz | diff - apache-airflow-providers-microsoft-psrp-3.0.1.tar.gz.sha512
验证 PyPI 版本¶
您可以通过使用以下脚本本地下载包、签名文件和 SHA 和校验文件来验证 PyPI 中的提供程序 `.whl` 包
#!/bin/bash
PACKAGE_VERSION=3.0.1
PACKAGE_NAME=apache-airflow-providers-microsoft-psrp
provider_download_dir=$(mktemp -d)
pip download --no-deps "${PACKAGE_NAME}==${PACKAGE_VERSION}" --dest "${provider_download_dir}"
curl "https://downloads.apache.org/airflow/providers/apache_airflow_providers_microsoft_psrp-3.0.1-py3-none-any.whl.asc" \
-L -o "${provider_download_dir}/apache_airflow_providers_microsoft_psrp-3.0.1-py3-none-any.whl.asc"
curl "https://downloads.apache.org/airflow/providers/apache_airflow_providers_microsoft_psrp-3.0.1-py3-none-any.whl.sha512" \
-L -o "${provider_download_dir}/apache_airflow_providers_microsoft_psrp-3.0.1-py3-none-any.whl.sha512"
echo
echo "Please verify files downloaded to ${provider_download_dir}"
ls -la "${provider_download_dir}"
echo
按照前一章节的说明验证文件后,您可以删除创建的临时文件夹。