我可以访问aws和Google平台。
这能做以下工作吗,
发布于 2018-05-03 19:01:57
这是可能的。按GCP文件编制
可以与.服务,如(亚马逊S3)
要做到这一点,您需要在的Settings屏幕上启用Interoperability。从那里您可以创建一个存储访问密钥。
用这些键配置aws cli。IE aws configure。
然后可以使用aws s3命令,并将--endpoint-url标志设置为https://storage.googleapis.com。
例如:
MacBook-Pro:~$ aws s3 --endpoint-url https://storage.googleapis.com ls
2018-02-09 14:43:42 foo.appspot.com
2018-02-09 14:43:42 bar.appspot.com
2018-05-02 20:03:08 etc.appspot.com
aws s3 --endpoint-url https://storage.googleapis.com cp test.md s3://foo.appspot.com
upload: ./test.md to s3://foo.appspot.com/test.md 发布于 2019-10-22 05:04:36
我需要使用S3 AWS将对象从GC存储桶复制到。
Python桶库允许从boto3中列出和下载对象。
下面是示例lambda代码,用于将“sample s3.csv”对象从GC桶复制到s3桶。
import boto3
import io
s3 = boto3.resource('s3')
google_access_key_id="GOOG1EIxxMYKEYxxMQ"
google_access_key_secret="QifDxxMYSECRETKEYxxVU1oad1b"
gc_bucket_name="my_gc_bucket"
def get_gcs_objects(google_access_key_id, google_access_key_secret,
gc_bucket_name):
"""Gets GCS objects using boto3 SDK"""
client = boto3.client("s3", region_name="auto",
endpoint_url="https://storage.googleapis.com",
aws_access_key_id=google_access_key_id,
aws_secret_access_key=google_access_key_secret)
# Call GCS to list objects in gc_bucket_name
response = client.list_objects(Bucket=gc_bucket_name)
# Print object names
print("Objects:")
for blob in response["Contents"]:
print(blob)
object = s3.Object('my_aws_s3_bucket', 'sample-data-s3.csv')
f = io.BytesIO()
client.download_fileobj(gc_bucket_name,"sample-data.csv",f)
object.put(Body=f.getvalue())
def lambda_handler(event, context):
get_gcs_objects(google_access_key_id,google_access_key_secret,gc_bucket_name) 您可以通过blob循环下载GCD桶中的所有对象。
希望这有助于那些想要使用AWS将对象从GC桶传输到s3桶的人。
发布于 2019-02-22 21:06:08
~$ aws configure
AWS Access Key ID [****************2ZL8]:
AWS Secret Access Key [****************obYP]:
Default region name [None]: us-east-1
Default output format [None]:
~$aws s3 ls --endpoint-url=<east-region-url>
2019-02-18 12:18:05 test
~$aws s3 cp test.py s3://<bucket-name> --endpoint-url=<east-region-url>
~$aws s3 mv s3://<bucket-name>/<filename> test1.txt --endpoint-url=<east-region-url>https://stackoverflow.com/questions/47095834
复制相似问题