如何使用 Boto3 从 AWS Glue 数据目录中获取数据库中用户定义函数的详细信息

让我们看看用户如何从 AWS Glue 数据目录获取指定函数定义的详细信息。

示例

获取数据库employee 中名为insert_employee_record的函数定义的详细信息。

问题陈述:使用Python 中的boto3库从 AWS Glue 数据目录中获取指定函数定义的详细信息。

解决这个问题的方法/算法

  • 第一步:导入boto3和botocore异常处理异常。

  • 步骤2:database_name和function_name是必需的参数。它获取给定数据库中给定function_name的定义。

  • 步骤 3:使用boto3 lib创建 AWS 会话。确保在默认配置文件中提到region_name。如果未提及,则在创建会话时显式传递region_name。

  • 第 4 步:为glue创建一个AWS 客户端。

  • 步骤 5:调用get_user_defined_function并将database_name作为 DatabaseName 和function_name作为 FunctionName 参数传递。

  • 第 6 步:它返回给定函数的定义。如果它没有找到给定的函数,它会抛出一个错误。

  • 第 7 步:如果在检查函数时出现问题,则处理通用异常。

示例代码

以下代码获取给定函数的定义 -

import boto3

frombotocore.exceptionsimport ClientError

def get_function_definition(database_name, function_name):

   session = boto3.session.Session()

   glue_client = session.client('glue')

   try:

      response = glue_client.get_user_defined_function(DatabaseName=database_name, FunctionName=function_name)

      return response

   except ClientError as e:

      raise Exception("boto3 client error in get_function_definition: " + e.__str__())

   except Exception as e:

      raise Exception("Unexpected error in get_function_definition: " + e.__str__())

a = get_function_definition('employee', 'insert_employee_record')

print(a)

输出结果
{

   'UserDefinedFunctions':{

      'FunctionName': 'insert_employee_record',

      'DatabaseName': 'employee',

      'ClassName': 'InsertEmployee',

      'OwnerName': 'string',

      'OwnerType': 'USER'|'ROLE'|'GROUP',

      'CreateTime': datetime(2021,03,15),

      'ResourceUris':[

         {

            'ResourceType': 'JAR'|'FILE'|'ARCHIVE',

            'Uri': 'string'

         },

      ],

   }

}

以上是 如何使用 Boto3 从 AWS Glue 数据目录中获取数据库中用户定义函数的详细信息 的全部内容, 来源链接: utcz.com/z/338789.html

回到顶部