airflow.providers.snowflake.utils.sql_api_generate_jwt

模块内容

JWTGenerator

使用指定的私钥文件、用户名和帐户标识符创建并签署 JWT。

属性

logger

ISSUER

EXPIRE_TIME

ISSUE_TIME

SUBJECT

airflow.providers.snowflake.utils.sql_api_generate_jwt.logger[源代码]
airflow.providers.snowflake.utils.sql_api_generate_jwt.ISSUER = 'iss'[源代码]
airflow.providers.snowflake.utils.sql_api_generate_jwt.EXPIRE_TIME = 'exp'[源代码]
airflow.providers.snowflake.utils.sql_api_generate_jwt.ISSUE_TIME = 'iat'[源代码]
airflow.providers.snowflake.utils.sql_api_generate_jwt.SUBJECT = 'sub'[源代码]
class airflow.providers.snowflake.utils.sql_api_generate_jwt.JWTGenerator(account, user, private_key, lifetime=LIFETIME, renewal_delay=RENEWAL_DELTA)[源代码]

使用指定的私钥文件、用户名和帐户标识符创建并签署 JWT。

JWTGenerator 会保存生成的令牌,并且只有在指定的时间段过去后才会重新生成令牌。

创建一个对象,为指定的用户、帐户标识符和私钥生成 JWT

参数
  • account (str) – 您的 Snowflake 帐户标识符。请参阅 https://docs.snowflake.com/en/user-guide/admin-account-identifier.html。请注意,如果您使用的是帐户定位器,请从帐户定位器中排除任何区域信息。

  • user (str) – Snowflake 用户名。

  • private_key (Any) – 用于签署 JWT 的文件路径中的私钥。

  • lifetime (datetime.timedelta) – 密钥有效的分钟数(以 timedelta 表示)。

  • renewal_delay (datetime.timedelta) – 从现在开始,JWT 生成器应续订 JWT 的分钟数(以 timedelta 表示)。

LIFETIME[源代码]
RENEWAL_DELTA[源代码]
ALGORITHM = 'RS256'[源代码]
prepare_account_name_for_jwt(raw_account)[源代码]

准备要在 JWT 中使用的帐户标识符。

对于 JWT,帐户标识符不得包含子域或任何区域或云提供商信息。

参数

raw_account (str) – 指定的帐户标识符。

get_token()[源代码]

生成新的 JWT。

如果之前已生成 JWT,则返回先前生成的令牌,除非指定的续订时间已过。

calculate_public_key_fingerprint(private_key)[源代码]

给定 PEM 格式的私钥,返回公钥指纹。

参数

private_key (Any) – 私钥

此条目是否有帮助?