小编Dav*_*d A的帖子

我应该如何将我的s3凭据传递给AWS上的Python lambda函数?

我想用我用Python编写的lambda函数将文件写入S3.但我很难通过我的S3 ID和密钥.

在我将本地Python环境变量AWS_SHARED_CREDENTIALS_FILE和AWS_CONFIG_FILE设置为指向我使用AWS CLI创建的本地文件之后,以下内容适用于我的本地计算机.

session = boto3.session.Session(region_name='us-east-2') 
s3 = session.client('s3', 
     config=boto3.session.Config(signature_version='s3v4'))
Run Code Online (Sandbox Code Playgroud)

以下是关于Lambda的工作,我手工编写我的ID和密钥(在这里使用***):

AWS_ACCESS_KEY_ID = '***'
AWS_SECRET_ACCESS_KEY = '***'
session = boto3.session.Session(region_name='us-east-2') 
s3 = session.client('s3', 
     config=boto3.session.Config(signature_version='s3v4'),
     aws_access_key_id=AWS_ACCESS_KEY_ID,
     aws_secret_access_key=AWS_SECRET_ACCESS_KEY)
Run Code Online (Sandbox Code Playgroud)

但是我知道在阅读亚马逊的最佳实践后,这是不安全的.所以我尝试:

AWS_ACCESS_KEY_ID = os.environ['AWS_ACCESS_KEY_ID']
AWS_SECRET_ACCESS_KEY = os.environ['AWS_SECRET_ACCESS_KEY']
session = boto3.session.Session(region_name='us-east-2') 
s3 = session.client('s3', 
     config=boto3.session.Config(signature_version='s3v4'),
     aws_access_key_id=AWS_ACCESS_KEY_ID,
     aws_secret_access_key=AWS_SECRET_ACCESS_KEY)
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误:"您提供的AWS Access密钥ID在我们的记录中不存在."我还尝试在Lambda控制台中定义这些变量,但我得到:"Lambda无法配置您的环境变量,因为您提供的环境变量包含保留键."

我有点惊讶我需要传递ID或密钥,因为我认为我创建Lambda函数的帐户也有权写入S3帐户(密钥和秘密我手工代码来自IAM同一帐户) .通过阅读以下帖子我有同感: AWS Lambda函数写入S3

python lambda amazon-s3 amazon-web-services aws-lambda

4
推荐指数
2
解决办法
5322
查看次数

使用cv.fromarray将转置后的NumPy数组转换为Python中的CvMat类型

我有一个问题,其中一些numpy数组不使用cv.fromarray()转换为cvMat.只要numpy数组被转置,就会出现问题.

import numpy as np
import cv

# This works fine:
b = np.arange(6).reshape(2,3).astype('float32')
B = cv.fromarray(b)
print(cv.GetSize(B))

# But this produces an error:
a = np.arange(6).reshape(3,2).astype('float32')
b = a.T
B = cv.fromarray(b)
print(cv.GetSize(B))

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "test_err.py", line 17, in <module>
    B = cv.fromarray(b)
TypeError: cv.fromarray array can only accept arrays with contiguous data
Run Code Online (Sandbox Code Playgroud)

有什么建议?我的许多阵列都在某些时候进行了转换,因此错误频繁出现.

我在MacOS X Lion上使用Python2.7,从MacPorts安装了NumPy 1.6.2和OpenCV 2.4.2.1.

python opencv numpy

3
推荐指数
1
解决办法
2819
查看次数