3.6. 导入 OpenAPI 定义
				要创建新服务或更新现有服务,您可以从本地文件或 URL 导入 OpenAPI 定义。导入的默认服务名称由 OpenAPI 定义中的 info.title 指定。但是,您可以使用 --target_system_name=<NEW NAME> 覆盖 此服务名称。这将更新服务名称(如果已存在),或者创建新的服务名称(如果不存在)。
			
				导入 openapi 命令的格式如下:
			
3scale import openapi [opts] -d=<destination> <specification>
3scale import openapi [opts] -d=<destination> <specification>
				OpenAPI <specification> 可以是以下之一:
			
- 
						
/path/to/your/definition/file.[json|yaml|yml] - 
						
http[s]://domain/resource/path.[json|yaml|yml] 
示例
podman run registry.redhat.io/3scale-amp2/toolbox-rhel7:3scale2.8 3scale import openapi [opts] -d=https://{DEST_KEY}@{3SCALE_ADMIN}-admin.{DOMAIN_NAME}  my-test-api.json
$ podman run registry.redhat.io/3scale-amp2/toolbox-rhel7:3scale2.8 3scale import openapi [opts] -d=https://{DEST_KEY}@{3SCALE_ADMIN}-admin.{DOMAIN_NAME}  my-test-api.json
命令选项
					导入 openapi 命令选项包括:
				
-d --destination=<value>- 
							3scale 目标实例格式: 
http[s]://<authentication>@3scale_domain。 -t --target_system_name=<value>- 3scale 目标系统名称.
 --backend-api-secret-token=<value>- API 网关向后端 API 发送的自定义机密令牌。
 --backend-api-host-header=<value>- API 网关向后端 API 发送的自定义主机标头。
 
				如需了解更多选项,请参阅 3scale import openapi --help 命令。
			
OpenAPI 导入规则
导入 OpenAPI 定义时应用以下规则:
- 定义验证为 OpenAPI 2.0 或 OpenAPI 3.0。
 - 3scale 服务中的所有映射规则都会被删除。
 - 
						要替换,所有方法名称都必须与 OpenAPI 定义 
操作中定义的方法相同。operationId使用精确的模式匹配。 - 仅修改 OpenAPI 定义中包含的方法。
 - 
						仅存在于 OpenAPI 定义中的所有方法都附加到 
Hits指标。 - 导入 OpenAPI 定义中的所有映射规则。您可以在 API > Integration 中查看它们。
 - 
						支持的安全方案是 
apiKey和oauth2,其中包含任何 OAuth 流类型。 OpenAPI 规格必须是以下之一:
- 可用路径中的文件名.
 - 
								toolbox 可以从中下载内容的 URL。支持的方案是 
http和https。 - 
								从 
stdin标准输入流读取.这通过设置-值来控制。 
					虽然规范中没有安全要求,但该服务被视为 OpenAPI。toolbox 将添加一个 default_credentials 策略,如果还没有在策略链中,它也称为 anonymous_policy。default_credentials 策略将配置在可选参数 --default-credentials-userkey 中提供的 user key。
				
OpenAPI 3.0 限制
导入 OpenAPI 3.0 定义时会应用以下限制:
- 
						只有 
servers列表中的第一个server.url元素解析为专用 URL。server.url元素的路径组件将用作 OpenAPI 的basePath属性。 - toolbox 不会解析操作对象中路径项和服务器中的服务器。
 - 不支持安全方案对象中的多个流。