如何使用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.

reference documentation中找不到任何提及HeadobjectInput的地方。

我应该将什么参数传递给Bucketobject()以便将S3对象导入Pulumi?

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

解决方法

当前,Pulumi aws提供程序基于terraform aws提供程序构建。 因此,我尝试导入terraform中的S3存储桶和S3存储桶对象。 尽管存储区以terraform(和Pulumi)的形式导入,但terraform会引发错误:

Error: resource aws_s3_bucket_object doesn't support import

因此,Pulumi提供程序(当前)也不支持它。

,

如果您确实确实想导入现有的存储桶和/或对象以供Pulumi作为堆栈的一部分进行管理,则此页面可能会有所帮助:https://www.pulumi.com/docs/guides/adopting/import/

如果您只想获取有关现有存储桶和/或对象的信息,则有可用的获取功能:https://www.pulumi.com/docs/reference/pkg/aws/s3/#functions