从源码安装

已发布的包

本页描述如何使用官方发布的包下载并验证 apache-airflow-providers-elasticsearch 提供程序版本 6.5.2。您也可以像大多数 Python 包一样通过 PyPI 安装此提供程序包。您可以在页面左上角的下拉菜单中选择不同的版本,以选择不同的提供程序版本。

源码包是 Apache 软件基金会的官方包——如果您希望自行从源代码构建包并确保包的来源得到验证且与仓库中的源代码匹配,您可以使用它们,并且可以校验这些包的校验和和签名。

发布的 sdistwhl 包是便捷的安装包——同样来源于相同的源代码,您仍然可以校验这些包的来源以及校验和和签名。这些包可通过 Apache 软件基金会官方下载 获得。

下载地址如下:

如果您想从源代码安装,可以从上述源码链接下载,下载中将包含一个 INSTALL 文件,里面详细说明了如何构建和安装该提供者。

发布完整性

PGP 签名 KEYS

务必使用 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-elasticsearch-6.5.2.tar.gz.asc apache-airflow-providers-elasticsearch-6.5.2.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 导入,即已确认该密钥有效。

进行 SHA512 校验时,请下载相应的 sha512 并执行如下命令

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

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

示例

shasum -a 512 apache-airflow-providers-elasticsearch-6.5.2.tar.gz  | diff - apache-airflow-providers-elasticsearch-6.5.2.tar.gz.sha512

验证 PyPI 发布

您可以通过在本地下载该包及其签名和 SHA 校验文件(使用下面的脚本),来验证来自 PyPI 的 Provider .whl 包。

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

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

此条目是否有帮助?