AWS 文档 AWS SDK示例 GitHub 存储库中还有更多SDK示例
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
与 AWS SDK或CreateTags
一起使用 CLI
以下代码示例演示如何使用 CreateTags
。
- C++
-
- SDK对于 C++
-
注意
还有更多相关信息 GitHub。查找完整示例,学习如何在 AWS 代码示例存储库
中进行设置和运行。 //! Add or overwrite only the specified tags for the specified Amazon Elastic Compute Cloud (Amazon EC2) resource or resources. /*! \param resources: The resources for the tags. \param tags: Vector of tags. \param clientConfiguration: AWS client configuration. \return bool: Function succeeded. */ bool AwsDoc::EC2::createTags(const Aws::Vector<Aws::String> &resources, const Aws::Vector<Aws::EC2::Model::Tag> &tags, const Aws::Client::ClientConfiguration &clientConfiguration) { Aws::EC2::EC2Client ec2Client(clientConfiguration); Aws::EC2::Model::CreateTagsRequest createTagsRequest; createTagsRequest.SetResources(resources); createTagsRequest.SetTags(tags); Aws::EC2::Model::CreateTagsOutcome outcome = ec2Client.CreateTags(createTagsRequest); if (outcome.IsSuccess()) { std::cout << "Successfully created tags for resources" << std::endl; } else { std::cerr << "Failed to create tags for resources, " << outcome.GetError().GetMessage() << std::endl; } return outcome.IsSuccess(); }
-
有关API详细信息,请参阅 “AWS SDK for C++ API参考 CreateTags” 中的。
-
- CLI
-
- AWS CLI
-
示例 1:为资源添加标签
以下
create-tags
示例将标签Stack=production
添加到指定的图像,或者覆盖标签密钥AMI所在位置的现有标签。Stack
aws ec2 create-tags \ --resources
ami-1234567890abcdef0
\ --tagsKey=Stack,Value=production
有关更多信息,请参阅《适用于 Linux 实例的 Amazon 弹性计算云用户指南》中的主题标题。
示例 2:为多个资源添加标签
以下
create-tags
示例为AMI和实例添加(或覆盖)两个标签。其中一个标签有一个键(webserver
),但没有值(值设置为空字符串)。另一个标签有一个键(stack
)和一个值(Production
)。aws ec2 create-tags \ --resources
ami-1a2b3c4d
i-1234567890abcdef0
\ --tagsKey=webserver,Value=
Key=stack,Value=Production
有关更多信息,请参阅《适用于 Linux 实例的 Amazon 弹性计算云用户指南》中的主题标题。
示例 3:添加包含特殊字符的标签
以下
create-tags
示例为实例添加标签[Group]=test
。方括号([ 和 ])是特殊字符,必须对其进行转义。以下示例还使用适用于每个环境的行延续字符。如果使用的是 Windows,请用双引号(")将具有特殊字符的元素引起来,然后在每个双引号字符前面添加反斜杠(\),如下所示:
aws ec2 create-tags
^
--resourcesi-1234567890abcdef0
^
--tags Key=\"[Group]\",Value=test如果您使用的是 Windows PowerShell,请在元素中使用双引号 (“) 将带有特殊字符的值括起来,在每个双引号字符前面加一个反斜杠 (\),然后用单引号 (') 将整个键和值结构括起来,如下所示:
aws ec2 create-tags
`
--resourcesi-1234567890abcdef0
`
--tags 'Key=\"[Group]\",Value=test
'如果使用的是 Linux 或 OS X,请使用双引号(")将具有特殊字符的元素引起来,然后使用单引号(')将整个键和值结构引起来,如下所示:
aws ec2 create-tags \ --resources
i-1234567890abcdef0
\ --tags 'Key="[Group]",Value=test
'有关更多信息,请参阅《适用于 Linux 实例的 Amazon 弹性计算云用户指南》中的主题标题。
-
有关API详细信息,请参阅 “CreateTags AWS CLI
命令参考”。
-
- PowerShell
-
- 用于 PowerShell
-
示例 1:此示例向指定资源添加单个标签。标签键为 “myTag”,标签值为 “myTagValue”。此示例使用的语法需要 PowerShell 版本 3 或更高版本。
New-EC2Tag -Resource i-12345678 -Tag @{ Key="myTag"; Value="myTagValue" }
示例 2:此示例更新或向指定资源添加指定标签。此示例使用的语法需要 PowerShell 版本 3 或更高版本。
New-EC2Tag -Resource i-12345678 -Tag @( @{ Key="myTag"; Value="newTagValue" }, @{ Key="test"; Value="anotherTagValue" } )
示例 3:在 PowerShell 版本 2 中,必须使用 New-Object 为标签参数创建标签。
$tag = New-Object Amazon.EC2.Model.Tag $tag.Key = "myTag" $tag.Value = "myTagValue" New-EC2Tag -Resource i-12345678 -Tag $tag
-
有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考CreateTags中的。
-
- Rust
-
- SDK对于 Rust
-
注意
还有更多相关信息 GitHub。查找完整示例,学习如何在 AWS 代码示例存储库
中进行设置和运行。 此示例在创建实例后应用 Name 标签。
pub async fn create_instance<'a>( &self, image_id: &'a str, instance_type: InstanceType, key_pair: &'a KeyPairInfo, security_groups: Vec<&'a SecurityGroup>, ) -> Result<String, EC2Error> { let run_instances = self .client .run_instances() .image_id(image_id) .instance_type(instance_type) .key_name( key_pair .key_name() .ok_or_else(|| EC2Error::new("Missing key name when launching instance"))?, ) .set_security_group_ids(Some( security_groups .iter() .filter_map(|sg| sg.group_id.clone()) .collect(), )) .min_count(1) .max_count(1) .send() .await?; if run_instances.instances().is_empty() { return Err(EC2Error::new("Failed to create instance")); } let instance_id = run_instances.instances()[0].instance_id().unwrap(); let response = self .client .create_tags() .resources(instance_id) .tags( Tag::builder() .key("Name") .value("From SDK Examples") .build(), ) .send() .await; match response { Ok(_) => tracing::info!("Created {instance_id} and applied tags."), Err(err) => { tracing::info!("Error applying tags to {instance_id}: {err:?}"); return Err(err.into()); } } tracing::info!("Instance is created."); Ok(instance_id.to_string()) }
-
有关API详细信息,请参见CreateTags
中的 Rust AWS SDK API 参考。
-