Amazon web services 本地作业找不到区域

Amazon web services 本地作业找不到区域,amazon-web-services,aws-glue,Amazon Web Services,Aws Glue,我正在尝试从docker容器本地运行AWS粘合作业,但出现以下错误: File "/glue/script.py", line 19, in <module> job.init(args['JOB_NAME'], args) File "/glue/aws-glue-libs/PyGlue.zip/awsglue/job.py", line 38, in init File "/glue

我正在尝试从docker容器本地运行AWS粘合作业,但出现以下错误:

    File "/glue/script.py", line 19, in <module>
        job.init(args['JOB_NAME'], args)
      File "/glue/aws-glue-libs/PyGlue.zip/awsglue/job.py", line 38, in init
      File "/glue/spark-2.4.3-bin-spark-2.4.3-bin-hadoop2.8/python/lib/py4j-0.10.7-src.zip/py4j/java_gateway.py", line 1257, in __call__
      File "/glue/spark-2.4.3-bin-spark-2.4.3-bin-hadoop2.8/python/lib/pyspark.zip/pyspark/sql/utils.py", line 63, in deco
      File "/glue/spark-2.4.3-bin-spark-2.4.3-bin-hadoop2.8/python/lib/py4j-0.10.7-src.zip/py4j/protocol.py", line 328, in get_return_value
    py4j.protocol.Py4JJavaError: An error occurred while calling z:com.amazonaws.services.glue.util.Job.init.
    : com.amazonaws.SdkClientException: Unable to load region information from any provider in the chain

我曾尝试从Docker容器本地运行胶水作业,效果很好

我写了一个博客,docker的形象也可以在dockerhub上看到。不是很确定这个错误,但如果你想使用的图像,我提供的链接相同

第条:

Github:


我使用此工具不会遇到区域问题,请检查此工具是否对您有帮助。

您好,谢谢您的回复,我实际上已经按照您的教程设置了所有内容,并且我正在使用您的docker容器-不确定我为什么会遇到问题…您能更新您问题中的作业吗?还有您试图在docker容器中运行的spark submit命令,请尝试设置region export AWS_region=us-east-1,然后运行代码。我在ec2实例上创建了这个映像,这就是为什么我没有遇到这个问题。嗨,这非常有效,我还必须以相同的方式将我的访问密钥/秘密访问密钥/令牌设置为容器中的环境变量,以便您可以将其添加到您的博客文章中,以供其他人使用。非常感谢你的帮助!
import sys
from awsglue.transforms import *
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from awsglue.job import Job
from pyspark.sql.functions import *
from awsglue.dynamicframe import DynamicFrame## @type: DataSource
import datetime
import boto3

## @params: [JOB_NAME]
args = getResolvedOptions(sys.argv, ['JOB_NAME'])

sc = SparkContext()
glueContext = GlueContext(sc)
spark = glueContext.spark_session
job = Job(glueContext)
job.init(args['JOB_NAME'], args)