从源代码安装¶
已发布的软件包¶
本页面描述了如何下载并验证 apache-airflow-providers-apache-iceberg
提供程序版本 1.2.0
,使用官方发布的软件包。您也可以像安装大多数 Python 包一样,通过 PyPI 安装此提供程序包。 您可以通过页面左上角的下拉列表选择此提供程序的不同版本。
发布的 sdist
和 whl
软件包是“官方”安装来源,如果您想验证软件包的来源,并想验证软件包的校验和与签名,可以使用这些软件包。 这些软件包可以通过 Apache 软件基金会官方下载 获取。
下载地址位于
如果您想从源代码安装,可以从上面的源代码链接下载,它将包含一个 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-apache-iceberg-1.2.0.tar.gz.asc apache-airflow-providers-apache-iceberg-1.2.0.tar.gz
gpg: Signature made Sat 11 Sep 12:49:54 2021 BST
gpg: using RSA key CDE15C6E4D3A8EC4ECF4BA4B6674E08AD7DE406F
gpg: issuer "[email protected]"
gpg: Good signature from "Kaxil Naik <[email protected]>" [unknown]
gpg: aka "Kaxil Naik <[email protected]>" [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 导入它,您知道这已经是一个有效的密钥。
对于 SHA512 和校验,下载相关的 sha512
并运行以下命令
shasum -a 512 apache-airflow-providers-******** | diff - apache-airflow-providers-********.sha512
文件的 SHASUM
应该与 .sha512
文件中提供的相匹配。
示例
shasum -a 512 apache-airflow-providers-apache-iceberg-1.2.0.tar.gz | diff - apache-airflow-providers-apache-iceberg-1.2.0.tar.gz.sha512
验证 PyPI 发布¶
您可以通过使用以下脚本在本地下载软件包、签名和 SHA 校验和文件来验证来自 PyPI 的提供程序 .whl
软件包
#!/bin/bash
PACKAGE_VERSION=1.2.0
PACKAGE_NAME=apache-airflow-providers-apache-iceberg
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_apache_iceberg-1.2.0-py3-none-any.whl.asc" \
-L -o "${provider_download_dir}/apache_airflow_providers_apache_iceberg-1.2.0-py3-none-any.whl.asc"
curl "https://downloads.apache.org/airflow/providers/apache_airflow_providers_apache_iceberg-1.2.0-py3-none-any.whl.sha512" \
-L -o "${provider_download_dir}/apache_airflow_providers_apache_iceberg-1.2.0-py3-none-any.whl.sha512"
echo
echo "Please verify files downloaded to ${provider_download_dir}"
ls -la "${provider_download_dir}"
echo
按照上一章的说明验证文件后,您可以删除创建的临时文件夹。