首页 > 解决方案 > 如何使用 Pulumi 导入现有的 S3 对象?

问题描述

我正在尝试将现有的 S3 对象导入 Pulumi。这是我目前的尝试(使用 Python):

bucket = s3.Bucket('test-bucket',
               bucket='test-bucket')
file = s3.BucketObject('file.txt',
                   bucket=bucket,
                   key='temp/file.txt',
                   opts=ResourceOptions(import_='temp/file.txt'))

使用该配置,我收到以下错误:

Diagnostics:
  aws:s3:BucketObject (file.txt):
    error: Preview failed: refreshing urn:pulumi:dev::quickstart::aws:s3/bucketObject:BucketObject::file.txt: 1 error occurred:
        * InvalidParameter: 2 validation error(s) found.
    - minimum field size of 1, HeadObjectInput.Bucket.
    - minimum field size of 1, HeadObjectInput.Key.

HeadObjectInput我在参考文档中找不到任何提及 a的内容。

我应该传递哪些参数BucketObject()以便将 S3 对象导入 Pulumi?

我的最终目标是使用 Pulumi 从 S3 存储桶中删除现有对象。有没有其他方法可以实现这一目标?

标签: amazon-web-servicesamazon-s3infrastructurepulumi

解决方案


目前,Pulumi aws 提供者是建立在 terraform aws 提供者之上的。因此,我尝试在 terraform 中导入 S3 存储桶和 S3 存储桶对象。尽管存储桶在 terraform(和 Pulumi)中导入,但 terraform 会引发错误:

Error: resource aws_s3_bucket_object doesn't support import

因此,Pulumi 提供者(此时)也不支持。


推荐阅读