从源代码安装

已发布的软件包

本页面介绍如何使用官方发布的软件包下载并验证 apache-airflow-providers-apache-beam Provider 的 6.0.4 版本。你也可以通过 PyPI 安装此 Provider 软件包,就像安装大多数 Python 软件包一样。通过选择页面左上角的下拉菜单,你可以选择不同版本的 Provider。

发布的 sdistwhl 软件包是“官方”安装源,如果你想验证软件包的来源并验证其校验和及签名,可以使用这些软件包。这些软件包可通过 官方 Apache 软件基金会下载页面 获取。

下载地址如下:

如果你想从源代码安装,可以从上面的源代码链接下载,其中包含一个 INSTALL 文件,详细说明了如何构建和安装此 Provider。

发布完整性

PGP 签名 KEYS

使用 PGP 或 SHA 签名验证下载文件的完整性至关重要。可以使用 GPG 或 PGP 验证 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-beam-6.0.4.tar.gz.asc apache-airflow-providers-apache-beam-6.0.4.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-apache-beam-6.0.4.tar.gz  | diff - apache-airflow-providers-apache-beam-6.0.4.tar.gz.sha512

验证 PyPI 发布版本

你可以通过使用以下脚本在本地下载软件包、签名和 SHA 校验和文件来验证 PyPI 中的 Provider .whl 软件包

#!/bin/bash
PACKAGE_VERSION=6.0.4
PACKAGE_NAME=apache-airflow-providers-apache-beam
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_beam-6.0.4-py3-none-any.whl.asc" \
    -L -o "${provider_download_dir}/apache_airflow_providers_apache_beam-6.0.4-py3-none-any.whl.asc"
curl "https://downloads.apache.org/airflow/providers/apache_airflow_providers_apache_beam-6.0.4-py3-none-any.whl.sha512" \
    -L -o "${provider_download_dir}/apache_airflow_providers_apache_beam-6.0.4-py3-none-any.whl.sha512"
echo
echo "Please verify files downloaded to ${provider_download_dir}"
ls -la "${provider_download_dir}"
echo

按照前一章的说明验证文件后,可以删除创建的临时文件夹。

此条目有帮助吗?