我正在尝试将AWS Powershell与Eucalyptus一起使用。
我可以使用带有参数--endpoint-url。
的AWS CLI执行此操作是否可以在AWS powershell中设置端点URL? 我可以在AWS Powershell中使用自己的端点URL创建自定义区域吗?
答案 0 :(得分:2)
- UPDATE -
适用于Windows PowerShell的AWS工具的较新版本(我根据Get-AWSPowerShellVersion运行3.1.66.0),具有相关命令的可选-EndpointUrl参数。
示例:
Get-EC2Instance -EndpointUrl https://somehostnamehere
此外,上述bug已修复。
好东西!
- 原始答案 -
<强> TL; TR 强>
自定义。例如:
{
"version": 2,
"endpoints": {
"*/*": {
"endpoint": "your_endpoint_here"
}
}
}
导入AWSPowerShell模块后,告诉SDK使用您的自定义端点配置。例如:
[Amazon.AWSConfigs]::EndpointDefinition = "path to your customized Amazon.endpoints.json here"
注意:底层SDK中有一个bug,导致路径组件的端点被正确签名。该错误影响了这个解决方案和@HyperAnthony提出的解决方案。
其他信息
通过.NET SDK文档阅读,我偶然发现了一个部分,该部分显示可以在给定文件的情况下全局设置区域规则:http://docs.aws.amazon.com/AWSSdkDocsNET/latest/V2/DeveloperGuide/net-dg-config-other.html#config-setting-awsendpointdefinition
不幸的是,我无法找到记录此类文件格式的任何地方。
然后我通过AWSSDK.Core.dll code进行了调查,找到了SDK加载文件的位置(请参阅https://github.com/aws/aws-sdk-net/blob/master/sdk/src/Core/RegionEndpoint.cs处的LoadEndpointDefinitions()方法。)
通过代码阅读,如果未在AWSConfigs.EndpointDefinition上明确指定文件,则最终从嵌入式资源(即https://github.com/aws/aws-sdk-net/blob/master/sdk/src/Core/endpoints.json)加载文件
答案 1 :(得分:1)
我不相信它是。此common parameters列表(可与所有AWS PowerShell cmdlet一起使用)不包含服务URL,而是选择使用简单字符串Region
来设置基于一组服务URL的服务URL已知地区。
如果您对PowerShell中的可能替代方案感兴趣,则此AWS .NET Development forum post建议您可以在.NET SDK配置对象上设置服务URL。这是该线程的一个示例用法:
$config=New-Object Amazon.EC2.AmazonEC2Config
$config.ServiceURL = "https://ec2.us-west-1.amazonaws.com"
$client=[Amazon.AWSClientFactory]::CreateAmazonEC2Client($accessKeyID,$secretKeyID,$config)
在设置客户端时,您似乎可以将它与大多数配置对象一起使用。这是一些具有ServiceURL属性的示例。我想这会出现在大多数所有AWS配置对象上:
旧版本的文档(针对v1)指出,如果设置了RegionEndpoint
,则会忽略此属性。我不确定v2是否仍然如此。