从 boto3 调用 AWS Glue Pythonshell 作业时出现参数错误

2024-04-26

基于上一篇文章 https://stackoverflow.com/questions/58044032/retrieving-s3-path-from-payload-inside-aws-glue-pythonshell-job/58044919#58044919,我有一个 AWS Glue Pythonshell 作业,需要从通过 boto3 调用传递给它的参数中检索一些信息。

我的胶水工作名称是test_metrics

Glue pythonshell 代码如下所示

import sys
from awsglue.utils import getResolvedOptions

args = getResolvedOptions(sys.argv,
                          ['test_metrics',
                           's3_target_path_key',
                           's3_target_path_value'])

print ("Target path key is: ", args['s3_target_path_key'])
print ("Target Path value is: ", args['s3_target_path_value'])

调用此作业的 boto3 代码如下:

glue = boto3.client('glue')

response = glue.start_job_run(
    JobName = 'test_metrics',
    Arguments = {
        '--s3_target_path_key': 's3://my_target',
        '--s3_target_path_value': 's3://my_target_value'
    } 
)

print(response)

I see a 200我在本地计算机中运行 boto3 代码后的响应,但 Glue 错误日志告诉我:

test_metrics.py: error: the following arguments are required: --test_metrics

我缺少什么?


您正在尝试启动哪项工作? Spark 作业还是 Python shell 作业?

如果是 Spark 作业,JOB_NAME 是必需参数。在 Python shell 作业中,根本不需要它。

所以在你的 python shell 作业中,替换

args = getResolvedOptions(sys.argv,
                          ['test_metrics',
                           's3_target_path_key',
                           's3_target_path_value'])

with

