首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用aws访问Google云存储桶

如何使用aws访问Google云存储桶
EN

Stack Overflow用户
提问于 2017-11-03 12:28:18
回答 4查看 6.1K关注 0票数 9

我可以访问aws和Google平台。

这能做以下工作吗,

  1. 使用aws列出Google云存储桶
  2. 使用aws将CSV文件放到中
  3. 使用aws从获取一个对象
EN

回答 4

Stack Overflow用户

发布于 2018-05-03 19:01:57

这是可能的。按GCP文件编制

可以与.服务,如(亚马逊S3)

要做到这一点,您需要在的Settings屏幕上启用Interoperability。从那里您可以创建一个存储访问密钥。

用这些键配置aws cli。IE aws configure

然后可以使用aws s3命令,并将--endpoint-url标志设置为https://storage.googleapis.com

例如:

代码语言:javascript
复制
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  
票数 16
EN

Stack Overflow用户

发布于 2019-10-22 05:04:36

我需要使用S3 AWS将对象从GC存储桶复制到

Python桶库允许从boto3中列出和下载对象。

下面是示例lambda代码,用于将“sample s3.csv”对象从GC桶复制到s3桶。

代码语言:javascript
复制
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桶的人。

票数 4
EN

Stack Overflow用户

发布于 2019-02-22 21:06:08

代码语言:javascript
复制
~$ 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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47095834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档