AWS C++ SDK中Route53 Unknown (100) errors通常是因为请求中缺少必要的参数或参数值不正确引起的。
以下为一个示例,可以帮助你定位问题和解决方案:
#include
#include
#include
Aws::String CreateChangeRequest(const Aws::String& domain,
const Aws::String& subdomain,
const Aws::String& ip,
const Aws::String& action)
{
Aws::Route53::Route53Client route53Client;
Aws::Route53::Model::ChangeResourceRecordSetsRequest changeRequest;
// Route53 HostedZone ID for your domain
changeRequest.SetHostedZoneId("HOSTED-ZONE-ID");
// Create new Resource Record Set for subdomain
Aws::Route53::Model::ResourceRecordSet newRecordSet;
newRecordSet.SetName(subdomain + domain);
newRecordSet.SetType(Aws::Route53::Model::RRType::A);
newRecordSet.SetTTL(300);
// Action to take for the resource record set
Aws::Route53::Model::ChangeAction changeAction;
if ("CREATE" == action)
{
changeAction = Aws::Route53::Model::ChangeAction::CREATE;
// Add new Resource Record to set
Aws::Route53::Model::ResourceRecord newRecord;
newRecord.SetValue(ip);
newRecordSet.AddResourceRecords(newRecord);
}
else if ("DELETE" == action)
{
changeAction = Aws::Route53::Model::ChangeAction::DELETE;
// Remove all Resource Records from set
Aws::Route53::Model::ResourceRecord emptyRecord;
newRecordSet.SetResourceRecords({ emptyRecord });
}
else
{
printf("Invalid Action '%s' specified. Please specify CREATE or DELETE.\n", action.c_str());
return "";
}
// Add new Record Set to Change Request
changeRequest.SetChangeBatch(Aws::Route53::Model::ChangeBatch().WithChanges(