args = getResolvedOptions(sys.argv,
                           ['s3_target_path_key',
                           's3_target_path_value'])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 boto3 调用 AWS Glue Pythonshell 作业时出现参数错误 的相关文章

  • 我首次设置 AWS EB 时创建的默认安全组是什么?

    我对几个组所扮演的角色感到困惑 这些组似乎已自动添加到我的 AWS 安全组列表中 并以我收集的默认配置进行连接 并且想知道它们是如何工作的 以及它们的安全性如何 改变 具体来说 有三个神秘之处 launch wizard 1其中有一条入站规
  • 无法理解如何使用 Android AWS SDK

    我正在构建一个将使用 Amazon 的 SimpleDB 服务的应用程序 它使用亚马逊的AWS 安卓 SDK http aws amazon com sdkforandroid 据我了解 不建议我将 Amazon 凭证 访问 ID 和密钥
  • Lambda 是否有必要在处理后从 SQS 队列中删除消息?

    我正在此处查看 AWS SQS 文档 https docs aws amazon com sdk for net v3 developer guide ReceiveMessage html receive sqs message http
  • 将 Docker 与 AWS Elastic Beanstalk 结合使用有哪些优势?

    我在AWS Elastic Beanstalk上部署了几个网站 然后我听说了Docker 所以我想这次我可以尝试一下小型企业电子商务网站 Lumen Angularjs 网上查遍了 由于没有使用Docker的经验 还是很难 深入了解在 AW
  • 如何使提供程序假设_角色块有条件

    我有一个provider我想给的块assume role属性 但前提是它没有在我的本地计算机上运行 我定义了一个变量islocal在所有环境中 tfvars文件 只有本地文件具有该值true 这是provider block provide
  • 如何在部署应用程序 Elastic beanstalk 上修改 NGINX 配置

    我需要向 nginx conf 添加一些位置 以便环境 URL 指向 app php 我已经使用 vi 修改了该文件 重启 NGINX 就可以了 但我需要在使用时自动加载此配置电子部署 我已阅读并尝试过 https docs aws ama
  • 如何在 Ubuntu 12.04 上启动 postgresql 服务器

    我刚刚在 Ubuntu 12 04 服务器 由 Amazon EWS 托管 上安装了 PostgreSQL 9 1 当我尝试启动psql命令 出现以下错误消息 psql 无法连接到服务器 没有这样的文件或目录是 服务器在本地运行并接受 Un
  • Django 尝试使用错误的数据库用户

    已解决 我使用的是 USERNAME 而不是之前尝试使用 Postgres 驱动程序时使用的 USER 我正在尝试将我的 django 项目连接到 RDS MySQL 数据库 我可以在 MySQL Workbench 和 mysql 命令行
  • Cloudformation 堆栈在执行所有用户数据之前显示为完整

    在我的 cloudformation 堆栈中 我有一个启动配置 它在用户数据中运行 ansible 脚本 这里的问题是 我的堆栈状态显示CREATE COMPLETE即使 ansible 脚本尚未完成执行 在我 ssh 进入 ec2 实例后
  • 使用带有分区键和排序键的 bash 删除 DynamoDB 表中的所有项目

    我尝试在 bash 中使用 AWS CLI 删除 DynamoDB 表中同时具有分区键和排序键的所有项目 到目前为止我发现的最好的东西 https gist github com pushplay d2cac7ca1a10a5a49f694
  • 自动提取S3中的.gz文件

    我正在尝试找到一种解决方案 以便在 ALB 日志文件自动从 ALB 上传到 S3 时提取 gz 格式的 ALB 日志文件 我的桶结构是这样的 log bucket alb 1 AWSLogs account number elasticlo
  • AWS Cognito / 从子节点获取用户信息

    我有一个使用 AWS Cognito AWSMobileClient 的工作 iOS 应用程序 用户可以使用 AWSAuthUI 登录和登录 注销 接下来我想做的是 拥有另一个用户的子 例如 7y873ff7 u9h4k 我想从其他用户那里
  • 如何在API网关前面添加CloudFront

    API 网关 APIG 虽然它使用 CloudFront CF 但不支持 CDN 边缘缓存 当我将 CF 发行版配置为使用 APIG 作为自定义源时 我收到权限被拒绝错误 如何配置 CF 来解决此问题 在 API Gateway APIG
  • 使用 Terraform 创建/销毁 AWS 帐户?

    我正在尝试创建一个工具来轻松创建和销毁我的 AWS 组织中的 AWS 账户 或者至少将其从组织中删除 如果无法删除 这些帐户将成为沙盒 预算很少 并在几周后被销毁 我发现 Terraform 有一个特定的资源 称为aws 组织 帐户 htt
  • 如何为 NextAuth.js 创建自定义 UI(使用 AWS Cognito)?

    是否可以为 AWS Cognito 提供自定义 UINextAuth js https next auth js org 当我使用 NextAuth js 调用 API 时 我看到这个 主观上丑陋的 屏幕 只有一个按钮可以将您重定向到真正的
  • 如何使用 iam-role 启动 ec2-instance?

    我可以在管理控制台中使用 iam role 启动 ec2 instance 但我不知道如何从 aws ruby sdk 中使用 iam role 启动 ec2 instance iam role test s Policy is here
  • 错误“未初始化常量 AWS (NameError)”

    它说 AWS 未初始化 我正在使用 aws sdk core gem 我尝试使用 aws sdk gem 代替 问题仍然存在 这是initializers aws rb 文件 AWS config access key id gt ENV
  • 使用 Boto3 进行 IAM 身份验证的 SQLAlchemy 可刷新凭证

    我使用 Boto3 生成的身份验证令牌通过 Sqlalchemy 连接到 Amazon RDS self client boto3 client rds region name eu central 1 self token self cl
  • AWS CDK 授予堆栈外部资源的权限

    我对 AWS CDK 相当陌生 并且没有太多使用 AWS 的经验 在我正在编写的 CDK 堆栈中 我必须向使用其他 CDK 模板构建且已位于 aws 中的资源授予权限 假设我的堆栈 A 包含一个 lambda 该 lambda 将从另一个服
  • 如何使用 C# / .Net 将文件列表从 AWS S3 下载到我的设备?

    我希望下载存储在 S3 中的多个图像 但目前如果我只能下载一个就足够了 我有对象路径的信息 当我运行以下代码时 出现此错误 遇到错误 消息 读取对象时 访问被拒绝 我首先做一个亚马逊S3客户端基于我的密钥和访问配置的对象连接到服务器 然后创

随机推荐