从源码安装

已发布软件包

本页介绍如何使用官方发布的软件包下载和验证 apache-airflow-providers-teradata 提供程序版本 3.0.0。您也可以像大多数 Python 软件包一样,通过 PyPI 安装提供程序软件包。您可以从页面左上角的下拉列表中选择不同的版本来选择不同的提供程序版本。

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

下载地址如下:

如果要从源代码安装,可以从上面的 “源代码” 链接下载,它将包含一个 INSTALL 文件,其中包含有关如何构建和安装提供程序的详细信息。

发布完整性

PGP 签名密钥

必须使用 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-teradata-3.0.0.tar.gz.asc apache-airflow-providers-teradata-3.0.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

“来自 ... 的良好签名” 表明签名正确。不用担心 “未通过受信任的签名认证” 警告。发布管理器使用的大多数证书都是自签名的,这就是您收到此警告的原因。通过在之前的步骤中导入服务器并通过 KEYS 页面中的 ID 导入它,您知道这已经是一个有效的密钥了。

对于 SHA512 总和校验,请下载相关的 sha512 文件并运行以下命令:

shasum -a 512 apache-airflow-providers-********  | diff - apache-airflow-providers-********.sha512

该文件的 SHASUM 应该与 .sha512 文件中提供的相匹配。

示例

shasum -a 512 apache-airflow-providers-teradata-3.0.0.tar.gz  | diff - apache-airflow-providers-teradata-3.0.0.tar.gz.sha512

验证 PyPI 发布

您可以使用以下脚本通过本地下载软件包、签名和 SHA 总和文件来验证来自 PyPI 的提供程序 .whl 软件包。

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

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

此条目是否有帮助?